equal
deleted
inserted
replaced
59 return false; |
59 return false; |
60 } |
60 } |
61 if (!_head->is_Loop()) { |
61 if (!_head->is_Loop()) { |
62 return false; |
62 return false; |
63 } |
63 } |
|
64 |
|
65 // check for vectorized loops, any unswitching was already applied |
|
66 if (_head->is_CountedLoop() && _head->as_CountedLoop()->do_unroll_only()) { |
|
67 return false; |
|
68 } |
|
69 |
64 int nodes_left = phase->C->max_node_limit() - phase->C->live_nodes(); |
70 int nodes_left = phase->C->max_node_limit() - phase->C->live_nodes(); |
65 if ((int)(2 * _body.size()) > nodes_left) { |
71 if ((int)(2 * _body.size()) > nodes_left) { |
66 return false; // Too speculative if running low on nodes. |
72 return false; // Too speculative if running low on nodes. |
67 } |
73 } |
68 LoopNode* head = _head->as_Loop(); |
74 LoopNode* head = _head->as_Loop(); |