summaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/recog.c')
-rw-r--r--gcc/recog.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/recog.c b/gcc/recog.c
index 9492180ba59..5c45cdb683e 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -2757,6 +2757,19 @@ split_all_insns (upd_life)
bb->end = last;
break;
}
+
+ /* ??? Coddle to md files that generate subregs in post-
+ reload splitters instead of computing the proper
+ hard register. */
+ if (reload_completed)
+ while (1)
+ {
+ if (INSN_P (first))
+ cleanup_subreg_operands (first);
+ if (first == last)
+ break;
+ first = NEXT_INSN (first);
+ }
}
}