Skip to content

Fix a freedreno crash by bailing-out from nir_analyze_range() upon non-SSA sources

Right now, nir_analyze_range() assumes instructions' registers are always in SSA form and crashes when fed a non-SSA register.

On freedreno we have a situation in which nir_analyze_range() has to be called (via nir_opt_algebraic()) after nir_lower_locals_to_regs(), which adds non-SSA registers.

This patch bails-out from analyze_expression() early if it encounters a non-SSA register.

Edited by Eduardo Lima Mitev

Merge request reports