aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/RegisterCoalescer.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-04-25 16:17:50 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-04-25 16:17:50 +0000
commit40a2b653e165b5afc2f612b4b3edbb54a7b5eb59 (patch)
tree0bb21f3c1b85bb608d9daa2bf33e034c54b9ece3 /lib/CodeGen/RegisterCoalescer.cpp
parenta2404e3458ca7d570802ca296240733f2aa41098 (diff)
downloadexternal_llvm-40a2b653e165b5afc2f612b4b3edbb54a7b5eb59.zip
external_llvm-40a2b653e165b5afc2f612b4b3edbb54a7b5eb59.tar.gz
external_llvm-40a2b653e165b5afc2f612b4b3edbb54a7b5eb59.tar.bz2
Remove the -disable-cross-class-join option.
Cross-class joins have been normal and fully supported for a while now. With TableGen generating the getMatchingSuperRegClass() hook, they are unlikely to cause problems again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155552 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/RegisterCoalescer.cpp')
-rw-r--r--lib/CodeGen/RegisterCoalescer.cpp17
1 files changed, 4 insertions, 13 deletions
diff --git a/lib/CodeGen/RegisterCoalescer.cpp b/lib/CodeGen/RegisterCoalescer.cpp
index a82a589..16b9a7d 100644
--- a/lib/CodeGen/RegisterCoalescer.cpp
+++ b/lib/CodeGen/RegisterCoalescer.cpp
@@ -63,11 +63,6 @@ EnableJoining("join-liveintervals",
cl::init(true));
static cl::opt<bool>
-DisableCrossClassJoin("disable-cross-class-join",
- cl::desc("Avoid coalescing cross register class copies"),
- cl::init(false), cl::Hidden);
-
-static cl::opt<bool>
EnablePhysicalJoin("join-physregs",
cl::desc("Join physical register copies"),
cl::init(false), cl::Hidden);
@@ -1094,14 +1089,10 @@ bool RegisterCoalescer::JoinCopy(MachineInstr *CopyMI, bool &Again) {
return false;
}
} else {
- // Avoid constraining virtual register regclass too much.
- if (CP.isCrossClass()) {
- DEBUG(dbgs() << "\tCross-class to " << CP.getNewRC()->getName() << ".\n");
- if (DisableCrossClassJoin) {
- DEBUG(dbgs() << "\tCross-class joins disabled.\n");
- return false;
- }
- }
+ DEBUG({
+ if (CP.isCrossClass())
+ dbgs() << "\tCross-class to " << CP.getNewRC()->getName() << ".\n";
+ });
// When possible, let DstReg be the larger interval.
if (!CP.getSubIdx() && LIS->getInterval(CP.getSrcReg()).ranges.size() >