summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/AsmParser
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2013-06-26 16:52:32 +0000
committerTim Northover <tnorthover@apple.com>2013-06-26 16:52:32 +0000
commitc1a91dd97b000128189421eda6c5bb7905b1f467 (patch)
treedd1dd70c9d53514c279f692b3974b805eee764be /lib/Target/ARM/AsmParser
parentfce567aec90610e81e0b23968d8935ecf5b04505 (diff)
downloadllvm-c1a91dd97b000128189421eda6c5bb7905b1f467.tar.gz
llvm-c1a91dd97b000128189421eda6c5bb7905b1f467.tar.bz2
llvm-c1a91dd97b000128189421eda6c5bb7905b1f467.tar.xz
ARM: allow predicated barriers in Thumb mode
The barrier instructions are only "always-execute" in ARM mode, they can quite happily sit inside an IT block in Thumb. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184964 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/AsmParser')
-rw-r--r--lib/Target/ARM/AsmParser/ARMAsmParser.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
index 647fdb396d..f80fba6102 100644
--- a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
+++ b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
@@ -4966,12 +4966,12 @@ getMnemonicAcceptInfo(StringRef Mnemonic, bool &CanAcceptCarrySet,
} else
CanAcceptCarrySet = false;
- if (Mnemonic == "cbnz" || Mnemonic == "setend" || Mnemonic == "dmb" ||
- Mnemonic == "cps" || Mnemonic == "mcr2" || Mnemonic == "it" ||
- Mnemonic == "mcrr2" || Mnemonic == "cbz" || Mnemonic == "cdp2" ||
- Mnemonic == "trap" || Mnemonic == "mrc2" || Mnemonic == "mrrc2" ||
- Mnemonic == "dsb" || Mnemonic == "isb" || Mnemonic == "setend" ||
- (Mnemonic == "clrex" && !isThumb()) ||
+ if (Mnemonic == "cbnz" || Mnemonic == "setend" || Mnemonic == "cps" ||
+ Mnemonic == "mcr2" || Mnemonic == "it" || Mnemonic == "mcrr2" ||
+ Mnemonic == "cbz" || Mnemonic == "cdp2" || Mnemonic == "trap" ||
+ Mnemonic == "mrc2" || Mnemonic == "mrrc2" || Mnemonic == "setend" ||
+ ((Mnemonic == "clrex" || Mnemonic == "dmb" || Mnemonic == "dsb" ||
+ Mnemonic == "isb") && !isThumb()) ||
(Mnemonic == "nop" && isThumbOne()) ||
((Mnemonic == "pld" || Mnemonic == "pli" || Mnemonic == "pldw" ||
Mnemonic == "ldc2" || Mnemonic == "ldc2l" ||