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

Karol Herbst karolherbst at gmail.com
Sun Oct 30 21:20:01 UTC 2016


This series reworks the structure of the pass to make it easier to add
more optimisations to it.

Patches 1-3 can be merged without 4-6

v2: swaped the last two commits
v3: reworked order

changes for shader-db:
total instructions in shared programs : 3499445 -> 3487792 (-0.33%)
total gprs used in shared programs    : 453803 -> 453804 (0.00%)
total local used in shared programs   : 21621 -> 21621 (0.00%)
total bytes used in shared programs   : 32074936 -> 31968072 (-0.33%)

                local        gpr       inst      bytes 
    helped           0          26        4591        4591 
      hurt           0          23          64          64

Karol Herbst (6):
  nv50/ir: restructure postraconstantfolding pass
  nv50/ir: implement mad post ra folding for nvc0+
  nv50/ra: always prefer def == src2 for mad/sad
  gk110/ir: add LIMM form of mad
  gm107/ir: add LIMM form of mad
  nv50/ir: replace post_ra_dead by Instruction::isDead

 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   | 173 +++++++++++++--------
 src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp |   3 +-
 5 files changed, 166 insertions(+), 97 deletions(-)

-- 
2.10.1



More information about the mesa-dev mailing list