nir/divergence_analysis: changes for vertex divergence and handle derefs of system values
Split from and prerequisite for: !26819 (merged)
One difference from !26819 (merged) is that output stores in divergent CF are tracked differently: a new flag is added into nir_io_semantics
to indicate divergent CF.