I see that 2/2 removes conditional jump or move warnings such as: ``` ==259476== Conditional jump or move depends on uninitialised value(s) ==259476== at 0x48EF66B: fold_cast (hlsl_constant_ops.c:119) ==259476== by 0x48EF66B: hlsl_fold_constant_exprs (hlsl_constant_ops.c:717) ==259476== by 0x48EB806: hlsl_transform_ir (hlsl_codegen.c:570) ==259476== by 0x48EDEFF: hlsl_emit_bytecode (hlsl_codegen.c:4151) ==259476== by 0x48E652B: hlsl_compile_shader (hlsl.c:3385) ==259476== by 0x4917352: compile_hlsl (vkd3d_shader_main.c:1356) ==259476== by 0x4917352: vkd3d_shader_compile (vkd3d_shader_main.c:1429) ==259476== by 0x496B403: D3DCompile2 (vkd3d_utils_main.c:265) ==259476== by 0xB0686F631D5EDB4C: ??? ==259476== by 0x9B0000001FFEFFEF: ??? ```
However, I am curious on how 1/2 helps valgrind, since I don't see how a larger `ins->src_count` can cause problems in the `ins->handler_idx == VKD3DSIH_DEF` and `ins->handler_idx == VKD3DSIH_DEFI` branches. I am missing something? Additional parameters for valgrind, perhaps?
Regardless of that, 1/2 seems to make the code more correct to me, so I am approving.