[Mesa-dev] [PATCH v2 0/6] nv50/ir: PostRaConstantFolding improvements

Karol Herbst karolherbst at gmail.com
Sun Oct 9 09:04:50 UTC 2016


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



More information about the mesa-dev mailing list