From 116b9c0785184300549dff91bd111f677aea21fe Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Wed, 21 Sep 2011 15:10:31 +0200 Subject: [PATCH] re PR tree-optimization/50433 (ACATS c460010 fails to compile) PR tree-optimization/50433 * ipa-inline-analysis.c (eliminated_by_inlining_prob): Use get_base_address. From-SVN: r179046 --- gcc/ChangeLog | 5 +++++ gcc/ipa-inline-analysis.c | 15 ++++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fb80dc938fd..0f4aa869b34 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-09-21 Jan Hubicka + + PR tree-optimization/50433 + * ipa-inline-analysis.c (eliminated_by_inlining_prob): Use get_base_address. + 2011-09-21 Jakub Jelinek * config/i386/sse.md (3 smaxmin:VI124_128 expander): Use diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c index 6bc96c7788e..fc954b3d101 100644 --- a/gcc/ipa-inline-analysis.c +++ b/gcc/ipa-inline-analysis.c @@ -1149,18 +1149,15 @@ eliminated_by_inlining_prob (gimple stmt) { tree rhs = gimple_assign_rhs1 (stmt); tree lhs = gimple_assign_lhs (stmt); - tree inner_rhs = rhs; - tree inner_lhs = lhs; + tree inner_rhs = get_base_address (rhs); + tree inner_lhs = get_base_address (lhs); bool rhs_free = false; bool lhs_free = false; - while (handled_component_p (inner_lhs) - || TREE_CODE (inner_lhs) == MEM_REF) - inner_lhs = TREE_OPERAND (inner_lhs, 0); - while (handled_component_p (inner_rhs) - || TREE_CODE (inner_rhs) == ADDR_EXPR - || TREE_CODE (inner_rhs) == MEM_REF) - inner_rhs = TREE_OPERAND (inner_rhs, 0); + if (!inner_rhs) + inner_rhs = rhs; + if (!inner_lhs) + inner_lhs = lhs; if (unmodified_parm (stmt, inner_rhs)) rhs_free = true;