On Wed, Oct 15, 2008 at 11:17:18AM +0200, Revital1 Eres wrote: > > Hello, > > I want to emit the following SPU insn: > emit_insn (gen_iorti3 (r77, tmp, GEN_INT(0))); > > r77 is defined as 'fixed register' which is a register that the register > allocator can not use. (triggers by SPU option -mfixed-range) > r77 is used to pass information to some other routine at run-time (the > next instruction is branch to this routine; the routine does not exist > at the compile time of the function which contains this instruction). > > The problem is that r77 is not used in it's function after this instruction > and thus DCE deletes it.
Don't focus on DCE. That's not the problem; the fact that there's no visible dependence is the problem. Can you make the next instruction have a use for r77 explicitly (CALL_INSN_FUNCTION_USAGE)? -- Daniel Jacobowitz CodeSourcery