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
This commit is contained in:
Jakob Stoklund Olesen 2012-04-25 16:17:50 +00:00
parent a2404e3458
commit 40a2b653e1

View File

@ -62,11 +62,6 @@ EnableJoining("join-liveintervals",
cl::desc("Coalesce copies (default=true)"),
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"),
@ -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() >