This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/32475] [4.3 Regression] function with asm() does not setup stack frame
- From: "iant at google dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 1 Jul 2007 01:58:02 -0000
- Subject: [Bug rtl-optimization/32475] [4.3 Regression] function with asm() does not setup stack frame
- References: <bug-32475-3760@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #15 from iant at google dot com 2007-07-01 01:58 -------
Subject: Re: [4.3 Regression] function with asm() does not setup stack frame
> Adding the stack pointer for asms is certainly the easiest thing to do.
I don't know if that is enough. Maybe it is, maybe it isn't. You
can't delete the subtraction of the stack pointer if there is any use
of any local variable on the frame in any way. If an interrupt
occurs, and the stack pointer has not been decremented to be below the
local variables, then the local variables will be corrupted by the
interrupt handler.
> If you think that we want to view mem refs off the frame pointer as if
> they also touch the stack pointer, we can do that, but i would ask the
> question as to "why just in dce?"
I meant it should be done when doing dataflow scanning, not in DCE. I
agree there is nothing special about DCE here.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32475