| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/ |
| H A D | VPlanValue.h | 44 class VPValue { 67 VPValue(const unsigned char SC, Value *UV = nullptr, VPDef *Def = nullptr); 107 VPValue(Value *UV = nullptr, VPDef *Def = nullptr) 108 : VPValue(VPValueSC, UV, Def) {} in VPValue() function 109 VPValue(const VPValue &) = delete; 110 VPValue &operator=(const VPValue &) = delete; 112 virtual ~VPValue(); 172 void replaceAllUsesWith(VPValue *New); 186 typedef DenseMap<Value *, VPValue *> Value2VPValueTy; 187 typedef DenseMap<VPValue *, Value *> VPValue2ValueTy; [all …]
|
| H A D | VPlan.h | 216 DenseMap<VPValue *, PerPartValuesTy> PerPartOutput; 219 DenseMap<VPValue *, ScalarsPerPartValuesTy> PerPartScalars; 227 Value *get(VPValue *Def, unsigned Part); 230 Value *get(VPValue *Def, const VPIteration &Instance); 232 bool hasVectorValue(VPValue *Def, unsigned Part) { in hasVectorValue() 238 bool hasAnyVectorValue(VPValue *Def) const { in hasAnyVectorValue() 242 bool hasScalarValue(VPValue *Def, VPIteration Instance) { in hasScalarValue() 253 void set(VPValue *Def, Value *V, unsigned Part) { in set() 261 void reset(VPValue *Def, Value *V, unsigned Part) { in reset() 269 void set(VPValue *Def, Value *V, const VPIteration &Instance) { in set() [all …]
|
| H A D | VPlanSLP.cpp | 57 void VPlanSlp::addCombined(ArrayRef<VPValue *> Operands, VPInstruction *New) { in addCombined() 58 if (all_of(Operands, [](VPValue *V) { in addCombined() 62 for (VPValue *V : Operands) { in addCombined() 76 bool VPlanSlp::areVectorizable(ArrayRef<VPValue *> Operands) const { in areVectorizable() 78 if (!all_of(Operands, [](VPValue *Op) { in areVectorizable() 94 if (!all_of(Operands, [Opcode, Width](VPValue *Op) { in areVectorizable() 104 if (any_of(Operands, [this](VPValue *Op) { in areVectorizable() 112 [](VPValue *Op) { return Op->hasMoreThanOneUniqueUser(); })) { in areVectorizable() 141 if (!all_of(Operands, [](VPValue *Op) { in areVectorizable() 151 if (!all_of(Operands, [](VPValue *Op) { in areVectorizable() [all …]
|
| H A D | LoopVectorizationPlanner.h | 48 ArrayRef<VPValue *> Operands) { in createInstruction() 56 std::initializer_list<VPValue *> Operands) { in createInstruction() 57 return createInstruction(Opcode, ArrayRef<VPValue *>(Operands)); in createInstruction() 124 VPValue *createNaryOp(unsigned Opcode, ArrayRef<VPValue *> Operands, 130 VPValue *createNaryOp(unsigned Opcode, 131 std::initializer_list<VPValue *> Operands, 133 return createNaryOp(Opcode, ArrayRef<VPValue *>(Operands), Inst); 136 VPValue *createNot(VPValue *Operand) { in createNot() 140 VPValue *createAnd(VPValue *LHS, VPValue *RHS) { in createAnd() 144 VPValue *createOr(VPValue *LHS, VPValue *RHS) { in createOr() [all …]
|
| H A D | VPlanPredicator.cpp | 37 VPValue *VPlanPredicator::getOrCreateNotPredicate(VPBasicBlock *PredBB, in getOrCreateNotPredicate() 39 VPValue *CBV = PredBB->getCondBit(); in getOrCreateNotPredicate() 44 VPValue *IntermediateVal = nullptr; in getOrCreateNotPredicate() 58 VPValue *BP = PredBB->getPredicate(); in getOrCreateNotPredicate() 85 VPValue *VPlanPredicator::genPredicateTree(std::list<VPValue *> &Worklist) { in genPredicateTree() 93 VPValue *LHS = Worklist.front(); in genPredicateTree() 95 VPValue *RHS = Worklist.front(); in genPredicateTree() 99 VPValue *Or = Builder.createOr(LHS, RHS); in genPredicateTree() 108 VPValue *Root = Worklist.front(); in genPredicateTree() 138 VPValue *RegionBP = Region->getPredicate(); in createOrPropagatePredicates() [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 *>; 71 VPRecipeBase *tryToWidenMemory(Instruction *I, ArrayRef<VPValue *> Operands, 77 tryToOptimizeInductionPHI(PHINode *Phi, ArrayRef<VPValue *> Operands) const; 82 tryToOptimizeInductionTruncate(TruncInst *I, ArrayRef<VPValue *> Operands, 89 VPRecipeOrVPValueTy tryToBlend(PHINode *Phi, ArrayRef<VPValue *> Operands, 95 VPWidenCallRecipe *tryToWidenCall(CallInst *CI, ArrayRef<VPValue *> Operands, 101 VPWidenRecipe *tryToWiden(Instruction *I, ArrayRef<VPValue *> Operands) const; 119 ArrayRef<VPValue *> Operands, [all …]
|
| H A D | VPlanHCFGBuilder.cpp | 57 DenseMap<Value *, VPValue *> IRDef2VPValue; 69 VPValue *getOrCreateVPOperand(Value *IRVal); 96 VPValue *VPVal = IRDef2VPValue[Phi]; in fixPhiNodes() 167 VPValue *PlainCFGBuilder::getOrCreateVPOperand(Value *IRVal) { in getOrCreateVPOperand() 185 VPValue *NewVPVal = new VPValue(IRVal); in getOrCreateVPOperand() 215 VPValue *NewVPV; in createVPInstructionsForVPBB() 226 SmallVector<VPValue *, 4> VPOperands; in createVPInstructionsForVPBB() 261 VPValue *VPV = new VPValue(&I); in buildPlainCFG() 304 VPValue *VPCondBit = IRDef2VPValue[BrCond]; in buildPlainCFG()
|
| 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() 191 VPValue *VPBlockBase::getCondBit() { in getCondBit() 195 const VPValue *VPBlockBase::getCondBit() const { in getCondBit() 199 void VPBlockBase::setCondBit(VPValue *CV) { CondBitUser.resetSingleOpUser(CV); } in setCondBit() 201 VPValue *VPBlockBase::getPredicate() { in getPredicate() 205 const VPValue *VPBlockBase::getPredicate() const { in getPredicate() [all …]
|
| H A D | VPlanPredicator.h | 50 VPValue *getOrCreateNotPredicate(VPBasicBlock *PredBB, VPBasicBlock *CurrBB); 54 VPValue *genPredicateTree(std::list<VPValue *> &Worklist);
|
| H A D | VPlanTransforms.cpp | 36 VPValue *VPV = Ingredient->getVPSingleValue(); in VPInstructionsToVPRecipes() 39 VPValue DummyValue; in VPInstructionsToVPRecipes() 51 VPValue *Start = Plan->getOrAddVPValue(II.getStartValue()); in VPInstructionsToVPRecipes()
|
| H A D | LoopVectorize.cpp | 486 void widenInstruction(Instruction &I, VPValue *Def, VPUser &Operands, 490 void widenCallInstruction(CallInst &I, VPValue *Def, VPUser &ArgOperands, 494 void widenSelectInstruction(SelectInst &I, VPValue *VPDef, VPUser &Operands, 510 void widenGEP(GetElementPtrInst *GEP, VPValue *VPDef, VPUser &Indices, 525 void scalarizeInstruction(Instruction *Instr, VPValue *Def, VPUser &Operands, 533 VPValue *Def, VPValue *CastDef, 537 void packScalarIntoVectorValue(VPValue *Def, const VPIteration &Instance, 545 ArrayRef<VPValue *> VPDefs, 546 VPTransformState &State, VPValue *Addr, 547 ArrayRef<VPValue *> StoredValues, [all …]
|
| /netbsd-src/external/apache2/llvm/dist/llvm/docs/Proposals/ |
| H A D | VectorizationPlan.rst | 148 :VPValue:
|