Home | History | Annotate | Download | only in compiler

Lines Matching refs:Node

10 #include "src/compiler/node.h"
43 // Run the main algorithm starting from the {exit} control node. This causes
49 void Run(Node* exit);
52 size_t ClassOf(Node* node) {
53 DCHECK_NE(kInvalidClass, GetClass(node));
54 return GetClass(node);
65 Node* from; // Node that this bracket originates from.
66 Node* to; // Node that this bracket points to.
69 // The set of brackets for each node during the DFS walk.
74 Node::InputEdges::iterator input; // Iterator used for "input" direction.
75 Node::UseEdges::iterator use; // Iterator used for "use" direction.
76 Node* parent_node; // Parent node of entry during DFS walk.
77 Node* node; // Node that this stack entry belongs to.
84 size_t class_number; // Equivalence class number assigned to node.
85 size_t dfs_number; // Pre-order DFS number assigned to node.
86 bool visited; // Indicates node has already been visited.
87 bool on_stack; // Indicates node is on DFS stack during walk.
88 bool participates; // Indicates node participates in DFS walk.
89 BracketList blist; // List of brackets per node.
92 // The per-node data computed during the DFS walk.
96 void VisitPre(Node* node);
99 void VisitMid(Node* node, DFSDirection direction);
102 void VisitPost(Node* node, Node* parent_node, DFSDirection direction);
105 void VisitBackedge(Node* from, Node* to, DFSDirection direction);
121 void RunUndirectedDFS(Node* exit);
123 void DetermineParticipationEnqueue(ZoneQueue<Node*>& queue, Node* node);
124 void DetermineParticipation(Node* exit);
127 NodeData* GetData(Node* node) {
128 size_t const index = node->id();
135 // Template used to initialize per-node data.
140 // Accessors for the DFS number stored within the per-node data.
141 size_t GetNumber(Node* node) { return GetData(node)->dfs_number; }
142 void SetNumber(Node* node, size_t number) {
143 GetData(node)->dfs_number = number;
146 // Accessors for the equivalence class stored within the per-node data.
147 size_t GetClass(Node* node) { return GetData(node)->class_number; }
148 void SetClass(Node* node, size_t number) {
149 GetData(node)->class_number = number;
152 // Accessors for the bracket list stored within the per-node data.
153 BracketList& GetBracketList(Node* node) { return GetData(node)->blist; }
154 void SetBracketList(Node* node, BracketList& list) {
155 GetData(node)->blist = list;
159 void DFSPush(DFSStack& stack, Node* node, Node* from, DFSDirection dir);
162 void DFSPop(DFSStack& stack, Node* node);
164 void BracketListDelete(BracketList& blist, Node* to, DFSDirection direction);
171 Data node_data_; // Per-node data stored as a side-table.