This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/16967] New: Iterating gcse.c CPROP and PRE does not reach a fixed point


Consider the following test case on i686: 
 
struct hblk 
{ 
  struct hblk *hb_next; 
}; 
 
extern struct hblk *GC_hblkfreelist[]; 
 
void 
GC_print_hblkfreelist (void) 
{ 
  struct hblk *h; 
  struct hblk *hhdr; 
  int i; 
 
  for (i = 0; i < 3; ++i) 
    { 
      h = GC_hblkfreelist[i]; 
 
      while (h != 0) 
        h = hhdr->hb_next; 
    } 
} 
 
$ ./cc1 -O2 -dG --param max-gcse-passes=100 t.i 
$ grep "pass 100" t.i.*.gcse 
GCSE pass 100 
CPROP of GC_print_hblkfreelist, pass 100: 11472 bytes needed, 1 local const 
props, 0 local copy props, 1 global const props, 0 global copy props 
PRE GCSE of GC_print_hblkfreelist, pass 100: 13940 bytes needed, 1 substs, 1 
insns created 
 
What seems particularly dubious is that the SET hash table just 
keeps on growing: 
SET hash table (11 buckets, 2 entries) 
SET hash table (11 buckets, 3 entries) 
SET hash table (11 buckets, 4 entries) 
SET hash table (11 buckets, 5 entries) 
SET hash table (11 buckets, 6 entries) 
SET hash table (11 buckets, 7 entries) 
SET hash table (11 buckets, 8 entries) 
SET hash table (11 buckets, 9 entries) 
SET hash table (11 buckets, 10 entries) 
SET hash table (11 buckets, 11 entries) 
SET hash table (11 buckets, 12 entries) 
SET hash table (11 buckets, 13 entries) 
SET hash table (11 buckets, 14 entries) 
SET hash table (11 buckets, 15 entries) 
SET hash table (11 buckets, 16 entries) 
SET hash table (11 buckets, 17 entries) 
SET hash table (11 buckets, 18 entries) 
SET hash table (11 buckets, 19 entries) 
SET hash table (11 buckets, 20 entries) 
SET hash table (11 buckets, 21 entries) 
SET hash table (11 buckets, 22 entries) 
(etc...)

-- 
           Summary: Iterating gcse.c CPROP and PRE does not reach a fixed
                    point
           Product: gcc
           Version: 3.5.0
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: steven at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org,law at redhat dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16967


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]