summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
diff options
context:
space:
mode:
authorJian Cai <caij2003@gmail.com>2019-08-16 20:40:21 +0000
committerJian Cai <caij2003@gmail.com>2019-08-16 20:40:21 +0000
commit2d957cfe02a1b4c82068d1a0bf22bcffbba72a8a (patch)
tree6f13e3c44f81d0fc293c6598baec52746a014079 /llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
parent856608c30a8b9f28333e0d1b9cacc19db6d688e8 (diff)
downloadbcm5719-llvm-2d957cfe02a1b4c82068d1a0bf22bcffbba72a8a.tar.gz
bcm5719-llvm-2d957cfe02a1b4c82068d1a0bf22bcffbba72a8a.zip
Revert "[ARM] push LR before __gnu_mcount_nc"
This reverts commit f4cf3b959333f62b7a7b2d7771f7010c9d8da388. llvm-svn: 369149
Diffstat (limited to 'llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp31
1 files changed, 0 insertions, 31 deletions
diff --git a/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp b/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
index 73ebe0940f3..bd4ca3828fc 100644
--- a/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
+++ b/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
@@ -1916,37 +1916,6 @@ bool ARMExpandPseudo::ExpandMI(MachineBasicBlock &MBB,
case ARM::CMP_SWAP_64:
return ExpandCMP_SWAP_64(MBB, MBBI, NextMBBI);
-
- case ARM::tBL_PUSHLR:
- case ARM::BL_PUSHLR: {
- const bool Thumb = Opcode == ARM::tBL_PUSHLR;
- Register Reg = MI.getOperand(0).getReg();
- assert(Reg == ARM::LR && "expect LR register!");
- MachineInstrBuilder MIB;
- if (Thumb) {
- // push {lr}
- BuildMI(MBB, MBBI, MI.getDebugLoc(), TII->get(ARM::tPUSH))
- .add(predOps(ARMCC::AL))
- .addReg(Reg);
-
- // bl __gnu_mcount_nc
- MIB = BuildMI(MBB, MBBI, MI.getDebugLoc(), TII->get(ARM::tBL));
- } else {
- // stmdb sp!, {lr}
- BuildMI(MBB, MBBI, MI.getDebugLoc(), TII->get(ARM::STMDB_UPD))
- .addReg(ARM::SP, RegState::Define)
- .addReg(ARM::SP)
- .add(predOps(ARMCC::AL))
- .addReg(Reg);
-
- // bl __gnu_mcount_nc
- MIB = BuildMI(MBB, MBBI, MI.getDebugLoc(), TII->get(ARM::BL));
- }
- MIB.cloneMemRefs(MI);
- for (unsigned i = 1; i < MI.getNumOperands(); ++i) MIB.add(MI.getOperand(i));
- MI.eraseFromParent();
- return true;
- }
}
}
OpenPOWER on IntegriCloud