mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-29 22:30:33 +00:00
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
This commit is contained in:
parent
5990eb01ac
commit
9ad0ccef43
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user