From 46042c015e2827a82487956b0f50995e4fb80dc4 Mon Sep 17 00:00:00 2001 From: Jan Hubicka <jh@suse.cz> Date: Fri, 12 Oct 2012 22:36:09 +0200 Subject: [PATCH] * web.c (web_main): Do not set DF_RD_PRUNE_DEAD_DEFS flag. From-SVN: r192413 --- gcc/ChangeLog | 4 ++++ gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.dg/webizer.c | 35 ++++++++++++++++++++++++++++++++++ gcc/web.c | 3 ++- 4 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.dg/webizer.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c948ab1607a8..f628e709a85e 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 5cff4875fd80..2f4633e2f99a 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 000000000000..607bf6884d6b --- /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 f60b4b6ad84e..74904d2c350b 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); -- GitLab