diff options
author | Wei Mi <wmi@google.com> | 2016-02-05 18:14:24 +0000 |
---|---|---|
committer | Wei Mi <wmi@google.com> | 2016-02-05 18:14:24 +0000 |
commit | a62f05898959a7e58e512614e50082e2e6eb588c (patch) | |
tree | 6e9bcbe4858bf61b88144349b9c9a04a6e39d1de /llvm/utils/git-svn | |
parent | 6e1967ef668c284e8cfd4437c47861ea8ec8485c (diff) | |
download | bcm5719-llvm-a62f05898959a7e58e512614e50082e2e6eb588c.tar.gz bcm5719-llvm-a62f05898959a7e58e512614e50082e2e6eb588c.zip |
Some stackslots are allocated to vregs which have no real reference.
LiveRangeEdit::eliminateDeadDef is used to remove dead define instructions
after rematerialization. To remove a VNI for a vreg from its LiveInterval,
LiveIntervals::removeVRegDefAt is used. However, after non-PHI VNIs are all
removed, PHI VNI are still left in the LiveInterval. Such unused vregs will
be kept in RegsToSpill[] at the end of InlineSpiller::reMaterializeAll and
spiller will allocate stackslot for them.
The fix is to get rid of unused reg by checking whether it has non-dbg
reference instead of whether it has non-empty interval.
llvm-svn: 259895
Diffstat (limited to 'llvm/utils/git-svn')
0 files changed, 0 insertions, 0 deletions