Lines Matching refs:loop_num
141 bool SetBackwardMark(Node* to, int loop_num) { in SetBackwardMark() argument
142 uint32_t* tp = &backward_[to->id() * width_ + INDEX(loop_num)]; in SetBackwardMark()
144 uint32_t next = prev | BIT(loop_num); in SetBackwardMark()
150 bool SetForwardMark(Node* to, int loop_num) { in SetForwardMark() argument
151 uint32_t* tp = &forward_[to->id() * width_ + INDEX(loop_num)]; in SetForwardMark()
153 uint32_t next = prev | BIT(loop_num); in SetForwardMark()
174 bool IsInLoop(Node* node, int loop_num) { in IsInLoop() argument
175 int offset = node->id() * width_ + INDEX(loop_num); in IsInLoop()
176 return backward_[offset] & forward_[offset] & BIT(loop_num); in IsInLoop()
191 int loop_num = -1; in PropagateBackward() local
195 loop_num = CreateLoopInfo(node); in PropagateBackward()
200 loop_num = CreateLoopInfo(merge); in PropagateBackward()
219 if (SetBackwardMark(input, loop_num)) Queue(input); in PropagateBackward()
222 if (PropagateBackwardMarks(node, input, loop_num)) Queue(input); in PropagateBackward()
231 int loop_num = LoopNum(node); in CreateLoopInfo() local
232 if (loop_num > 0) return loop_num; in CreateLoopInfo()
234 loop_num = ++loops_found_; in CreateLoopInfo()
235 if (INDEX(loop_num) >= width_) ResizeBackwardMarks(); in CreateLoopInfo()
240 SetLoopMarkForLoopHeader(node, loop_num); in CreateLoopInfo()
241 return loop_num; in CreateLoopInfo()
244 void SetLoopMark(Node* node, int loop_num) { in SetLoopMark() argument
246 SetBackwardMark(node, loop_num); in SetLoopMark()
247 loop_tree_->node_to_loop_num_[node->id()] = loop_num; in SetLoopMark()
250 void SetLoopMarkForLoopHeader(Node* node, int loop_num) { in SetLoopMarkForLoopHeader() argument
252 SetLoopMark(node, loop_num); in SetLoopMarkForLoopHeader()
255 SetLoopMark(use, loop_num); in SetLoopMarkForLoopHeader()
262 SetLoopMark(use, loop_num); in SetLoopMarkForLoopHeader()
266 SetLoopMark(exit_use, loop_num); in SetLoopMarkForLoopHeader()
353 void AddNodeToLoop(NodeInfo* node_info, LoopInfo* loop, int loop_num) { in AddNodeToLoop() argument
354 if (LoopNum(node_info->node) == loop_num) { in AddNodeToLoop()
392 int loop_num = i * 32 + j; in FinishLoopTree() local
393 if (loop_num == 0) continue; in FinishLoopTree()
394 LoopInfo* loop = &loops_[loop_num - 1]; in FinishLoopTree()
398 innermost_index = loop_num; in FinishLoopTree()
436 int loop_num = loop_tree_->LoopNum(loop); in SerializeLoop() local
437 LoopInfo& li = loops_[loop_num - 1]; in SerializeLoop()
443 loop_tree_->node_to_loop_num_[ni->node->id()] = loop_num; in SerializeLoop()
450 loop_tree_->node_to_loop_num_[ni->node->id()] = loop_num; in SerializeLoop()
460 loop_tree_->node_to_loop_num_[ni->node->id()] = loop_num; in SerializeLoop()
467 LoopTree::Loop* ConnectLoopTree(int loop_num) { in ConnectLoopTree() argument
468 LoopInfo& li = loops_[loop_num - 1]; in ConnectLoopTree()
474 if (i == loop_num) continue; in ConnectLoopTree()
483 li.loop = &loop_tree_->all_loops_[loop_num - 1]; in ConnectLoopTree()