From 7a2718a3c185dc4b52d04ac701a0abe173b2e273 Mon Sep 17 00:00:00 2001 From: Jakob Stoklund Olesen Date: Wed, 4 May 2011 23:59:00 +0000 Subject: [PATCH] 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 --- lib/CodeGen/SimpleRegisterCoalescing.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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",