Mercurial > hg > truffle
comparison src/share/vm/opto/loopUnswitch.cpp @ 3845:c96c3eb1efae
7068051: SIGSEGV in PhaseIdealLoop::build_loop_late_post
Summary: Removed predicate cloning from loop peeling optimization and from split fall-in paths.
Reviewed-by: never
author | kvn |
---|---|
date | Fri, 29 Jul 2011 09:16:29 -0700 |
parents | bad7ecd0b6ed |
children | 5e990493719e |
comparison
equal
deleted
inserted
replaced
3844:ce3e1d4dc416 | 3845:c96c3eb1efae |
---|---|
253 head->set_req(LoopNode::EntryControl, iffast_pred); | 253 head->set_req(LoopNode::EntryControl, iffast_pred); |
254 set_idom(head, iffast_pred, dom_depth(head)); | 254 set_idom(head, iffast_pred, dom_depth(head)); |
255 _igvn._worklist.push(head); | 255 _igvn._worklist.push(head); |
256 | 256 |
257 // Slow (false) control | 257 // Slow (false) control |
258 Node* ifslow_pred = move_loop_predicates(entry, ifslow, !counted_loop); | 258 Node* ifslow_pred = clone_loop_predicates(entry, ifslow, !counted_loop); |
259 LoopNode* slow_head = old_new[head->_idx]->as_Loop(); | 259 LoopNode* slow_head = old_new[head->_idx]->as_Loop(); |
260 _igvn.hash_delete(slow_head); | 260 _igvn.hash_delete(slow_head); |
261 slow_head->set_req(LoopNode::EntryControl, ifslow_pred); | 261 slow_head->set_req(LoopNode::EntryControl, ifslow_pred); |
262 set_idom(slow_head, ifslow_pred, dom_depth(slow_head)); | 262 set_idom(slow_head, ifslow_pred, dom_depth(slow_head)); |
263 _igvn._worklist.push(slow_head); | 263 _igvn._worklist.push(slow_head); |