diff options
author | Hal Finkel <hfinkel@anl.gov> | 2014-03-27 22:46:28 +0000 |
---|---|---|
committer | Hal Finkel <hfinkel@anl.gov> | 2014-03-27 22:46:28 +0000 |
commit | 9dcb3583d5743278f53865dc922beca20369e7db (patch) | |
tree | 2ca5425bb6be0112239c78b41e23652c66ea0c43 /llvm/lib/MC/MCObjectFileInfo.cpp | |
parent | de76f4a39f6af93585a3156907176d848ab2c6e5 (diff) | |
download | bcm5719-llvm-9dcb3583d5743278f53865dc922beca20369e7db.tar.gz bcm5719-llvm-9dcb3583d5743278f53865dc922beca20369e7db.zip |
[PowerPC] Don't remove self VSX copies in PPCInstrInfo::copyPhysReg
Because of how the allocation of VSX registers interacts with the call-lowering
code, we sometimes end up generating self VSX copies. Specifically, things like
this:
%VSL2<def> = COPY %F2, %VSL2<imp-use,kill>
(where %F2 is really a sub-register of %VSL2, and so this copy is a nop)
The problem is that ExpandPostRAPseudos always assumes that *some* instruction
has been inserted, and adds implicit defs to it. This is a problem if no copy
was inserted because it can cause subtle problems during post-RA scheduling.
These self copies will have to be removed some other way.
llvm-svn: 204976
Diffstat (limited to 'llvm/lib/MC/MCObjectFileInfo.cpp')
0 files changed, 0 insertions, 0 deletions