OSDN Git Service

Tweak cross-class coalescing to be more aggressive when the target class is small.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 17 May 2011 16:38:37 +0000 (16:38 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 17 May 2011 16:38:37 +0000 (16:38 +0000)
commit6e3b3e21227d3498d7f5d9d314a49a9ee4cbb873
tree79294982761156da5862e7299d649ab68ede429b
parentab078f0232d7c691dcc71a145f0e99c7106b32ca
Tweak cross-class coalescing to be more aggressive when the target class is small.

The greedy register allocator has live range splitting and register class
inflation, so it can actually fully undo this join, including restoring the
original register classes.

We still don't want to do this for long live ranges, mostly because of the high
register pressure of there are many constrained live ranges overlapping.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131466 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SimpleRegisterCoalescing.cpp