diff options
author | Timothy Arceri <[email protected]> | 2019-02-13 15:27:29 +1100 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2019-02-14 09:35:32 +1100 |
commit | 46a4d2c8675d264357e0c8195220db3f9e94631f (patch) | |
tree | 416acf5f3d31d08811c84b7c56c82589bc5ddc72 /src/compiler | |
parent | 0a89c9779a835331dab33dfb852e4b0ab4269de1 (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.c | 14 |
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: |