diff options
| author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-07-27 20:19:49 +0000 |
|---|---|---|
| committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-07-27 20:19:49 +0000 |
| commit | bc65e8f94ef7f77a7fd4ab860e354ce9241f36f9 (patch) | |
| tree | 4575e3575eabedd01f36653b0c207ed57907840c /llvm/lib/CodeGen/ExpandPostRAPseudos.cpp | |
| parent | bad134ffea053cdc9923d43837e989f45424ca82 (diff) | |
| download | bcm5719-llvm-bc65e8f94ef7f77a7fd4ab860e354ce9241f36f9.tar.gz bcm5719-llvm-bc65e8f94ef7f77a7fd4ab860e354ce9241f36f9.zip | |
Add <imp-def> of super-register when lowering SUBREG_TO_REG.
Patch by Tyler Nowicki!
llvm-svn: 160888
Diffstat (limited to 'llvm/lib/CodeGen/ExpandPostRAPseudos.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/ExpandPostRAPseudos.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/ExpandPostRAPseudos.cpp b/llvm/lib/CodeGen/ExpandPostRAPseudos.cpp index b14afc286d4..7a17331ba1d 100644 --- a/llvm/lib/CodeGen/ExpandPostRAPseudos.cpp +++ b/llvm/lib/CodeGen/ExpandPostRAPseudos.cpp @@ -131,13 +131,16 @@ bool ExpandPostRA::LowerSubregToReg(MachineInstr *MI) { } else { TII->copyPhysReg(*MBB, MI, MI->getDebugLoc(), DstSubReg, InsReg, MI->getOperand(2).isKill()); + + // Implicitly define DstReg for subsequent uses. + MachineBasicBlock::iterator CopyMI = MI; + --CopyMI; + CopyMI->addRegisterDefined(DstReg); + // Transfer the kill/dead flags, if needed. if (MI->getOperand(0).isDead()) TransferDeadFlag(MI, DstSubReg, TRI); - DEBUG({ - MachineBasicBlock::iterator dMI = MI; - dbgs() << "subreg: " << *(--dMI); - }); + DEBUG(dbgs() << "subreg: " << *CopyMI); } DEBUG(dbgs() << '\n'); |

