[Mesa-dev] [PATCH v2 0/7] nv50/ir: various compiler optimizations

Karol Herbst nouveau at karolherbst.de
Wed Jan 27 09:25:01 PST 2016


changes in my shader-db:

total instructions in shared programs : 1925865 -> 1894759 (-1.62%)
total gprs used in shared programs    : 251863 -> 251715 (-0.06%)
total local used in shared programs   : 5673 -> 5673 (0.00%)
total bytes used in shared programs   : 17657840 -> 17375696 (-1.60%)

                local        gpr       inst      bytes 
    helped           0         160        4125        4125 
      hurt           0          17          22          22

shaders added to shader-db:
 antichamber
 bioshock infinite
 borderlands presequel
 deadcore
 gputest
 saints row IV
 shadow warrior
 talos principle
 unigine heaven/valley
 wasteland 2
 witcher 2

Karol Herbst (7):
  nv50/ir: enable PostRaConstantFolding for [c0,f0)
  nv50/ir: swap sources in PostRaConstantFolding when src0 is imm    
  nv50/ir: optimize neg(and(set, 1)) to set
  nv50/ir: optimize shl(shr(a, c), c) to and(a, ~((1 << c) - 1))
  nv50/ir: add PostRADCE Pass
  nv50/ir: run DCE backwards
  nv50/ir: optimize mad/fma with third argument 0 to mul

 src/gallium/drivers/nouveau/codegen/nv50_ir.h      |    2 +-
 .../drivers/nouveau/codegen/nv50_ir_peephole.cpp   |  151 +-
 .../nouveau/codegen/nv50_ir_peephole.cpp.save      | 3932 ++++++++++++++++++++
 3 files changed, 4053 insertions(+), 32 deletions(-)
 create mode 100644 src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp.save

-- 
2.7.0



More information about the mesa-dev mailing list