[Mesa-dev] [PATCH v2 0/4] Rewrite the register-based into-SSA pass to use the phi builder API

Jason Ekstrand jason at jlekstrand.net
Thu Dec 15 17:17:53 UTC 2016


This is a quick v2 of the regs_to_ssa rewrite.  Immediately after sending
it out and asking Rob and Eric to test it because we didn't use it for
anything with control-flow, I realized I could easily test it by hacking
our driver to call regs_to_ssa immediately after going out of SSA and then
go out of SSA again.  When I did, I found bugs.  This version has those
bugs fixed and passes Jenkins with that hack and another to silently ignore
indirects on registers.

Jason Ekstrand (4):
  nir: Rename convert_to_ssa lower_regs_to_ssa
  nir: Add foreach_register helper macros
  nir/phi-builder: Set the value in the block when creating a phi
  nir: Rewrite lower_regs_to_ssa to use the phi builder

 src/compiler/Makefile.sources               |   2 +-
 src/compiler/nir/nir.h                      |   9 +-
 src/compiler/nir/nir_lower_regs_to_ssa.c    | 268 ++++++++++++++
 src/compiler/nir/nir_phi_builder.c          |   2 +-
 src/compiler/nir/nir_to_ssa.c               | 540 ----------------------------
 src/gallium/drivers/freedreno/ir3/ir3_nir.c |   2 +-
 src/gallium/drivers/vc4/vc4_program.c       |   2 +-
 src/mesa/drivers/dri/i965/brw_program.c     |   2 +-
 8 files changed, 279 insertions(+), 548 deletions(-)
 create mode 100644 src/compiler/nir/nir_lower_regs_to_ssa.c
 delete mode 100644 src/compiler/nir/nir_to_ssa.c

-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list