diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c948ab1607a8d0345c96f4f8e9091d4f2b9a33e4..f628e709a85eeb248317b82f50d3a8b58ad4f9e2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2012-10-12 Jan Hubicka <jh@suse.cz> + + * web.c (web_main): Do not set DF_RD_PRUNE_DEAD_DEFS flag. + 2012-10-12 Aaron Gray <aaronngray.lists@gmail.com> Diego Novillo <dnovillo@google.com> diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5cff4875fd8055b7a428f5b884d1ea16e0f80cf6..2f4633e2f99a5e93d94ff21807087812e12a7ee0 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2012-10-12 Jan Hubicka <jh@suse.cz> + + * gcc.dg/webizer.c: New testcase. + 2012-10-12 Janis Johnson <janisjo@codesourcery.com> * gcc.dg/vect/pr48765.c: Skip for conflicting options, don't diff --git a/gcc/testsuite/gcc.dg/webizer.c b/gcc/testsuite/gcc.dg/webizer.c new file mode 100644 index 0000000000000000000000000000000000000000..607bf6884d6b3d5c0197aaf5508d3429fa7933ca --- /dev/null +++ b/gcc/testsuite/gcc.dg/webizer.c @@ -0,0 +1,35 @@ +/* { dg-do run } */ +/* { dg-options "-O3 -funroll-loops" } */ +typedef struct rowbox { + int startx ; + int endx ; + int endx1 ; + int startx2 ; + int ypos ; + int desiredL ; +} ROWBOX ; +ROWBOX rowArray1[2] ; +ROWBOX *rowArray = rowArray1; + +int numRows = 2; + +int row = 1; +int block = 0; +double ckt_size_factor ; + +__attribute__ ((noinline)) +configure2() +{ + block = 0 ; + for( row = 1 ; row <= numRows ; row++ ) { + block++ ; + if( rowArray[row].endx1 > 0 ) { + block++ ; + } + } +} + +main() +{ + configure2(); +} diff --git a/gcc/web.c b/gcc/web.c index f60b4b6ad84ea3c080af00b8b5a5dec405f825c3..74904d2c350b1b979312289fb20287368f88774c 100644 --- a/gcc/web.c +++ b/gcc/web.c @@ -313,7 +313,8 @@ web_main (void) rtx insn; df_set_flags (DF_NO_HARD_REGS + DF_EQ_NOTES); - df_set_flags (DF_RD_PRUNE_DEAD_DEFS); + /* We can not RD_PRUNE_DEAD_DEFS, because we care about REG_EQUAL + notes. */ df_chain_add_problem (DF_UD_CHAIN); df_analyze (); df_set_flags (DF_DEFER_INSN_RESCAN);