diff options
-rw-r--r-- | lib/CodeGen/SimpleRegisterCoalescing.cpp | 8 | ||||
-rw-r--r-- | test/CodeGen/X86/subclass-coalesce.ll | 2 |
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] |