From c9a43e546048c169d21baf00bf4d4ead507526de Mon Sep 17 00:00:00 2001 From: hubicka Date: Tue, 29 Nov 2005 08:12:08 +0000 Subject: [PATCH] * ipa-type-escape.c (look_for_casts): Use get_base_var. * tree-inline.c (setup_one_parameter): Accept empty init_stmt (declare_return_variable): Mark symbol for renaming only in SSA form * passes.c (init_optimization_passes): Re-enable ipacp. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ipa-branch@107660 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog.ipa | 7 +++++++ gcc/ipa-type-escape.c | 2 +- gcc/passes.c | 2 +- gcc/tree-inline.c | 5 +++-- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog.ipa b/gcc/ChangeLog.ipa index aa02f31d330..2c562165283 100644 --- a/gcc/ChangeLog.ipa +++ b/gcc/ChangeLog.ipa @@ -1,3 +1,10 @@ +2005-11-29 Jan Hubicka + + * ipa-type-escape.c (look_for_casts): Use get_base_var. + * tree-inline.c (setup_one_parameter): Accept empty init_stmt + (declare_return_variable): Mark symbol for renaming only in SSA form + * passes.c (init_optimization_passes): Re-enable ipacp. + 2005-11-24 Jan Hubicka * Merge from mainline (revsion 107437). diff --git a/gcc/ipa-type-escape.c b/gcc/ipa-type-escape.c index f7cda6a5c8c..5f0bb4d43d8 100644 --- a/gcc/ipa-type-escape.c +++ b/gcc/ipa-type-escape.c @@ -932,7 +932,7 @@ look_for_casts (tree lhs __attribute__((unused)), tree t) || TREE_CODE (t) == INDIRECT_REF || TREE_CODE (t) == BIT_FIELD_REF) { - tree base = get_base_address (t); + tree base = get_base_var (t); while (t != base) { t = TREE_OPERAND (t, 0); diff --git a/gcc/passes.c b/gcc/passes.c index f5e80675a44..517617ee365 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -450,7 +450,7 @@ init_optimization_passes (void) p = &all_ipa_passes; NEXT_PASS (pass_early_ipa_inline); NEXT_PASS (pass_early_local_passes); - /*NEXT_PASS (pass_ipa_cp);*/ + NEXT_PASS (pass_ipa_cp); NEXT_PASS (pass_ipa_inline); NEXT_PASS (pass_ipa_alias); NEXT_PASS (pass_ipa_reference); diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 96b148f6048..70a0eac2a39 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -1387,7 +1387,7 @@ setup_one_parameter (inline_data *id, tree p, tree value, tree fn, push_gimplify_context (); gimplify_stmt (&init_stmt); - if (in_ssa_p && TREE_CODE (init_stmt) == STATEMENT_LIST) + if (in_ssa_p && init_stmt && TREE_CODE (init_stmt) == STATEMENT_LIST) { /* The replacement can expose previously unreferenced variables. */ for (i = tsi_start (init_stmt); !tsi_end_p (i); tsi_next (&i)) @@ -1499,7 +1499,8 @@ declare_return_variable (inline_data *id, tree return_slot_addr, to cause missoptimizations once we start optimizing. */ if (TREE_CODE (base_var) == SSA_NAME) base_var = SSA_NAME_VAR (base_var); - mark_sym_for_renaming (base_var); + if (in_ssa_p) + mark_sym_for_renaming (base_var); var = return_slot_addr; } else -- 2.11.4.GIT