aboutsummaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@gcc.gnu.org>2000-10-28 14:43:29 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-10-28 14:43:29 -0700
commit76b0dc5ef29cfeb178727ef485da1663738c759e (patch)
treeeaeaf74fb8df319dce15786029c185d7e1a23ad9 /gcc/recog.c
parent85941a0abc708daae59252cd06971c4828638206 (diff)
downloadgcc-76b0dc5ef29cfeb178727ef485da1663738c759e.zip
gcc-76b0dc5ef29cfeb178727ef485da1663738c759e.tar.gz
gcc-76b0dc5ef29cfeb178727ef485da1663738c759e.tar.bz2
recog.c (split_all_insns): Run cleanup_subreg_operands after reload.
* recog.c (split_all_insns): Run cleanup_subreg_operands after reload. From-SVN: r37110
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 9492180..5c45cdb 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);
+ }
}
}