Stack Reorganization Patch

Naveen Sharma, Noida naveens@noida.hcltech.com
Tue Apr 15 08:32:00 GMT 2003


Hi,

Zack Weinberg wrote:
> > I get  a segfault in gcc/flow.c in  "static void 
> mark_used_reg" Line 3622.
> > (gcc.c-torture/compile/20000127-1.c) when using stack pseudos.
> 
> I believe the function of assign_386_stack_local is to create
> temporary stack slots which are live only for the execution of a
> single insn, and so can be reused whenever wanted again.  This does
> seem a little silly given that there is assign_stack_temp that does
> almost the same thing.
> 
> Try just ripping it out in favor of assign_stack_temp, see if that
> makes your code happy - there should be no optimization penalty since
> we're now doing proper allocation on stack slots.

Thanks for your reply. I made changes in my patch to adjust to 
this issue. The regressions dis-appeared.

I have split the patch in two parts for people to review and analyze
easily. 

Part #1 is the stack pseudos patch, where I generate stack pseudos but 
do not reorganize the items.
Part #2 will be the heuristics to organize items in local frame.

When part #1 has got the approval, Then it is easy to review part #2.

I am attaching Part #1 of the patch with this mail.
Regtested for i386, sh, arm-elf, mips-elf.

There is one problem though. The TCs gcc.dg/debug/debug-2.c and debug-6.c 
fail when -gstabs is specified. I need help with those.

Best Regards,
  Naveen Sharma.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: ChangeLog
Type: application/octet-stream
Size: 2907 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20030415/a786e1e5/attachment.obj>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: SRP_20030414.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20030415/a786e1e5/attachment.txt>


More information about the Gcc-patches mailing list