From: Kazu Hirata Date: Mon, 2 May 2005 16:57:53 +0000 (+0000) Subject: tree-ssa-sink.c (nearest_common_dominator_of_uses): Factor out common code. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=000b62dcb872823d91cbab17d089122fbc8bbd8f;p=gcc.git tree-ssa-sink.c (nearest_common_dominator_of_uses): Factor out common code. * tree-ssa-sink.c (nearest_common_dominator_of_uses): Factor out common code. From-SVN: r99105 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4a3b56e49ef..641754b9cda 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -5,6 +5,9 @@ Use VEC instead of VARRAY. (equiv_free): New. + * tree-ssa-sink.c (nearest_common_dominator_of_uses): Factor + out common code. + 2005-05-02 Paolo Bonzini * c-common.c (resolve_overloaded_builtin): Forward to target diff --git a/gcc/tree-ssa-sink.c b/gcc/tree-ssa-sink.c index 7751c4a8d7e..8041686f1ed 100644 --- a/gcc/tree-ssa-sink.c +++ b/gcc/tree-ssa-sink.c @@ -238,31 +238,25 @@ nearest_common_dominator_of_uses (tree stmt) { tree usestmt = USE_STMT (use_p); basic_block useblock; + if (TREE_CODE (usestmt) == PHI_NODE) { int idx = PHI_ARG_INDEX_FROM_USE (use_p); 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); } else { useblock = bb_for_stmt (usestmt); + } - /* Short circuit. Nothing dominates the entry block. */ - if (useblock == ENTRY_BLOCK_PTR) - { - BITMAP_FREE (blocks); - return NULL; - } - bitmap_set_bit (blocks, useblock->index); + /* Short circuit. Nothing dominates the entry block. */ + if (useblock == ENTRY_BLOCK_PTR) + { + BITMAP_FREE (blocks); + return NULL; } + bitmap_set_bit (blocks, useblock->index); } } commondom = BASIC_BLOCK (bitmap_first_set_bit (blocks));