Skip to content
  • Faith Ekstrand's avatar
    nir/repair_ssa: Replace the unreachable check with the phi builder · d63162cf
    Faith Ekstrand authored
    In a3268599, I attempted to fix nir_repair_ssa for unreachable
    blocks.  However, that commit missed the possibility that the use is in
    a block which, itself, is unreachable.  In this case, we can end up in
    an infinite loop trying to replace a def with itself.  Even though a
    no-op replacement is a fine operation, it keeps extending the end of the
    uses list as we're walking it.  Instead of explicitly checking for the
    group of conditions, just check if the phi builder gives us a different
    def.  That's guaranteed to be 100% reliable and, while it lacks symmetry
    with the is_valid checks, should be more reliable.
    
    Fixes: a3268599
    
     "nir/repair_ssa: Repair dominance for unreachable..."
    Reviewed-by: default avatarIan Romanick <ian.d.romanick@intel.com>
    d63162cf