summaryrefslogtreecommitdiffstats
path: root/src/compiler
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2019-02-13 15:27:29 +1100
committerTimothy Arceri <[email protected]>2019-02-14 09:35:32 +1100
commit46a4d2c8675d264357e0c8195220db3f9e94631f (patch)
tree416acf5f3d31d08811c84b7c56c82589bc5ddc72 /src/compiler
parent0a89c9779a835331dab33dfb852e4b0ab4269de1 (diff)
nir: turn ssa check into an assert
Everthing should be in ssa form when this is called. Checking for it here is expensive so turn this into an assert instead. Reviewed-by: Connor Abbott <[email protected]>
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/nir/nir_instr_set.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/compiler/nir/nir_instr_set.c b/src/compiler/nir/nir_instr_set.c
index 61476c0b03f..c795efbca6a 100644
--- a/src/compiler/nir/nir_instr_set.c
+++ b/src/compiler/nir/nir_instr_set.c
@@ -498,6 +498,16 @@ dest_is_ssa(nir_dest *dest, void *data)
return dest->is_ssa;
}
+static bool
+instr_each_src_and_dest_is_ssa(nir_instr *instr)
+{
+ if (!nir_foreach_dest(instr, dest_is_ssa, NULL) ||
+ !nir_foreach_src(instr, src_is_ssa, NULL))
+ return false;
+
+ return true;
+}
+
/* This function determines if uses of an instruction can safely be rewritten
* to use another identical instruction instead. Note that this function must
* be kept in sync with hash_instr() and nir_instrs_equal() -- only
@@ -509,9 +519,7 @@ static bool
instr_can_rewrite(nir_instr *instr)
{
/* We only handle SSA. */
- if (!nir_foreach_dest(instr, dest_is_ssa, NULL) ||
- !nir_foreach_src(instr, src_is_ssa, NULL))
- return false;
+ assert(instr_each_src_and_dest_is_ssa(instr));
switch (instr->type) {
case nir_instr_type_alu: