[llvm] r274761 - [SystemZ] Fix regression when handling conditional calls
Zhan Jun Liau via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 7 08:34:47 PDT 2016
Author: zhanjunl
Date: Thu Jul 7 10:34:46 2016
New Revision: 274761
URL: http://llvm.org/viewvc/llvm-project?rev=274761&view=rev
Log:
[SystemZ] Fix regression when handling conditional calls
Summary:
A regression showed up in node.js when handling conditional calls.
Fix the regression by recognizing external symbols as a possible
operand type in CallJG.
Reviewers: koriakin
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D22054
Modified:
llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.cpp
Modified: llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.cpp?rev=274761&r1=274760&r2=274761&view=diff
==============================================================================
--- llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.cpp (original)
+++ llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.cpp Thu Jul 7 10:34:46 2016
@@ -610,14 +610,14 @@ bool SystemZInstrInfo::PredicateInstruct
return true;
}
if (Opcode == SystemZ::CallJG) {
- const GlobalValue *Global = MI.getOperand(0).getGlobal();
+ MachineOperand FirstOp = MI.getOperand(0);
const uint32_t *RegMask = MI.getOperand(1).getRegMask();
MI.RemoveOperand(1);
MI.RemoveOperand(0);
MI.setDesc(get(SystemZ::CallBRCL));
MachineInstrBuilder(*MI.getParent()->getParent(), MI)
.addImm(CCValid).addImm(CCMask)
- .addGlobalAddress(Global)
+ .addOperand(FirstOp)
.addRegMask(RegMask)
.addReg(SystemZ::CC, RegState::Implicit);
return true;
More information about the llvm-commits
mailing list