| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Scalar/ |
| H A D | MergedLoadStoreMotion.cpp | 114 StoreInst *canSinkFromBlock(BasicBlock *BB, StoreInst *SI); 115 PHINode *getPHIOperand(BasicBlock *BB, StoreInst *S0, StoreInst *S1); 118 bool canSinkStoresAndGEPs(StoreInst *S0, StoreInst *S1) const; 119 void sinkStoresAndGEPs(BasicBlock *BB, StoreInst *SinkCand, 120 StoreInst *ElseInst); 183 StoreInst *MergedLoadStoreMotion::canSinkFromBlock(BasicBlock *BB1, in canSinkFromBlock() 184 StoreInst *Store0) { in canSinkFromBlock() 188 auto *Store1 = dyn_cast<StoreInst>(&Inst); in canSinkFromBlock() 206 PHINode *MergedLoadStoreMotion::getPHIOperand(BasicBlock *BB, StoreInst *S0, in getPHIOperand() 207 StoreInst *S1) { in getPHIOperand() [all …]
|
| H A D | LowerAtomicPass.cpp | 35 static bool LowerStoreInst(StoreInst *SI) { in LowerStoreInst() 52 } else if (StoreInst *SI = dyn_cast<StoreInst>(&Inst)) { in runOnBasicBlock()
|
| H A D | LoopDataPrefetch.cpp | 258 Writes = isa<StoreInst>(I); in addInstruction() 268 if (isa<StoreInst>(I) && PtrDiff == 0) in addInstruction() 334 } else if (StoreInst *SMemI = dyn_cast<StoreInst>(&I)) { in runOnLoop()
|
| H A D | SROA.cpp | 898 void visitStoreInst(StoreInst &SI) { in visitStoreInst() 1068 if (StoreInst *SI = dyn_cast<StoreInst>(I)) { in hasUnsafePHIOrSelectUse() 1245 } else if (StoreInst *SI = dyn_cast<StoreInst>(U->getUser())) { in findCommonType() 1472 if (auto *Store = dyn_cast<StoreInst>(U)) { in isSafeSelectToSpeculate() 1558 assert((isa<LoadInst>(I) || isa<StoreInst>(I)) && "Only for load and store!"); in rewriteMemOpOfSelect() 1621 else if (auto *SI = dyn_cast<StoreInst>(&I)) in rewriteMemOpOfSelect() 2070 } else if (StoreInst *SI = dyn_cast<StoreInst>(U->getUser())) { in isVectorPromotionViableForSlice() 2170 else if (auto *SI = dyn_cast<StoreInst>(S.getUse()->getUser())) in isVectorPromotionViable() 2298 } else if (StoreInst *SI = dyn_cast<StoreInst>(U->getUser())) { in isIntegerWideningViableForSlice() 2872 bool rewriteVectorizedStoreInst(Value *V, StoreInst &SI, Value *OldOp, in rewriteVectorizedStoreInst() [all …]
|
| H A D | MemCpyOptimizer.cpp | 118 if (!isa<StoreInst>(SI)) in isProfitableToUseMemset() 170 if (auto *SI = dyn_cast<StoreInst>(Inst)) in addInst() 176 void addStore(int64_t OffsetFromFirst, StoreInst *SI) { in addStore() 396 if (auto *SI = dyn_cast<StoreInst>(StartInst)) in tryMergingIntoMemset() 433 if (!isa<StoreInst>(BI) && !isa<MemSetInst>(BI)) { in tryMergingIntoMemset() 442 if (auto *NextStore = dyn_cast<StoreInst>(BI)) { in tryMergingIntoMemset() 554 bool MemCpyOptPass::moveUp(StoreInst *SI, Instruction *P, const LoadInst *LI) { in moveUp() 624 } else if (isa<LoadInst>(C) || isa<StoreInst>(C) || isa<VAArgInst>(C)) { in moveUp() 677 bool MemCpyOptPass::processStoreOfLoad(StoreInst *SI, LoadInst *LI, in processStoreOfLoad() 787 bool MemCpyOptPass::processStore(StoreInst *SI, BasicBlock::iterator &BBI) { in processStore() [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/X86/ |
| H A D | X86AvoidStoreForwardingBlocks.cpp | 102 void breakBlockedCopies(MachineInstr *LoadInst, MachineInstr *StoreInst, 106 MachineInstr *StoreInst, int64_t StDispImm, 110 MachineInstr *StoreInst, unsigned NStoreOpcode, 381 int64_t LoadDisp, MachineInstr *StoreInst, in buildCopy() argument 386 MachineOperand &StoreBase = getBaseOperand(StoreInst); in buildCopy() 389 MachineMemOperand *SMMO = *StoreInst->memoperands_begin(); in buildCopy() 408 MachineInstr *StInst = StoreInst; in buildCopy() 409 auto PrevInstrIt = prev_nodbg(MachineBasicBlock::instr_iterator(StoreInst), in buildCopy() 425 MachineOperand &StoreSrcVReg = StoreInst->getOperand(X86::AddrNumOperands); in buildCopy() 432 int64_t LdDispImm, MachineInstr *StoreInst, in buildCopies() argument [all …]
|
| /openbsd-src/gnu/llvm/llvm/tools/llvm-reduce/deltas/ |
| H A D | ReduceMemoryOperations.cpp | 23 } else if (StoreInst *SI = dyn_cast<StoreInst>(&I)) { in removeVolatileInFunction() 53 } else if (StoreInst *SI = dyn_cast<StoreInst>(&I)) { in reduceAtomicSyncScopesInFunction() 86 } else if (StoreInst *SI = dyn_cast<StoreInst>(&I)) { in reduceAtomicOrderingInFunction()
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Utils/ |
| H A D | PromoteMemoryToRegister.cpp | 71 } else if (const StoreInst *SI = dyn_cast<StoreInst>(U)) { in isAllocaPromotable() 121 void updateForDeletedStore(StoreInst *ToDelete, DIBuilder &DIB) const { in updateForDeletedStore() 170 StoreInst *OnlyStore; 200 if (StoreInst *SI = dyn_cast<StoreInst>(User)) { in AnalyzeAlloca() 260 (isa<StoreInst>(I) && isa<AllocaInst>(I->getOperand(1))); in isInterestingInstruction() 405 if (isa<LoadInst>(I) || isa<StoreInst>(I)) in removeIntrinsicUsers() 444 StoreInst *OnlyStore = Info.OnlyStore; in rewriteSingleStoreAlloca() 554 using StoresByIndexTy = SmallVector<std::pair<unsigned, StoreInst *>, 64>; in promoteSingleBlockAlloca() 558 if (StoreInst *SI = dyn_cast<StoreInst>(U)) in promoteSingleBlockAlloca() 577 std::make_pair(LoadIdx, static_cast<StoreInst *>(nullptr)), in promoteSingleBlockAlloca() [all …]
|
| H A D | SSAUpdater.cpp | 329 SomeVal = cast<StoreInst>(Insts[0])->getOperand(0); in LoadAndStorePromoter() 362 if (StoreInst *SI = dyn_cast<StoreInst>(User)) { in run() 375 if (isa<StoreInst>(I)) { in run() 414 if (StoreInst *SI = dyn_cast<StoreInst>(&I)) { in run()
|
| H A D | DemoteRegToStack.cpp | 101 new StoreInst(&I, Slot, &*Handler->getFirstInsertionPt()); in DemoteRegToStack() 109 new StoreInst(&I, Slot, &*InsertPt); in DemoteRegToStack() 142 new StoreInst(P->getIncomingValue(i), Slot, in DemotePHIToStack()
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/Transforms/Scalar/ |
| H A D | MemCpyOptimizer.h | 36 class StoreInst; variable 59 bool processStore(StoreInst *SI, BasicBlock::iterator &BBI); 60 bool processStoreOfLoad(StoreInst *SI, LoadInst *LI, const DataLayout &DL, 78 bool moveUp(StoreInst *SI, Instruction *P, const LoadInst *LI);
|
| H A D | SROA.h | 30 class StoreInst; variable 68 using UnspeculatableStore = StoreInst *;
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPURewriteOutArguments.cpp | 131 if (auto *SI = dyn_cast<StoreInst>(U->getUser())) { in getStoredType() 136 U->getOperandNo() != StoreInst::getPointerOperandIndex()) in getStoredType() 238 SmallVector<std::pair<ReturnInst *, StoreInst *>, 4> ReplaceableStores; in runOnFunction() 259 StoreInst *SI = nullptr; in runOnFunction() 261 SI = dyn_cast<StoreInst>(Q.getInst()); in runOnFunction() 275 for (std::pair<ReturnInst *, StoreInst *> Store : ReplaceableStores) { in runOnFunction()
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/NVPTX/ |
| H A D | NVPTXLowerAggrCopies.cpp | 78 if (StoreInst *SI = dyn_cast<StoreInst>(LI->user_back())) { in runOnFunction() 105 auto *SI = cast<StoreInst>(*LI->user_begin()); in runOnFunction()
|
| /openbsd-src/gnu/llvm/llvm/lib/CodeGen/ |
| H A D | GCRootLowering.cpp | 126 if (isa<AllocaInst>(I) || isa<GetElementPtrInst>(I) || isa<StoreInst>(I) || in CouldBecomeSafePoint() 149 if (StoreInst *SI = dyn_cast<StoreInst>(IP)) in InsertRootInitializers() 159 new StoreInst( in InsertRootInitializers() 203 Value *St = new StoreInst(CI->getArgOperand(0), in DoLowering()
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/IPO/ |
| H A D | GlobalOpt.cpp | 211 if (StoreInst *SI = dyn_cast<StoreInst>(U)) { in CleanupPointerRootUsers() 323 } else if (StoreInst *SI = dyn_cast<StoreInst>(U)) { in CleanupConstantGlobalUsers() 364 if (isa<StoreInst>(V) && U->getOperandNo() == 0) in collectSRATypes() 577 auto *SI = cast<StoreInst>(V); in SRAGlobal() 612 } else if (const StoreInst *SI = dyn_cast<StoreInst>(U)) { in AllUsesOfValueWillTrapIfNull() 664 } else if (auto *SI = dyn_cast<StoreInst>(U)) { in allUsesOfLoadedValueWillTrapIfNull() 696 assert((isa<LoadInst>(U) || isa<StoreInst>(U)) && in allUsesOfLoadAndStores() 714 } else if (StoreInst *SI = dyn_cast<StoreInst>(I)) { in OptimizeAwayTrappingUsesOfValue() 794 } else if (isa<StoreInst>(GlobalUser)) { in OptimizeAwayTrappingUsesOfLoads() 923 if (StoreInst *SI = dyn_cast<StoreInst>(U)) { in OptimizeGlobalAddressOfAllocation() [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineLoadStoreAlloca.cpp | 575 static StoreInst *combineStoreToNewValue(InstCombinerImpl &IC, StoreInst &SI, in combineStoreToNewValue() 585 StoreInst *NewStore = IC.Builder.CreateAlignedStore( in combineStoreToNewValue() 1000 static bool canSimplifyNullStoreOrGEP(StoreInst &SI) { in canSimplifyNullStoreOrGEP() 1072 StoreInst *SI = new StoreInst(PoisonValue::get(LI.getType()), in visitLoadInst() 1201 static bool combineStoreToValueType(InstCombinerImpl &IC, StoreInst &SI) { in combineStoreToValueType() 1239 static bool unpackStoreToAggregate(InstCombinerImpl &IC, StoreInst &SI) { in unpackStoreToAggregate() 1376 StoreInst &SI) { in removeBitcastsFromLoadStoreOnMinMax() 1403 auto *SI = dyn_cast<StoreInst>(U); in removeBitcastsFromLoadStoreOnMinMax() 1415 auto *USI = cast<StoreInst>(UI); in removeBitcastsFromLoadStoreOnMinMax() 1424 Instruction *InstCombinerImpl::visitStoreInst(StoreInst &SI) { in visitStoreInst() [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Instrumentation/ |
| H A D | ThreadSanitizer.cpp | 424 const bool IsWrite = isa<StoreInst>(*I); in chooseInstructionsToInstrument() 425 Value *Addr = IsWrite ? cast<StoreInst>(I)->getPointerOperand() in chooseInstructionsToInstrument() 439 cast<StoreInst>(WI.Inst)->isVolatile()); in chooseInstructionsToInstrument() 480 if (isa<LoadInst>(I) || isa<StoreInst>(I)) in isTsanAtomic() 527 else if (isa<LoadInst>(Inst) || isa<StoreInst>(Inst)) in sanitizeFunction() 592 const bool IsWrite = isa<StoreInst>(*II.Inst); in instrumentLoadOrStore() 593 Value *Addr = IsWrite ? cast<StoreInst>(II.Inst)->getPointerOperand() in instrumentLoadOrStore() 608 Value *StoredValue = cast<StoreInst>(II.Inst)->getValueOperand(); in instrumentLoadOrStore() 631 const Align Alignment = IsWrite ? cast<StoreInst>(II.Inst)->getAlign() in instrumentLoadOrStore() 636 (IsWrite ? cast<StoreInst>(II.Inst)->isVolatile() in instrumentLoadOrStore() [all …]
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/Transforms/Vectorize/ |
| H A D | SLPVectorizer.h | 44 class StoreInst; variable 59 using StoreList = SmallVector<StoreInst *, 8>; 160 bool vectorizeStores(ArrayRef<StoreInst *> Stores, slpvectorizer::BoUpSLP &R);
|
| /openbsd-src/gnu/llvm/llvm/lib/IR/ |
| H A D | Instruction.cpp | 500 if (const StoreInst *SI = dyn_cast<StoreInst>(I1)) in haveSameSpecialState() 501 return SI->isVolatile() == cast<StoreInst>(I2)->isVolatile() && in haveSameSpecialState() 502 (SI->getAlign() == cast<StoreInst>(I2)->getAlign() || in haveSameSpecialState() 504 SI->getOrdering() == cast<StoreInst>(I2)->getOrdering() && in haveSameSpecialState() 505 SI->getSyncScopeID() == cast<StoreInst>(I2)->getSyncScopeID(); in haveSameSpecialState() 642 return !cast<StoreInst>(this)->isUnordered(); in mayReadFromMemory() 677 return cast<StoreInst>(this)->getOrdering() != AtomicOrdering::NotAtomic; in isAtomic() 712 return cast<StoreInst>(this)->isVolatile(); in isVolatile() 756 if (auto *SI = dyn_cast<StoreInst>(this)) in willReturn()
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Vectorize/ |
| H A D | LoadStoreVectorizer.cpp | 300 if (StoreInst *S = dyn_cast<StoreInst>(I)) in getPointerAddressSpace() 693 assert(isa<StoreInst>(I) && in getVectorizablePrefix() 699 if ((isa<LoadInst>(I) || isa<StoreInst>(I)) && is_contained(Chain, &I)) { in getVectorizablePrefix() 862 } else if (StoreInst *SI = dyn_cast<StoreInst>(&I)) { in collectInstructions() 1001 StoreInst *S0 = cast<StoreInst>(Chain[0]); in vectorizeStoreChain() 1006 StoreTy = cast<StoreInst>(I)->getValueOperand()->getType(); in vectorizeStoreChain() 1125 StoreInst *Store = cast<StoreInst>(Chain[I]); in vectorizeStoreChain() 1140 StoreInst *Store = cast<StoreInst>(Chain[I]); in vectorizeStoreChain() 1152 StoreInst *SI = Builder.CreateAlignedStore( in vectorizeStoreChain()
|
| H A D | LoopVectorizationLegality.cpp | 429 static bool storeToSameAddress(ScalarEvolution *SE, StoreInst *A, in storeToSameAddress() 430 StoreInst *B) { in storeToSameAddress() 812 if (auto *ST = dyn_cast<StoreInst>(&I)) { in canVectorizeInstrs() 938 for (StoreInst *SI : LAI->getStoresToInvariantAddresses()) { in canVectorizeMemory() 974 SmallVector<StoreInst *, 4> UnhandledStores; in canVectorizeMemory() 975 for (StoreInst *SI : LAI->getStoresToInvariantAddresses()) { in canVectorizeMemory() 987 erase_if(UnhandledStores, [SE, SI](StoreInst *I) { in canVectorizeMemory() 1040 bool LoopVectorizationLegality::isInvariantStoreOfReduction(StoreInst *SI) { in isInvariantStoreOfReduction() 1139 if (auto *SI = dyn_cast<StoreInst>(&I)) { in blockCanBePredicated()
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/Transforms/Utils/ |
| H A D | VNCoercion.h | 26 class StoreInst; variable 55 StoreInst *DepSI, const DataLayout &DL);
|
| H A D | MemoryOpRemark.h | 31 class StoreInst; variable 65 void visitStore(const StoreInst &SI);
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/ObjCARC/ |
| H A D | ObjCARCContract.cpp | 194 static StoreInst *findSafeStoreForStoreStrongContraction(LoadInst *Load, in findSafeStoreForStoreStrongContraction() 198 StoreInst *Store = nullptr; in findSafeStoreForStoreStrongContraction() 256 Store = dyn_cast<StoreInst>(Inst); in findSafeStoreForStoreStrongContraction() 284 findRetainForStoreStrongContraction(Value *New, StoreInst *Store, in findRetainForStoreStrongContraction() 350 StoreInst *Store = in tryToContractReleaseIntoStoreStrong() 487 new StoreInst(Null, CI->getArgOperand(0), CI); in tryToPeepholeInstruction()
|