mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-18 23:51:08 +08:00
tree-ssa-forwprop.c (get_prop_source_stmt): Simplify.
2012-09-19 Richard Guenther <rguenther@suse.de> * tree-ssa-forwprop.c (get_prop_source_stmt): Simplify. From-SVN: r191467
This commit is contained in:
parent
b5493fb2fa
commit
ef78c9c7e6
@ -1,3 +1,7 @@
|
||||
2012-09-19 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* tree-ssa-forwprop.c (get_prop_source_stmt): Simplify.
|
||||
|
||||
2012-09-19 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* symtab.c (insert_to_assembler_name_hash): Do not insert
|
||||
|
@ -227,29 +227,15 @@ get_prop_source_stmt (tree name, bool single_use_only, bool *single_use_p)
|
||||
if (!is_gimple_assign (def_stmt))
|
||||
return NULL;
|
||||
|
||||
/* If def_stmt is not a simple copy, we possibly found it. */
|
||||
if (!gimple_assign_ssa_name_copy_p (def_stmt))
|
||||
/* If def_stmt is a simple copy, continue looking. */
|
||||
if (gimple_assign_rhs_code (def_stmt) == SSA_NAME)
|
||||
name = gimple_assign_rhs1 (def_stmt);
|
||||
else
|
||||
{
|
||||
tree rhs;
|
||||
|
||||
if (!single_use_only && single_use_p)
|
||||
*single_use_p = single_use;
|
||||
|
||||
/* We can look through pointer conversions in the search
|
||||
for a useful stmt for the comparison folding. */
|
||||
rhs = gimple_assign_rhs1 (def_stmt);
|
||||
if (CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (def_stmt))
|
||||
&& TREE_CODE (rhs) == SSA_NAME
|
||||
&& POINTER_TYPE_P (TREE_TYPE (gimple_assign_lhs (def_stmt)))
|
||||
&& POINTER_TYPE_P (TREE_TYPE (rhs)))
|
||||
name = rhs;
|
||||
else
|
||||
return def_stmt;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Continue searching the def of the copy source name. */
|
||||
name = gimple_assign_rhs1 (def_stmt);
|
||||
return def_stmt;
|
||||
}
|
||||
} while (1);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user