930 // low_limit <= scale_con * I + offset < upper_limit |
930 // low_limit <= scale_con * I + offset < upper_limit |
931 // always holds true. That is, either increase the number of iterations in |
931 // always holds true. That is, either increase the number of iterations in |
932 // the pre-loop or the post-loop until the condition holds true in the main |
932 // the pre-loop or the post-loop until the condition holds true in the main |
933 // loop. Scale_con, offset and limit are all loop invariant. |
933 // loop. Scale_con, offset and limit are all loop invariant. |
934 void add_constraint( int stride_con, int scale_con, Node *offset, Node *low_limit, Node *upper_limit, Node *pre_ctrl, Node **pre_limit, Node **main_limit ); |
934 void add_constraint( int stride_con, int scale_con, Node *offset, Node *low_limit, Node *upper_limit, Node *pre_ctrl, Node **pre_limit, Node **main_limit ); |
|
935 // Helper function for add_constraint(). |
|
936 Node* adjust_limit( int stride_con, Node * scale, Node *offset, Node *rc_limit, Node *loop_limit, Node *pre_ctrl ); |
935 |
937 |
936 // Partially peel loop up through last_peel node. |
938 // Partially peel loop up through last_peel node. |
937 bool partial_peel( IdealLoopTree *loop, Node_List &old_new ); |
939 bool partial_peel( IdealLoopTree *loop, Node_List &old_new ); |
938 |
940 |
939 // Create a scheduled list of nodes control dependent on ctrl set. |
941 // Create a scheduled list of nodes control dependent on ctrl set. |