comparison src/share/vm/opto/loopnode.hpp @ 10322:1682bec79205

8014811: loopTransform.cpp assert(cmp_end->in(2) == limit) failed Summary: Stop current iteration of loop opts if partial_peel() failed and it created node clones outside processed loop. Reviewed-by: roland
author kvn
date Wed, 22 May 2013 09:02:43 -0700
parents 3b9368710f08
children 3213ba4d3dff
comparison
equal deleted inserted replaced
10319:91eba9f82325 10322:1682bec79205
963 // Has a use in the vector set 963 // Has a use in the vector set
964 bool has_use_in_set( Node* n, VectorSet& vset ); 964 bool has_use_in_set( Node* n, VectorSet& vset );
965 // Has use internal to the vector set (ie. not in a phi at the loop head) 965 // Has use internal to the vector set (ie. not in a phi at the loop head)
966 bool has_use_internal_to_set( Node* n, VectorSet& vset, IdealLoopTree *loop ); 966 bool has_use_internal_to_set( Node* n, VectorSet& vset, IdealLoopTree *loop );
967 // clone "n" for uses that are outside of loop 967 // clone "n" for uses that are outside of loop
968 void clone_for_use_outside_loop( IdealLoopTree *loop, Node* n, Node_List& worklist ); 968 int clone_for_use_outside_loop( IdealLoopTree *loop, Node* n, Node_List& worklist );
969 // clone "n" for special uses that are in the not_peeled region 969 // clone "n" for special uses that are in the not_peeled region
970 void clone_for_special_use_inside_loop( IdealLoopTree *loop, Node* n, 970 void clone_for_special_use_inside_loop( IdealLoopTree *loop, Node* n,
971 VectorSet& not_peel, Node_List& sink_list, Node_List& worklist ); 971 VectorSet& not_peel, Node_List& sink_list, Node_List& worklist );
972 // Insert phi(lp_entry_val, back_edge_val) at use->in(idx) for loop lp if phi does not already exist 972 // Insert phi(lp_entry_val, back_edge_val) at use->in(idx) for loop lp if phi does not already exist
973 void insert_phi_for_loop( Node* use, uint idx, Node* lp_entry_val, Node* back_edge_val, LoopNode* lp ); 973 void insert_phi_for_loop( Node* use, uint idx, Node* lp_entry_val, Node* back_edge_val, LoopNode* lp );