summaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-10-28 21:43:29 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-10-28 21:43:29 +0000
commitdc81f78be2a5081e8d41088662a4206c48f89f61 (patch)
treeeaeaf74fb8df319dce15786029c185d7e1a23ad9 /gcc/recog.c
parent1f6f74af2c7fd872d20cde9eaf2497bd25eb49e8 (diff)
downloadgcc-dc81f78be2a5081e8d41088662a4206c48f89f61.tar.gz
* recog.c (split_all_insns): Run cleanup_subreg_operands
after reload. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37110 138bc75d-0d04-0410-961f-82ee72b054a4
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);
+ }
}
}