From f174959286cc7c661e911e42d443e2455986a047 Mon Sep 17 00:00:00 2001 From: Owen Anderson Date: Thu, 8 Sep 2011 00:11:18 +0000 Subject: [PATCH] Remove the "common" set of instructions shared between ARM and Thumb2 modes. This is no longer needed now that Thumb2 has its own copy of the STC/LDC instructions. llvm-svn: 139268 --- llvm/lib/Target/ARM/ARMInstrInfo.td | 2 -- .../ARM/Disassembler/ARMDisassembler.cpp | 18 ------------------ 2 files changed, 20 deletions(-) diff --git a/llvm/lib/Target/ARM/ARMInstrInfo.td b/llvm/lib/Target/ARM/ARMInstrInfo.td index 507c7bbcf024..c935df9a8b26 100644 --- a/llvm/lib/Target/ARM/ARMInstrInfo.td +++ b/llvm/lib/Target/ARM/ARMInstrInfo.td @@ -4320,7 +4320,6 @@ class ACI op31_28, bit load, dag ops, string opc, string cond>{ - let DecoderNamespace = "Common" in { def _OFFSET : ACI<(outs), !con((ins nohash_imm:$cop, nohash_imm:$CRd, addrmode2:$addr), ops), !strconcat(opc, cond), "\tp$cop, cr$CRd, $addr"> { @@ -4416,7 +4415,6 @@ multiclass LdStCop op31_28, bit load, dag ops, string opc, string cond>{ let Inst{20} = load; let DecoderMethod = "DecodeCopMemInstruction"; } - } } defm LDC : LdStCop<{?,?,?,?}, 1, (ins pred:$p), "ldc", "${p}">; diff --git a/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp b/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp index 13e410c139e0..66e64d3ffcb1 100644 --- a/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp +++ b/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp @@ -342,16 +342,6 @@ DecodeStatus ARMDisassembler::getInstruction(MCInst &MI, uint64_t &Size, return result; } - // Instructions that are shared between ARM and Thumb modes. - // FIXME: This shouldn't really exist. It's an artifact of the - // fact that we fail to encode a few instructions properly for Thumb. - MI.clear(); - result = decodeCommonInstruction32(MI, insn, Address, this, STI); - if (result != MCDisassembler::Fail) { - Size = 4; - return result; - } - // VFP and NEON instructions, similarly, are shared between ARM // and Thumb modes. MI.clear(); @@ -594,14 +584,6 @@ DecodeStatus ThumbDisassembler::getInstruction(MCInst &MI, uint64_t &Size, return result; } - MI.clear(); - result = decodeCommonInstruction32(MI, insn32, Address, this, STI); - if (result != MCDisassembler::Fail) { - Size = 4; - AddThumbPredicate(MI); - return result; - } - MI.clear(); result = decodeVFPInstruction32(MI, insn32, Address, this, STI); if (result != MCDisassembler::Fail) { -- GitLab