/external/llvm-project/llvm/unittests/Transforms/Vectorize/ |
D | VPlanSlpTest.cpp | 104 VPInstruction *Store1 = cast<VPInstruction>(&*std::next(Body->begin(), 12)); in TEST_F() 105 VPInstruction *Store2 = cast<VPInstruction>(&*std::next(Body->begin(), 14)); in TEST_F() 109 VPInstruction *CombinedStore = Slp.buildGraph(StoreRoot); in TEST_F() 111 EXPECT_EQ(VPInstruction::SLPStore, CombinedStore->getOpcode()); in TEST_F() 113 auto *CombinedAdd = cast<VPInstruction>(CombinedStore->getOperand(0)); in TEST_F() 116 auto *CombinedLoadA = cast<VPInstruction>(CombinedAdd->getOperand(0)); in TEST_F() 117 auto *CombinedLoadB = cast<VPInstruction>(CombinedAdd->getOperand(1)); in TEST_F() 118 EXPECT_EQ(VPInstruction::SLPLoad, CombinedLoadA->getOpcode()); in TEST_F() 119 EXPECT_EQ(VPInstruction::SLPLoad, CombinedLoadB->getOpcode()); in TEST_F() 176 VPInstruction *Store1 = cast<VPInstruction>(&*std::next(Body->begin(), 12)); in TEST_F() [all …]
|
D | VPlanTest.cpp | 21 std::vector<VPInstruction *> Tmp = {__VA_ARGS__}; \ 29 VPInstruction *I1 = new VPInstruction(0, {}); in TEST() 30 VPInstruction *I2 = new VPInstruction(1, {}); in TEST() 31 VPInstruction *I3 = new VPInstruction(2, {}); in TEST() 44 VPInstruction *I1 = new VPInstruction(0, {}); in TEST() 45 VPInstruction *I2 = new VPInstruction(1, {}); in TEST() 46 VPInstruction *I3 = new VPInstruction(2, {}); in TEST() 64 VPInstruction *I1 = new VPInstruction(0, {}); in TEST() 65 VPInstruction *I2 = new VPInstruction(1, {}); in TEST() 66 VPInstruction *I3 = new VPInstruction(2, {}); in TEST() [all …]
|
D | VPlanPredicatorTest.cpp | 87 VPInstruction *InnerAnd = in TEST_F() 88 cast<VPInstruction>(InnerIf->getEntryBasicBlock()->begin()); in TEST_F() 187 VPInstruction *And = in TEST_F() 188 cast<VPInstruction>(InnerIfTSucc->getEntryBasicBlock()->begin()); in TEST_F() 189 VPInstruction *Not = in TEST_F() 190 cast<VPInstruction>(InnerIfFSucc->getEntryBasicBlock()->begin()); in TEST_F() 191 VPInstruction *NotAnd = cast<VPInstruction>( in TEST_F() 193 VPInstruction *Or = in TEST_F() 194 cast<VPInstruction>(TSuccSucc->getEntryBasicBlock()->begin()); in TEST_F() 205 EXPECT_EQ(Not->getOpcode(), VPInstruction::Not); in TEST_F() [all …]
|
D | VPlanHCFGTest.cpp | 57 VPInstruction *Phi = dyn_cast<VPInstruction>(&*Iter++); in TEST_F() 60 VPInstruction *Idx = dyn_cast<VPInstruction>(&*Iter++); in TEST_F() 65 VPInstruction *Load = dyn_cast<VPInstruction>(&*Iter++); in TEST_F() 70 VPInstruction *Add = dyn_cast<VPInstruction>(&*Iter++); in TEST_F() 75 VPInstruction *Store = dyn_cast<VPInstruction>(&*Iter++); in TEST_F() 81 VPInstruction *IndvarAdd = dyn_cast<VPInstruction>(&*Iter++); in TEST_F() 86 VPInstruction *ICmp = dyn_cast<VPInstruction>(&*Iter++); in TEST_F()
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Vectorize/ |
D | VPlanSLP.cpp | 50 VPInstruction *VPlanSlp::markFailed() { in markFailed() 57 void VPlanSlp::addCombined(ArrayRef<VPValue *> Operands, VPInstruction *New) { in addCombined() 59 return cast<VPInstruction>(V)->getUnderlyingInstr(); in addCombined() 63 Type *T = cast<VPInstruction>(V)->getUnderlyingInstr()->getType(); in addCombined() 79 return Op && isa<VPInstruction>(Op) && in areVectorizable() 80 cast<VPInstruction>(Op)->getUnderlyingInstr(); in areVectorizable() 91 cast<VPInstruction>(Operands[0])->getUnderlyingInstr(); in areVectorizable() 95 const Instruction *I = cast<VPInstruction>(Op)->getUnderlyingInstr(); in areVectorizable() 105 return cast<VPInstruction>(Op)->getParent() != &this->BB; in areVectorizable() 123 VPBasicBlock *Parent = cast<VPInstruction>(Operands[0])->getParent(); in areVectorizable() [all …]
|
D | LoopVectorizationPlanner.h | 40 VPInstruction *createInstruction(unsigned Opcode, in createInstruction() 42 VPInstruction *Instr = new VPInstruction(Opcode, Operands); in createInstruction() 48 VPInstruction *createInstruction(unsigned Opcode, in createInstruction() 110 VPInstruction *insert(VPInstruction *I) const { in insert() 119 VPInstruction *NewVPInst = createInstruction(Opcode, Operands); 130 return createInstruction(VPInstruction::Not, {Operand}); in createNot()
|
D | VPlan.cpp | 52 if (const VPInstruction *Instr = dyn_cast<VPInstruction>(&V)) in operator <<() 310 void VPInstruction::generateInstruction(VPTransformState &State, in generateInstruction() 323 case VPInstruction::Not: { in generateInstruction() 329 case VPInstruction::ICmpULE: { in generateInstruction() 349 void VPInstruction::execute(VPTransformState &State) { in execute() 355 void VPInstruction::print(raw_ostream &O, const Twine &Indent) const { in print() 361 void VPInstruction::print(raw_ostream &O) const { in print() 366 case VPInstruction::Not: in print() 369 case VPInstruction::ICmpULE: in print() 372 case VPInstruction::SLPLoad: in print() [all …]
|
D | VPlanHCFGBuilder.cpp | 97 assert(isa<VPInstruction>(VPVal) && "Expected VPInstruction for phi node."); in fixPhiNodes() 98 auto *VPPhi = cast<VPInstruction>(VPVal); in fixPhiNodes() 213 VPInstruction *NewVPInst; in createVPInstructionsForVPBB() 218 NewVPInst = cast<VPInstruction>(VPIRBuilder.createNaryOp( in createVPInstructionsForVPBB() 230 NewVPInst = cast<VPInstruction>( in createVPInstructionsForVPBB()
|
D | VPlan.h | 652 class VPInstruction : public VPUser, public VPRecipeBase { 680 VPInstruction(unsigned Opcode, ArrayRef<VPValue *> Operands) in VPInstruction() function 684 VPInstruction(unsigned Opcode, std::initializer_list<VPValue *> Operands) in VPInstruction() function 685 : VPInstruction(Opcode, ArrayRef<VPValue *>(Operands)) {} in VPInstruction() 692 VPInstruction *clone() const { in clone() 694 return new VPInstruction(Opcode, Operands); in clone() 1639 DenseMap<VPInstruction *, InterleaveGroup<VPInstruction> *> 1645 InterleaveGroup<VPInstruction> *>; 1660 SmallPtrSet<InterleaveGroup<VPInstruction> *, 4> DelSet; 1671 InterleaveGroup<VPInstruction> * [all …]
|
D | VPlanTransforms.cpp | 49 VPInstruction *VPInst = cast<VPInstruction>(Ingredient); in VPInstructionsToVPRecipes()
|
D | LoopVectorize.cpp | 6754 BlockMask = Builder.createNaryOp(VPInstruction::ICmpULE, {IV, BTC}); in createBlockInMask()
|
/external/llvm-project/llvm/lib/Transforms/Vectorize/ |
D | VPlanSLP.cpp | 50 VPInstruction *VPlanSlp::markFailed() { in markFailed() 57 void VPlanSlp::addCombined(ArrayRef<VPValue *> Operands, VPInstruction *New) { in addCombined() 59 return cast<VPInstruction>(V)->getUnderlyingInstr(); in addCombined() 63 Type *T = cast<VPInstruction>(V)->getUnderlyingInstr()->getType(); in addCombined() 79 return Op && isa<VPInstruction>(Op) && in areVectorizable() 80 cast<VPInstruction>(Op)->getUnderlyingInstr(); in areVectorizable() 91 cast<VPInstruction>(Operands[0])->getUnderlyingInstr(); in areVectorizable() 95 const Instruction *I = cast<VPInstruction>(Op)->getUnderlyingInstr(); in areVectorizable() 105 return cast<VPInstruction>(Op)->getParent() != &this->BB; in areVectorizable() 123 VPBasicBlock *Parent = cast<VPInstruction>(Operands[0])->getParent(); in areVectorizable() [all …]
|
D | VPlan.cpp | 53 const VPInstruction *Instr = dyn_cast<VPInstruction>(&V); in operator <<() 73 if (const VPInstruction *Instr = dyn_cast<VPInstruction>(this)) in print() 80 const VPInstruction *Instr = dyn_cast<VPInstruction>(this); in dump() 94 if (auto *U = dyn_cast<VPInstruction>(this)) in toVPUser() 122 if (auto *V = dyn_cast<VPInstruction>(this)) in toVPValue() 142 if (auto *V = dyn_cast<VPInstruction>(this)) in toVPValue() 475 void VPInstruction::generateInstruction(VPTransformState &State, in generateInstruction() 488 case VPInstruction::Not: { in generateInstruction() 494 case VPInstruction::ICmpULE: { in generateInstruction() 509 case VPInstruction::ActiveLaneMask: { in generateInstruction() [all …]
|
D | LoopVectorizationPlanner.h | 44 VPInstruction *createInstruction(unsigned Opcode, in createInstruction() 46 VPInstruction *Instr = new VPInstruction(Opcode, Operands); in createInstruction() 52 VPInstruction *createInstruction(unsigned Opcode, in createInstruction() 114 VPInstruction *insert(VPInstruction *I) const { in insert() 123 VPInstruction *NewVPInst = createInstruction(Opcode, Operands); 134 return createInstruction(VPInstruction::Not, {Operand}); in createNot()
|
D | VPlanHCFGBuilder.cpp | 97 assert(isa<VPInstruction>(VPVal) && "Expected VPInstruction for phi node."); in fixPhiNodes() 98 auto *VPPhi = cast<VPInstruction>(VPVal); in fixPhiNodes() 213 VPInstruction *NewVPInst; in createVPInstructionsForVPBB() 218 NewVPInst = cast<VPInstruction>(VPIRBuilder.createNaryOp( in createVPInstructionsForVPBB() 230 NewVPInst = cast<VPInstruction>( in createVPInstructionsForVPBB()
|
D | VPlan.h | 741 class VPInstruction : public VPUser, public VPValue, public VPRecipeBase { 766 VPInstruction(unsigned Opcode, ArrayRef<VPValue *> Operands) in VPInstruction() function 770 VPInstruction(unsigned Opcode, std::initializer_list<VPValue *> Operands) in VPInstruction() function 771 : VPInstruction(Opcode, ArrayRef<VPValue *>(Operands)) {} in VPInstruction() 778 VPInstruction *clone() const { in clone() 780 return new VPInstruction(Opcode, Operands); in clone() 1986 DenseMap<VPInstruction *, InterleaveGroup<VPInstruction> *> 1992 InterleaveGroup<VPInstruction> *>; 2007 SmallPtrSet<InterleaveGroup<VPInstruction> *, 4> DelSet; 2018 InterleaveGroup<VPInstruction> * [all …]
|
D | VPlanTransforms.cpp | 49 VPInstruction *VPInst = cast<VPInstruction>(Ingredient); in VPInstructionsToVPRecipes()
|
D | LoopVectorize.cpp | 7938 BlockMask = Builder.createNaryOp(VPInstruction::ActiveLaneMask, {IV}); in createBlockInMask() 7940 BlockMask = Builder.createNaryOp(VPInstruction::ICmpULE, {IV, BTC}); in createBlockInMask()
|
/external/llvm-project/llvm/docs/Proposals/ |
D | VectorizationPlan.rst | 162 :VPInstruction: 163 A VPInstruction is both a VPRecipe and a VPUser. It models a single
|