Lines Matching defs:LoadTy

17 bool canCoerceMustAliasedValueToLoad(Value *StoredVal, Type *LoadTy,
21 if (StoredTy == LoadTy)
24 if (isa<ScalableVectorType>(StoredTy) && isa<ScalableVectorType>(LoadTy) &&
25 DL.getTypeSizeInBits(StoredTy) == DL.getTypeSizeInBits(LoadTy))
30 if (isFirstClassAggregateOrScalableType(LoadTy) ||
41 if (StoreSize < DL.getTypeSizeInBits(LoadTy).getFixedValue())
45 bool LoadNI = DL.isNonIntegralPointerType(LoadTy->getScalarType());
56 LoadTy->getPointerAddressSpace()) {
64 if (StoredNI && StoreSize != DL.getTypeSizeInBits(LoadTy).getFixedValue())
67 if (StoredTy->isTargetExtTy() || LoadTy->isTargetExtTy())
177 static int analyzeLoadFromClobberingWrite(Type *LoadTy, Value *LoadPtr,
183 if (isFirstClassAggregateOrScalableType(LoadTy))
193 uint64_t LoadSize = DL.getTypeSizeInBits(LoadTy).getFixedValue();
215 int analyzeLoadFromClobberingStore(Type *LoadTy, Value *LoadPtr,
223 if (!canCoerceMustAliasedValueToLoad(StoredVal, LoadTy, DL))
229 return analyzeLoadFromClobberingWrite(LoadTy, LoadPtr, StorePtr, StoreSize,
236 int analyzeLoadFromClobberingLoad(Type *LoadTy, Value *LoadPtr, LoadInst *DepLI,
242 if (!canCoerceMustAliasedValueToLoad(DepLI, LoadTy, DL))
247 return analyzeLoadFromClobberingWrite(LoadTy, LoadPtr, DepPtr, DepSize, DL);
250 int analyzeLoadFromClobberingMemInst(Type *LoadTy, Value *LoadPtr,
261 if (DL.isNonIntegralPointerType(LoadTy->getScalarType())) {
266 return analyzeLoadFromClobberingWrite(LoadTy, LoadPtr, MI->getDest(),
284 int Offset = analyzeLoadFromClobberingWrite(LoadTy, LoadPtr, MI->getDest(),
292 if (ConstantFoldLoadFromConstPtr(Src, LoadTy, APInt(IndexSize, Offset), DL))
298 Type *LoadTy, IRBuilderBase &Builder,
305 if (SrcVal->getType()->isPointerTy() && LoadTy->isPointerTy() &&
307 cast<PointerType>(LoadTy)->getAddressSpace()) {
313 if (isa<ScalableVectorType>(LoadTy)) {
320 uint64_t LoadSize = (DL.getTypeSizeInBits(LoadTy).getFixedValue() + 7) / 8;
346 Value *getValueForLoad(Value *SrcVal, unsigned Offset, Type *LoadTy,
350 TypeSize LoadSize = DL.getTypeStoreSize(LoadTy);
359 SrcVal = getStoreValueForLoadHelper(SrcVal, Offset, LoadTy, Builder, DL);
360 return coerceAvailableValueToLoadType(SrcVal, LoadTy, Builder, DL);
364 Type *LoadTy, const DataLayout &DL) {
367 unsigned LoadSize = DL.getTypeStoreSize(LoadTy).getFixedValue();
370 return ConstantFoldLoadFromConst(SrcVal, LoadTy, APInt(32, Offset), DL);
376 Type *LoadTy, Instruction *InsertPt,
378 LLVMContext &Ctx = LoadTy->getContext();
379 uint64_t LoadSize = DL.getTypeSizeInBits(LoadTy).getFixedValue() / 8;
411 return coerceAvailableValueToLoadType(Val, LoadTy, Builder, DL);
418 return ConstantFoldLoadFromConstPtr(Src, LoadTy, APInt(IndexSize, Offset),
423 Type *LoadTy, const DataLayout &DL) {
424 LLVMContext &Ctx = LoadTy->getContext();
425 uint64_t LoadSize = DL.getTypeSizeInBits(LoadTy).getFixedValue() / 8;
435 return ConstantFoldLoadFromConst(Val, LoadTy, DL);
442 return ConstantFoldLoadFromConstPtr(Src, LoadTy, APInt(IndexSize, Offset),