nir/from_ssa: Clean up parallel copy handling and document it better
authorJason Ekstrand <jason.ekstrand@intel.com>
Wed, 17 Dec 2014 23:34:47 +0000 (15:34 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Thu, 15 Jan 2015 15:20:23 +0000 (07:20 -0800)
commit1b720c6ed868b3f231f63568fc360fe7c4024c02
treecf1ebcac20b2dd139feed7fc037bf38af4fba9df
parentde73d1e17318b9e7ed9d1f84bef56f6cc09bdf82
nir/from_ssa: Clean up parallel copy handling and document it better

Previously, we were doing a lazy creation of the parallel copy
instructions.  This is confusing, hard to get right, and involves some
extra state tracking of the copies.  This commit adds an extra walk over
the basic blocks to add the block-end parallel copies up front.  This
should be much less confusing and, consequently, easier to get right.  This
commit also adds more comments about parallel copies to help explain what
all is going on.

As a consequence of these changes, we can now remove the at_end parameter
from nir_parallel_copy_instr.

Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
src/glsl/nir/nir.c
src/glsl/nir/nir.h
src/glsl/nir/nir_from_ssa.c