Commit 530a4800 by Jakub Jelinek

re PR debug/47881 (-fcompare-debug failure (length) with -O -fno-dce -funroll-loops -fno-web)

	PR debug/47881
	* ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
	removed anything.

	* gcc.dg/pr47881.c: New test.

From-SVN: r170780
parent 9ca6556e
2011-03-08 Jakub Jelinek <jakub@redhat.com> 2011-03-08 Jakub Jelinek <jakub@redhat.com>
PR debug/47881
* ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
removed anything.
PR tree-optimization/48022 PR tree-optimization/48022
* fold-const.c (fold_comparison): Don't call fold_overflow_warning * fold-const.c (fold_comparison): Don't call fold_overflow_warning
for EQ/NE_EXPR. for EQ/NE_EXPR.
......
2011-03-08 Dodji Seketeli <dodji@redhat.com> 2011-03-08 Dodji Seketeli <dodji@redhat.com>
PR c++/47957
* name-lookup.c (binding_to_template_parms_of_scope_p): Only * name-lookup.c (binding_to_template_parms_of_scope_p): Only
consider scopes of primary template definitions. Adjust comments. consider scopes of primary template definitions. Adjust comments.
......
/* Integrated Register Allocator (IRA) entry point. /* Integrated Register Allocator (IRA) entry point.
Copyright (C) 2006, 2007, 2008, 2009, 2010 Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc. Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>. Contributed by Vladimir Makarov <vmakarov@redhat.com>.
...@@ -3232,7 +3232,8 @@ ira (FILE *f) ...@@ -3232,7 +3232,8 @@ ira (FILE *f)
check_allocation (); check_allocation ();
#endif #endif
delete_trivially_dead_insns (get_insns (), max_reg_num ()); if (delete_trivially_dead_insns (get_insns (), max_reg_num ()))
df_analyze ();
init_reg_equiv_memory_loc (); init_reg_equiv_memory_loc ();
......
2011-03-08 Jakub Jelinek <jakub@redhat.com>
PR debug/47881
* gcc.dg/pr47881.c: New test.
2011-03-08 Dodji Seketeli <dodji@redhat.com> 2011-03-08 Dodji Seketeli <dodji@redhat.com>
PR c++/47957
* g++.dg/lookup/template3.C: New test. * g++.dg/lookup/template3.C: New test.
2011-03-08 Kai Tietz <ktietz@redhat.com> 2011-03-08 Kai Tietz <ktietz@redhat.com>
......
/* PR debug/47881 */
/* { dg-do compile } */
/* { dg-options "-O -fcompare-debug -fno-dce -funroll-loops -fno-web" } */
extern int data[];
int
foo (int *t, int *f, int n)
{
int i = 0, a, b, c, d;
while (data[*f] && n)
n--;
for (; i < n; i += 4)
{
a = data[*(f++) & 0x7f];
c = data[*(f++) & 0x7f];
c = data[*(f++) & 0x7f];
d = data[*(f++) & 0x7f];
if ((a & 0x80) || (b & 0x80) || (c & 0x80) || (d & 0x80))
return 1;
*(t++) = 16;
}
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment