This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[ipa-branch]: Fix some bitrot
- From: Jan Hubicka <jh at suse dot cz>
- To: gcc-patches at gcc dot gnu dot org
- Date: Tue, 29 Nov 2005 09:14:15 +0100
- Subject: [ipa-branch]: Fix some bitrot
Hi,
few things that broke with last merges. I also accidentally left ipacp
pass disabled.
Honza
Index: ChangeLog.ipa
===================================================================
*** ChangeLog.ipa (revision 107438)
--- ChangeLog.ipa (working copy)
***************
*** 1,3 ****
--- 1,10 ----
+ 2005-11-29 Jan Hubicka <jh@suse.cz>
+
+ * 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 <jh@suse.cz>
* Merge from mainline (revsion 107437).
Index: ipa-type-escape.c
===================================================================
*** ipa-type-escape.c (revision 107431)
--- ipa-type-escape.c (working copy)
*************** look_for_casts (tree lhs __attribute__((
*** 932,938 ****
|| TREE_CODE (t) == INDIRECT_REF
|| TREE_CODE (t) == BIT_FIELD_REF)
{
! tree base = get_base_address (t);
while (t != base)
{
t = TREE_OPERAND (t, 0);
--- 932,938 ----
|| TREE_CODE (t) == INDIRECT_REF
|| TREE_CODE (t) == BIT_FIELD_REF)
{
! tree base = get_base_var (t);
while (t != base)
{
t = TREE_OPERAND (t, 0);
Index: tree-inline.c
===================================================================
*** tree-inline.c (revision 107431)
--- tree-inline.c (working copy)
*************** setup_one_parameter (inline_data *id, tr
*** 1387,1393 ****
push_gimplify_context ();
gimplify_stmt (&init_stmt);
! if (in_ssa_p && 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))
--- 1387,1393 ----
push_gimplify_context ();
gimplify_stmt (&init_stmt);
! 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))
*************** declare_return_variable (inline_data *id
*** 1499,1505 ****
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);
var = return_slot_addr;
}
else
--- 1499,1506 ----
to cause missoptimizations once we start optimizing. */
if (TREE_CODE (base_var) == SSA_NAME)
base_var = SSA_NAME_VAR (base_var);
! if (in_ssa_p)
! mark_sym_for_renaming (base_var);
var = return_slot_addr;
}
else
Index: passes.c
===================================================================
*** passes.c (revision 107437)
--- passes.c (working copy)
*************** init_optimization_passes (void)
*** 450,456 ****
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_inline);
NEXT_PASS (pass_ipa_alias);
NEXT_PASS (pass_ipa_reference);
--- 450,456 ----
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_inline);
NEXT_PASS (pass_ipa_alias);
NEXT_PASS (pass_ipa_reference);