On Sunday 24 April 2005 00:22, Rajkishore Barik wrote: > Hi, > > I have been adding some profiling stuff onto the RTL. I get the following > error in reload phase. Can someone tell me how to fix this? I use 8th > April 2005 check out from CVS.
Hmm, let me rephrase your question: "I did some GCC hacking that I'm not showing, and it doesn't work, please help me fix it." That's quite hard, you know. You'll have to be more specific. > ./mul_mdmd_md.c: In function âmul_mdmd_md_l1_arb_allâ: > ./mul_mdmd_md.c:343: error: unable to find a register to spill in class > âAD_REGSâ > ./mul_mdmd_md.c:343: error: this is the insn: > (insn 529 8 530 0 (parallel [ > (set (reg:DI 232) > (sign_extend:DI (reg/v:SI 149 [ M ]))) > (clobber (reg:CC 17 flags)) > (clobber (scratch:SI)) > ]) 82 {*extendsidi2_1} (nil) > (expr_list:REG_UNUSED (scratch:SI) > (expr_list:REG_UNUSED (reg:CC 17 flags) > (nil)))) > ./mul_mdmd_md.c:343: internal compiler error: in spill_failure, at > reload1.c:1885 What this basically says is that after register allocation some insns do not have all their operand constraints satisfied, so reload needs to fix up something, but it cannot use the registers it needs. But since you're not showing what you've added, it's hard to tell what the real problem is. Gr. Steven