authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-06-09 10:46:13-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-06-09 10:46:13-04:00
log3ec766abe38a892346e56a47ec0fa4c27eda2995
treed907c38df837a1e21a73939f890b832b102545e9
parent771e88951a9af48335abe14e4c44b5c4f5b252de
signature Commit is signed but in an unrecognized format.

remove ResultLocField dead code


3 files changed, 0 insertions(+), 59 deletions(-)

src/all_types.hpp-9
...@@ -3588,7 +3588,6 @@ enum ResultLocId {...@@ -3588,7 +3588,6 @@ enum ResultLocId {
3588 ResultLocIdInvalid,3588 ResultLocIdInvalid,
3589 ResultLocIdNone,3589 ResultLocIdNone,
3590 ResultLocIdVar,3590 ResultLocIdVar,
3591 ResultLocIdField,
3592 ResultLocIdReturn,3591 ResultLocIdReturn,
3593 ResultLocIdPeer,3592 ResultLocIdPeer,
3594 ResultLocIdPeerParent,3593 ResultLocIdPeerParent,
...@@ -3615,14 +3614,6 @@ struct ResultLocVar {...@@ -3615,14 +3614,6 @@ struct ResultLocVar {
3615 ZigVar *var;3614 ZigVar *var;
3616};3615};
36173616
3618struct ResultLocField {
3619 ResultLoc base;
3620
3621 ResultLoc *parent;
3622 Buf *name;
3623 IrInstruction *container_type;
3624};
3625
3626struct ResultLocReturn {3617struct ResultLocReturn {
3627 ResultLoc base;3618 ResultLoc base;
3628};3619};
src/ir.cpp-42
...@@ -14504,28 +14504,6 @@ static ZigType *ir_result_loc_expected_type(IrAnalyze *ira, IrInstruction *suspe...@@ -14504,28 +14504,6 @@ static ZigType *ir_result_loc_expected_type(IrAnalyze *ira, IrInstruction *suspe
14504 return nullptr;14504 return nullptr;
14505 case ResultLocIdInstruction:14505 case ResultLocIdInstruction:
14506 return result_loc->source_instruction->child->value.type;14506 return result_loc->source_instruction->child->value.type;
14507 case ResultLocIdField: {
14508 if (result_loc->resolved_loc != nullptr) {
14509 ZigType *ptr_type = result_loc->resolved_loc->value.type;
14510 assert(ptr_type->id == ZigTypeIdPointer);
14511 return ptr_type->data.pointer.child_type;
14512 }
14513 ResultLocField *result_loc_field = reinterpret_cast<ResultLocField *>(result_loc);
14514 ZigType *container_type = ir_resolve_type(ira, result_loc_field->container_type->child);
14515 if (type_is_invalid(container_type))
14516 return ira->codegen->builtin_types.entry_invalid;
14517 if (container_type->id == ZigTypeIdStruct) {
14518 TypeStructField *field = find_struct_type_field(container_type, result_loc_field->name);
14519 if (field == nullptr) {
14520 return ira->codegen->builtin_types.entry_invalid;
14521 }
14522 return field->type_entry;
14523 } else if (container_type->id == ZigTypeIdUnion) {
14524 zig_panic("TODO");
14525 } else {
14526 zig_unreachable();
14527 }
14528 }
14529 case ResultLocIdReturn:14507 case ResultLocIdReturn:
14530 return ira->explicit_return_type;14508 return ira->explicit_return_type;
14531 case ResultLocIdPeer:14509 case ResultLocIdPeer:
...@@ -14606,26 +14584,6 @@ static IrInstruction *ir_resolve_result(IrAnalyze *ira, IrInstruction *suspend_s...@@ -14606,26 +14584,6 @@ static IrInstruction *ir_resolve_result(IrAnalyze *ira, IrInstruction *suspend_s
14606 result_loc->resolved_loc = result_loc->source_instruction->child;14584 result_loc->resolved_loc = result_loc->source_instruction->child;
14607 return result_loc->resolved_loc;14585 return result_loc->resolved_loc;
14608 }14586 }
14609 case ResultLocIdField: {
14610 ResultLocField *result_loc_field = reinterpret_cast<ResultLocField *>(result_loc);
14611
14612 ZigType *container_type = ir_resolve_type(ira, result_loc_field->container_type->child);
14613 if (type_is_invalid(container_type))
14614 return ira->codegen->invalid_instruction;
14615
14616 IrInstruction *parent_result_loc = ir_resolve_result(ira, suspend_source_instr,
14617 result_loc_field->parent, container_type, nullptr);
14618 if (parent_result_loc == nullptr || type_is_invalid(parent_result_loc->value.type) ||
14619 parent_result_loc->value.type->id == ZigTypeIdUnreachable)
14620 {
14621 return parent_result_loc;
14622 }
14623
14624 result_loc->written = true;
14625 result_loc->resolved_loc = ir_analyze_container_field_ptr(ira, result_loc_field->name,
14626 suspend_source_instr, parent_result_loc, container_type);
14627 return result_loc->resolved_loc;
14628 }
14629 case ResultLocIdReturn: {14587 case ResultLocIdReturn: {
14630 bool is_comptime = value != nullptr && value->value.special != ConstValSpecialRuntime;14588 bool is_comptime = value != nullptr && value->value.special != ConstValSpecialRuntime;
14631 if (is_comptime) return nullptr;14589 if (is_comptime) return nullptr;
src/ir_print.cpp-8
...@@ -213,12 +213,6 @@ static void ir_print_result_loc_instruction(IrPrint *irp, ResultLocInstruction *...@@ -213,12 +213,6 @@ static void ir_print_result_loc_instruction(IrPrint *irp, ResultLocInstruction *
213 fprintf(irp->f, ")");213 fprintf(irp->f, ")");
214}214}
215215
216static void ir_print_result_loc_field(IrPrint *irp, ResultLocField *result_loc_field) {
217 fprintf(irp->f, "field(name=%s,type=", buf_ptr(result_loc_field->name));
218 ir_print_other_instruction(irp, result_loc_field->container_type);
219 fprintf(irp->f, ")");
220}
221
222static void ir_print_result_loc_peer(IrPrint *irp, ResultLocPeer *result_loc_peer) {216static void ir_print_result_loc_peer(IrPrint *irp, ResultLocPeer *result_loc_peer) {
223 fprintf(irp->f, "peer(next=");217 fprintf(irp->f, "peer(next=");
224 ir_print_other_block(irp, result_loc_peer->next_bb);218 ir_print_other_block(irp, result_loc_peer->next_bb);
...@@ -239,8 +233,6 @@ static void ir_print_result_loc(IrPrint *irp, ResultLoc *result_loc) {...@@ -239,8 +233,6 @@ static void ir_print_result_loc(IrPrint *irp, ResultLoc *result_loc) {
239 return ir_print_result_loc_var(irp, (ResultLocVar *)result_loc);233 return ir_print_result_loc_var(irp, (ResultLocVar *)result_loc);
240 case ResultLocIdInstruction:234 case ResultLocIdInstruction:
241 return ir_print_result_loc_instruction(irp, (ResultLocInstruction *)result_loc);235 return ir_print_result_loc_instruction(irp, (ResultLocInstruction *)result_loc);
242 case ResultLocIdField:
243 return ir_print_result_loc_field(irp, (ResultLocField *)result_loc);
244 case ResultLocIdPeer:236 case ResultLocIdPeer:
245 return ir_print_result_loc_peer(irp, (ResultLocPeer *)result_loc);237 return ir_print_result_loc_peer(irp, (ResultLocPeer *)result_loc);
246 case ResultLocIdPeerParent:238 case ResultLocIdPeerParent: