[Bug rtl-optimization/19038] Loop header copying
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-17 04:28 --- Could someone see if the patch attached to PR 19049 fixes the bug, I am going to submit it anyways since it helps so much fortran code in general and we can vectorize some more loops. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19038
[Bug rtl-optimization/19038] Loop header copying
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-17 04:16 --- I think the problem is the BBs are not being merged if the secondary BB has a user label. If that is so, what we should do is merge the BB and just move the labels. I will try to this and attach the patch so someone can test it as I don't really have access to SPEC. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19038
[Bug rtl-optimization/19038] Loop header copying
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-17 04:05 --- (In reply to comment #3) > If anyone wants the full benchmark I can attach it or sent it to them. That was not for this bug, woops. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19038
[Bug rtl-optimization/19038] Loop header copying
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-17 04:04 --- If anyone wants the full benchmark I can attach it or sent it to them. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19038
[Bug rtl-optimization/19038] Loop header copying
--- Additional Comments From steven at gcc dot gnu dot org 2004-12-16 22:55 --- The interesting thing is that the front end already does the header "copying" when it generates code: { int4 D.1164; D.1164 = nmz; k = 3; k.12 = k; if (k.12 <= D.1164) { :; { ...loop body, straight-line code... __label_000420:; k.12 = k; D.1168 = k.12 == D.1164; k.12 = k; D.1522 = k.12 + 1; k = D.1522; if (D.1168) { goto L.51; } else { } } goto ; } else { } L.51:; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19038
[Bug rtl-optimization/19038] Loop header copying
--- Additional Comments From dje at gcc dot gnu dot org 2004-12-16 21:39 --- The focus of the problem is the inner loop of functio thin6d at line 572. The function consumes 97.5% of the cycles and the inner loop consumes 48.5%. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19038