From 869fa74d4b13ad54a24fdc357393ce9dcc05b4ff Mon Sep 17 00:00:00 2001 From: Tim Northover Date: Thu, 3 Aug 2017 16:59:36 +0000 Subject: [PATCH] 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 --- llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp b/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp index d4d2910..fdb90f4 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; } -- 2.7.4