[Mesa-dev] [PATCH] glsl: Remove CSE pass.
imirkin at alum.mit.edu
Sat Oct 3 12:05:53 PDT 2015
On Sat, Oct 3, 2015 at 2:50 PM, Matt Turner <mattst88 at gmail.com> wrote:
> On Sat, Oct 3, 2015 at 11:31 AM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>> On Sat, Oct 3, 2015 at 1:57 PM, Matt Turner <mattst88 at gmail.com> wrote:
>>> With NIR, it actually hurts things.
>> Buuutt.... not everything uses NIR.
>> Of course I'm sure it has a
>> similarly negative effect with nouveau/codegen, but I'm not so sure
>> about things like nv30 which don't have an optimizing compiler
>> backend. IMHO there should be a bit somewhere in the compiler options
>> that indicates whether the driver implements an optimizing compiler,
>> and if so, then all these idiotic optimizations should be removed. [I
>> realize some are needed for correctness, obviously keep those.]
> They're not idiotic. They all serve(d) some useful purpose. To say
> they're idiotic is insulting to the authors.
Poor word choice, didn't mean to belittle the original, rather useful
purpose of these passes. How about "superseded".
> Anyway, the GLSL IR CSE pass was added (commit fd05ede0d0) for a
> single purpose: to fix a performance regression in a broken benchmark
> on i965 after some changes to i965's instruction scheduler. It no
> longer serves that purpose.
> If anything else accidentally benefited from it, they'll simply go
> back to the [acceptable] way they were.
The commit was pushed more than 2 years ago. I think you overestimate
how much testing drivers like nv30 & co get on HEAD. At the same time,
I don't want to create a situation where you guys can't change
anything at the higher levels due to fears of the gathering darkness.
Mostly just wanted to point it out.
More information about the mesa-dev