< prev index next >

src/hotspot/share/opto/loopnode.hpp

Print this page

        

*** 910,936 **** _verify_only(true) { build_and_optimize(false, false); } // build the loop tree and perform any requested optimizations ! void build_and_optimize(bool do_split_if, bool skip_loop_opts); // Dominators for the sea of nodes void Dominators(); Node *dom_lca( Node *n1, Node *n2 ) const { return find_non_split_ctrl(dom_lca_internal(n1, n2)); } Node *dom_lca_internal( Node *n1, Node *n2 ) const; // Compute the Ideal Node to Loop mapping ! PhaseIdealLoop( PhaseIterGVN &igvn, bool do_split_ifs, bool skip_loop_opts = false) : PhaseTransform(Ideal_Loop), _igvn(igvn), _dom_lca_tags(arena()), // Thread::resource_area _verify_me(NULL), _verify_only(false) { ! build_and_optimize(do_split_ifs, skip_loop_opts); } // Verify that verify_me made the same decisions as a fresh run. PhaseIdealLoop( PhaseIterGVN &igvn, const PhaseIdealLoop *verify_me) : PhaseTransform(Ideal_Loop), --- 910,936 ---- _verify_only(true) { build_and_optimize(false, false); } // build the loop tree and perform any requested optimizations ! void build_and_optimize(bool do_split_if, bool skip_loop_opts, bool last_round = false); // Dominators for the sea of nodes void Dominators(); Node *dom_lca( Node *n1, Node *n2 ) const { return find_non_split_ctrl(dom_lca_internal(n1, n2)); } Node *dom_lca_internal( Node *n1, Node *n2 ) const; // Compute the Ideal Node to Loop mapping ! PhaseIdealLoop( PhaseIterGVN &igvn, bool do_split_ifs, bool skip_loop_opts = false, bool last_round = false) : PhaseTransform(Ideal_Loop), _igvn(igvn), _dom_lca_tags(arena()), // Thread::resource_area _verify_me(NULL), _verify_only(false) { ! build_and_optimize(do_split_ifs, skip_loop_opts, last_round); } // Verify that verify_me made the same decisions as a fresh run. PhaseIdealLoop( PhaseIterGVN &igvn, const PhaseIdealLoop *verify_me) : PhaseTransform(Ideal_Loop),
*** 1225,1237 **** // forcing an extra register move) void reorg_offsets( IdealLoopTree *loop ); // Check for aggressive application of 'split-if' optimization, // using basic block level info. ! void split_if_with_blocks ( VectorSet &visited, Node_Stack &nstack ); Node *split_if_with_blocks_pre ( Node *n ); ! void split_if_with_blocks_post( Node *n ); Node *has_local_phi_input( Node *n ); // Mark an IfNode as being dominated by a prior test, // without actually altering the CFG (and hence IDOM info). void dominated_by( Node *prevdom, Node *iff, bool flip = false, bool exclude_loop_predicate = false ); --- 1225,1237 ---- // forcing an extra register move) void reorg_offsets( IdealLoopTree *loop ); // Check for aggressive application of 'split-if' optimization, // using basic block level info. ! void split_if_with_blocks ( VectorSet &visited, Node_Stack &nstack, bool last_round ); Node *split_if_with_blocks_pre ( Node *n ); ! void split_if_with_blocks_post( Node *n, bool last_round ); Node *has_local_phi_input( Node *n ); // Mark an IfNode as being dominated by a prior test, // without actually altering the CFG (and hence IDOM info). void dominated_by( Node *prevdom, Node *iff, bool flip = false, bool exclude_loop_predicate = false );
< prev index next >