[llvm-commits] [llvm] r130896 - /llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp
Chris Lattner
clattner at apple.com
Sun May 8 06:47:00 PDT 2011
On May 4, 2011, at 4:59 PM, Jakob Stoklund Olesen wrote:
> 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.
Do you plan to remove this code entirely, or wait until LinScan disappears?
-Chris
>
> 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",
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list