Lines Matching defs:NodePtr

146   using NodePtr = std::shared_ptr<ComplexDeinterleavingCompositeNode>;
164 void addOperand(NodePtr Node) { Operands.push_back(Node.get()); }
209 using NodePtr = ComplexDeinterleavingCompositeNode::NodePtr;
216 NodePtr Node;
229 SmallVector<NodePtr> CompositeNodes;
230 DenseMap<std::pair<Value *, Value *>, NodePtr> CachedResult;
235 std::map<Instruction *, NodePtr> RootToNode;
285 NodePtr prepareCompositeNode(ComplexDeinterleavingOperation Operation,
295 NodePtr submitCompositeNode(NodePtr Node) {
313 NodePtr identifyPartialMul(Instruction *Real, Instruction *Imag);
318 NodePtr
329 NodePtr identifyAdd(Instruction *Real, Instruction *Imag);
330 NodePtr identifySymmetricOperation(Instruction *Real, Instruction *Imag);
332 NodePtr identifyNode(Value *R, Value *I);
338 NodePtr identifyAdditions(std::list<Addend> &RealAddends,
341 NodePtr Accumulator);
344 NodePtr extractPositiveAddend(std::list<Addend> &RealAddends,
350 NodePtr identifyMultiplications(std::vector<Product> &RealMuls,
352 NodePtr Accumulator);
367 NodePtr identifyReassocNodes(Instruction *I, Instruction *J);
369 NodePtr identifyRoot(Instruction *I);
378 NodePtr identifyDeinterleave(Instruction *Real, Instruction *Imag);
384 NodePtr identifySplat(Value *Real, Value *Imag);
386 NodePtr identifyPHINode(Instruction *Real, Instruction *Imag);
390 NodePtr identifySelectNode(Instruction *Real, Instruction *Imag);
548 ComplexDeinterleavingGraph::NodePtr
631 NodePtr CommonNode = identifyNode(PartialMatch.first, PartialMatch.second);
637 NodePtr UncommonNode = identifyNode(UncommonRealOp, UncommonImagOp);
643 NodePtr Node = prepareCompositeNode(
651 ComplexDeinterleavingGraph::NodePtr
741 NodePtr CNode = identifyNodeWithImplicitAdd(CRInst, CIInst, PartialMatch);
747 NodePtr UncommonRes = identifyNode(UncommonRealOp, UncommonImagOp);
754 NodePtr CommonRes = identifyNode(PartialMatch.first, PartialMatch.second);
760 NodePtr Node = prepareCompositeNode(
769 ComplexDeinterleavingGraph::NodePtr
800 NodePtr ResA = identifyNode(AR, AI);
805 NodePtr ResB = identifyNode(BR, BI);
811 NodePtr Node =
851 ComplexDeinterleavingGraph::NodePtr
864 NodePtr Op0 = identifyNode(R0, I0);
865 NodePtr Op1 = nullptr;
894 ComplexDeinterleavingGraph::NodePtr
906 if (NodePtr CN = identifySplat(R, I))
914 if (NodePtr CN = identifyDeinterleave(Real, Imag))
917 if (NodePtr CN = identifyPHINode(Real, Imag))
920 if (NodePtr CN = identifySelectNode(Real, Imag))
932 if (NodePtr CN = identifyPartialMul(Real, Imag))
937 if (NodePtr CN = identifyAdd(Real, Imag))
942 if (NodePtr CN = identifyReassocNodes(Real, Imag))
946 if (NodePtr CN = identifySymmetricOperation(Real, Imag))
954 ComplexDeinterleavingGraph::NodePtr
1078 NodePtr FinalNode;
1153 ComplexDeinterleavingGraph::NodePtr
1156 NodePtr Accumulator = nullptr) {
1165 std::map<Value *, NodePtr> CommonToNode;
1197 NodePtr Result = Accumulator;
1269 NodePtr NodeMul = prepareCompositeNode(
1310 ComplexDeinterleavingGraph::NodePtr
1313 std::optional<FastMathFlags> Flags, NodePtr Accumulator = nullptr) {
1317 NodePtr Result;
1345 NodePtr AddNode;
1360 NodePtr TmpNode;
1402 ComplexDeinterleavingGraph::NodePtr
1639 ComplexDeinterleavingGraph::NodePtr
1670 ComplexDeinterleavingGraph::NodePtr
1679 NodePtr PlaceholderNode = prepareCompositeNode(
1770 NodePtr PlaceholderNode =
1779 ComplexDeinterleavingGraph::NodePtr
1827 NodePtr PlaceholderNode =
1832 ComplexDeinterleavingGraph::NodePtr
1839 NodePtr PlaceholderNode = prepareCompositeNode(
1844 ComplexDeinterleavingGraph::NodePtr
1874 NodePtr PlaceholderNode = prepareCompositeNode(