[Bug debug/31412] [4.3] inf loop/long compile time, time spent in var-tracking.c

2007-04-03 Thread zadeck at naturalbridge dot com
--- Comment #14 from zadeck at naturalbridge dot com 2007-04-03 16:47 --- Subject: Re: [4.3] inf loop/long compile time, time spent in var-tracking.c steven at gcc dot gnu dot org wrote: > --- Comment #13 from steven at gcc dot gnu dot org 2007-04-03 16:40 > --- > So this m

[Bug debug/31412] [4.3] inf loop/long compile time, time spent in var-tracking.c

2007-04-03 Thread steven at gcc dot gnu dot org
--- Comment #13 from steven at gcc dot gnu dot org 2007-04-03 16:40 --- So this may be a non-monotonous dataflow problem...? Do we have the dataflow equations of the var-tracking problem somewhere? It'd be interesting to check them against the actual implementation. -- http://gcc.

[Bug debug/31412] [4.3] inf loop/long compile time, time spent in var-tracking.c

2007-04-03 Thread paolo dot bonzini at lu dot unisi dot ch
--- Comment #12 from paolo dot bonzini at lu dot unisi dot ch 2007-04-03 13:59 --- Subject: Re: [4.3] inf loop/long compile time, time spent in var-tracking.c > With dataflow branch that was compiled with profiling the testcase finishes > not too slow: This suggest that it is a bug

[Bug debug/31412] [4.3] inf loop/long compile time, time spent in var-tracking.c

2007-04-03 Thread rguenth at gcc dot gnu dot org
--- Comment #11 from rguenth at gcc dot gnu dot org 2007-04-03 13:56 --- With dataflow branch that was compiled with profiling the testcase finishes not too slow: Each sample counts as 0.01 seconds. % cumulative self self total time seconds second

[Bug debug/31412] [4.3] inf loop/long compile time, time spent in var-tracking.c

2007-04-03 Thread rguenth at gcc dot gnu dot org
--- Comment #10 from rguenth at gcc dot gnu dot org 2007-04-03 13:50 --- At least all the attr_list stuff is O(N) as it uses a linked list for static attrs attrs_list_member (attrs list, tree decl, HOST_WIDE_INT offset) { for (; list; list = list->next) if (list->decl == decl &&

[Bug debug/31412] [4.3] inf loop/long compile time, time spent in var-tracking.c

2007-04-03 Thread rguenth at gcc dot gnu dot org
--- Comment #9 from rguenth at gcc dot gnu dot org 2007-04-03 13:45 --- If I ignore abnormal edges the computation finishes. Of course I have no idea what happens in that case ;) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31412

[Bug debug/31412] [4.3] inf loop/long compile time, time spent in var-tracking.c

2007-04-03 Thread bonzini at gnu dot org
--- Comment #8 from bonzini at gnu dot org 2007-04-03 13:38 --- I wouldn't say so. If there is a bug and the df solver oscillates, that's the reason for the infinite loop. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31412

[Bug debug/31412] [4.3] inf loop/long compile time, time spent in var-tracking.c

2007-04-03 Thread rguenth at gcc dot gnu dot org
--- Comment #7 from rguenth at gcc dot gnu dot org 2007-04-03 13:36 --- Ok, let's defer a solution to after the df merge. Certainly something to look at. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added --

[Bug debug/31412] [4.3] inf loop/long compile time, time spent in var-tracking.c

2007-04-03 Thread bonzini at gnu dot org
--- Comment #6 from bonzini at gnu dot org 2007-04-03 13:33 --- anyway, the code looks well written. the dataflow_set_* functions look inefficient, though. maybe it's also possible to replace hash tables with pointer maps (there is a 1:1 relationships between decl nodes and their DECL_

[Bug debug/31412] [4.3] inf loop/long compile time, time spent in var-tracking.c

2007-04-03 Thread bonzini at gnu dot org
--- Comment #5 from bonzini at gnu dot org 2007-04-03 13:31 --- well, for sure it would be possible to use df and a good example of that too. But I'm not *that* knowledgeable about the df-*.c implementation. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31412

[Bug debug/31412] [4.3] inf loop/long compile time, time spent in var-tracking.c

2007-04-03 Thread rguenth at gcc dot gnu dot org
--- Comment #4 from rguenth at gcc dot gnu dot org 2007-04-03 13:30 --- The easiest thing is probably to ignore abnormal edges: Index: var-tracking.c === *** var-tracking.c (revision 123450) --- var-tracking.c (wo

[Bug debug/31412] [4.3] inf loop/long compile time, time spent in var-tracking.c

2007-04-03 Thread rguenth at gcc dot gnu dot org
--- Comment #3 from rguenth at gcc dot gnu dot org 2007-04-03 13:24 --- Well, vt_find_locations is quadratic in the number of edges and basic blocks which we have a _lot_ in this testcase. Now, with the dataflow rewrite there may be an easier way to compute the df problem. Maybe Paolo

[Bug debug/31412] [4.3] inf loop/long compile time, time spent in var-tracking.c

2007-03-31 Thread tbm at cyrius dot com
--- Comment #2 from tbm at cyrius dot com 2007-03-31 18:29 --- Created an attachment (id=13310) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13310&action=view) preprocessed source I attached the wrong file before. This one is correct. -- http://gcc.gnu.org/bugzilla/show_bug