[PATCH][mem-ref2] Disable struct-reorg
Richard Guenther
rguenther@suse.de
Mon Jun 7 13:03:00 GMT 2010
This disables IPA struct-reorg and XFAILs all testcases. I tried
to fix it up, but even its analysis phase is non-conservative.
Hopeless.
Committed to the branch.
Richard.
2010-06-07 Richard Guenther <rguenther@suse.de>
* ipa-struct-reorg.c (reorg_structs_drive): Disable.
* gcc.dg/struct: XFAIL all testcases.
Index: gcc/ipa-struct-reorg.c
===================================================================
*** gcc/ipa-struct-reorg.c (revision 160359)
--- gcc/ipa-struct-reorg.c (working copy)
*************** reorg_structs (void)
*** 4033,4039 ****
static unsigned int
reorg_structs_drive (void)
{
! reorg_structs ();
return 0;
}
--- 4033,4041 ----
static unsigned int
reorg_structs_drive (void)
{
! /* IPA struct-reorg is completely broken - its analysis phase is
! non-conservative (which is not the only reason it is broken). */
! /* reorg_structs (); */
return 0;
}
Index: gcc/testsuite/gcc.dg/struct/w_prof_two_strs.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/w_prof_two_strs.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/w_prof_two_strs.c (working copy)
*************** main ()
*** 61,66 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final-use { scan-ipa-dump "Number of structures to transform is 2" "ipa_struct_reorg" } } */
/* { dg-final-use { cleanup-ipa-dump "*" } } */
--- 61,66 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final-use { scan-ipa-dump "Number of structures to transform is 2" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final-use { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/wo_prof_escape_arg_to_local.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/wo_prof_escape_arg_to_local.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/wo_prof_escape_arg_to_local.c (working copy)
*************** main ()
*** 42,46 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "is passed to local function...Excluded." "ipa_struct_reorg" } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
--- 42,46 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "is passed to local function...Excluded." "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/wo_prof_global_var.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/wo_prof_global_var.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/wo_prof_global_var.c (working copy)
*************** main ()
*** 42,46 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail { "avr-*-*" } } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
--- 42,46 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/wo_prof_malloc_size_var.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/wo_prof_malloc_size_var.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/wo_prof_malloc_size_var.c (working copy)
*************** main ()
*** 44,48 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail { "avr-*-*" } } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
--- 44,48 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/w_prof_local_array.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/w_prof_local_array.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/w_prof_local_array.c (working copy)
*************** main ()
*** 34,38 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail { "avr-*-*" } } } } */
/* { dg-final-use { cleanup-ipa-dump "*" } } */
--- 34,38 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final-use { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/w_prof_single_str_global.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/w_prof_single_str_global.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/w_prof_single_str_global.c (working copy)
*************** main ()
*** 28,33 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail { "avr-*-*" } } } } */
/* { dg-final-use { cleanup-ipa-dump "*" } } */
--- 28,33 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final-use { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/wo_prof_escape_str_init.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/wo_prof_escape_str_init.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/wo_prof_escape_str_init.c (working copy)
*************** main ()
*** 28,33 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "is initialized...Excluded" "ipa_struct_reorg" } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
--- 28,33 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "is initialized...Excluded" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/wo_prof_array_through_pointer.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/wo_prof_array_through_pointer.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/wo_prof_array_through_pointer.c (working copy)
*************** main ()
*** 35,39 ****
return 0;
}
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
--- 35,39 ----
return 0;
}
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/w_prof_global_array.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/w_prof_global_array.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/w_prof_global_array.c (working copy)
*************** main ()
*** 26,30 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" } } */
/* { dg-final-use { cleanup-ipa-dump "*" } } */
--- 26,30 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final-use { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/wo_prof_array_field.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/wo_prof_array_field.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/wo_prof_array_field.c (working copy)
*************** int main()
*** 23,27 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail { "avr-*-*" } } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
--- 23,27 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/wo_prof_single_str_local.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/wo_prof_single_str_local.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/wo_prof_single_str_local.c (working copy)
*************** main ()
*** 31,35 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "No structures to transform" "ipa_struct_reorg" { xfail { "avr-*-*" } } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
--- 31,35 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "No structures to transform" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/w_prof_local_var.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/w_prof_local_var.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/w_prof_local_var.c (working copy)
*************** main ()
*** 37,41 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" } } */
/* { dg-final-use { cleanup-ipa-dump "*" } } */
--- 37,41 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final-use { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/wo_prof_two_strs.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/wo_prof_two_strs.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/wo_prof_two_strs.c (working copy)
*************** main ()
*** 64,68 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 2" "ipa_struct_reorg" { xfail { "avr-*-*" } } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
--- 64,68 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 2" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/wo_prof_empty_str.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/wo_prof_empty_str.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/wo_prof_empty_str.c (working copy)
*************** main ()
*** 43,47 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "No structures to transform" "ipa_struct_reorg" { xfail { "avr-*-*" } } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
--- 43,47 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "No structures to transform" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/wo_prof_local_array.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/wo_prof_local_array.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/wo_prof_local_array.c (working copy)
*************** main ()
*** 37,41 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail { "avr-*-*" } } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
--- 37,41 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/w_prof_global_var.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/w_prof_global_var.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/w_prof_global_var.c (working copy)
*************** main ()
*** 39,43 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail { "avr-*-*" } } } } */
/* { dg-final-use { cleanup-ipa-dump "*" } } */
--- 39,43 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final-use { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/wo_prof_single_str_global.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/wo_prof_single_str_global.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/wo_prof_single_str_global.c (working copy)
*************** main ()
*** 31,35 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail { "avr-*-*" } } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
--- 31,35 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/wo_prof_escape_substr_value.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/wo_prof_escape_substr_value.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/wo_prof_escape_substr_value.c (working copy)
*************** main ()
*** 42,46 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "is a field in the structure" "ipa_struct_reorg" } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
--- 42,46 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "is a field in the structure" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/wo_prof_global_array.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/wo_prof_global_array.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/wo_prof_global_array.c (working copy)
*************** main ()
*** 29,33 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail { "avr-*-*" } } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
--- 29,33 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/wo_prof_escape_return.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/wo_prof_escape_return.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/wo_prof_escape_return.c (working copy)
*************** main ()
*** 29,33 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "is return type of function...Excluded" "ipa_struct_reorg" } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
--- 29,33 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "is return type of function...Excluded" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/wo_prof_escape_substr_array.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/wo_prof_escape_substr_array.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/wo_prof_escape_substr_array.c (working copy)
*************** main ()
*** 30,34 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "is a field in the structure" "ipa_struct_reorg" } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
--- 30,34 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "is a field in the structure" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/wo_prof_double_malloc.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/wo_prof_double_malloc.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/wo_prof_double_malloc.c (working copy)
*************** int main()
*** 26,30 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail { "avr-*-*" } } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
--- 26,30 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/w_ratio_cold_str.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/w_ratio_cold_str.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/w_ratio_cold_str.c (working copy)
*************** main ()
*** 39,43 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" } } */
/* { dg-final-use { cleanup-ipa-dump "*" } } */
--- 39,43 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final-use { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/wo_prof_escape_substr_pointer.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/wo_prof_escape_substr_pointer.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/wo_prof_escape_substr_pointer.c (working copy)
*************** main (void)
*** 45,49 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "is a field in the structure" "ipa_struct_reorg" } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
--- 45,49 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "is a field in the structure" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
Index: gcc/testsuite/gcc.dg/struct/wo_prof_local_var.c
===================================================================
*** gcc/testsuite/gcc.dg/struct/wo_prof_local_var.c (revision 160359)
--- gcc/testsuite/gcc.dg/struct/wo_prof_local_var.c (working copy)
*************** main ()
*** 40,44 ****
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail { "avr-*-*" } } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
--- 40,44 ----
}
/*--------------------------------------------------------------------------*/
! /* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */
/* { dg-final { cleanup-ipa-dump "*" } } */
More information about the Gcc-patches
mailing list