Mercurial > hg > graal-compiler
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 |