| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Vectorize/ |
| H A D | VPlanValue.h | 44 class VPValue { 67 VPValue(const unsigned char SC, Value *UV = nullptr, VPDef *Def = nullptr); 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(); 164 void replaceAllUsesWith(VPValue *New); 194 typedef DenseMap<Value *, VPValue *> Value2VPValueTy; [all …]
|
| H A D | VPlan.h | 228 DenseMap<VPValue *, PerPartValuesTy> PerPartOutput; 231 DenseMap<VPValue *, ScalarsPerPartValuesTy> PerPartScalars; 239 Value *get(VPValue *Def, unsigned Part); 242 Value *get(VPValue *Def, const VPIteration &Instance); 244 bool hasVectorValue(VPValue *Def, unsigned Part) { in hasVectorValue() 250 bool hasAnyVectorValue(VPValue *Def) const { in hasAnyVectorValue() 254 bool hasScalarValue(VPValue *Def, VPIteration Instance) { in hasScalarValue() 265 void set(VPValue *Def, Value *V, unsigned Part) { in set() 273 void reset(VPValue *Def, Value *V, unsigned Part) { in reset() 281 void set(VPValue *Def, Value *V, const VPIteration &Instance) { in set() [all …]
|
| H A D | VPlanSLP.cpp | 49 void VPlanSlp::addCombined(ArrayRef<VPValue *> Operands, VPInstruction *New) { in addCombined() 50 if (all_of(Operands, [](VPValue *V) { in addCombined() 54 for (VPValue *V : Operands) { in addCombined() 68 bool VPlanSlp::areVectorizable(ArrayRef<VPValue *> Operands) const { in areVectorizable() 70 if (!all_of(Operands, [](VPValue *Op) { in areVectorizable() 86 if (!all_of(Operands, [Opcode, Width](VPValue *Op) { in areVectorizable() 96 if (any_of(Operands, [this](VPValue *Op) { in areVectorizable() 104 [](VPValue *Op) { return Op->hasMoreThanOneUniqueUser(); })) { in areVectorizable() 133 if (!all_of(Operands, [](VPValue *Op) { in areVectorizable() 143 if (!all_of(Operands, [](VPValue *Op) { in areVectorizable() [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, 97 VPWidenCallRecipe *tryToWidenCall(CallInst *CI, ArrayRef<VPValue *> Operands, 103 VPRecipeBase *tryToWiden(Instruction *I, ArrayRef<VPValue *> Operands, 122 ArrayRef<VPValue *> Operands, [all …]
|
| H A D | LoopVectorizationPlanner.h | 48 ArrayRef<VPValue *> Operands, DebugLoc DL, 57 std::initializer_list<VPValue *> Operands, 59 return createInstruction(Opcode, ArrayRef<VPValue *>(Operands), DL, Name); 126 VPValue *createNaryOp(unsigned Opcode, ArrayRef<VPValue *> Operands, 135 VPValue *createNaryOp(unsigned Opcode, ArrayRef<VPValue *> Operands, 140 VPValue *createNot(VPValue *Operand, DebugLoc DL, const Twine &Name = "") { 144 VPValue *createAnd(VPValue *LHS, VPValue *RHS, DebugLoc DL, 149 VPValue *createOr(VPValue *LHS, VPValue *RHS, DebugLoc DL, 154 VPValue *createSelect(VPValue *Cond, VPValue *TrueVal, VPValue *FalseVal,
|
| H A D | VPlanTransforms.cpp | 40 VPValue *VPV = Ingredient.getVPSingleValue(); in VPInstructionsToVPRecipes() 43 VPValue DummyValue; in VPInstructionsToVPRecipes() 53 VPValue *Start = Plan->getOrAddVPValue(II->getStartValue()); in VPInstructionsToVPRecipes() 54 VPValue *Step = in VPInstructionsToVPRecipes() 123 for (VPValue *Op : Recipe.operands()) in sinkScalarOperands() 188 for (VPValue *Op : SinkCandidate->operands()) in sinkScalarOperands() 198 VPValue *getPredicatedMask(VPRegionBlock *R) { in getPredicatedMask() 248 VPValue *Mask1 = getPredicatedMask(Region1); in mergeReplicateRegionsIntoSuccessors() 249 VPValue *Mask2 = getPredicatedMask(Region2); in mergeReplicateRegionsIntoSuccessors() 284 VPValue *PredInst1 = in mergeReplicateRegionsIntoSuccessors() [all …]
|
| H A D | VPlan.cpp | 54 raw_ostream &llvm::operator<<(raw_ostream &OS, const VPValue &V) { in operator <<() 76 VPValue::VPValue(const unsigned char SC, Value *UV, VPDef *Def) in VPValue() function in VPValue 82 VPValue::~VPValue() { in ~VPValue() 89 void VPValue::print(raw_ostream &OS, VPSlotTracker &SlotTracker) const { in print() 96 void VPValue::dump() const { in dump() 113 VPRecipeBase *VPValue::getDefiningRecipe() { in getDefiningRecipe() 117 const VPRecipeBase *VPValue::getDefiningRecipe() const { in getDefiningRecipe() 211 Value *VPTransformState::get(VPValue *Def, const VPIteration &Instance) { in get() 389 void VPBasicBlock::dropAllReferences(VPValue *NewValue) { in dropAllReferences() 506 void VPRegionBlock::dropAllReferences(VPValue *NewValue) { in dropAllReferences() [all …]
|
| H A D | VPlanHCFGBuilder.cpp | 54 DenseMap<Value *, VPValue *> IRDef2VPValue; 69 VPValue *getOrCreateVPOperand(Value *IRVal); 97 VPValue *VPVal = IRDef2VPValue[Phi]; in fixPhiNodes() 181 VPValue *PlainCFGBuilder::getOrCreateVPOperand(Value *IRVal) { in getOrCreateVPOperand() 199 VPValue *NewVPVal = Plan.getOrAddExternalDef(IRVal); in getOrCreateVPOperand() 222 VPValue *Cond = getOrCreateVPOperand(Br->getCondition()); in createVPInstructionsForVPBB() 231 VPValue *NewVPV; in createVPInstructionsForVPBB() 242 SmallVector<VPValue *, 4> VPOperands; in createVPInstructionsForVPBB()
|
| H A D | LoopVectorize.cpp | 505 void packScalarIntoVectorValue(VPValue *Def, const VPIteration &Instance, 513 ArrayRef<VPValue *> VPDefs, 514 VPTransformState &State, VPValue *Addr, 515 ArrayRef<VPValue *> StoredValues, 516 VPValue *BlockInMask = nullptr); 1072 for (VPValue *operand : CurRec->operands()) in collectPoisonGeneratingRecipes() 2352 const InductionDescriptor &ID, VPValue *Def, in buildScalarSteps() 2541 void InnerLoopVectorizer::packScalarIntoVectorValue(VPValue *Def, in packScalarIntoVectorValue() 2592 const InterleaveGroup<Instruction> *Group, ArrayRef<VPValue *> VPDefs, in vectorizeInterleaveGroup() 2593 VPTransformState &State, VPValue *Addr, ArrayRef<VPValue *> StoredValues, in vectorizeInterleaveGroup() [all …]
|
| H A D | VPlanRecipes.cpp | 139 VPValue *ExitValue = getOperand(0); in fixPhi() 418 for (const VPValue *Operand : operands()) { in print() 590 for (VPValue *VPOp : operands()) in execute() 791 VPValue *Operand = getOperand(I); in execute() 926 O, [&O, &SlotTracker](VPValue *Op) { in print() 947 VPValue *BlockInMask = getMask(); in execute() 1203 VPValue *StartVPV = getStartValue(); in execute()
|
| H A D | VPlanVerifier.cpp | 206 for (const VPValue *V : R.definedValues()) { in verifyVPBasicBlock()
|
| /openbsd-src/gnu/llvm/llvm/docs/Proposals/ |
| H A D | VectorizationPlan.rst | 148 :VPValue:
|