Enable opt_algebraic to use some intrinsics as sources
Some intrinsics are glorified SSA values. For example, nir_intrinsic_load_sample_mask_in
is a read-only access of a system value in the fragment shader. Right now opt_algebraic can't recognize these in matches or replacements. It sure would be nice to be able to write something like:
(('ieq', 'intrinsic_load_sample_mask_in', 0), intrinsic_load_helper_invocation ),
(('ine', 'intrinsic_load_sample_mask_in', 0), ('inot', intrinsic_load_helper_invocation)),
...instead of having a separate optimization pass to handle it.
This is related to !7366 (comment 681142).