summaryrefslogtreecommitdiffstats
path: root/src/compiler/nir/nir.c
diff options
context:
space:
mode:
authorCaio Marcelo de Oliveira Filho <[email protected]>2018-08-10 16:04:04 -0700
committerCaio Marcelo de Oliveira Filho <[email protected]>2018-08-22 14:41:26 -0700
commit8364ec3fcee692d70b7d653dd433a3194d88dd82 (patch)
treebfdf33fb145c2a06e7936890a31835a6b154e428 /src/compiler/nir/nir.c
parent5196041e937584d6bab940c26eb608dcfab7129b (diff)
nir: Skip common instructions when comparing deref paths
Deref paths may share the same deref instructions in their chains, e.g. ssa_100 = deref_var A ssa_101 = deref_struct "array_field" of ssa_100 ssa_102 = deref_array "[1]" of ssa_101 ssa_103 = deref_struct "field_a" of ssa_102 ssa_104 = deref_struct "field_a" of ssa_103 when comparing the two last deref instructions, their paths will share a common sequence ssa_100, ssa_101, ssa_102. This patch skips to next iteration if the deref instructions are the same. Path[0] (the var) is still handled specially, so in the case above, only ssa_101 and ssa_102 will be skipped. Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/compiler/nir/nir.c')
0 files changed, 0 insertions, 0 deletions