reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/CodeGen/AtomicExpandPass.cpp
 1092   AtomicOrdering SuccessOrder = CI->getSuccessOrdering();
 1093   AtomicOrdering FailureOrder = CI->getFailureOrdering();
 1094   Value *Addr = CI->getPointerOperand();
 1095   BasicBlock *BB = CI->getParent();
 1102   bool ShouldInsertFencesForAtomic = TLI->shouldInsertFencesForAtomic(CI);
 1115   bool HasReleasedLoadBB = !CI->isWeak() && ShouldInsertFencesForAtomic &&
 1122   bool UseUnconditionalReleaseBarrier = F->hasMinSize() && !CI->isWeak();
 1167   BasicBlock *ExitBB = BB->splitBasicBlock(CI->getIterator(), "cmpxchg.end");
 1180   IRBuilder<> Builder(CI);
 1188     TLI->emitLeadingFence(Builder, CI, SuccessOrder);
 1195       UnreleasedLoad, CI->getCompareOperand(), "should_store");
 1203     TLI->emitLeadingFence(Builder, CI, SuccessOrder);
 1208       Builder, CI->getNewValOperand(), Addr, MemOpOrder);
 1213                        CI->isWeak() ? FailureBB : RetryBB);
 1219     ShouldStore = Builder.CreateICmpEQ(SecondLoad, CI->getCompareOperand(),
 1232     TLI->emitTrailingFence(Builder, CI, SuccessOrder);
 1244     TLI->emitTrailingFence(Builder, CI, FailureOrder);
 1282   for (auto User : CI->users()) {
 1302   if (!CI->use_empty()) {
 1306     Res = Builder.CreateInsertValue(UndefValue::get(CI->getType()), Loaded, 0);
 1309     CI->replaceAllUsesWith(Res);
 1312   CI->eraseFromParent();