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

Samuel Pitoiset samuel.pitoiset at gmail.com
Sat Oct 8 16:58:43 UTC 2016


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. :)

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


More information about the mesa-dev mailing list