--- Comment #15 from rakdver at gcc dot gnu dot org 2007-04-17 17:42
---
Subject: Bug 31360
Author: rakdver
Date: Tue Apr 17 17:42:29 2007
New Revision: 123919
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123919
Log:
PR rtl-optimization/31360
* cfgloopanal.c (
--
rakdver at gcc dot gnu dot org changed:
What|Removed |Added
AssignedTo|unassigned at gcc dot gnu |rakdver at gcc dot gnu dot
|dot org
--- Comment #14 from mmitchel at gcc dot gnu dot org 2007-04-15 23:10
---
I think we can all agree that this is an important bug, even if we're not all
agreed about exactly how to fix it. This seems likely be to a frequent
problem.
Therefore, despite the fact this is "just" a missed o
--- Comment #13 from rakdver at atrey dot karlin dot mff dot cuni dot cz
2007-03-26 23:05 ---
Subject: Re: [4.2/4.3 Regression] rtl loop invariant is broken
> Zdenek, what is the size heuristic for anyway? For powerpc, the current
> heuristic tells the compiler not to move any simple
--
steven at gcc dot gnu dot org changed:
What|Removed |Added
Target Milestone|4.3.0 |4.2.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31360
--- Comment #12 from steven at gcc dot gnu dot org 2007-03-26 22:43 ---
Zdenek, what is the size heuristic for anyway? For powerpc, the current
heuristic tells the compiler not to move any simple moves:
1) An invariant with a gain of 0 will not be moved.
2) gain = comp_cost - size_cost
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
Target Milestone|4.3.0 |4.2.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31360
--- Comment #11 from steven at gcc dot gnu dot org 2007-03-26 22:36 ---
And of course the hack doesn't actually work :-) But it's still just a
heuristics tweak what we need here.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31360
--- Comment #10 from steven at gcc dot gnu dot org 2007-03-26 22:33 ---
Just a small heuristics problem. This could be fixed by giving insns to move
with comp_cost - size_cost == 0 in gain_for_invariant a small gain anyway. Or
maybe comp_cost should overrule size_cost.
Just as a demon
--- Comment #9 from pinskia at gcc dot gnu dot org 2007-03-26 22:17 ---
This is still a 4.2 regression.
4.2 produces:
.L2:
li 0,100
stwx 0,9,3
addi 9,9,4
bdnz .L2
blr
While 4.1 produces:
.L2:
stwx 0,9,3
addi 9,9,4
bdnz .L2
--- Comment #8 from steven at gcc dot gnu dot org 2007-03-26 22:13 ---
Re. comment #5
Andrew, stop spreading nonsense. Other compilers do take register pressure
into account. In fact, they do so much better than GCC usually does. (In GCC
you can't do it well because instructions are
--- Comment #7 from pinskia at gcc dot gnu dot org 2007-03-26 22:11 ---
Plus I just tested the 4.2 branch and it is broken there also, G.
Sorry for finding this late in the release cycle but I guess nobody really
looked at the code quality after loop.c was turned off and rtl
12 matches
Mail list logo