Disable physical register coalescing by default.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 4 May 2011 23:59:00 +0000 (23:59 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 4 May 2011 23:59:00 +0000 (23:59 +0000)
commit7a2718a3c185dc4b52d04ac701a0abe173b2e273
treed4f1967ea319ff8562dbf3152bdfd46cdece9cd3
parent0f18d97fd16a4735817327e58222eca717aa8271
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