Lines Matching refs:Edge

126 struct Edge {  struct
141 Edge(Value *From, Value *To, EdgeType W, StratifiedAttrs A) in Edge() argument
263 SmallVectorImpl<Edge> &Output;
266 GetEdgesVisitor(CFLAliasAnalysis &AA, SmallVectorImpl<Edge> &Output) in GetEdgesVisitor()
275 Output.push_back(Edge(Ptr, Ptr, EdgeType::Assign, AttrUnknown)); in visitPtrToIntInst()
280 Output.push_back(Edge(Ptr, Ptr, EdgeType::Assign, AttrUnknown)); in visitIntToPtrInst()
285 Edge(&Inst, Inst.getOperand(0), EdgeType::Assign, AttrNone)); in visitCastInst()
291 Output.push_back(Edge(&Inst, Op1, EdgeType::Assign, AttrNone)); in visitBinaryOperator()
292 Output.push_back(Edge(&Inst, Op2, EdgeType::Assign, AttrNone)); in visitBinaryOperator()
298 Output.push_back(Edge(Ptr, Val, EdgeType::Dereference, AttrNone)); in visitAtomicCmpXchgInst()
304 Output.push_back(Edge(Ptr, Val, EdgeType::Dereference, AttrNone)); in visitAtomicRMWInst()
310 Output.push_back(Edge(&Inst, Val, EdgeType::Assign, AttrNone)); in visitPHINode()
316 Output.push_back(Edge(&Inst, Op, EdgeType::Assign, AttrNone)); in visitGetElementPtrInst()
318 Output.push_back(Edge(&Inst, *I, EdgeType::Assign, AttrNone)); in visitGetElementPtrInst()
328 Output.push_back(Edge(&Inst, TrueVal, EdgeType::Assign, AttrNone)); in visitSelectInst()
330 Output.push_back(Edge(&Inst, FalseVal, EdgeType::Assign, AttrNone)); in visitSelectInst()
338 Output.push_back(Edge(Val, Ptr, EdgeType::Reference, AttrNone)); in visitLoadInst()
344 Output.push_back(Edge(Ptr, Val, EdgeType::Dereference, AttrNone)); in visitStoreInst()
355 Output.push_back(Edge(Val, Val, EdgeType::Assign, AttrAll)); in visitVAArgInst()
448 Output.push_back(Edge(FuncValue, ArgVal, EdgeType::Assign, in tryInterproceduralAnalysis()
476 Output.push_back(Edge(MainVal, SubVal, EdgeType::Assign, NewAttrs)); in tryInterproceduralAnalysis()
493 Output.push_back(Edge(&Inst, V, EdgeType::Assign, AttrAll)); in visitCallLikeInst()
508 Output.push_back(Edge(Val, Ptr, EdgeType::Reference, AttrNone)); in visitExtractElementInst()
514 Output.push_back(Edge(&Inst, Vec, EdgeType::Assign, AttrNone)); in visitInsertElementInst()
515 Output.push_back(Edge(&Inst, Val, EdgeType::Dereference, AttrNone)); in visitInsertElementInst()
522 Output.push_back(Edge(&Inst, &Inst, EdgeType::Assign, AttrAll)); in visitLandingPadInst()
528 Output.push_back(Edge(&Inst, Agg, EdgeType::Assign, AttrNone)); in visitInsertValueInst()
529 Output.push_back(Edge(&Inst, Val, EdgeType::Dereference, AttrNone)); in visitInsertValueInst()
534 Output.push_back(Edge(&Inst, Ptr, EdgeType::Reference, AttrNone)); in visitExtractValueInst()
540 Output.push_back(Edge(&Inst, From1, EdgeType::Assign, AttrNone)); in visitShuffleVectorInst()
541 Output.push_back(Edge(&Inst, From2, EdgeType::Assign, AttrNone)); in visitShuffleVectorInst()
587 struct Edge { struct in __anondc6bc0680111::WeightedBidirectionalGraph
591 Edge(const EdgeTypeT &W, const Node &N) : Weight(W), Other(N) {} in Edge() argument
593 bool operator==(const Edge &E) const { in operator ==() argument
597 bool operator!=(const Edge &E) const { return !operator==(E); } in operator !=() argument
601 std::vector<Edge> Edges;
620 EdgeIterator(const typename std::vector<Edge>::const_iterator &Iter) in EdgeIterator()
650 typename std::vector<Edge>::const_iterator Current;
656 EdgeIterable(const std::vector<Edge> &Edges) in EdgeIterable()
664 typename std::vector<Edge>::const_iterator BeginIter;
665 typename std::vector<Edge>::const_iterator EndIter;
694 FromNode.Edges.push_back(Edge(Weight, To)); in addEdge()
695 ToNode.Edges.push_back(Edge(ReverseWeight, From)); in addEdge()
743 SmallVectorImpl<Edge> &);
758 SmallVectorImpl<Edge> &);
843 SmallVectorImpl<Edge> &Output) { in argsToEdges()
864 SmallVectorImpl<Edge> &Results) { in constexprToEdges()
868 SmallVector<Edge, 8> ConstexprEdges; in constexprToEdges()
878 for (auto &Edge : ConstexprEdges) { in constexprToEdges() local
879 if (Edge.From == Inst.get()) in constexprToEdges()
880 Edge.From = CExpr; in constexprToEdges()
881 else if (auto *Nested = dyn_cast<ConstantExpr>(Edge.From)) in constexprToEdges()
884 if (Edge.To == Inst.get()) in constexprToEdges()
885 Edge.To = CExpr; in constexprToEdges()
886 else if (auto *Nested = dyn_cast<ConstantExpr>(Edge.To)) in constexprToEdges()
915 SmallVector<Edge, 8> Edges; in addInstructionToGraph()
928 const auto addEdgeToGraph = [&Graph, &findOrInsertNode](const Edge &E) { in addInstructionToGraph()
938 for (const Edge &E : Edges) { in addInstructionToGraph()