| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | VPlanValue.h | 44 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 D | VPlan.h | 1555 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 D | VPlanSLP.cpp | 50 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 D | VPRecipeBuilder.h | 24 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 D | LoopVectorizationPlanner.h | 57 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 D | VPlanTransforms.cpp | 54 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 D | VPlan.cpp | 79 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 D | VPlanAnalysis.h | 17 class VPValue; variable 37 DenseMap<const VPValue *, Type *> CachedTypes; 53 Type *inferScalarType(const VPValue *V);
|
| H A D | VPlanHCFGBuilder.cpp | 54 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 D | VPlanAnalysis.cpp | 20 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 D | LoopVectorize.cpp | 2505 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 D | VPlanRecipes.cpp | 174 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 D | VPlanVerifier.cpp | 206 for (const VPValue *V : R.definedValues()) { in verifyVPBasicBlock()
|