diff options
| author | Benjamin Kramer <benny.kra@googlemail.com> | 2011-08-09 21:34:19 +0000 |
|---|---|---|
| committer | Benjamin Kramer <benny.kra@googlemail.com> | 2011-08-09 21:34:19 +0000 |
| commit | de2c3813310425d79ab1c01f6debe25d2514620d (patch) | |
| tree | 9c8536ed4ff4e2d3219ffa6b4fdd48478a4f118a /llvm/lib | |
| parent | 982aa050176e9f7793ac7a6a06ad61a02307c4e8 (diff) | |
| download | bcm5719-llvm-de2c3813310425d79ab1c01f6debe25d2514620d.tar.gz bcm5719-llvm-de2c3813310425d79ab1c01f6debe25d2514620d.zip | |
The new ARM disassembler disassembles "bx lr" as a special BX_ret instruction so target specific analysis isn't needed anymore.
llvm-svn: 137151
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp b/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp index 0a4d671a4e3..8cb0ccf380d 100644 --- a/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp +++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp @@ -165,11 +165,6 @@ namespace { class ARMMCInstrAnalysis : public MCInstrAnalysis { public: ARMMCInstrAnalysis(const MCInstrInfo *Info) : MCInstrAnalysis(Info) {} - virtual bool isBranch(const MCInst &Inst) const { - // Don't flag "bx lr" as a branch. - return MCInstrAnalysis::isBranch(Inst) && (Inst.getOpcode() != ARM::BX || - Inst.getOperand(0).getReg() != ARM::LR); - } virtual bool isUnconditionalBranch(const MCInst &Inst) const { // BCCs with the "always" predicate are unconditional branches. @@ -185,11 +180,6 @@ public: return MCInstrAnalysis::isConditionalBranch(Inst); } - virtual bool isReturn(const MCInst &Inst) const { - // Recognize "bx lr" as return. - return Inst.getOpcode() == ARM::BX && Inst.getOperand(0).getReg()==ARM::LR; - } - uint64_t evaluateBranch(const MCInst &Inst, uint64_t Addr, uint64_t Size) const { // We only handle PCRel branches for now. |

