authorgravatar for thatlemon@gmail.comLemonBoy <thatlemon@gmail.com> 2020-01-18 19:24:04+01:00
committergravatar for thatlemon@gmail.comLemonBoy <thatlemon@gmail.com> 2020-01-18 19:24:04+01:00
logf456b88baecc0a841520035973e6887eb2573319
tree565f5b82714d3106da121a0a6c4181753b0fb575
parent5f2bac010df0a2cf1e36622d6742baf13f4ffe75

Get rid of some dead logic


1 files changed, 7 insertions(+), 18 deletions(-)

src/ir.cpp+7-18
......@@ -6030,8 +6030,7 @@ static IrInstruction *ir_gen_builtin_fn_call(IrBuilder *irb, Scope *scope, AstNo
60306030 if (arg0_value == irb->codegen->invalid_instruction)
60316031 return arg0_value;
60326032
6033 IrInstruction *actual_tag = ir_build_union_tag(irb, scope, node, arg0_value);
6034 IrInstruction *tag_name = ir_build_tag_name(irb, scope, node, actual_tag);
6033 IrInstruction *tag_name = ir_build_tag_name(irb, scope, node, arg0_value);
60356034 return ir_lval_wrap(irb, scope, tag_name, lval, result_loc);
60366035 }
60376036 case BuiltinFnIdTagType:
......@@ -21389,10 +21388,6 @@ static IrInstruction *ir_analyze_union_tag(IrAnalyze *ira, IrInstruction *source
2138921388 if (type_is_invalid(value->value->type))
2139021389 return ira->codegen->invalid_instruction;
2139121390
21392 if (value->value->type->id == ZigTypeIdEnum ||
21393 value->value->type->id == ZigTypeIdEnumLiteral)
21394 return value;
21395
2139621391 if (value->value->type->id != ZigTypeIdUnion) {
2139721392 ir_add_error(ira, value,
2139821393 buf_sprintf("expected enum or union type, found '%s'", buf_ptr(&value->value->type->name)));
......@@ -21460,12 +21455,6 @@ static IrInstruction *ir_analyze_instruction_switch_br(IrAnalyze *ira,
2146021455 if (type_is_invalid(case_value->value->type))
2146121456 return ir_unreach_error(ira);
2146221457
21463 if (case_value->value->type->id == ZigTypeIdEnum) {
21464 case_value = ir_analyze_union_tag(ira, &switch_br_instruction->base, case_value);
21465 if (type_is_invalid(case_value->value->type))
21466 return ir_unreach_error(ira);
21467 }
21468
2146921458 IrInstruction *casted_case_value = ir_implicit_cast(ira, case_value, target_value->value->type);
2147021459 if (type_is_invalid(casted_case_value->value->type))
2147121460 return ir_unreach_error(ira);
......@@ -21510,12 +21499,6 @@ static IrInstruction *ir_analyze_instruction_switch_br(IrAnalyze *ira,
2151021499 if (type_is_invalid(new_value->value->type))
2151121500 continue;
2151221501
21513 if (new_value->value->type->id == ZigTypeIdEnum) {
21514 new_value = ir_analyze_union_tag(ira, &switch_br_instruction->base, new_value);
21515 if (type_is_invalid(new_value->value->type))
21516 continue;
21517 }
21518
2151921502 IrInstruction *casted_new_value = ir_implicit_cast(ira, new_value, target_value->value->type);
2152021503 if (type_is_invalid(casted_new_value->value->type))
2152121504 continue;
......@@ -22360,6 +22343,12 @@ static IrInstruction *ir_analyze_instruction_enum_tag_name(IrAnalyze *ira, IrIns
2236022343 return result;
2236122344 }
2236222345
22346 if (target->value->type->id == ZigTypeIdUnion) {
22347 target = ir_analyze_union_tag(ira, &instruction->base, target);
22348 if (type_is_invalid(target->value->type))
22349 return ira->codegen->invalid_instruction;
22350 }
22351
2236322352 assert(target->value->type->id == ZigTypeIdEnum);
2236422353
2236522354 if (instr_is_comptime(target)) {