< prev index next >

src/hotspot/share/opto/loopopts.cpp

Print this page

        

*** 691,701 **** // Try moving a store out of a loop, right before the loop Node* PhaseIdealLoop::try_move_store_before_loop(Node* n, Node *n_ctrl) { // Store has to be first in the loop body IdealLoopTree *n_loop = get_loop(n_ctrl); ! if (n->is_Store() && n_loop != _ltree_root && n_loop->is_loop() && n->in(0) != NULL) { Node* address = n->in(MemNode::Address); Node* value = n->in(MemNode::ValueIn); Node* mem = n->in(MemNode::Memory); IdealLoopTree* address_loop = get_loop(get_ctrl(address)); IdealLoopTree* value_loop = get_loop(get_ctrl(value)); --- 691,703 ---- // Try moving a store out of a loop, right before the loop Node* PhaseIdealLoop::try_move_store_before_loop(Node* n, Node *n_ctrl) { // Store has to be first in the loop body IdealLoopTree *n_loop = get_loop(n_ctrl); ! if (n->is_Store() && n_loop != _ltree_root && ! n_loop->is_loop() && n_loop->_head->is_Loop() && ! n->in(0) != NULL) { Node* address = n->in(MemNode::Address); Node* value = n->in(MemNode::ValueIn); Node* mem = n->in(MemNode::Memory); IdealLoopTree* address_loop = get_loop(get_ctrl(address)); IdealLoopTree* value_loop = get_loop(get_ctrl(value));
< prev index next >