[llvm-commits] [llvm] r130896 - /llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp

Jakob Stoklund Olesen stoklund at 2pi.dk
Wed May 4 16:59:00 PDT 2011


Author: stoklund
Date: Wed May  4 18:59:00 2011
New Revision: 130896

URL: http://llvm.org/viewvc/llvm-project?rev=130896&view=rev
Log:
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.

Modified:
    llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp

Modified: llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp?rev=130896&r1=130895&r2=130896&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp (original)
+++ llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp Wed May  4 18:59:00 2011
@@ -63,7 +63,7 @@
 static cl::opt<bool>
 EnablePhysicalJoin("join-physregs",
                    cl::desc("Join physical register copies"),
-                   cl::init(true), cl::Hidden);
+                   cl::init(false), cl::Hidden);
 
 static cl::opt<bool>
 VerifyCoalescing("verify-coalescing",





More information about the llvm-commits mailing list