diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2012-08-15 19:34:23 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2012-08-15 19:34:23 +0000 | 
| commit | 58b69754af0cbff56b1cfce9be9392e4451f6628 (patch) | |
| tree | eacfc83d988e4b9d11114387ae7dc41243f2a363 /lib/CodeGen/ExpandPostRAPseudos.cpp | |
| parent | 0378662f5bd3dbe8305a485b0282bceb8b52f465 (diff) | |
Notes
Diffstat (limited to 'lib/CodeGen/ExpandPostRAPseudos.cpp')
| -rw-r--r-- | lib/CodeGen/ExpandPostRAPseudos.cpp | 11 | 
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/CodeGen/ExpandPostRAPseudos.cpp b/lib/CodeGen/ExpandPostRAPseudos.cpp index b14afc286d49..7a17331ba1d6 100644 --- a/lib/CodeGen/ExpandPostRAPseudos.cpp +++ b/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');  | 
