The included test fails because copy_propagation_transform_swizzle() is using the value recorded for the variable when the swizzle is being read, and not the swizzle's load.