[Mesa-dev] [PATCH] nv50/ir: start LocalCSE with getFirst to merge PHI instructions

Samuel Pitoiset samuel.pitoiset at gmail.com
Tue Oct 25 09:18:55 UTC 2016



On 10/08/2016 06:58 PM, Samuel Pitoiset wrote:
> This breaks a bunch of things, like:
>
> spec/glsl-4.30/execution/built-in-functions/cs-all-bvec2-using-if: fail
> spec/glsl-4.30/execution/built-in-functions/cs-all-bvec3-using-if: fail
> spec/glsl-4.30/execution/built-in-functions/cs-all-bvec4-using-if: fail
> spec/glsl-4.30/execution/built-in-functions/cs-any-bvec2-using-if: fail
> spec/glsl-4.30/execution/built-in-functions/cs-any-bvec3-using-if: fail
> spec/glsl-4.30/execution/built-in-functions/cs-any-bvec4-using-if: fail
>
> Piglit spotted those on GK110, please figure out and send a v2. :)

Looks fine now.

Maybe you can reply and update the shader-db results since I added a 
bunch of new shaders from F1, Shadow Of Mordor, etc?

> On 10/06/2016 11:33 PM, Karol Herbst wrote:
>> total instructions in shared programs : 2818606 -> 2818227 (-0.01%)
>> total gprs used in shared programs    : 379273 -> 379238 (-0.01%)
>> total local used in shared programs   : 9505 -> 9505 (0.00%)
>> total bytes used in shared programs   : 25837192 -> 25833736 (-0.01%)
>>
>>                 local        gpr       inst      bytes
>>     helped           0          25         100         100
>>       hurt           0           0           0           0
>>
>> Signed-off-by: Karol Herbst <karolherbst at gmail.com>
>> ---
>>  src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
>> b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
>> index 1c71155..168aa05 100644
>> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
>> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
>> @@ -3220,7 +3220,7 @@ LocalCSE::visit(BasicBlock *bb)
>>        for (ir = bb->getFirst(); ir; ir = ir->next)
>>           ir->serial = serial++;
>>
>> -      for (ir = bb->getEntry(); ir; ir = next) {
>> +      for (ir = bb->getFirst(); ir; ir = next) {
>>           int s;
>>           Value *src = NULL;
>>
>>

-- 
-Samuel


More information about the mesa-dev mailing list