This series it based off the "nv50/ir: don't rely on inbound edge order in phi
nodes" series. It differs in that it creates BaseInstruction, a class that both
PhiInstruction and Instruction inherit from. This is so that it's more
difficult to create incorrect phi instructions.

It's rather large, but a good portion of it is just changing type declarations
to use BaseInstruction, adding casts or moving code around for BaseInstruction.

After applying both patches, no regressions were found with Unigine Heaven,
Valley or Superposition with my GTX 1060. Before splitting into two patches,
the changes were tested with shader-db and piglit's quick profile and no
changes were found with the same card.

Rhys Perry (2):
  nv50/ir: create PhiInstruction as a sibling of Instruction
  nv50/ir: don't rely on inbound edge order in phi nodes

 src/gallium/drivers/nouveau/codegen/nv50_ir.cpp    | 154 ++++++++----
 src/gallium/drivers/nouveau/codegen/nv50_ir.h      | 189 +++++++++------
 src/gallium/drivers/nouveau/codegen/nv50_ir_bb.cpp |  71 +++---
 .../drivers/nouveau/codegen/nv50_ir_build_util.h   |  12 +-
 .../drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp |  24 +-
 .../drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp  |  24 +-
 .../drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp  |  10 +-
 .../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp  |  16 +-
 .../drivers/nouveau/codegen/nv50_ir_inlines.h      |  55 ++++-
 .../nouveau/codegen/nv50_ir_lowering_nv50.cpp      |  24 +-
 .../nouveau/codegen/nv50_ir_lowering_nvc0.cpp      |  54 ++---
 .../nouveau/codegen/nv50_ir_lowering_nvc0.h        |  16 +-
 .../drivers/nouveau/codegen/nv50_ir_peephole.cpp   | 269 +++++++++++----------
 .../drivers/nouveau/codegen/nv50_ir_print.cpp      |  83 ++++---
 src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp | 156 +++++-------
 .../drivers/nouveau/codegen/nv50_ir_ssa.cpp        |  27 ++-
 .../drivers/nouveau/codegen/nv50_ir_target.cpp     |  30 +--
 src/gallium/drivers/nouveau/codegen/nv50_ir_util.h |   2 +
 18 files changed, 688 insertions(+), 528 deletions(-)

-- 
2.14.4

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

Reply via email to