Re: [PATCH, AARCH64] Enable fuse-caller-save for AARCH64

2014-06-20 Thread Tom de Vries
On 19-06-14 20:41, Richard Henderson wrote: On 06/19/2014 11:25 AM, Tom de Vries wrote: On 19-06-14 05:53, Richard Henderson wrote: On 06/01/2014 03:00 AM, Tom de Vries wrote: +aarch64_emit_call_insn (rtx pat) +{ + rtx insn = emit_call_insn (pat); + + rtx *fusage = &CALL_INSN_FUNCTION_USAGE

Re: [PATCH, AARCH64] Enable fuse-caller-save for AARCH64

2014-06-19 Thread Richard Henderson
On 06/19/2014 11:25 AM, Tom de Vries wrote: > On 19-06-14 05:53, Richard Henderson wrote: >> On 06/01/2014 03:00 AM, Tom de Vries wrote: >>> >+aarch64_emit_call_insn (rtx pat) >>> >+{ >>> >+ rtx insn = emit_call_insn (pat); >>> >+ >>> >+ rtx *fusage = &CALL_INSN_FUNCTION_USAGE (insn); >>> >+ clo

Re: [PATCH, AARCH64] Enable fuse-caller-save for AARCH64

2014-06-19 Thread Tom de Vries
On 19-06-14 05:53, Richard Henderson wrote: On 06/01/2014 03:00 AM, Tom de Vries wrote: >+aarch64_emit_call_insn (rtx pat) >+{ >+ rtx insn = emit_call_insn (pat); >+ >+ rtx *fusage = &CALL_INSN_FUNCTION_USAGE (insn); >+ clobber_reg (fusage, gen_rtx_REG (word_mode, IP0_REGNUM)); >+ clobber_re

Re: [PATCH, AARCH64] Enable fuse-caller-save for AARCH64

2014-06-19 Thread Richard Henderson
On 06/19/2014 01:39 AM, Tom de Vries wrote: > On 19-06-14 05:53, Richard Henderson wrote: >> Do we in fact make sure this isn't an ifunc resolver? I don't immediately >> see >> how those get wired up in the cgraph... > > Richard, > > using the patch below I changed the > gcc/testsuite/gcc.targe

Re: [PATCH, AARCH64] Enable fuse-caller-save for AARCH64

2014-06-19 Thread Tom de Vries
On 19-06-14 05:21, Richard Henderson wrote: On 06/01/2014 03:00 AM, Tom de Vries wrote: +/* Emit call insn with PAT and do aarch64-specific handling. */ + +bool +aarch64_emit_call_insn (rtx pat) +{ + rtx insn = emit_call_insn (pat); + + rtx *fusage = &CALL_INSN_FUNCTION_USAGE (insn); + clobb

Re: [PATCH, AARCH64] Enable fuse-caller-save for AARCH64

2014-06-19 Thread Tom de Vries
On 19-06-14 05:53, Richard Henderson wrote: Do we in fact make sure this isn't an ifunc resolver? I don't immediately see how those get wired up in the cgraph... Richard, using the patch below I changed the gcc/testsuite/gcc.target/i386/fuse-caller-save.c testcase to use an ifunc resolver,

Re: [PATCH, AARCH64] Enable fuse-caller-save for AARCH64

2014-06-18 Thread Richard Henderson
On 06/01/2014 03:00 AM, Tom de Vries wrote: > +aarch64_emit_call_insn (rtx pat) > +{ > + rtx insn = emit_call_insn (pat); > + > + rtx *fusage = &CALL_INSN_FUNCTION_USAGE (insn); > + clobber_reg (fusage, gen_rtx_REG (word_mode, IP0_REGNUM)); > + clobber_reg (fusage, gen_rtx_REG (word_mode, IP1_R

Re: [PATCH, AARCH64] Enable fuse-caller-save for AARCH64

2014-06-18 Thread Richard Henderson
On 06/01/2014 03:00 AM, Tom de Vries wrote: > +/* Emit call insn with PAT and do aarch64-specific handling. */ > + > +bool > +aarch64_emit_call_insn (rtx pat) > +{ > + rtx insn = emit_call_insn (pat); > + > + rtx *fusage = &CALL_INSN_FUNCTION_USAGE (insn); > + clobber_reg (fusage, gen_rtx_REG (

Re: [PATCH, AARCH64] Enable fuse-caller-save for AARCH64

2014-06-18 Thread Marcus Shawcroft
On 1 June 2014 11:00, Tom de Vries wrote: > Richard, > > This patch: > - adds the for TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS required > clobbers in CALL_INSN_FUNCTION_USAGE, > - sets TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS to true, which > enables > the fuse-caller-save optimi