From c8ca3ee74d46c0ab8fef2e438d731dcf3b28a3eb Mon Sep 17 00:00:00 2001 From: rguenth Date: Mon, 2 Jul 2007 11:53:08 +0000 Subject: 2007-07-02 Richard Guenther * tree-flow.h (types_compatible_p): Declare. * tree-ssa.c (types_compatible_p): New function. * ipa-type-escape.c (discover_unique_type): Use types_compatible_p instead of lang_hooks.types_compatible_p. * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise. * tree-vn.c (expressions_equal_p): Likewise. * tree.c (fields_compatible_p): Likewise. * tree-ssa-dom.c (avail_expr_eq): Likewise. (cprop_operand): Use useless_type_conversion_p instead of lang_hooks.types_compatible_p. * tree-inline.c (setup_one_parameter): Likewise. (declare_return_variable): Likewise. * tree-nrv.c (tree_nrv): Likewise. * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise. (maybe_fold_offset_to_component_ref): Likewise. (maybe_fold_offset_to_reference): Likewise. * tree-ssa-copy.c (may_propagate_copy): Likewise. (merge_alias_info): Likewise. * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise. * tree-ssa-phiopt.c (conditional_replacement): Likewise. * tree-ssa-reassoc.c (optimize_ops_list): Likewise. * tree-tailcall.c (find_tail_calls): Likewise. * tree-vect-generic.c (expand_vector_operations_1): Likewise. * gimplify.c (canonicalize_addr_expr): Likewise. (fold_indirect_ref_rhs): Likewise. (gimplify_addr_expr): Likewise. Swap parameters to cpt_same_type. (cpt_same_type): Likewise. (check_pointer_types_r): Swap parameters to cpt_same_type where appropriate. * fold-const.c (fold_convert): Revert fix for PR15988. * tree-inline.c (setup_one_parameter): Instead fix it here by using fold_build1 instead of fold_convert and checking for error_mark_node. Convert only if the conversion is necessary. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126198 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/tree-ssa-phiopt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gcc/tree-ssa-phiopt.c') diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c index 8cdd3c80da9..8e91cc23865 100644 --- a/gcc/tree-ssa-phiopt.c +++ b/gcc/tree-ssa-phiopt.c @@ -401,7 +401,7 @@ conditional_replacement (basic_block cond_bb, basic_block middle_bb, cond = COND_EXPR_COND (last_stmt (cond_bb)); result = PHI_RESULT (phi); if (TREE_CODE (cond) != SSA_NAME - && !lang_hooks.types_compatible_p (TREE_TYPE (cond), TREE_TYPE (result))) + && !useless_type_conversion_p (TREE_TYPE (result), TREE_TYPE (cond))) { tree tmp; @@ -418,7 +418,7 @@ conditional_replacement (basic_block cond_bb, basic_block middle_bb, /* If the condition was a naked SSA_NAME and the type is not the same as the type of the result, then convert the type of the condition. */ - if (!lang_hooks.types_compatible_p (TREE_TYPE (cond), TREE_TYPE (result))) + if (!useless_type_conversion_p (TREE_TYPE (result), TREE_TYPE (cond))) cond = fold_convert (TREE_TYPE (result), cond); /* We need to know which is the true edge and which is the false -- cgit v1.2.1