• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/llvmCore-3425.0.34/lib/Transforms/Scalar/

Lines Matching refs:SrcVal

1010 static Value *GetStoreValueForLoad(Value *SrcVal, unsigned Offset,
1013 LLVMContext &Ctx = SrcVal->getType()->getContext();
1015 uint64_t StoreSize = (TD.getTypeSizeInBits(SrcVal->getType()) + 7) / 8;
1022 if (SrcVal->getType()->isPointerTy())
1023 SrcVal = Builder.CreatePtrToInt(SrcVal, TD.getIntPtrType(Ctx));
1024 if (!SrcVal->getType()->isIntegerTy())
1025 SrcVal = Builder.CreateBitCast(SrcVal, IntegerType::get(Ctx, StoreSize*8));
1035 SrcVal = Builder.CreateLShr(SrcVal, ShiftAmt);
1038 SrcVal = Builder.CreateTrunc(SrcVal, IntegerType::get(Ctx, LoadSize*8));
1040 return CoerceAvailableValueToLoadType(SrcVal, LoadTy, InsertPt, TD);
1048 static Value *GetLoadValueForLoad(LoadInst *SrcVal, unsigned Offset,
1052 // If Offset+LoadTy exceeds the size of SrcVal, then we must be wanting to
1053 // widen SrcVal out to a larger load.
1054 unsigned SrcValSize = TD.getTypeStoreSize(SrcVal->getType());
1057 assert(SrcVal->isSimple() && "Cannot widen volatile/atomic load!");
1058 assert(SrcVal->getType()->isIntegerTy() && "Can't widen non-integer load");
1065 Value *PtrVal = SrcVal->getPointerOperand();
1070 IRBuilder<> Builder(SrcVal->getParent(), ++BasicBlock::iterator(SrcVal));
1075 Builder.SetCurrentDebugLocation(SrcVal->getDebugLoc());
1078 NewLoad->takeName(SrcVal);
1079 NewLoad->setAlignment(SrcVal->getAlignment());
1081 DEBUG(dbgs() << "GVN WIDENED LOAD: " << *SrcVal << "\n");
1089 NewLoadSize*8-SrcVal->getType()->getPrimitiveSizeInBits());
1090 RV = Builder.CreateTrunc(RV, SrcVal->getType());
1091 SrcVal->replaceAllUsesWith(RV);
1098 gvn.getMemDep().removeInstruction(SrcVal);
1099 SrcVal = NewLoad;
1102 return GetStoreValueForLoad(SrcVal, Offset, LoadTy, InsertPt, TD);