Why spill_failure() aborts the compiler when hard-registers cannot find to spill pseudo-registers?

2023-04-24 Thread 花井志生 via Gcc
I am curious why spill_failure() in gcc/reload1.cc aborts the compiler. static void spill_failure (rtx_insn *insn, enum reg_class rclass) { if (asm_noperands (PATTERN (insn)) >= 0) error_for_asm (insn, "cannot find a register in class %qs while " "reloading %",

Re: spill_failure

2005-04-25 Thread James E Wilson
Rajkishore Barik wrote: ./mul_mdmd_md.c:343: error: unable to find a register to spill in class âAD_REGSâ Compile with -da, look at the .greg dump file, it will have a bunch of messages saying "reloads for insn ...". Find the one for the insn that is failing. Look at the .lreg dump to find the

Re: spill_failure

2005-04-23 Thread Ian Lance Taylor
> > (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 (

Re: spill_failure

2005-04-23 Thread Rajkishore Barik
9 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) &g

Re: spill_failure

2005-04-23 Thread Steven Bosscher
: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 af

spill_failure

2005-04-23 Thread Rajkishore Barik
) (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 regards, Raj