x86 win32 prologue fix

Chris Faylor cgf@cygnus.com
Sun Oct 31 23:33:00 GMT 1999


Yup.  That fixed the problem.

Thanks.

-chris

On Wed, Oct 20, 1999 at 02:00:16PM -0700, Richard Henderson wrote:
>On Wed, Oct 20, 1999 at 01:30:41AM +0000, Chris Faylor wrote:
>> We're getting a bunch of warnings like this now, though, and I don't
>> know how to fix them:
>> 
>> localtime.c: In function `tzload':
>> localtime.c:903: warning: ICE: would have deleted prologue/epilogue insn
>> (insn 2089 2087 2091 (set (reg:SI 0 eax)
>>         (const_int 9116 [0x239c])) -1 (nil)
>>     (nil))
>
>This turned out to be a backend error.
>
>
>r~
>
>
>
>        * i386.c (ix86_expand_prologue): Properly wrap USE around
>        reg for CALL_INSN_FUNCTION_USAGE.
>
>Index: gcc/config/i386/i386.c
>===================================================================
>RCS file: /cvs/cvsfiles/devo/gcc/config/i386/i386.c,v
>retrieving revision 1.89
>diff -c -p -d -r1.89 i386.c
>*** i386.c	1999/10/15 12:47:00	1.89
>--- i386.c	1999/10/20 20:55:30
>*************** ix86_expand_prologue ()
>*** 1639,1645 ****
>        insn = emit_call_insn (gen_call (sym, const0_rtx));
>  
>        CALL_INSN_FUNCTION_USAGE (insn)
>! 	= gen_rtx_EXPR_LIST (VOIDmode, arg0, CALL_INSN_FUNCTION_USAGE (insn));
>      }
>  
>    limit = (frame_pointer_needed ? FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM);
>--- 1639,1646 ----
>        insn = emit_call_insn (gen_call (sym, const0_rtx));
>  
>        CALL_INSN_FUNCTION_USAGE (insn)
>! 	= gen_rtx_EXPR_LIST (VOIDmode, gen_rtx_USE (VOIDmode, arg0),
>! 			     CALL_INSN_FUNCTION_USAGE (insn));
>      }
>  
>    limit = (frame_pointer_needed ? FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM);



More information about the Gcc-patches mailing list