This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
x86 win32 prologue fix
- To: Chris Faylor <cgf at cygnus dot com>
- Subject: x86 win32 prologue fix
- From: Richard Henderson <rth at cygnus dot com>
- Date: Wed, 20 Oct 1999 14:00:16 -0700
- Cc: gcc-patches at gcc dot gnu dot org
- References: <3.0.5.32.19991019155040.0097ccb0.cygnus.gcc@pop.cygnus.com> <7uj601$naa$1@cronkite.cygnus.com>
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);