Lines Matching refs:AtomicOrdering
74 bool bracketInstWithFences(Instruction *I, AtomicOrdering Order);
87 Align AddrAlign, AtomicOrdering MemOpOrder,
91 Align AddrAlign, AtomicOrdering MemOpOrder,
103 Align AddrAlign, AtomicOrdering MemOpOrder,
115 Value *CASExpected, AtomicOrdering Ordering,
116 AtomicOrdering Ordering2,
225 auto FenceOrdering = AtomicOrdering::Monotonic; in runOnFunction()
228 LI->setOrdering(AtomicOrdering::Monotonic); in runOnFunction()
231 SI->setOrdering(AtomicOrdering::Monotonic); in runOnFunction()
235 RMWI->setOrdering(AtomicOrdering::Monotonic); in runOnFunction()
247 CASI->setSuccessOrdering(AtomicOrdering::Monotonic); in runOnFunction()
248 CASI->setFailureOrdering(AtomicOrdering::Monotonic); in runOnFunction()
251 if (FenceOrdering != AtomicOrdering::Monotonic) { in runOnFunction()
330 bool AtomicExpand::bracketInstWithFences(Instruction *I, AtomicOrdering Order) { in bracketInstWithFences()
423 LI->setAtomic(AtomicOrdering::NotAtomic); in tryExpandAtomicLoad()
438 SI->setAtomic(AtomicOrdering::NotAtomic); in tryExpandAtomicStore()
463 AtomicOrdering Order = LI->getOrdering(); in expandAtomicLoadToCmpXchg()
464 if (Order == AtomicOrdering::Unordered) in expandAtomicLoadToCmpXchg()
465 Order = AtomicOrdering::Monotonic; in expandAtomicLoadToCmpXchg()
518 AtomicOrdering Ordering = SI->getOrdering(); in expandAtomicStore()
519 assert(Ordering != AtomicOrdering::NotAtomic); in expandAtomicStore()
520 AtomicOrdering RMWOrdering = Ordering == AtomicOrdering::Unordered in expandAtomicStore()
521 ? AtomicOrdering::Monotonic in expandAtomicStore()
534 AtomicOrdering MemOpOrder, SyncScope::ID SSID, in createCmpXchgInstFun()
816 AtomicOrdering MemOpOrder = AI->getOrdering(); in expandPartwordAtomicRMW()
1013 AtomicOrdering MemOpOrder, in expandAtomicOpToLLSC()
1078 AtomicOrdering MemOpOrder, in insertRMWLLSCLoop()
1168 AtomicOrdering SuccessOrder = CI->getSuccessOrdering(); in expandAtomicCmpXchg()
1169 AtomicOrdering FailureOrder = CI->getFailureOrdering(); in expandAtomicCmpXchg()
1179 AtomicOrdering MemOpOrder = ShouldInsertFencesForAtomic in expandAtomicCmpXchg()
1180 ? AtomicOrdering::Monotonic in expandAtomicCmpXchg()
1193 SuccessOrder != AtomicOrdering::Monotonic && in expandAtomicCmpXchg()
1194 SuccessOrder != AtomicOrdering::Acquire && in expandAtomicCmpXchg()
1443 AtomicOrdering MemOpOrder, SyncScope::ID SSID, in insertRMWCmpXchgLoop()
1488 MemOpOrder == AtomicOrdering::Unordered in insertRMWCmpXchgLoop()
1489 ? AtomicOrdering::Monotonic in insertRMWCmpXchgLoop()
1570 I->getOrdering(), AtomicOrdering::NotAtomic, Libcalls); in expandAtomicLoadToLibcall()
1583 nullptr, I->getOrdering(), AtomicOrdering::NotAtomic, Libcalls); in expandAtomicStoreToLibcall()
1673 nullptr, I->getOrdering(), AtomicOrdering::NotAtomic, Libcalls); in expandAtomicRMWToLibcall()
1682 Value *NewVal, Align Alignment, AtomicOrdering MemOpOrder, in expandAtomicRMWToLibcall()
1705 Value *ValueOperand, Value *CASExpected, AtomicOrdering Ordering, in expandAtomicOpToLibcall()
1706 AtomicOrdering Ordering2, ArrayRef<RTLIB::Libcall> Libcalls) { in expandAtomicOpToLibcall()
1723 assert(Ordering != AtomicOrdering::NotAtomic && "expect atomic MO"); in expandAtomicOpToLibcall()
1728 assert(Ordering2 != AtomicOrdering::NotAtomic && "expect atomic MO"); in expandAtomicOpToLibcall()