Mercurial > hg > graal-jvmci-8
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 ); |