Lines Matching full:loaded

460         [](IRBuilderBase &Builder, Value *Loaded) { return Loaded; });  in tryExpandAtomicLoad()  argument
518 Value *Loaded = Builder.CreateExtractValue(Pair, 0, "loaded"); in expandAtomicLoadToCmpXchg() local
520 LI->replaceAllUsesWith(Loaded); in expandAtomicLoadToCmpXchg()
575 Value *Loaded, Value *NewVal, Align AddrAlign, in createCmpXchgInstFun() argument
586 Loaded = Builder.CreateBitCast(Loaded, IntTy); in createCmpXchgInstFun()
590 Addr, Loaded, NewVal, AddrAlign, MemOpOrder, in createCmpXchgInstFun()
612 auto PerformOp = [&](IRBuilderBase &Builder, Value *Loaded) { in tryExpandAtomicRMW() argument
613 return buildAtomicRMWValue(AI->getOperation(), Builder, Loaded, in tryExpandAtomicRMW()
729 /// ShiftAmt: Number of bits to right-shift a WordSize value loaded
731 /// ValueType was loaded from Addr.
733 /// Mask: Value to mask with the value loaded from AlignAddr to
734 /// include only the part that would've been loaded from Addr.
836 IRBuilderBase &Builder, Value *Loaded, in performMaskedAtomicOp() argument
844 Value *Loaded_MaskOut = Builder.CreateAnd(Loaded, PMV.Inv_Mask); in performMaskedAtomicOp()
856 Value *NewVal = buildAtomicRMWValue(Op, Builder, Loaded, Shifted_Inc); in performMaskedAtomicOp()
858 Value *Loaded_MaskOut = Builder.CreateAnd(Loaded, PMV.Inv_Mask); in performMaskedAtomicOp()
875 Value *Loaded_Extract = extractMaskedValue(Builder, Loaded, PMV); in performMaskedAtomicOp()
877 Value *FinalVal = insertMaskedValue(Builder, Loaded, NewVal, PMV); in performMaskedAtomicOp()
919 auto PerformPartwordOp = [&](IRBuilderBase &Builder, Value *Loaded) { in expandPartwordAtomicRMW() argument
920 return performMaskedAtomicOp(Op, Builder, Loaded, ValOperand_Shifted, in expandPartwordAtomicRMW()
1086 // Mask/Or the expected and new values into place in the loaded word. in expandPartwordCmpXchg()
1110 // Upon failure, verify that the masked-out part of the loaded value in expandPartwordCmpXchg()
1138 Value *Loaded = insertRMWLLSCLoop(Builder, ResultType, Addr, AddrAlign, in expandAtomicOpToLLSC() local
1141 I->replaceAllUsesWith(Loaded); in expandAtomicOpToLLSC()
1216 // %loaded = @load.linked(%addr) in insertRMWLLSCLoop()
1217 // %new = some_op iN %loaded, %incr in insertRMWLLSCLoop()
1235 Value *Loaded = TLI->emitLoadLinked(Builder, ResultTy, Addr, MemOpOrder); in insertRMWLLSCLoop() local
1237 Value *NewVal = PerformOp(Builder, Loaded); in insertRMWLLSCLoop()
1246 return Loaded; in insertRMWLLSCLoop()
1337 // %loaded.trystore = phi [%unreleasedload, %cmpxchg.releasingstore], in expandAtomicCmpXchg()
1339 // %updated.new = insert %new into %loaded.trystore in expandAtomicCmpXchg()
1354 // %loaded.nostore = phi [%unreleasedload, %cmpxchg.start], in expandAtomicCmpXchg()
1363 // %loaded.exit = phi [%loaded.nostore, %cmpxchg.failure], in expandAtomicCmpXchg()
1364 // [%loaded.trystore, %cmpxchg.trystore] in expandAtomicCmpXchg()
1366 // %loaded = extract value from %loaded.exit in expandAtomicCmpXchg()
1367 // %restmp = insertvalue { iN, i1 } undef, iN %loaded, 0 in expandAtomicCmpXchg()
1417 Builder.CreatePHI(PMV.WordType, 2, "loaded.trystore"); in expandAtomicCmpXchg()
1456 Builder.CreatePHI(UnreleasedLoad->getType(), 2, "loaded.nostore"); in expandAtomicCmpXchg()
1469 Builder.CreatePHI(UnreleasedLoad->getType(), 2, "loaded.failure"); in expandAtomicCmpXchg()
1479 // subsequent "icmp eq/ne %loaded, %oldval" into a use of an appropriate in expandAtomicCmpXchg()
1483 Builder.CreatePHI(UnreleasedLoad->getType(), 2, "loaded.exit"); in expandAtomicCmpXchg()
1495 Value *Loaded = extractMaskedValue(Builder, LoadedFull, PMV); in expandAtomicCmpXchg() local
1497 // Look for any users of the cmpxchg that are just comparing the loaded value in expandAtomicCmpXchg()
1509 EV->replaceAllUsesWith(Loaded); in expandAtomicCmpXchg()
1524 Res = Builder.CreateInsertValue(PoisonValue::get(CI->getType()), Loaded, 0); in expandAtomicCmpXchg()
1578 // %loaded = phi iN [ %init_loaded, %entry ], [ %new_loaded, %loop ] in insertRMWCmpXchgLoop()
1579 // %new = some_op iN %loaded, %incr in insertRMWCmpXchgLoop()
1580 // %pair = cmpxchg iN* %addr, iN %loaded, iN %new in insertRMWCmpXchgLoop()
1600 PHINode *Loaded = Builder.CreatePHI(ResultTy, 2, "loaded"); in insertRMWCmpXchgLoop() local
1601 Loaded->addIncoming(InitLoaded, BB); in insertRMWCmpXchgLoop()
1603 Value *NewVal = PerformOp(Builder, Loaded); in insertRMWCmpXchgLoop()
1608 CreateCmpXchg(Builder, Addr, Loaded, NewVal, AddrAlign, in insertRMWCmpXchgLoop()
1615 Loaded->addIncoming(NewLoaded, LoopBB); in insertRMWCmpXchgLoop()
1654 Value *Loaded = AtomicExpandImpl::insertRMWCmpXchgLoop( in expandAtomicRMWToCmpXchg() local
1657 [&](IRBuilderBase &Builder, Value *Loaded) { in expandAtomicRMWToCmpXchg() argument
1658 return buildAtomicRMWValue(AI->getOperation(), Builder, Loaded, in expandAtomicRMWToCmpXchg()
1663 AI->replaceAllUsesWith(Loaded); in expandAtomicRMWToCmpXchg()
1809 I, [this](IRBuilderBase &Builder, Value *Addr, Value *Loaded, in expandAtomicRMWToLibcall()
1814 Addr, Loaded, NewVal, Alignment, MemOpOrder, in expandAtomicRMWToLibcall()