summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM
diff options
context:
space:
mode:
authorJames Y Knight <jyknight@google.com>2016-04-01 19:33:19 +0000
committerJames Y Knight <jyknight@google.com>2016-04-01 19:33:19 +0000
commite6a46463726aa489a996fba33ed1622f2395bffb (patch)
treea1654924759350f7743215d57b3da3925bae1a6c /llvm/lib/Target/ARM
parent6f8cfccbd36de601b6f35a854cb0dba5b9757495 (diff)
downloadbcm5719-llvm-e6a46463726aa489a996fba33ed1622f2395bffb.tar.gz
bcm5719-llvm-e6a46463726aa489a996fba33ed1622f2395bffb.zip
Remove useless check for ThreadModel==Single in ARMISelLowering. NFC.
ThreadModel::Single is already handled already by ARMPassConfig adding LowerAtomicPass to the pass list, which lowers all atomics to non-atomic ops and deletes fences. So by the time we get to ISel, there's no atomic fences left, so they don't need special handling. llvm-svn: 265178
Diffstat (limited to 'llvm/lib/Target/ARM')
-rw-r--r--llvm/lib/Target/ARM/ARMISelLowering.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp
index ecf15d3bd6f..908f40db587 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp
@@ -843,14 +843,10 @@ ARMTargetLowering::ARMTargetLowering(const TargetMachine &TM,
setOperationAction(ISD::DYNAMIC_STACKALLOC, MVT::i32, Expand);
// ARMv6 Thumb1 (except for CPUs that support dmb / dsb) and earlier use
- // the default expansion. If we are targeting a single threaded system,
- // then set them all for expand so we can lower them later into their
- // non-atomic form.
+ // the default expansion.
InsertFencesForAtomic = false;
- if (TM.Options.ThreadModel == ThreadModel::Single)
- setOperationAction(ISD::ATOMIC_FENCE, MVT::Other, Expand);
- else if (Subtarget->hasAnyDataBarrier() && (!Subtarget->isThumb() ||
- Subtarget->hasV8MBaselineOps())) {
+ if (Subtarget->hasAnyDataBarrier() &&
+ (!Subtarget->isThumb() || Subtarget->hasV8MBaselineOps())) {
// ATOMIC_FENCE needs custom lowering; the others should have been expanded
// to ldrex/strex loops already.
setOperationAction(ISD::ATOMIC_FENCE, MVT::Other, Custom);
OpenPOWER on IntegriCloud