summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-04-17 20:32:26 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-04-17 20:32:26 +0000
commitb881bdabd99c6f703a45975f89a0e20ed5417936 (patch)
tree76c1160b239f4bec75082a63771b0dd3a84f965b /llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
parenta9cde02ee3ac20c863b2d20856f23f215eacb659 (diff)
downloadbcm5719-llvm-b881bdabd99c6f703a45975f89a0e20ed5417936.tar.gz
bcm5719-llvm-b881bdabd99c6f703a45975f89a0e20ed5417936.zip
Copy coalescing change to prevent a physical register from being pin to a
long live interval that has low usage density. 1. Change order of coalescing to join physical registers with virtual registers first before virtual register intervals become too long. 2. Check size and usage density to determine if it's worthwhile to join. 3. If joining is aborted, assign virtual register live interval allocation preference field to the physical register. 4. Register allocator should try to allocate to the preferred register first (if available) to create identify moves that can be eliminated. llvm-svn: 36218
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud