This series reworks the structure of the pass to make it easier to add more optimisations to it.
Still have to run a full piglit on my gk106 with this, but g80, gk110 and gm107 should be tested as well, but I can't. v2: swaped the last two commits changes for shader-db: total instructions in shared programs : 2818606 -> 2808429 (-0.36%) total gprs used in shared programs : 379273 -> 379236 (-0.01%) total local used in shared programs : 9505 -> 9505 (0.00%) total bytes used in shared programs : 25837192 -> 25743616 (-0.36%) local gpr inst bytes helped 0 26 4093 4093 hurt 0 20 61 61 Karol Herbst (6): gk110/ir: add LIMM form of mad gm107/ir: add LIMM form of mad nv50/ir: replace post_ra_dead by Instruction::isDead nv50/ir: restructure postraconstantfolding pass nv50/ir: implement mad post ra folding for nvc0+ nv50/ra: always prefer def == src2 for mad/sad src/gallium/drivers/nouveau/codegen/nv50_ir.h | 2 +- .../drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp | 50 ++++-- .../drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp | 35 +++- .../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 184 +++++++++++++-------- src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp | 3 +- 5 files changed, 177 insertions(+), 97 deletions(-) -- 2.10.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev