[Bug rtl-optimization/19038] Loop header copying

2004-12-16 Thread pinskia at gcc dot gnu dot org

--- 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

2004-12-16 Thread pinskia at gcc dot gnu dot org

--- 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

2004-12-16 Thread pinskia at gcc dot gnu dot org

--- 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

2004-12-16 Thread pinskia at gcc dot gnu dot org

--- 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

2004-12-16 Thread steven at gcc dot gnu dot org

--- 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

2004-12-16 Thread dje at gcc dot gnu dot org

--- 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