------- Comment #11 from law at redhat dot com 2005-10-31 23:18 ------- Subject: Re: [4.1 Regression] Slowdown of the bresenham line drawing by roughly 20%
On Mon, 2005-10-31 at 20:55 +0000, hubicka at gcc dot gnu dot org wrote: > > ------- Comment #10 from hubicka at gcc dot gnu dot org 2005-10-31 20:55 > ------- > Jeff, you missed the propagation DOM makes that hurts register allocation > indpeendently on whether code sinking does or does not it's job. > In reality code sinking (that appeared in GCC after I reported the bug) > improves the code as we create conditional move: The complaint earlier in the PR indicates the problem is too many jumps in the code (comment #6). My analysis was focused on that specific issue -- and for that issue DOM isn't the culprit. The culprits for that issue are the combination of edge splitting and code sinking. So according to you, the issue here isn't the jumps, but the lack of a conditional move? Right? I'll also note that the propagation done by DOM is exactly the same kind of thing that CSE is going to do and likely the same thing that Daniel's reassociation pass is likely to do (I haven't looked at the latter in detail, so maybe somehow it avoids the problem). It may be the case that this can't be fixed and would be a classic problem of optimizations sometimes doing bad things. jeff -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23181