a question about argument ARG_POINTER_REGNUM

2009-12-14 Thread Ivan Shcherbakov
. The ELIMINABLE_REGS macro is set accordingly, however, the actual elimination happens only with optimization turned on. If there is an article describing register elimination vs pseudo-registers, I would appreciate a link. -- Best Regards, Ivan Shcherbakov

Re: a question about argument ARG_POINTER_REGNUM

2009-12-15 Thread Ivan Shcherbakov
t && ep->ref_outside_mem) ep->can_eliminate = 0; Is there a way to prevent prologue instructions (e.g. saving ARGP/FP before elimination phase) from affecting elimination? Maybe, expand_prologue() should behave differently depending on whether the elimination h

Re: a question about argument ARG_POINTER_REGNUM

2009-12-15 Thread Ivan Shcherbakov
be responsible for eliminating argp? -- Best regards, Ivan Shcherbakov mailto:shcherba...@eit.uni-kl.de TU Kaiserslautern, Germany Department of Real-Time Systems

Re: a question about argument ARG_POINTER_REGNUM

2009-12-15 Thread Ivan Shcherbakov
Hi, Ian, For i386-gcc, this seems to happen during global register allocation pass. This corresponds to IRA pass of gcc 4.4.x. I have attached the corresponding RTL dump files. -- Best regards, Ivan Shcherbakov mailto:shcherba...@eit.uni-kl.de TU Kaiserslautern

Re: a question about argument ARG_POINTER_REGNUM

2009-12-15 Thread Ivan Shcherbakov
sh_operand" "=<") (match_operand:HI 0 "general_operand" "rim"))] "" [(set (match_dup 2) (match_dup 0)) (set (match_dup 1) (match_dup 2))] "") Do you know any working way of telling GCC to use temporary scratch register when the normal push INSN cannot be used? -- Best regards, Ivan Shcherbakov mailto:shcherba...@eit.uni-kl.de TU Kaiserslautern, Germany Department of Real-Time Systems