388 // also gather the end of the first split and the start of the 2nd split. |
388 // also gather the end of the first split and the start of the 2nd split. |
389 bool policy_range_check( PhaseIdealLoop *phase ) const; |
389 bool policy_range_check( PhaseIdealLoop *phase ) const; |
390 |
390 |
391 // Return TRUE or FALSE if the loop should be cache-line aligned. |
391 // Return TRUE or FALSE if the loop should be cache-line aligned. |
392 // Gather the expression that does the alignment. Note that only |
392 // Gather the expression that does the alignment. Note that only |
393 // one array base can be aligned in a loop (unless the VM guarentees |
393 // one array base can be aligned in a loop (unless the VM guarantees |
394 // mutual alignment). Note that if we vectorize short memory ops |
394 // mutual alignment). Note that if we vectorize short memory ops |
395 // into longer memory ops, we may want to increase alignment. |
395 // into longer memory ops, we may want to increase alignment. |
396 bool policy_align( PhaseIdealLoop *phase ) const; |
396 bool policy_align( PhaseIdealLoop *phase ) const; |
397 |
397 |
398 // Compute loop trip count from profile data |
398 // Compute loop trip count from profile data |
401 // Reassociate invariant expressions. |
401 // Reassociate invariant expressions. |
402 void reassociate_invariants(PhaseIdealLoop *phase); |
402 void reassociate_invariants(PhaseIdealLoop *phase); |
403 // Reassociate invariant add and subtract expressions. |
403 // Reassociate invariant add and subtract expressions. |
404 Node* reassociate_add_sub(Node* n1, PhaseIdealLoop *phase); |
404 Node* reassociate_add_sub(Node* n1, PhaseIdealLoop *phase); |
405 // Return nonzero index of invariant operand if invariant and variant |
405 // Return nonzero index of invariant operand if invariant and variant |
406 // are combined with an Add or Sub. Helper for reassoicate_invariants. |
406 // are combined with an Add or Sub. Helper for reassociate_invariants. |
407 int is_invariant_addition(Node* n, PhaseIdealLoop *phase); |
407 int is_invariant_addition(Node* n, PhaseIdealLoop *phase); |
408 |
408 |
409 // Return true if n is invariant |
409 // Return true if n is invariant |
410 bool is_invariant(Node* n) const; |
410 bool is_invariant(Node* n) const; |
411 |
411 |