From: Jakob Stoklund Olesen Date: Wed, 4 May 2011 23:59:00 +0000 (+0000) Subject: Disable physical register coalescing by default. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7a2718a3c185dc4b52d04ac701a0abe173b2e273;p=oota-llvm.git Disable physical register coalescing by default. Joining physregs is inherently dangerous because it uses a heuristic to avoid creating invalid code. Linear scan had an emergency spilling mechanism to deal with those rare cases. The new greedy allocator does not. The greedy register allocator is much better at taking hints, so this has almost no impact on code size and quality. The few cases where it matters show up as unit tests that now have -join-physregs enabled explicitly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130896 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/SimpleRegisterCoalescing.cpp b/lib/CodeGen/SimpleRegisterCoalescing.cpp index 44333315559..cebf4c9f4a5 100644 --- a/lib/CodeGen/SimpleRegisterCoalescing.cpp +++ b/lib/CodeGen/SimpleRegisterCoalescing.cpp @@ -63,7 +63,7 @@ DisableCrossClassJoin("disable-cross-class-join", static cl::opt EnablePhysicalJoin("join-physregs", cl::desc("Join physical register copies"), - cl::init(true), cl::Hidden); + cl::init(false), cl::Hidden); static cl::opt VerifyCoalescing("verify-coalescing",