summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2017-08-03 16:59:36 +0000
committerTim Northover <tnorthover@apple.com>2017-08-03 16:59:36 +0000
commit869fa74d4b13ad54a24fdc357393ce9dcc05b4ff (patch)
tree552533f5575169b90165e837d4e3865114c061c5 /llvm/lib/Target
parent0dfd4fa8d3576cd22d18f40eb4473b02e9726731 (diff)
downloadbcm5719-llvm-869fa74d4b13ad54a24fdc357393ce9dcc05b4ff.tar.gz
bcm5719-llvm-869fa74d4b13ad54a24fdc357393ce9dcc05b4ff.zip
Revert "[AArch64] Simplify AES*Tied pseudo expansion (NFC)."
This reverts commit r309821. My suggestion was wrong because it left the MachineOperands tied which confused the verifier. Since there's no easy way to untie operands, the original BuildMI solution is probably best. llvm-svn: 309962
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp b/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
index d4d291066ca..fdb90f40aa8 100644
--- a/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
+++ b/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
@@ -967,10 +967,17 @@ bool AArch64ExpandPseudo::expandMI(MachineBasicBlock &MBB,
return expandCMP_SWAP_128(MBB, MBBI, NextMBBI);
case AArch64::AESMCrrTied:
- case AArch64::AESIMCrrTied:
- MI.setDesc(TII->get(Opcode == AArch64::AESMCrrTied ? AArch64::AESMCrr :
- AArch64::AESIMCrr));
+ case AArch64::AESIMCrrTied: {
+ MachineInstrBuilder MIB =
+ BuildMI(MBB, MBBI, MI.getDebugLoc(),
+ TII->get(Opcode == AArch64::AESMCrrTied ? AArch64::AESMCrr :
+ AArch64::AESIMCrr))
+ .add(MI.getOperand(0))
+ .add(MI.getOperand(1));
+ transferImpOps(MI, MIB, MIB);
+ MI.eraseFromParent();
return true;
+ }
}
return false;
}
OpenPOWER on IntegriCloud