| ... | @@ -14018,7 +14018,8 @@ static IrInstruction *ir_get_deref(IrAnalyze *ira, IrInstruction *source_instruc | ... | @@ -14018,7 +14018,8 @@ static IrInstruction *ir_get_deref(IrAnalyze *ira, IrInstruction *source_instruc |
| 14018 | case OnePossibleValueInvalid: | 14018 | case OnePossibleValueInvalid: |
| 14019 | return ira->codegen->invalid_instruction; | 14019 | return ira->codegen->invalid_instruction; |
| 14020 | case OnePossibleValueYes: | 14020 | case OnePossibleValueYes: |
| 14021 | return ir_const(ira, source_instruction, child_type); | 14021 | return ir_const_move(ira, source_instruction, |
| | 14022 | get_the_one_possible_value(ira->codegen, child_type)); |
| 14022 | case OnePossibleValueNo: | 14023 | case OnePossibleValueNo: |
| 14023 | break; | 14024 | break; |
| 14024 | } | 14025 | } |
| ... | @@ -19226,7 +19227,8 @@ skip_resolve_peer_types: | ... | @@ -19226,7 +19227,8 @@ skip_resolve_peer_types: |
| 19226 | case OnePossibleValueInvalid: | 19227 | case OnePossibleValueInvalid: |
| 19227 | return ira->codegen->invalid_instruction; | 19228 | return ira->codegen->invalid_instruction; |
| 19228 | case OnePossibleValueYes: | 19229 | case OnePossibleValueYes: |
| 19229 | return ir_const(ira, &phi_instruction->base, resolved_type); | 19230 | return ir_const_move(ira, &phi_instruction->base, |
| | 19231 | get_the_one_possible_value(ira->codegen, resolved_type)); |
| 19230 | case OnePossibleValueNo: | 19232 | case OnePossibleValueNo: |
| 19231 | break; | 19233 | break; |
| 19232 | } | 19234 | } |
| ... | @@ -19862,7 +19864,8 @@ static IrInstruction *ir_analyze_struct_field_ptr(IrAnalyze *ira, IrInstruction | ... | @@ -19862,7 +19864,8 @@ static IrInstruction *ir_analyze_struct_field_ptr(IrAnalyze *ira, IrInstruction |
| 19862 | case OnePossibleValueInvalid: | 19864 | case OnePossibleValueInvalid: |
| 19863 | return ira->codegen->invalid_instruction; | 19865 | return ira->codegen->invalid_instruction; |
| 19864 | case OnePossibleValueYes: { | 19866 | case OnePossibleValueYes: { |
| 19865 | IrInstruction *elem = ir_const(ira, source_instr, field_type); | 19867 | IrInstruction *elem = ir_const_move(ira, source_instr, |
| | 19868 | get_the_one_possible_value(ira->codegen, field_type)); |
| 19866 | return ir_get_ref(ira, source_instr, elem, false, false); | 19869 | return ir_get_ref(ira, source_instr, elem, false, false); |
| 19867 | } | 19870 | } |
| 19868 | case OnePossibleValueNo: | 19871 | case OnePossibleValueNo: |
| ... | @@ -21933,7 +21936,8 @@ static IrInstruction *ir_analyze_instruction_container_init_list(IrAnalyze *ira, | ... | @@ -21933,7 +21936,8 @@ static IrInstruction *ir_analyze_instruction_container_init_list(IrAnalyze *ira, |
| 21933 | case OnePossibleValueInvalid: | 21936 | case OnePossibleValueInvalid: |
| 21934 | return ira->codegen->invalid_instruction; | 21937 | return ira->codegen->invalid_instruction; |
| 21935 | case OnePossibleValueYes: | 21938 | case OnePossibleValueYes: |
| 21936 | return ir_const(ira, &instruction->base, container_type); | 21939 | return ir_const_move(ira, &instruction->base, |
| | 21940 | get_the_one_possible_value(ira->codegen, container_type)); |
| 21937 | case OnePossibleValueNo: | 21941 | case OnePossibleValueNo: |
| 21938 | break; | 21942 | break; |
| 21939 | } | 21943 | } |