summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-05-28 10:13:54 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-05-28 10:13:54 +0000
commit53c9efd9c102ed7a656c87f066a6562c8f11c2b0 (patch)
treee3f204fbb2bb748fa3fb5f933eb54c65bcaa26a8 /llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
parent1eba4e325491979bc41f7dcb2c81ccbfacabe693 (diff)
downloadbcm5719-llvm-53c9efd9c102ed7a656c87f066a6562c8f11c2b0.tar.gz
bcm5719-llvm-53c9efd9c102ed7a656c87f066a6562c8f11c2b0.zip
[SystemZ] Tweak SystemZInstrInfo::isBranch() interface
This is needed for the upcoming compare-and-branch patch. No functional change intended. llvm-svn: 182762
Diffstat (limited to 'llvm/lib/Target/SystemZ/SystemZLongBranch.cpp')
-rw-r--r--llvm/lib/Target/SystemZ/SystemZLongBranch.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZLongBranch.cpp b/llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
index 87d82f3ec5e..9db4f2d6006 100644
--- a/llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
+++ b/llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
@@ -211,22 +211,21 @@ TerminatorInfo SystemZLongBranch::describeTerminator(MachineInstr *MI) {
TerminatorInfo Terminator;
Terminator.Size = TII->getInstSizeInBytes(MI);
if (MI->isConditionalBranch() || MI->isUnconditionalBranch()) {
- Terminator.Branch = MI;
switch (MI->getOpcode()) {
case SystemZ::J:
// Relaxes to JG, which is 2 bytes longer.
- Terminator.TargetBlock = MI->getOperand(0).getMBB()->getNumber();
Terminator.ExtraRelaxSize = 2;
break;
case SystemZ::BRC:
- // Relaxes to BRCL, which is 2 bytes longer. Operand 0 is the
- // condition code mask.
- Terminator.TargetBlock = MI->getOperand(1).getMBB()->getNumber();
+ // Relaxes to BRCL, which is 2 bytes longer.
Terminator.ExtraRelaxSize = 2;
break;
default:
llvm_unreachable("Unrecognized branch instruction");
}
+ Terminator.Branch = MI;
+ Terminator.TargetBlock =
+ TII->getBranchInfo(MI).Target->getMBB()->getNumber();
}
return Terminator;
}
OpenPOWER on IntegriCloud