comparison src/share/vm/opto/gcm.cpp @ 788:1851e1fb420e

6843752: missing code for an anti-dependent Phi in GCM Summary: Don't place a load below anti-dependent PHI. Reviewed-by: never, twisti
author kvn
date Wed, 27 May 2009 12:35:51 -0700
parents fbde8ec322d0
children acba6af809c8
comparison
equal deleted inserted replaced
787:aabd393cf1ee 788:1851e1fb420e
615 // since the load will be forced into a block preceding the Phi. 615 // since the load will be forced into a block preceding the Phi.
616 pred_block->set_raise_LCA_mark(load_index); 616 pred_block->set_raise_LCA_mark(load_index);
617 assert(!LCA_orig->dominates(pred_block) || 617 assert(!LCA_orig->dominates(pred_block) ||
618 early->dominates(pred_block), "early is high enough"); 618 early->dominates(pred_block), "early is high enough");
619 must_raise_LCA = true; 619 must_raise_LCA = true;
620 } else {
621 // anti-dependent upon PHI pinned below 'early', no edge needed
622 LCA = early; // but can not schedule below 'early'
620 } 623 }
621 } 624 }
622 } 625 }
623 assert(found_match, "no worklist bug"); 626 assert(found_match, "no worklist bug");
624 #ifdef TRACK_PHI_INPUTS 627 #ifdef TRACK_PHI_INPUTS