aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-07-21 00:22:59 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-07-21 00:22:59 +0000
commitc95be59371e0b9ed827076953fd7e1270e418ff8 (patch)
tree6d09c8810d976670a8b6339053de00fccf0bebb3
parent60b3ba0472c8b764cbfac173446438b682d5093f (diff)
Cross RC coalescing is now on by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76519 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/SimpleRegisterCoalescing.cpp8
-rw-r--r--test/CodeGen/X86/subclass-coalesce.ll2
2 files changed, 5 insertions, 5 deletions
diff --git a/lib/CodeGen/SimpleRegisterCoalescing.cpp b/lib/CodeGen/SimpleRegisterCoalescing.cpp
index daf7d4d582..12001d08b0 100644
--- a/lib/CodeGen/SimpleRegisterCoalescing.cpp
+++ b/lib/CodeGen/SimpleRegisterCoalescing.cpp
@@ -57,9 +57,9 @@ NewHeuristic("new-coalescer-heuristic",
cl::init(false), cl::Hidden);
static cl::opt<bool>
-CrossClassJoin("join-cross-class-copies",
- cl::desc("Coalesce cross register class copies"),
- cl::init(true), cl::Hidden);
+DisableCrossClassJoin("disable-cross-class-join",
+ cl::desc("Avoid coalescing cross register class copies"),
+ cl::init(false), cl::Hidden);
static cl::opt<bool>
PhysJoinTweak("tweak-phys-join-heuristics",
@@ -1401,7 +1401,7 @@ bool SimpleRegisterCoalescing::JoinCopy(CopyRec &TheCopy, bool &Again) {
}
}
} else if (differingRegisterClasses(SrcReg, DstReg)) {
- if (!CrossClassJoin)
+ if (DisableCrossClassJoin)
return false;
CrossRC = true;
diff --git a/test/CodeGen/X86/subclass-coalesce.ll b/test/CodeGen/X86/subclass-coalesce.ll
index a010f1b29f..2673be7dab 100644
--- a/test/CodeGen/X86/subclass-coalesce.ll
+++ b/test/CodeGen/X86/subclass-coalesce.ll
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s | llc -march=x86 -join-cross-class-copies -stats |& grep {Number of cross class joins performed}
+; RUN: llvm-as < %s | llc -march=x86 -stats |& grep {Number of cross class joins performed}
@mem.6 = external global i64 ; <i64*> [#uses=1]