:arrow_up: This is the new version following Zeb's comments. 8/9 does the refactoring of the common code between `copy_propagation_transform_load()` and `copy_propagation_transform_swizzle()` which is introduced in the previous 2 patches.
8/9 could be squashed into 7/9, but I am not totally sure of doing it.