summaryrefslogtreecommitdiffstats
path: root/src/compiler/nir/nir_dominance.c
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2018-08-29 10:24:43 -0500
committerTimothy Arceri <[email protected]>2018-09-14 16:07:36 +1000
commitef4ad7baf176fe1820c7ec771b8c801efcbc4846 (patch)
tree97e400c074e49fc87c4092313e8d00044bc883c9 /src/compiler/nir/nir_dominance.c
parentfa5e9f1f73f64ac089f8efd5b101a77d06d22fcd (diff)
nir: evaluate if condition uses inside the if branches
Since we know what side of the branch we ended up on we can just replace the use with a constant. All the spill changes in shader-db are from Dolphin uber shaders, despite some small regressions the change is clearly positive. V2: insert new constant after any phis in the use->parent_instr->type == nir_instr_type_phi path. v3: - use nir_after_block_before_jump() for inserting const - check dominance of phi uses correctly v4: - create some helpers as suggested by Jason. v5 (Jason Ekstrand): - Use LIST_ENTRY to get the phi src shader-db results IVB: total instructions in shared programs: 9999201 -> 9993483 (-0.06%) instructions in affected programs: 163235 -> 157517 (-3.50%) helped: 132 HURT: 2 total cycles in shared programs: 231670754 -> 219476091 (-5.26%) cycles in affected programs: 143424120 -> 131229457 (-8.50%) helped: 115 HURT: 24 total spills in shared programs: 4383 -> 4370 (-0.30%) spills in affected programs: 1656 -> 1643 (-0.79%) helped: 9 HURT: 18 total fills in shared programs: 4610 -> 4581 (-0.63%) fills in affected programs: 374 -> 345 (-7.75%) helped: 6 HURT: 0 Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/compiler/nir/nir_dominance.c')
0 files changed, 0 insertions, 0 deletions