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