Home
last modified time | relevance | path

Searched refs:StoreInst (Results 1 – 25 of 249) sorted by relevance

12345678910

/openbsd-src/gnu/llvm/llvm/lib/Transforms/Scalar/
H A DMergedLoadStoreMotion.cpp114 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 DLowerAtomicPass.cpp35 static bool LowerStoreInst(StoreInst *SI) { in LowerStoreInst()
52 } else if (StoreInst *SI = dyn_cast<StoreInst>(&Inst)) { in runOnBasicBlock()
H A DLoopDataPrefetch.cpp258 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 DSROA.cpp898 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 DMemCpyOptimizer.cpp118 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 DX86AvoidStoreForwardingBlocks.cpp102 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 DReduceMemoryOperations.cpp23 } 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 DPromoteMemoryToRegister.cpp71 } 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 DSSAUpdater.cpp329 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 DDemoteRegToStack.cpp101 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 DMemCpyOptimizer.h36 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 DSROA.h30 class StoreInst; variable
68 using UnspeculatableStore = StoreInst *;
/openbsd-src/gnu/llvm/llvm/lib/Target/AMDGPU/
H A DAMDGPURewriteOutArguments.cpp131 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 DNVPTXLowerAggrCopies.cpp78 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 DGCRootLowering.cpp126 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 DGlobalOpt.cpp211 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 DInstCombineLoadStoreAlloca.cpp575 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 DThreadSanitizer.cpp424 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 DSLPVectorizer.h44 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 DInstruction.cpp500 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 DLoadStoreVectorizer.cpp300 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 DLoopVectorizationLegality.cpp429 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 DVNCoercion.h26 class StoreInst; variable
55 StoreInst *DepSI, const DataLayout &DL);
H A DMemoryOpRemark.h31 class StoreInst; variable
65 void visitStore(const StoreInst &SI);
/openbsd-src/gnu/llvm/llvm/lib/Transforms/ObjCARC/
H A DObjCARCContract.cpp194 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()

12345678910