| ... | @@ -6910,11 +6910,12 @@ static TypeTableEntry *ir_analyze_instruction_phi(IrAnalyze *ira, IrInstructionP | ... | @@ -6910,11 +6910,12 @@ static TypeTableEntry *ir_analyze_instruction_phi(IrAnalyze *ira, IrInstructionP |
| 6910 | IrInstruction *old_value = phi_instruction->incoming_values[i]; | 6910 | IrInstruction *old_value = phi_instruction->incoming_values[i]; |
| 6911 | assert(old_value); | 6911 | assert(old_value); |
| 6912 | IrInstruction *new_value = old_value->other; | 6912 | IrInstruction *new_value = old_value->other; |
| 6913 | if (!new_value || new_value->type_entry->id == TypeTableEntryIdInvalid) | 6913 | if (!new_value || new_value->type_entry->id == TypeTableEntryIdUnreachable) |
| | 6914 | continue; |
| | 6915 | |
| | 6916 | if (new_value->type_entry->id == TypeTableEntryIdInvalid) |
| 6914 | return ira->codegen->builtin_types.entry_invalid; | 6917 | return ira->codegen->builtin_types.entry_invalid; |
| 6915 | | 6918 | |
| 6916 | if (new_value->type_entry->id == TypeTableEntryIdUnreachable) | | |
| 6917 | continue; | | |
| 6918 | | 6919 | |
| 6919 | assert(predecessor->other); | 6920 | assert(predecessor->other); |
| 6920 | new_incoming_blocks.append(predecessor->other); | 6921 | new_incoming_blocks.append(predecessor->other); |