------- Comment #9 from pinskia at gcc dot gnu dot org 2009-04-28 01:04 ------- (In reply to comment #8) > If somebody can explain why it's > necessary to let the generated RTL code depend on the IR mode, we could > possibly find a good way around this limitation.
Because we don't want to mark uses_pic_offset_table as being needed when dealing with IV-opts. See http://gcc.gnu.org/ml/gcc-patches/2008-09/msg01535.html . Sounds like the arm back-end does the same thing. The MIPS back-end does: && (current_ir_type () != IR_GIMPLE || currently_expanding_to_rtl)) While the ARM back-end (and darwin.c) does: if (current_ir_type () != IR_GIMPLE) So the MIPS back-end will work but the arm back-end should change to be include || currently_expanding_to_rtl. Fixing darwin.c that way instead of the other patch. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39929