diff options
author | Matthias Braun <matze@braunis.de> | 2017-05-26 16:23:08 +0000 |
---|---|---|
committer | Matthias Braun <matze@braunis.de> | 2017-05-26 16:23:08 +0000 |
commit | eec1f3672a31d47e2b1082690b4ba4633258145f (patch) | |
tree | 8081279dbda3106eaf7ee05ab136f5ed2b63b17b /llvm/lib/Object/COFFObjectFile.cpp | |
parent | 5c0d113fb99dce9f1036f3830a9daa5bd21350a5 (diff) | |
download | llvm-eec1f3672a31d47e2b1082690b4ba4633258145f.zip llvm-eec1f3672a31d47e2b1082690b4ba4633258145f.tar.gz llvm-eec1f3672a31d47e2b1082690b4ba4633258145f.tar.bz2 |
LivePhysRegs: Fix addLiveOutsNoPristines() for return blocks past PEI
Re-commit r303938 and r303954 with a fix for addLiveIns(): the internal
addPristines() function must be called on an empty set or it may
accidentally reset saved registers.
- addLiveOutsNoPristines() needs to add callee saved registers that are
actually saved and restored somewhere to the set (they are not
pristine).
- Cleanup/rewrite the code for addLiveOuts()/addLiveOutsNoPristines().
This fixes the problem from D32156.
Differential Revision: https://reviews.llvm.org/D32464
llvm-svn: 304001
Diffstat (limited to 'llvm/lib/Object/COFFObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions