Home
last modified time | relevance | path

Searched refs:VPValue (Results 1 – 13 of 13) sorted by relevance

/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanValue.h44 class VPValue {
96 VPValue(Value *UV = nullptr) : VPValue(VPValueSC, UV, nullptr) {} in VPValue() function
98 VPValue(VPDef *Def, Value *UV = nullptr) : VPValue(VPVRecipeSC, UV, Def) {} in VPValue() function
100 VPValue(Value *UV, VPDef *Def) : VPValue(VPValueSC, UV, Def) {} in VPValue() function
101 VPValue(const VPValue &) = delete;
102 VPValue &operator=(const VPValue &) = delete;
104 virtual ~VPValue();
163 VPValue *New,
242 for (VPValue *Op : operands()) in ~VPUser()
315 friend class VPValue; variable
[all …]
H A DVPlan.h1555 VPWidenIntOrFpInductionRecipe(PHINode *IV, VPValue *Start, VPValue *Step, in VPWidenIntOrFpInductionRecipe()
1562 VPWidenIntOrFpInductionRecipe(PHINode *IV, VPValue *Start, VPValue *Step, in VPWidenIntOrFpInductionRecipe()
1630 VPWidenPointerInductionRecipe(PHINode *Phi, VPValue *Start, VPValue *Step, in VPWidenPointerInductionRecipe()
1839 ArrayRef<VPValue *> StoredValues, VPValue *Mask, in VPInterleaveRecipe()
1916 VPValue *ChainOp, VPValue *VecOp, VPValue *CondOp) in VPReductionRecipe()
2007 VPValue *getMask() { in getMask()
2124 VPValue *StoredValue, VPValue *Mask, in VPWidenMemoryInstructionRecipe()
2379 VPScalarIVStepsRecipe(VPValue *IV, VPValue *Step, in VPScalarIVStepsRecipe()
2675 VPValue VFxUF;
2812 VPValue *VPV = new VPValue(V); in getVPValueOrAddLiveIn()
[all …]
H A DVPlanSLP.cpp50 if (all_of(Operands, [](VPValue *V) { in addCombined()
54 for (VPValue *V : Operands) { in addCombined()
70 if (!all_of(Operands, [](VPValue *Op) { in areVectorizable()
154 static SmallVector<VPValue *, 4> getOperands(ArrayRef<VPValue *> Values, in getOperands()
156 SmallVector<VPValue *, 4> Operands; in getOperands()
157 for (VPValue *V : Values) { in getOperands()
171 getOperands(ArrayRef<VPValue *> Values) { in getOperands()
218 static unsigned getLAScore(VPValue *V1, VPValue *V2, unsigned MaxLevel, in getLAScore()
237 std::pair<VPlanSlp::OpMode, VPValue *>
265 VPValue *Best = nullptr; in getBest()
[all …]
H A DVPRecipeBuilder.h24 using VPRecipeOrVPValueTy = PointerUnion<VPRecipeBase *, VPValue *>;
49 DenseMap<std::pair<BasicBlock *, BasicBlock *>, VPValue *>;
50 using BlockMaskCacheTy = DenseMap<BasicBlock *, VPValue *>;
72 VPRecipeBase *tryToWidenMemory(Instruction *I, ArrayRef<VPValue *> Operands,
78 ArrayRef<VPValue *> Operands,
84 tryToOptimizeInductionTruncate(TruncInst *I, ArrayRef<VPValue *> Operands,
91 VPRecipeOrVPValueTy tryToBlend(PHINode *Phi, ArrayRef<VPValue *> Operands,
103 VPRecipeBase *tryToWiden(Instruction *I, ArrayRef<VPValue *> Operands,
122 ArrayRef<VPValue *> Operands,
145 VPValue *getBlockInMask(BasicBlock *BB) const;
[all …]
H A DLoopVectorizationPlanner.h57 ArrayRef<VPValue *> Operands, DebugLoc DL,
63 std::initializer_list<VPValue *> Operands,
65 return createInstruction(Opcode, ArrayRef<VPValue *>(Operands), DL, Name);
134 VPValue *createNaryOp(unsigned Opcode, ArrayRef<VPValue *> Operands,
143 VPValue *createNaryOp(unsigned Opcode, ArrayRef<VPValue *> Operands,
149 std::initializer_list<VPValue *> Operands,
155 VPValue *createNot(VPValue *Operand, DebugLoc DL = {},
160 VPValue *createAnd(VPValue *LHS, VPValue *RHS, DebugLoc DL = {},
165 VPValue *createOr(VPValue *LHS, VPValue *RHS, DebugLoc DL = {},
170 VPValue *createSelect(VPValue *Cond, VPValue *TrueVal, VPValue *FalseVal,
[all …]
H A DVPlanTransforms.cpp54 VPValue *Step = in VPInstructionsToVPRecipes()
271 VPValue *PredInst1 = in mergeReplicateRegionsIntoSuccessors()
413 VPValue *FindMyCast = IV; in removeRedundantInductionCasts()
500 VPValue *BaseIV = CanonicalIV; in createScalarIVSteps()
768 VPValue *Cur = Worklist[I]; in clearReductionWrapFlags()
786 static bool isConstantOne(VPValue *V) { in isConstantOne()
810 VPValue *A = R.getOperand(0); in simplifyRecipe()
811 VPValue *B = R.getOperand(1); in simplifyRecipe()
825 VPValue *A = Ext->getOperand(0); in simplifyRecipe()
1075 VPValue *TC = Plan.getTripCount(); in addVPLaneMaskPhiAndUpdateExitBranch()
[all …]
H A DVPlan.cpp79 VPValue::VPValue(const unsigned char SC, Value *UV, VPDef *Def) in VPValue() function in VPValue
85 VPValue::~VPValue() { in ~VPValue()
99 void VPValue::dump() const { in dump()
116 VPRecipeBase *VPValue::getDefiningRecipe() { in getDefiningRecipe()
697 VPValue DummyValue; in ~VPlan()
706 for (VPValue *VPV : VPLiveInsToFree) in ~VPlan()
1138 void VPValue::replaceAllUsesWith(VPValue *New) { in replaceAllUsesWith()
1142 void VPValue::replaceUsesWithIf( in replaceUsesWithIf()
1143 VPValue *New, in replaceUsesWithIf()
1266 for (VPValue *Def : Recipe.definedValues()) in assignSlots()
[all …]
H A DVPlanAnalysis.h17 class VPValue; variable
37 DenseMap<const VPValue *, Type *> CachedTypes;
53 Type *inferScalarType(const VPValue *V);
H A DVPlanHCFGBuilder.cpp54 DenseMap<Value *, VPValue *> IRDef2VPValue;
70 VPValue *getOrCreateVPOperand(Value *IRVal);
126 VPValue *VPVal = IRDef2VPValue[Phi]; in fixPhiNodes()
257 VPValue *PlainCFGBuilder::getOrCreateVPOperand(Value *IRVal) { in getOrCreateVPOperand()
275 VPValue *NewVPVal = Plan.getVPValueOrAddLiveIn(IRVal); in getOrCreateVPOperand()
298 VPValue *Cond = getOrCreateVPOperand(Br->getCondition()); in createVPInstructionsForVPBB()
307 VPValue *NewVPV; in createVPInstructionsForVPBB()
318 SmallVector<VPValue *, 4> VPOperands; in createVPInstructionsForVPBB()
H A DVPlanAnalysis.cpp20 VPValue *Inc = R->getIncomingValue(I); in inferScalarTypeForRecipe()
32 VPValue *OtherV = R->getOperand(2); in inferScalarTypeForRecipe()
40 VPValue *OtherV = R->getOperand(1); in inferScalarTypeForRecipe()
115 VPValue *OtherV = R->getOperand(2); in inferScalarTypeForRecipe()
200 Type *VPTypeAnalysis::inferScalarType(const VPValue *V) { in inferScalarType()
H A DLoopVectorize.cpp2505 VPTransformState &State, VPValue *Addr, ArrayRef<VPValue *> StoredValues, in vectorizeInterleaveGroup()
7267 VPValue *VPBuilder::createICmp(CmpInst::Predicate Pred, VPValue *A, VPValue *B, in createICmp()
8069 VPValue *BlockMask = nullptr; in createHeaderMask()
8091 VPValue *BlockMask = nullptr; in createBlockInMask()
8134 VPValue *Mask = nullptr; in tryToWidenMemory()
8177 VPValue *Step = in createWidenInductionRecipes()
8248 VPValue *InLoopVal = nullptr; in tryToBlend()
8272 VPValue *EdgeMask = in tryToBlend()
8357 VPValue *Mask = nullptr; in tryToWidenCall()
9046 VPValue *VecOp; in adjustRecipesForReductions()
[all …]
H A DVPlanRecipes.cpp174 VPValue *ExitValue = getOperand(0); in fixPhi()
257 VPValue *A, VPValue *B, DebugLoc DL, in VPInstruction()
267 std::initializer_list<VPValue *> Operands, in VPInstruction()
422 VPValue *LoopExitingDef = getOperand(1); in generateInstruction()
785 for (VPValue *VPOp : operands()) in execute()
867 VPValue *Op = getOperand(0); in execute()
1265 VPValue *Operand = getOperand(I); in execute()
1459 O, [&O, &SlotTracker](VPValue *Op) { in print()
1481 VPValue *BlockInMask = getMask(); in execute()
1592 InductionDescriptor::InductionKind Kind, VPValue *Start, VPValue *Step, in isCanonical()
[all …]
H A DVPlanVerifier.cpp206 for (const VPValue *V : R.definedValues()) { in verifyVPBasicBlock()