http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
Richard Biener changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #23 from Richard Biener 2012-10-29
14:25:32 UTC ---
Author: rguenth
Date: Mon Oct 29 14:25:22 2012
New Revision: 192943
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192943
Log:
2012-10-29 Richard Guenther
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
Richard Biener changed:
What|Removed |Added
Priority|P1 |P3
--- Comment #22 from Richar
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
Richard Guenther changed:
What|Removed |Added
Priority|P3 |P1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #21 from rguenther at suse dot de
2012-08-23 11:22:19 UTC ---
On Thu, 23 Aug 2012, rguenther at suse dot de wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
>
> Btw, another idea would be to make labels that are target of
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #20 from rguenther at suse dot de
2012-08-23 11:00:29 UTC ---
On Thu, 23 Aug 2012, rguenther at suse dot de wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
>
> --- Comment #17 from rguenther at suse dot de
> 2012-08-23
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #19 from Steven Bosscher 2012-08-23
09:44:18 UTC ---
FWIW, applying the transformation tracer performs on the test case by hand:
void
foo (const void * * p)
{
void *labs[] = { &&l1, &&l2, &&l3 };
void *gotovar;
long unsigned i
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #18 from rguenther at suse dot de
2012-08-23 09:22:54 UTC ---
On Thu, 23 Aug 2012, rguenther at suse dot de wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
>
> --- Comment #17 from rguenther at suse dot de
> 2012-08-23
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #17 from rguenther at suse dot de
2012-08-23 09:19:04 UTC ---
On Thu, 23 Aug 2012, steven at gcc dot gnu.org wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
>
> --- Comment #16 from Steven Bosscher 2012-08-23
> 08:53:04
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #16 from Steven Bosscher 2012-08-23
08:53:04 UTC ---
(In reply to comment #15)
> Makes me wonder why the loop isn't recognized in the original test case...
Ah, maybe because bb3 has an abnormal predecessor and is therefore ignored as
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #15 from stevenb.gcc at gmail dot com 2012-08-23 08:49:32 UTC ---
On Thu, Aug 23, 2012 at 10:07 AM, rguenther at suse dot de
wrote:
> Already the input to tracer is "wrong" in that we have "lost"
> a loop, the one with abnormal path f
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #14 from rguenther at suse dot de
2012-08-23 08:10:15 UTC ---
On Thu, 23 Aug 2012, stevenb.gcc at gmail dot com wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
>
> --- Comment #12 from stevenb.gcc at gmail dot com com> 2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #13 from rguenther at suse dot de
2012-08-23 08:07:18 UTC ---
On Thu, 23 Aug 2012, rguenther at suse dot de wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
>
> --- Comment #11 from rguenther at suse dot de
> 2012-08-23
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #12 from stevenb.gcc at gmail dot com 2012-08-23 07:56:13 UTC ---
> The patch is of couse a "big hammer" because it has a cost, but IMHO
> it still makes sense.
I'm not convinced. GCC has always detected this kind of loop (even the
ol
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #11 from rguenther at suse dot de
2012-08-23 07:36:46 UTC ---
On Wed, 22 Aug 2012, steven at gcc dot gnu.org wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
>
> --- Comment #9 from Steven Bosscher 2012-08-22
> 21:33:18
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #10 from rguenther at suse dot de
2012-08-23 07:29:04 UTC ---
On Wed, 22 Aug 2012, steven at gcc dot gnu.org wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
>
> Steven Bosscher changed:
>
>What|Removed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #9 from Steven Bosscher 2012-08-22
21:33:18 UTC ---
I think the right fix for this bug is to use disambiguate_multiple_latches in
the loop updating code (fix_loop_structure), but I'm not sure where to put it.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #8 from Steven Bosscher 2012-08-22
20:20:22 UTC ---
FWIW, GCC handles loops with one header and multiple latches just fine:
void do_something_1 (void);
void do_something_2 (void);
int some_cond (void);
void
foo (void)
{
while (1)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #7 from Steven Bosscher 2012-08-22
20:13:32 UTC ---
Before tracer we have this CFG:
ENTRY
|
V
|
2(0)
|
|
V
|(a)
| +-<-+
V /|
| / / (a)
3(1)->-4(1)-->--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
Steven Bosscher changed:
What|Removed |Added
CC||steven at gcc dot gnu.org
--- Comment #
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #5 from Richard Guenther 2012-08-22
09:36:10 UTC ---
Patch that was posted (no comments yet):
http://gcc.gnu.org/ml/gcc-patches/2012-06/msg01754.html
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #4 from Richard Guenther 2012-06-27
10:32:53 UTC ---
I am testing
Index: gcc/cfgloop.c
===
*** gcc/cfgloop.c (revision 188987)
--- gcc/cfgloop.c (working cop
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
Richard Guenther changed:
What|Removed |Added
CC||rakdver at gcc dot gnu.org
Known
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
Richard Guenther changed:
What|Removed |Added
Status|NEW |ASSIGNED
AssignedTo|unassigned
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
H.J. Lu changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|
25 matches
Mail list logo