Lines Matching refs:Node
9 #include "src/compiler/node.h"
40 // Run the main algorithm starting from the {exit} control node. This causes
46 void Run(Node* exit);
49 size_t ClassOf(Node* node) {
50 DCHECK_NE(kInvalidClass, GetClass(node));
51 return GetClass(node);
62 Node* from; // Node that this bracket originates from.
63 Node* to; // Node that this bracket points to.
66 // The set of brackets for each node during the DFS walk.
71 Node::InputEdges::iterator input; // Iterator used for "input" direction.
72 Node::UseEdges::iterator use; // Iterator used for "use" direction.
73 Node* parent_node; // Parent node of entry during DFS walk.
74 Node* node; // Node that this stack entry belongs to.
81 size_t class_number; // Equivalence class number assigned to node.
82 size_t dfs_number; // Pre-order DFS number assigned to node.
83 bool visited; // Indicates node has already been visited.
84 bool on_stack; // Indicates node is on DFS stack during walk.
85 bool participates; // Indicates node participates in DFS walk.
86 BracketList blist; // List of brackets per node.
89 // The per-node data computed during the DFS walk.
93 void VisitPre(Node* node);
96 void VisitMid(Node* node, DFSDirection direction);
99 void VisitPost(Node* node, Node* parent_node, DFSDirection direction);
102 void VisitBackedge(Node* from, Node* to, DFSDirection direction);
118 void RunUndirectedDFS(Node* exit);
120 void DetermineParticipationEnqueue(ZoneQueue<Node*>& queue, Node* node);
121 void DetermineParticipation(Node* exit);
124 NodeData* GetData(Node* node) { return &node_data_[node->id()]; }
128 // Template used to initialize per-node data.
133 // Accessors for the DFS number stored within the per-node data.
134 size_t GetNumber(Node* node) { return GetData(node)->dfs_number; }
135 void SetNumber(Node* node, size_t number) {
136 GetData(node)->dfs_number = number;
139 // Accessors for the equivalence class stored within the per-node data.
140 size_t GetClass(Node* node) { return GetData(node)->class_number; }
141 void SetClass(Node* node, size_t number) {
142 GetData(node)->class_number = number;
145 // Accessors for the bracket list stored within the per-node data.
146 BracketList& GetBracketList(Node* node) { return GetData(node)->blist; }
147 void SetBracketList(Node* node, BracketList& list) {
148 GetData(node)->blist = list;
152 void DFSPush(DFSStack& stack, Node* node, Node* from, DFSDirection dir);
155 void DFSPop(DFSStack& stack, Node* node);
157 void BracketListDelete(BracketList& blist, Node* to, DFSDirection direction);
164 Data node_data_; // Per-node data stored as a side-table.