diff --git a/mach/proto/mcg/pass_ssa.c b/mach/proto/mcg/pass_ssa.c index 260ad9294..e0f835f17 100644 --- a/mach/proto/mcg/pass_ssa.c +++ b/mach/proto/mcg/pass_ssa.c @@ -185,12 +185,16 @@ static void ssa_convert(void) for (i=0; ioffset, bb->name); + for (j=0; joffset, dominates->name); + if (dominancefrontiers.item[j].left == bb) + { + struct basicblock* dominates = dominancefrontiers.item[j].right; + array_appendu(&needsphis, dominates); + array_appendu(&defining, dominates); + tracef('S', "S: local %d needs phi in block %s\n", current_local->offset, dominates->name); + } } }