Stack Reorganization Patch

Zack Weinberg zack@codesourcery.com
Thu Apr 10 16:47:00 GMT 2003


"Naveen Sharma, Noida" <naveens@noida.hcltech.com> writes:

> My testing with snapshot( with stack-reorg patch applied)
> prior to 11 Feb show no regressions for i386.
>
> But with introduction of these changes 
> (subject: congerie of of performance improvements, take two):
>   http://gcc.gnu.org/ml/gcc-patches/2003-02/msg00989.html
> I am getting regressions with my patch applied.
>
> To address the issue I need to have some understanding of
>         *  config/gcc/i386 (assign_386_stack_local)
>
>  When does it come in picture and  Why this wrapper for i386?
>
>  I asked because I am not very familiar with i386 port.
>
> 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.

zw



More information about the Gcc-patches mailing list