diff options
Diffstat (limited to 'llvm/lib/CodeGen/MachineInstrBundle.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachineInstrBundle.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/MachineInstrBundle.cpp b/llvm/lib/CodeGen/MachineInstrBundle.cpp index d9e8484..5830ecf 100644 --- a/llvm/lib/CodeGen/MachineInstrBundle.cpp +++ b/llvm/lib/CodeGen/MachineInstrBundle.cpp @@ -173,6 +173,9 @@ void llvm::finalizeBundle(MachineBasicBlock &MBB, if (LocalDefs.insert(Reg)) { if (MO.isDead()) DeadDefSet.insert(Reg); + else if (Reg.isPhysical()) + for (MCRegUnit Unit : TRI->regunits(Reg.asMCReg())) + LocalDefsP.set(Unit); } else { // Re-defined inside the bundle, it's no longer killed. KilledDefSet.erase(Reg); @@ -181,11 +184,6 @@ void llvm::finalizeBundle(MachineBasicBlock &MBB, DeadDefSet.erase(Reg); } } - - if (!MO.isDead() && Reg.isPhysical()) { - for (MCRegUnit Unit : TRI->regunits(Reg.asMCReg())) - LocalDefsP.set(Unit); - } } // Set FrameSetup/FrameDestroy for the bundle. If any of the instructions |