Lines Matching refs:Value
26 // i64 and larger types when i64 is legal and the value has few bits set. It
125 bool processLoopStridedStore(Value *DestPtr, unsigned StoreSize,
126 unsigned StoreAlignment, Value *SplatValue,
141 PHINode *CntPhi, Value *Var);
173 SmallVector<Value *, 16> Operands(I->value_op_begin(), I->value_op_end());
176 for (Value *Op : Operands)
259 /// getMemSetPatternValue - If a strided store of the specified value is safe to
265 static Constant *getMemSetPatternValue(Value *V, const DataLayout *DL) {
266 // If the value isn't a constant, we can't promote it to being in a constant
305 Value *StoredVal = SI->getValueOperand();
306 Value *StorePtr = SI->getPointerOperand();
387 Value *StoredVal = SI->getValueOperand();
388 Value *StorePtr = SI->getPointerOperand();
420 Value *Pointer = MSI->getDest();
451 static bool mayLoopAccessLocation(Value *Ptr, ModRefInfo Access, Loop *L,
493 /// processLoopStridedStore - We see a strided store of some value. If we can
496 Value *DestPtr, unsigned StoreSize, unsigned StoreAlignment,
497 Value *StoredVal, Instruction *TheStore, const SCEVAddRecExpr *Ev,
500 // If the stored value is a byte-wise value (like i32 -1), then it may be
504 Value *SplatValue = isBytewiseValue(StoredVal);
508 // If we're allowed to form a memset, and the stored value would be acceptable
511 // Verify that the stored value is loop invariant. If not, we can't
542 // Okay, we have a strided store "p[i]" of a splattable value. We can turn
547 Value *BasePtr =
570 Value *NumBytes =
582 Value *MSP =
587 // an constant array of 16-bytes. Plop the value into a mergable global.
593 Value *PatternPtr = ConstantExpr::getBitCast(GV, Int8PtrTy);
608 /// If the stored value is a strided load in the same loop with the same stride
650 // Okay, we have a strided store "p[i]" of a loaded value. We can turn
656 Value *StoreBasePtr = Expander.expandCodeFor(
676 Value *LoadBasePtr = Expander.expandCodeFor(
700 Value *NumBytes =
728 static Value *matchCondition(BranchInst *BI, BasicBlock *LoopEntry) {
753 /// 3) \p Var is set to the value whose population bits are being counted.
774 Value *&Var) {
779 Value *VarX1, *VarX0;
789 if (Value *T = matchCondition(
873 Value *T = matchCondition(PreCondBr, CurLoop->getLoopPreheader());
929 Value *Val;
937 static CallInst *createPopcntIntrinsic(IRBuilder<> &IRBuilder, Value *Val,
939 Value *Ops[] = {Val};
943 Value *Func = Intrinsic::getDeclaration(M, Intrinsic::ctpop, Tys);
952 PHINode *CntPhi, Value *Var) {
963 Value *PopCnt, *PopCntZext, *NewCount, *TripCnt;
975 // If the population counter's initial value is not zero, insert Add Inst.
976 Value *CntInitVal = CntPhi->getIncomingValueForBlock(PreHead);
991 Value *Opnd0 = PopCntZext;
992 Value *Opnd1 = ConstantInt::get(PopCntZext->getType(), 0);
1047 // the loop are replaced with the NewCount -- the value returned from