From: Kazu Hirata Date: Thu, 7 Apr 2005 16:31:07 +0000 (+0000) Subject: tree-ssa-sink.c (nearest_common_dominator_of_uses): Consider all immediate uses in... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ab7983139ddfcac4ef3ae8d63efddbbd3bcd4310;p=gcc.git tree-ssa-sink.c (nearest_common_dominator_of_uses): Consider all immediate uses in PHI nodes. * tree-ssa-sink.c (nearest_common_dominator_of_uses): Consider all immediate uses in PHI nodes. From-SVN: r97788 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f2591678a32..82368e1d9a3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-04-07 Kazu Hirata + + * tree-ssa-sink.c (nearest_common_dominator_of_uses): Consider + all immediate uses in PHI nodes. + 2005-04-07 Richard Earnshaw * arm.c (arm_const_double_inline_cost): Handle any constant by diff --git a/gcc/tree-ssa-sink.c b/gcc/tree-ssa-sink.c index cecbae7a74f..54f9fb961dd 100644 --- a/gcc/tree-ssa-sink.c +++ b/gcc/tree-ssa-sink.c @@ -241,17 +241,15 @@ nearest_common_dominator_of_uses (tree stmt) if (TREE_CODE (usestmt) == PHI_NODE) { int idx = PHI_ARG_INDEX_FROM_USE (use_p); - if (PHI_ARG_DEF (usestmt, idx) == var) + + useblock = PHI_ARG_EDGE (usestmt, idx)->src; + /* Short circuit. Nothing dominates the entry block. */ + if (useblock == ENTRY_BLOCK_PTR) { - useblock = PHI_ARG_EDGE (usestmt, idx)->src; - /* Short circuit. Nothing dominates the entry block. */ - if (useblock == ENTRY_BLOCK_PTR) - { - BITMAP_FREE (blocks); - return NULL; - } - bitmap_set_bit (blocks, useblock->index); + BITMAP_FREE (blocks); + return NULL; } + bitmap_set_bit (blocks, useblock->index); } else {