< prev index next >

src/share/vm/opto/loopnode.hpp

Print this page




 451   bool iteration_split_impl( PhaseIdealLoop *phase, Node_List &old_new );
 452 
 453   // Given dominators, try to find loops with calls that must always be
 454   // executed (call dominates loop tail).  These loops do not need non-call
 455   // safepoints (ncsfpt).
 456   void check_safepts(VectorSet &visited, Node_List &stack);
 457 
 458   // Allpaths backwards scan from loop tail, terminating each path at first safepoint
 459   // encountered.
 460   void allpaths_check_safepts(VectorSet &visited, Node_List &stack);
 461 
 462   // Remove safepoints from loop. Optionally keeping one.
 463   void remove_safepoints(PhaseIdealLoop* phase, bool keep_one);
 464 
 465   // Convert to counted loops where possible
 466   void counted_loop( PhaseIdealLoop *phase );
 467 
 468   // Check for Node being a loop-breaking test
 469   Node *is_loop_exit(Node *iff) const;
 470 
 471   // Returns true if ctrl is executed on every complete iteration
 472   bool dominates_backedge(Node* ctrl);
 473 
 474   // Remove simplistic dead code from loop body
 475   void DCE_loop_body();
 476 
 477   // Look for loop-exit tests with my 50/50 guesses from the Parsing stage.
 478   // Replace with a 1-in-10 exit guess.
 479   void adjust_loop_exit_prob( PhaseIdealLoop *phase );
 480 
 481   // Return TRUE or FALSE if the loop should never be RCE'd or aligned.
 482   // Useful for unrolling loops with NO array accesses.
 483   bool policy_peel_only( PhaseIdealLoop *phase ) const;
 484 
 485   // Return TRUE or FALSE if the loop should be unswitched -- clone
 486   // loop with an invariant test
 487   bool policy_unswitching( PhaseIdealLoop *phase ) const;
 488 
 489   // Micro-benchmark spamming.  Remove empty loops.
 490   bool policy_do_remove_empty_loop( PhaseIdealLoop *phase );
 491 
 492   // Convert one iteration loop into normal code.
 493   bool policy_do_one_iteration_loop( PhaseIdealLoop *phase );




 451   bool iteration_split_impl( PhaseIdealLoop *phase, Node_List &old_new );
 452 
 453   // Given dominators, try to find loops with calls that must always be
 454   // executed (call dominates loop tail).  These loops do not need non-call
 455   // safepoints (ncsfpt).
 456   void check_safepts(VectorSet &visited, Node_List &stack);
 457 
 458   // Allpaths backwards scan from loop tail, terminating each path at first safepoint
 459   // encountered.
 460   void allpaths_check_safepts(VectorSet &visited, Node_List &stack);
 461 
 462   // Remove safepoints from loop. Optionally keeping one.
 463   void remove_safepoints(PhaseIdealLoop* phase, bool keep_one);
 464 
 465   // Convert to counted loops where possible
 466   void counted_loop( PhaseIdealLoop *phase );
 467 
 468   // Check for Node being a loop-breaking test
 469   Node *is_loop_exit(Node *iff) const;
 470 



 471   // Remove simplistic dead code from loop body
 472   void DCE_loop_body();
 473 
 474   // Look for loop-exit tests with my 50/50 guesses from the Parsing stage.
 475   // Replace with a 1-in-10 exit guess.
 476   void adjust_loop_exit_prob( PhaseIdealLoop *phase );
 477 
 478   // Return TRUE or FALSE if the loop should never be RCE'd or aligned.
 479   // Useful for unrolling loops with NO array accesses.
 480   bool policy_peel_only( PhaseIdealLoop *phase ) const;
 481 
 482   // Return TRUE or FALSE if the loop should be unswitched -- clone
 483   // loop with an invariant test
 484   bool policy_unswitching( PhaseIdealLoop *phase ) const;
 485 
 486   // Micro-benchmark spamming.  Remove empty loops.
 487   bool policy_do_remove_empty_loop( PhaseIdealLoop *phase );
 488 
 489   // Convert one iteration loop into normal code.
 490   bool policy_do_one_iteration_loop( PhaseIdealLoop *phase );


< prev index next >