Home
last modified time | relevance | path

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

/external/swiftshader/third_party/llvm-7.0/llvm/lib/Transforms/Vectorize/
DVPlanValue.h39 class VPValue {
50 VPValue(const unsigned char SC, Value *UV = nullptr)
76 VPValue(Value *UV = nullptr) : VPValue(VPValueSC, UV) {} in VPValue() function
77 VPValue(const VPValue &) = delete;
78 VPValue &operator=(const VPValue &) = delete;
107 typedef DenseMap<Value *, VPValue *> Value2VPValueTy;
108 typedef DenseMap<VPValue *, Value *> VPValue2ValueTy;
110 raw_ostream &operator<<(raw_ostream &OS, const VPValue &V);
114 class VPUser : public VPValue {
116 SmallVector<VPValue *, 2> Operands;
[all …]
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()
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()
DVPlan.h253 DenseMap<VPValue *, PerPartValuesTy> PerPartOutput;
261 Value *get(VPValue *Def, unsigned Part) { in get()
270 void set(VPValue *Def, Value *V, unsigned Part) { in set()
344 VPValue *CondBit = nullptr;
478 VPValue *getCondBit() { return CondBit; } in getCondBit()
480 const VPValue *getCondBit() const { return CondBit; } in getCondBit()
482 void setCondBit(VPValue *CV) { CondBit = CV; } in setCondBit()
497 VPValue *Condition) { in setTwoSuccessors()
617 VPInstruction(unsigned Opcode, ArrayRef<VPValue *> Operands) in VPInstruction()
618 : VPUser(VPValue::VPInstructionSC, Operands), in VPInstruction()
[all …]
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);
DVPlan.cpp50 raw_ostream &llvm::operator<<(raw_ostream &OS, const VPValue &V) { in operator <<()
281 for (const VPValue *Operand : operands()) { in print()
463 const VPValue *CBV = BasicBlock->getCondBit(); in dumpBasicBlock()
DLoopVectorize.cpp6518 VPValue *VPRecipeBuilder::createEdgeMask(BasicBlock *Src, BasicBlock *Dst, in createEdgeMask()
6528 VPValue *SrcMask = createBlockInMask(Src, Plan); in createEdgeMask()
6537 VPValue *EdgeMask = Plan->getVPValue(BI->getCondition()); in createEdgeMask()
6549 VPValue *VPRecipeBuilder::createBlockInMask(BasicBlock *BB, VPlanPtr &Plan) { in createBlockInMask()
6559 VPValue *BlockMask = nullptr; in createBlockInMask()
6567 VPValue *EdgeMask = createEdgeMask(Predecessor, BB, Plan); in createBlockInMask()
6632 VPValue *Mask = nullptr; in tryToWidenMemory()
6683 SmallVector<VPValue *, 2> Masks; in tryToBlend()
6686 VPValue *EdgeMask = in tryToBlend()
6841 VPValue *BlockInMask = createBlockInMask(Instr->getParent(), Plan); in createReplicateRegion()
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/docs/Proposals/
DVectorizationPlan.rst148 :VPValue:
154 A VPValue representing a general vertex in the def-use graph of VPlan. It has
155 operands which are of type VPValue. When instantiated, it represents a