re PR middle-end/21318 (ICE in instantiate_virtual_regs_in_insn)
authorRichard Henderson <rth@redhat.com>
Wed, 4 May 2005 01:38:14 +0000 (18:38 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 4 May 2005 01:38:14 +0000 (18:38 -0700)
        PR middle-end/21318
        * function.c (instantiate_virtual_regs_in_insn): Use the mode
        from recog_data instead of insn_data.

From-SVN: r99205

gcc/ChangeLog
gcc/function.c

index 5760eece241395bec8f43057bba11a87abebedcb..0ed638774710bd143b89f57fc7daad60f1016374 100644 (file)
@@ -1,3 +1,9 @@
+2004-05-03  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/21318
+       * function.c (instantiate_virtual_regs_in_insn): Use the mode
+       from recog_data instead of insn_data.
+
 2005-05-03  DJ Delorie  <dj@redhat.com>
 
        * common.opt (fdiagnostics-show-option): No variable is needed.
index 065c1244e9d698daa22da9bcd0be5964e1ca0516..6bc33442d7b51497c23366b39269d99f66d2d910 100644 (file)
@@ -1485,8 +1485,8 @@ instantiate_virtual_regs_in_insn (rtx insn)
              end_sequence ();
              emit_insn_before (seq, insn);
            }
-         x = simplify_gen_subreg (insn_data[insn_code].operand[i].mode,
-                                  new, GET_MODE (new), SUBREG_BYTE (x));
+         x = simplify_gen_subreg (recog_data.operand_mode[i], new,
+                                  GET_MODE (new), SUBREG_BYTE (x));
          break;
 
        default: