Home
last modified time | relevance | path

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

/freebsd-12.1/contrib/llvm/lib/Transforms/Vectorize/
H A DVPlanValue.h39 class VPValue {
80 VPValue(Value *UV = nullptr) : VPValue(VPValueSC, UV) {} in VPValue() function
81 VPValue(const VPValue &) = delete;
82 VPValue &operator=(const VPValue &) = delete;
132 class VPUser : public VPValue {
134 SmallVector<VPValue *, 2> Operands;
138 VPUser(const unsigned char SC, ArrayRef<VPValue *> Operands) : VPValue(SC) { in VPUser()
139 for (VPValue *Operand : Operands) in VPUser()
144 VPUser() : VPValue(VPValue::VPUserSC) {} in VPUser()
145 VPUser(ArrayRef<VPValue *> Operands) : VPUser(VPValue::VPUserSC, Operands) {} in VPUser()
[all …]
H A DVPlanSLP.cpp59 if (all_of(Operands, [](VPValue *V) { in addCombined()
63 for (VPValue *V : Operands) { in addCombined()
79 if (!all_of(Operands, [](VPValue *Op) { in areVectorizable()
161 static SmallVector<VPValue *, 4> getOperands(ArrayRef<VPValue *> Values, in getOperands()
163 SmallVector<VPValue *, 4> Operands; in getOperands()
164 for (VPValue *V : Values) { in getOperands()
177 getOperands(ArrayRef<VPValue *> Values) { in getOperands()
224 static unsigned getLAScore(VPValue *V1, VPValue *V2, unsigned MaxLevel, in getLAScore()
241 std::pair<VPlanSlp::OpMode, VPValue *>
269 VPValue *Best = nullptr; in getBest()
[all …]
H A DLoopVectorizationPlanner.h42 ArrayRef<VPValue *> Operands) { in createInstruction()
50 std::initializer_list<VPValue *> Operands) { in createInstruction()
51 return createInstruction(Opcode, ArrayRef<VPValue *>(Operands)); in createInstruction()
118 VPValue *createNaryOp(unsigned Opcode, ArrayRef<VPValue *> Operands,
124 VPValue *createNaryOp(unsigned Opcode,
125 std::initializer_list<VPValue *> Operands,
127 return createNaryOp(Opcode, ArrayRef<VPValue *>(Operands), Inst);
130 VPValue *createNot(VPValue *Operand) { in createNot()
134 VPValue *createAnd(VPValue *LHS, VPValue *RHS) { in createAnd()
138 VPValue *createOr(VPValue *LHS, VPValue *RHS) { in createOr()
H A DVPlan.h264 Value *get(VPValue *Def, unsigned Part) { in get()
354 VPValue *CondBit = nullptr;
1152 VPValue *BackedgeTakenCount = nullptr;
1162 SmallVector<VPValue *, 4> VPCBVs;
1175 for (VPValue *Def : VPExternalDefs) in ~VPlan()
1177 for (VPValue *CBV : VPCBVs) in ~VPlan()
1206 void addExternalDef(VPValue *VPVal) { in addExternalDef()
1211 void addCBV(VPValue *CBV) { in addCBV()
1218 Value2VPValue[V] = new VPValue(); in addVPValue()
1221 VPValue *getVPValue(Value *V) { in getVPValue()
[all …]
H A DVPlanHCFGBuilder.cpp58 DenseMap<Value *, VPValue *> IRDef2VPValue;
68 VPValue *getOrCreateVPOperand(Value *IRVal);
95 VPValue *VPVal = IRDef2VPValue[Phi]; in fixPhiNodes()
162 VPValue *PlainCFGBuilder::getOrCreateVPOperand(Value *IRVal) { in getOrCreateVPOperand()
180 VPValue *NewVPVal = new VPValue(IRVal); in getOrCreateVPOperand()
221 SmallVector<VPValue *, 4> VPOperands; in createVPInstructionsForVPBB()
293 VPValue *VPCondBit = IRDef2VPValue[BrCond]; in buildPlainCFG()
H A DVPRecipeBuilder.h49 DenseMap<std::pair<BasicBlock *, BasicBlock *>, VPValue *>;
50 using BlockMaskCacheTy = DenseMap<BasicBlock *, VPValue *>;
58 VPValue *createBlockInMask(BasicBlock *BB, VPlanPtr &Plan);
62 VPValue *createEdgeMask(BasicBlock *Src, BasicBlock *Dst, VPlanPtr &Plan);
H A DVPlan.cpp51 raw_ostream &llvm::operator<<(raw_ostream &OS, const VPValue &V) { in operator <<()
203 VPValue *CBV; in execute()
351 for (const VPValue *Operand : operands()) { in print()
568 const VPValue *CBV = BasicBlock->getCondBit(); in dumpBasicBlock()
690 void VPValue::replaceAllUsesWith(VPValue *New) { in replaceAllUsesWith()
H A DVPlanHCFGTransforms.cpp34 auto *NCondBit = new VPValue(CondBit->getUnderlyingValue()); in VPInstructionsToVPRecipes()
H A DLoopVectorize.cpp6328 VPValue *SrcMask = createBlockInMask(Src, Plan); in createEdgeMask()
6337 VPValue *EdgeMask = Plan->getVPValue(BI->getCondition()); in createEdgeMask()
6359 VPValue *BlockMask = nullptr; in createBlockInMask()
6368 VPValue *BTC = Plan->getOrCreateBackedgeTakenCount(); in createBlockInMask()
6375 VPValue *EdgeMask = createEdgeMask(Predecessor, BB, Plan); in createBlockInMask()
6414 VPValue *Mask = nullptr; in tryToInterleaveMemory()
6445 VPValue *Mask = nullptr; in tryToWidenMemory()
6496 SmallVector<VPValue *, 2> Masks; in tryToBlend()
6499 VPValue *EdgeMask = in tryToBlend()
6990 VPValue *Mask = User->getOperand(User->getNumOperands() - 1); in execute()
[all …]