From: Evan Cheng Date: Tue, 21 Jul 2009 00:22:59 +0000 (+0000) Subject: Cross RC coalescing is now on by default. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=c95be59371e0b9ed827076953fd7e1270e418ff8;p=oota-llvm.git 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 --- diff --git a/lib/CodeGen/SimpleRegisterCoalescing.cpp b/lib/CodeGen/SimpleRegisterCoalescing.cpp index daf7d4d5824..12001d08b04 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 -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 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 a010f1b29f1..2673be7dab5 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 ; [#uses=1]