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

Also implements folding for mad on gf100+ ISAs to reduce instruction count
by ~0.37%

I can only test it on a gk106 for now.

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

 src/gallium/drivers/nouveau/codegen/nv50_ir.h      |   2 +-
 .../drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp |  49 ++++--
 .../drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp |  32 +++-
 .../drivers/nouveau/codegen/nv50_ir_peephole.cpp   | 189 +++++++++++++--------
 src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp |   3 +-
 5 files changed, 176 insertions(+), 99 deletions(-)

-- 
2.10.0

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to