Lines Matching refs:MachineGadgetGraph

114 struct MachineGadgetGraph : ImmutableGraph<MachineInstr *, int> {  struct
122 MachineGadgetGraph(std::unique_ptr<Node[]> Nodes, in MachineGadgetGraph() argument
150 using GraphBuilder = ImmutableGraphBuilder<MachineGadgetGraph>;
151 using Edge = MachineGadgetGraph::Edge;
152 using Node = MachineGadgetGraph::Node;
153 using EdgeSet = MachineGadgetGraph::EdgeSet;
154 using NodeSet = MachineGadgetGraph::NodeSet;
160 std::unique_ptr<MachineGadgetGraph>
165 std::unique_ptr<MachineGadgetGraph> Graph) const;
167 std::unique_ptr<MachineGadgetGraph> Graph) const;
168 int elimMitigatedEdgesAndNodes(MachineGadgetGraph &G,
171 std::unique_ptr<MachineGadgetGraph>
172 trimMitigatedEdges(std::unique_ptr<MachineGadgetGraph> Graph) const;
173 int insertFences(MachineFunction &MF, MachineGadgetGraph &G,
188 struct GraphTraits<MachineGadgetGraph *>
192 struct DOTGraphTraits<MachineGadgetGraph *> : DefaultDOTGraphTraits {
193 using GraphType = MachineGadgetGraph;
203 if (Node->getValue() == MachineGadgetGraph::ArgNodeSentinel) in getNodeLabel()
214 if (MI == MachineGadgetGraph::ArgNodeSentinel) in getNodeAttributes()
231 constexpr MachineInstr *MachineGadgetGraph::ArgNodeSentinel;
232 constexpr int MachineGadgetGraph::GadgetEdgeSentinel;
246 MachineGadgetGraph *G) { in writeGadgetGraph()
275 std::unique_ptr<MachineGadgetGraph> Graph = getGadgetGraph(MF, MLI, MDT, MDF); in runOnMachineFunction()
325 std::unique_ptr<MachineGadgetGraph>
453 ? MachineGadgetGraph::ArgNodeSentinel in getGadgetGraph()
461 Builder.addEdge(MachineGadgetGraph::GadgetEdgeSentinel, in getGadgetGraph()
532 GraphIter ArgNode = MaybeAddNode(MachineGadgetGraph::ArgNodeSentinel).first; in getGadgetGraph()
534 std::unique_ptr<MachineGadgetGraph> G{Builder.get(FenceCount, GadgetCount)}; in getGadgetGraph()
541 MachineGadgetGraph &G, EdgeSet &ElimEdges /* in, out */, in elimMitigatedEdgesAndNodes()
561 if (llvm::none_of(RootN.edges(), MachineGadgetGraph::isGadgetEdge)) in elimMitigatedEdgesAndNodes()
572 if (MachineGadgetGraph::isCFGEdge(E) && !ElimEdges.contains(E) && in elimMitigatedEdgesAndNodes()
581 if (MachineGadgetGraph::isGadgetEdge(E)) { in elimMitigatedEdgesAndNodes()
594 std::unique_ptr<MachineGadgetGraph>
596 std::unique_ptr<MachineGadgetGraph> Graph) const { in trimMitigatedEdges()
612 MachineFunction &MF, std::unique_ptr<MachineGadgetGraph> Graph) const { in hardenLoadsWithPlugin()
657 MachineFunction &MF, std::unique_ptr<MachineGadgetGraph> Graph) const { in hardenLoadsWithHeuristic()
675 if (MachineGadgetGraph::isCFGEdge(E)) in hardenLoadsWithHeuristic()
688 if (!MachineGadgetGraph::isGadgetEdge(E)) in hardenLoadsWithHeuristic()
694 if (MachineGadgetGraph::isCFGEdge(EgressEdge)) in hardenLoadsWithHeuristic()
723 MachineFunction &MF, MachineGadgetGraph &G, in insertFences()
732 if (MI == MachineGadgetGraph::ArgNodeSentinel) { in insertFences()
744 if (MachineGadgetGraph::isCFGEdge(E)) in insertFences()