Re: Emit jump insn in function prologue

2009-04-24 Thread Ian Lance Taylor
Eric Botcazou writes: >> Doesn't count, because that is done in the TARGET_SETUP_INCOMING_VARARGS >> hook which is called before reload. The interesting case here is >> prologue generation done after reload. > > Alpha emits a loop in the prologue to check the stack as per the Tru64 ABI. You're

Re: Emit jump insn in function prologue

2009-04-24 Thread Eric Botcazou
> Doesn't count, because that is done in the TARGET_SETUP_INCOMING_VARARGS > hook which is called before reload. The interesting case here is > prologue generation done after reload. Alpha emits a loop in the prologue to check the stack as per the Tru64 ABI. -- Eric Botcazou

Re: Emit jump insn in function prologue

2009-04-24 Thread Ian Lance Taylor
Jan Hubicka writes: >> I don't know of any existing cases where the prologue needs a jump, but >> it should be easy enough to emit a jump insn and set JUMP_LABEL >> yourself. > > x86_64 has jump around saving SSE regs for variadic function prologue. Doesn't count, because that is done in the TAR

Re: Emit jump insn in function prologue

2009-04-24 Thread Jan Hubicka
> Peter Leist writes: > > > can I use emit_cmp_and_jump_insns while creating the function > > prologue/epilogue? > > If I try, I always get an error at runtime > > > > func.c:33: internal compiler error: in make_edges, at cfgbuild.c:354 > > > > I think this is because the jump doesn't get an JUM

Re: Emit jump insn in function prologue

2009-04-24 Thread Ian Lance Taylor
Peter Leist writes: > can I use emit_cmp_and_jump_insns while creating the function > prologue/epilogue? > If I try, I always get an error at runtime > > func.c:33: internal compiler error: in make_edges, at cfgbuild.c:354 > > I think this is because the jump doesn't get an JUMP_LABEL associated

Emit jump insn in function prologue

2009-04-24 Thread Peter Leist
Hi all, can I use emit_cmp_and_jump_insns while creating the function prologue/epilogue? If I try, I always get an error at runtime func.c:33: internal compiler error: in make_edges, at cfgbuild.c:354 I think this is because the jump doesn't get an JUMP_LABEL associated to it. Is there an other