summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2016-07-08 18:26:20 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2016-07-08 18:26:20 +0000
commit25b132e93b2b8b99c91463d381ac13a522048a61 (patch)
tree574c742b3cd7be664882afa68fcc95ed5007dd4d /llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
parent3e2576f9682e72faa87025a349be5b34c8f9585f (diff)
downloadbcm5719-llvm-25b132e93b2b8b99c91463d381ac13a522048a61.tar.gz
bcm5719-llvm-25b132e93b2b8b99c91463d381ac13a522048a61.zip
Target: Avoid getFirstTerminator() => pointer, NFC
Stop using an implicit conversion from the return of MachineBasicBlock::getFirstTerminator to MachineInstr*. In two cases, directly dereference to a MachineInstr& since later code assumes it's valid. In a third case, change to an iterator since later code checks against MachineBasicBlock::end. Although the fix for the third case avoids undefined behaviour, I expect this doesn't cause a functionality change in practice (since the basic block already has a terminator). llvm-svn: 274898
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp')
-rw-r--r--llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp b/llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
index 5a11a05bba8..935a1433107 100644
--- a/llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
+++ b/llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
@@ -275,13 +275,13 @@ void AArch64ConditionOptimizer::modifyCmp(MachineInstr *CmpMI,
// The fact that this comparison was picked ensures that it's related to the
// first terminator instruction.
- MachineInstr *BrMI = MBB->getFirstTerminator();
+ MachineInstr &BrMI = *MBB->getFirstTerminator();
// Change condition in branch instruction.
- BuildMI(*MBB, BrMI, BrMI->getDebugLoc(), TII->get(AArch64::Bcc))
+ BuildMI(*MBB, BrMI, BrMI.getDebugLoc(), TII->get(AArch64::Bcc))
.addImm(Cmp)
- .addOperand(BrMI->getOperand(1));
- BrMI->eraseFromParent();
+ .addOperand(BrMI.getOperand(1));
+ BrMI.eraseFromParent();
MBB->updateTerminator();
OpenPOWER on IntegriCloud