equal
deleted
inserted
replaced
3326 // the loop entry is inappropriate. |
3326 // the loop entry is inappropriate. |
3327 if (!PhaseIdealLoop::is_canonical_loop_entry(cl)) { |
3327 if (!PhaseIdealLoop::is_canonical_loop_entry(cl)) { |
3328 return NULL; |
3328 return NULL; |
3329 } |
3329 } |
3330 |
3330 |
3331 Node* p_f = cl->skip_strip_mined()->in(LoopNode::EntryControl)->in(0)->in(0); |
3331 Node* p_f = cl->skip_predicates()->in(0)->in(0); |
3332 if (!p_f->is_IfFalse()) return NULL; |
3332 if (!p_f->is_IfFalse()) return NULL; |
3333 if (!p_f->in(0)->is_CountedLoopEnd()) return NULL; |
3333 if (!p_f->in(0)->is_CountedLoopEnd()) return NULL; |
3334 CountedLoopEndNode* pre_end = p_f->in(0)->as_CountedLoopEnd(); |
3334 CountedLoopEndNode* pre_end = p_f->in(0)->as_CountedLoopEnd(); |
3335 CountedLoopNode* loop_node = pre_end->loopnode(); |
3335 CountedLoopNode* loop_node = pre_end->loopnode(); |
3336 if (loop_node == NULL || !loop_node->is_pre_loop()) return NULL; |
3336 if (loop_node == NULL || !loop_node->is_pre_loop()) return NULL; |