summaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetInstrInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/CodeGen/TargetInstrInfo.cpp')
-rw-r--r--llvm/lib/CodeGen/TargetInstrInfo.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/TargetInstrInfo.cpp b/llvm/lib/CodeGen/TargetInstrInfo.cpp
index 9e49dddd46ba..0d7b128fc736 100644
--- a/llvm/lib/CodeGen/TargetInstrInfo.cpp
+++ b/llvm/lib/CodeGen/TargetInstrInfo.cpp
@@ -996,7 +996,7 @@ static bool canCombine(MachineBasicBlock &MBB, MachineOperand &MO,
(MI->getOpcode() != CombineOpc && CombineOpc != 0))
return false;
// Must only used by the user we combine with.
- if (!MRI.hasOneNonDBGUse(MI->getOperand(0).getReg()))
+ if (!MRI.hasOneNonDBGUse(MO.getReg()))
return false;
return true;
@@ -1456,11 +1456,13 @@ void TargetInstrInfo::reassociateOps(
MIB1->clearFlag(MachineInstr::MIFlag::NoSWrap);
MIB1->clearFlag(MachineInstr::MIFlag::NoUWrap);
MIB1->clearFlag(MachineInstr::MIFlag::IsExact);
+ MIB1->clearFlag(MachineInstr::MIFlag::Disjoint);
MIB2->setFlags(IntersectedFlags);
MIB2->clearFlag(MachineInstr::MIFlag::NoSWrap);
MIB2->clearFlag(MachineInstr::MIFlag::NoUWrap);
MIB2->clearFlag(MachineInstr::MIFlag::IsExact);
+ MIB2->clearFlag(MachineInstr::MIFlag::Disjoint);
setSpecialOperandAttr(Root, Prev, *MIB1, *MIB2);