summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/SubtargetEmitter.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-09-17 23:03:25 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-09-17 23:03:25 +0000
commit0bb3dd78c439f4595fd1477669a9c11e0250c516 (patch)
tree4e46a65684c795dd6d96b7fab4015426ef9e5553 /llvm/utils/TableGen/SubtargetEmitter.cpp
parentaf50f17df4f8092bb04ccb5393ffaf34ab34d006 (diff)
downloadbcm5719-llvm-0bb3dd78c439f4595fd1477669a9c11e0250c516.tar.gz
bcm5719-llvm-0bb3dd78c439f4595fd1477669a9c11e0250c516.zip
Merge into undefined lanes under -new-coalescer.
Add LIS::pruneValue() and extendToIndices(). These two functions are used by the register coalescer when merging two live ranges requires more than a trivial value mapping as supported by LiveInterval::join(). The pruneValue() function can remove the part of a value number that is going to conflict in join(). Afterwards, extendToIndices can restore the live range, using any new dominating value numbers and updating the SSA form. Use this complex value mapping to support merging a register into a vector lane that has a conflicting value, but the clobbered lane is undef. llvm-svn: 164074
Diffstat (limited to 'llvm/utils/TableGen/SubtargetEmitter.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud