diff options
author | Jonas Paulsson <paulsson@linux.vnet.ibm.com> | 2017-09-29 14:31:39 +0000 |
---|---|---|
committer | Jonas Paulsson <paulsson@linux.vnet.ibm.com> | 2017-09-29 14:31:39 +0000 |
commit | c9e363ac69f0cb4e9a2198ef9a475c21c695d694 (patch) | |
tree | 5063073d65faf81f2cec572a43ec647558d85687 /llvm/lib/Analysis/TargetTransformInfo.cpp | |
parent | b6cf279214fdfb22bdd46567226350740685bcfc (diff) | |
download | bcm5719-llvm-c9e363ac69f0cb4e9a2198ef9a475c21c695d694.tar.gz bcm5719-llvm-c9e363ac69f0cb4e9a2198ef9a475c21c695d694.zip |
[SystemZ] implement shouldCoalesce()
Implement shouldCoalesce() to help regalloc avoid running out of GR128
registers.
If a COPY involving a subreg of a GR128 is coalesced, the live range of the
GR128 virtual register will be extended. If this happens where there are
enough phys-reg clobbers present, regalloc will run out of registers (if
there is not a single GR128 allocatable register available).
This patch tries to allow coalescing only when it can prove that this will be
safe by checking the (local) interval in question.
Review: Ulrich Weigand, Quentin Colombet
https://reviews.llvm.org/D37899
https://bugs.llvm.org/show_bug.cgi?id=34610
llvm-svn: 314516
Diffstat (limited to 'llvm/lib/Analysis/TargetTransformInfo.cpp')
0 files changed, 0 insertions, 0 deletions