Lines Matching refs:AtomicOrdering
76 bool bracketInstWithFences(Instruction *I, AtomicOrdering Order);
89 Align AddrAlign, AtomicOrdering MemOpOrder,
93 AtomicOrdering MemOpOrder,
105 AtomicOrdering MemOpOrder, SyncScope::ID SSID,
116 Value *CASExpected, AtomicOrdering Ordering,
117 AtomicOrdering Ordering2,
263 auto FenceOrdering = AtomicOrdering::Monotonic; in runOnFunction()
266 LI->setOrdering(AtomicOrdering::Monotonic); in runOnFunction()
269 SI->setOrdering(AtomicOrdering::Monotonic); in runOnFunction()
273 RMWI->setOrdering(AtomicOrdering::Monotonic); in runOnFunction()
285 CASI->setSuccessOrdering(AtomicOrdering::Monotonic); in runOnFunction()
286 CASI->setFailureOrdering(AtomicOrdering::Monotonic); in runOnFunction()
289 if (FenceOrdering != AtomicOrdering::Monotonic) { in runOnFunction()
294 auto FenceOrdering = AtomicOrdering::Monotonic; in runOnFunction()
343 bool AtomicExpand::bracketInstWithFences(Instruction *I, AtomicOrdering Order) { in bracketInstWithFences()
432 LI->setAtomic(AtomicOrdering::NotAtomic); in tryExpandAtomicLoad()
447 SI->setAtomic(AtomicOrdering::NotAtomic); in tryExpandAtomicStore()
472 AtomicOrdering Order = LI->getOrdering(); in expandAtomicLoadToCmpXchg()
473 if (Order == AtomicOrdering::Unordered) in expandAtomicLoadToCmpXchg()
474 Order = AtomicOrdering::Monotonic; in expandAtomicLoadToCmpXchg()
525 AtomicOrdering Ordering = SI->getOrdering(); in expandAtomicStore()
526 assert(Ordering != AtomicOrdering::NotAtomic); in expandAtomicStore()
527 AtomicOrdering RMWOrdering = Ordering == AtomicOrdering::Unordered in expandAtomicStore()
528 ? AtomicOrdering::Monotonic in expandAtomicStore()
541 AtomicOrdering MemOpOrder, SyncScope::ID SSID, in createCmpXchgInstFun()
848 AtomicOrdering MemOpOrder = AI->getOrdering(); in expandPartwordAtomicRMW()
1052 AtomicOrdering MemOpOrder, in expandAtomicOpToLLSC()
1117 AtomicOrdering MemOpOrder, in insertRMWLLSCLoop()
1205 AtomicOrdering SuccessOrder = CI->getSuccessOrdering(); in expandAtomicCmpXchg()
1206 AtomicOrdering FailureOrder = CI->getFailureOrdering(); in expandAtomicCmpXchg()
1216 AtomicOrdering MemOpOrder = ShouldInsertFencesForAtomic in expandAtomicCmpXchg()
1217 ? AtomicOrdering::Monotonic in expandAtomicCmpXchg()
1230 SuccessOrder != AtomicOrdering::Monotonic && in expandAtomicCmpXchg()
1231 SuccessOrder != AtomicOrdering::Acquire && in expandAtomicCmpXchg()
1480 AtomicOrdering MemOpOrder, SyncScope::ID SSID, in insertRMWCmpXchgLoop()
1525 MemOpOrder == AtomicOrdering::Unordered in insertRMWCmpXchgLoop()
1526 ? AtomicOrdering::Monotonic in insertRMWCmpXchgLoop()
1612 I->getOrdering(), AtomicOrdering::NotAtomic, Libcalls); in expandAtomicLoadToLibcall()
1625 nullptr, I->getOrdering(), AtomicOrdering::NotAtomic, Libcalls); in expandAtomicStoreToLibcall()
1717 nullptr, I->getOrdering(), AtomicOrdering::NotAtomic, Libcalls); in expandAtomicRMWToLibcall()
1726 Value *NewVal, Align Alignment, AtomicOrdering MemOpOrder, in expandAtomicRMWToLibcall()
1749 Value *ValueOperand, Value *CASExpected, AtomicOrdering Ordering, in expandAtomicOpToLibcall()
1750 AtomicOrdering Ordering2, ArrayRef<RTLIB::Libcall> Libcalls) { in expandAtomicOpToLibcall()
1767 assert(Ordering != AtomicOrdering::NotAtomic && "expect atomic MO"); in expandAtomicOpToLibcall()
1772 assert(Ordering2 != AtomicOrdering::NotAtomic && "expect atomic MO"); in expandAtomicOpToLibcall()