diff options
author | Amara Emerson <amara.emerson@arm.com> | 2013-10-03 09:31:51 +0000 |
---|---|---|
committer | Amara Emerson <amara.emerson@arm.com> | 2013-10-03 09:31:51 +0000 |
commit | 6eef361b73b457896b310d411251aedd5e72476a (patch) | |
tree | dfc0acbe041f65d4048244b45475bceefb97b8d9 /lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp | |
parent | 9d08d69fd4562a4433cf19eb4b96c17b34f6da2e (diff) | |
download | external_llvm-6eef361b73b457896b310d411251aedd5e72476a.tar.gz external_llvm-6eef361b73b457896b310d411251aedd5e72476a.tar.bz2 external_llvm-6eef361b73b457896b310d411251aedd5e72476a.zip |
[ARM] Warn on deprecated IT blocks in v8 AArch32 assembly.
Patch by Artyom Skrobov.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191885 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp')
-rw-r--r-- | lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp b/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp index 94069cd001..28d921213c 100644 --- a/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp +++ b/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp @@ -63,6 +63,17 @@ static bool getMCRDeprecationInfo(MCInst &MI, MCSubtargetInfo &STI, return false; } +static bool getITDeprecationInfo(MCInst &MI, MCSubtargetInfo &STI, + std::string &Info) { + if (STI.getFeatureBits() & llvm::ARM::HasV8Ops && + MI.getOperand(1).isImm() && MI.getOperand(1).getImm() != 8) { + Info = "applying IT instruction to more than one subsequent instruction is deprecated"; + return true; + } + + return false; +} + #define GET_INSTRINFO_MC_DESC #include "ARMGenInstrInfo.inc" |