| ... | ... | @@ -405,12 +405,6 @@ static void destroy_instruction_src(IrInstSrc *inst) { |
| 405 | 405 | return heap::c_allocator.destroy(reinterpret_cast<IrInstSrcMemcpy *>(inst)); |
| 406 | 406 | case IrInstSrcIdSlice: |
| 407 | 407 | return heap::c_allocator.destroy(reinterpret_cast<IrInstSrcSlice *>(inst)); |
| 408 | | case IrInstSrcIdMemberCount: |
| 409 | | return heap::c_allocator.destroy(reinterpret_cast<IrInstSrcMemberCount *>(inst)); |
| 410 | | case IrInstSrcIdMemberType: |
| 411 | | return heap::c_allocator.destroy(reinterpret_cast<IrInstSrcMemberType *>(inst)); |
| 412 | | case IrInstSrcIdMemberName: |
| 413 | | return heap::c_allocator.destroy(reinterpret_cast<IrInstSrcMemberName *>(inst)); |
| 414 | 408 | case IrInstSrcIdBreakpoint: |
| 415 | 409 | return heap::c_allocator.destroy(reinterpret_cast<IrInstSrcBreakpoint *>(inst)); |
| 416 | 410 | case IrInstSrcIdReturnAddress: |
| ... | ... | @@ -477,8 +471,6 @@ static void destroy_instruction_src(IrInstSrc *inst) { |
| 477 | 471 | return heap::c_allocator.destroy(reinterpret_cast<IrInstSrcType *>(inst)); |
| 478 | 472 | case IrInstSrcIdHasField: |
| 479 | 473 | return heap::c_allocator.destroy(reinterpret_cast<IrInstSrcHasField *>(inst)); |
| 480 | | case IrInstSrcIdTypeId: |
| 481 | | return heap::c_allocator.destroy(reinterpret_cast<IrInstSrcTypeId *>(inst)); |
| 482 | 474 | case IrInstSrcIdSetEvalBranchQuota: |
| 483 | 475 | return heap::c_allocator.destroy(reinterpret_cast<IrInstSrcSetEvalBranchQuota *>(inst)); |
| 484 | 476 | case IrInstSrcIdAlignCast: |
| ... | ... | @@ -1325,18 +1317,6 @@ static constexpr IrInstSrcId ir_inst_id(IrInstSrcSlice *) { |
| 1325 | 1317 | return IrInstSrcIdSlice; |
| 1326 | 1318 | } |
| 1327 | 1319 | |
| 1328 | | static constexpr IrInstSrcId ir_inst_id(IrInstSrcMemberCount *) { |
| 1329 | | return IrInstSrcIdMemberCount; |
| 1330 | | } |
| 1331 | | |
| 1332 | | static constexpr IrInstSrcId ir_inst_id(IrInstSrcMemberType *) { |
| 1333 | | return IrInstSrcIdMemberType; |
| 1334 | | } |
| 1335 | | |
| 1336 | | static constexpr IrInstSrcId ir_inst_id(IrInstSrcMemberName *) { |
| 1337 | | return IrInstSrcIdMemberName; |
| 1338 | | } |
| 1339 | | |
| 1340 | 1320 | static constexpr IrInstSrcId ir_inst_id(IrInstSrcBreakpoint *) { |
| 1341 | 1321 | return IrInstSrcIdBreakpoint; |
| 1342 | 1322 | } |
| ... | ... | @@ -1481,10 +1461,6 @@ static constexpr IrInstSrcId ir_inst_id(IrInstSrcHasField *) { |
| 1481 | 1461 | return IrInstSrcIdHasField; |
| 1482 | 1462 | } |
| 1483 | 1463 | |
| 1484 | | static constexpr IrInstSrcId ir_inst_id(IrInstSrcTypeId *) { |
| 1485 | | return IrInstSrcIdTypeId; |
| 1486 | | } |
| 1487 | | |
| 1488 | 1464 | static constexpr IrInstSrcId ir_inst_id(IrInstSrcSetEvalBranchQuota *) { |
| 1489 | 1465 | return IrInstSrcIdSetEvalBranchQuota; |
| 1490 | 1466 | } |
| ... | ... | @@ -3749,41 +3725,6 @@ static IrInstGen *ir_build_slice_gen(IrAnalyze *ira, IrInst *source_instruction, |
| 3749 | 3725 | return &instruction->base; |
| 3750 | 3726 | } |
| 3751 | 3727 | |
| 3752 | | static IrInstSrc *ir_build_member_count(IrBuilderSrc *irb, Scope *scope, AstNode *source_node, IrInstSrc *container) { |
| 3753 | | IrInstSrcMemberCount *instruction = ir_build_instruction<IrInstSrcMemberCount>(irb, scope, source_node); |
| 3754 | | instruction->container = container; |
| 3755 | | |
| 3756 | | ir_ref_instruction(container, irb->current_basic_block); |
| 3757 | | |
| 3758 | | return &instruction->base; |
| 3759 | | } |
| 3760 | | |
| 3761 | | static IrInstSrc *ir_build_member_type(IrBuilderSrc *irb, Scope *scope, AstNode *source_node, |
| 3762 | | IrInstSrc *container_type, IrInstSrc *member_index) |
| 3763 | | { |
| 3764 | | IrInstSrcMemberType *instruction = ir_build_instruction<IrInstSrcMemberType>(irb, scope, source_node); |
| 3765 | | instruction->container_type = container_type; |
| 3766 | | instruction->member_index = member_index; |
| 3767 | | |
| 3768 | | ir_ref_instruction(container_type, irb->current_basic_block); |
| 3769 | | ir_ref_instruction(member_index, irb->current_basic_block); |
| 3770 | | |
| 3771 | | return &instruction->base; |
| 3772 | | } |
| 3773 | | |
| 3774 | | static IrInstSrc *ir_build_member_name(IrBuilderSrc *irb, Scope *scope, AstNode *source_node, |
| 3775 | | IrInstSrc *container_type, IrInstSrc *member_index) |
| 3776 | | { |
| 3777 | | IrInstSrcMemberName *instruction = ir_build_instruction<IrInstSrcMemberName>(irb, scope, source_node); |
| 3778 | | instruction->container_type = container_type; |
| 3779 | | instruction->member_index = member_index; |
| 3780 | | |
| 3781 | | ir_ref_instruction(container_type, irb->current_basic_block); |
| 3782 | | ir_ref_instruction(member_index, irb->current_basic_block); |
| 3783 | | |
| 3784 | | return &instruction->base; |
| 3785 | | } |
| 3786 | | |
| 3787 | 3728 | static IrInstSrc *ir_build_breakpoint(IrBuilderSrc *irb, Scope *scope, AstNode *source_node) { |
| 3788 | 3729 | IrInstSrcBreakpoint *instruction = ir_build_instruction<IrInstSrcBreakpoint>(irb, scope, source_node); |
| 3789 | 3730 | return &instruction->base; |
| ... | ... | @@ -4458,15 +4399,6 @@ static IrInstSrc *ir_build_type(IrBuilderSrc *irb, Scope *scope, AstNode *source |
| 4458 | 4399 | return &instruction->base; |
| 4459 | 4400 | } |
| 4460 | 4401 | |
| 4461 | | static IrInstSrc *ir_build_type_id(IrBuilderSrc *irb, Scope *scope, AstNode *source_node, IrInstSrc *type_value) { |
| 4462 | | IrInstSrcTypeId *instruction = ir_build_instruction<IrInstSrcTypeId>(irb, scope, source_node); |
| 4463 | | instruction->type_value = type_value; |
| 4464 | | |
| 4465 | | ir_ref_instruction(type_value, irb->current_basic_block); |
| 4466 | | |
| 4467 | | return &instruction->base; |
| 4468 | | } |
| 4469 | | |
| 4470 | 4402 | static IrInstSrc *ir_build_set_eval_branch_quota(IrBuilderSrc *irb, Scope *scope, AstNode *source_node, |
| 4471 | 4403 | IrInstSrc *new_quota) |
| 4472 | 4404 | { |
| ... | ... | @@ -6710,48 +6642,6 @@ static IrInstSrc *ir_gen_builtin_fn_call(IrBuilderSrc *irb, Scope *scope, AstNod |
| 6710 | 6642 | IrInstSrc *ir_memset = ir_build_memset_src(irb, scope, node, arg0_value, arg1_value, arg2_value); |
| 6711 | 6643 | return ir_lval_wrap(irb, scope, ir_memset, lval, result_loc); |
| 6712 | 6644 | } |
| 6713 | | case BuiltinFnIdMemberCount: |
| 6714 | | { |
| 6715 | | AstNode *arg0_node = node->data.fn_call_expr.params.at(0); |
| 6716 | | IrInstSrc *arg0_value = ir_gen_node(irb, arg0_node, scope); |
| 6717 | | if (arg0_value == irb->codegen->invalid_inst_src) |
| 6718 | | return arg0_value; |
| 6719 | | |
| 6720 | | IrInstSrc *member_count = ir_build_member_count(irb, scope, node, arg0_value); |
| 6721 | | return ir_lval_wrap(irb, scope, member_count, lval, result_loc); |
| 6722 | | } |
| 6723 | | case BuiltinFnIdMemberType: |
| 6724 | | { |
| 6725 | | AstNode *arg0_node = node->data.fn_call_expr.params.at(0); |
| 6726 | | IrInstSrc *arg0_value = ir_gen_node(irb, arg0_node, scope); |
| 6727 | | if (arg0_value == irb->codegen->invalid_inst_src) |
| 6728 | | return arg0_value; |
| 6729 | | |
| 6730 | | AstNode *arg1_node = node->data.fn_call_expr.params.at(1); |
| 6731 | | IrInstSrc *arg1_value = ir_gen_node(irb, arg1_node, scope); |
| 6732 | | if (arg1_value == irb->codegen->invalid_inst_src) |
| 6733 | | return arg1_value; |
| 6734 | | |
| 6735 | | |
| 6736 | | IrInstSrc *member_type = ir_build_member_type(irb, scope, node, arg0_value, arg1_value); |
| 6737 | | return ir_lval_wrap(irb, scope, member_type, lval, result_loc); |
| 6738 | | } |
| 6739 | | case BuiltinFnIdMemberName: |
| 6740 | | { |
| 6741 | | AstNode *arg0_node = node->data.fn_call_expr.params.at(0); |
| 6742 | | IrInstSrc *arg0_value = ir_gen_node(irb, arg0_node, scope); |
| 6743 | | if (arg0_value == irb->codegen->invalid_inst_src) |
| 6744 | | return arg0_value; |
| 6745 | | |
| 6746 | | AstNode *arg1_node = node->data.fn_call_expr.params.at(1); |
| 6747 | | IrInstSrc *arg1_value = ir_gen_node(irb, arg1_node, scope); |
| 6748 | | if (arg1_value == irb->codegen->invalid_inst_src) |
| 6749 | | return arg1_value; |
| 6750 | | |
| 6751 | | |
| 6752 | | IrInstSrc *member_name = ir_build_member_name(irb, scope, node, arg0_value, arg1_value); |
| 6753 | | return ir_lval_wrap(irb, scope, member_name, lval, result_loc); |
| 6754 | | } |
| 6755 | 6645 | case BuiltinFnIdField: |
| 6756 | 6646 | { |
| 6757 | 6647 | AstNode *arg0_node = node->data.fn_call_expr.params.at(0); |
| ... | ... | @@ -7109,16 +6999,6 @@ static IrInstSrc *ir_gen_builtin_fn_call(IrBuilderSrc *irb, Scope *scope, AstNod |
| 7109 | 6999 | } |
| 7110 | 7000 | case BuiltinFnIdAsyncCall: |
| 7111 | 7001 | return ir_gen_async_call(irb, scope, nullptr, node, lval, result_loc); |
| 7112 | | case BuiltinFnIdTypeId: |
| 7113 | | { |
| 7114 | | AstNode *arg0_node = node->data.fn_call_expr.params.at(0); |
| 7115 | | IrInstSrc *arg0_value = ir_gen_node(irb, arg0_node, scope); |
| 7116 | | if (arg0_value == irb->codegen->invalid_inst_src) |
| 7117 | | return arg0_value; |
| 7118 | | |
| 7119 | | IrInstSrc *type_id = ir_build_type_id(irb, scope, node, arg0_value); |
| 7120 | | return ir_lval_wrap(irb, scope, type_id, lval, result_loc); |
| 7121 | | } |
| 7122 | 7002 | case BuiltinFnIdShlExact: |
| 7123 | 7003 | { |
| 7124 | 7004 | AstNode *arg0_node = node->data.fn_call_expr.params.at(0); |
| ... | ... | @@ -24795,19 +24675,6 @@ static IrInstGen *ir_analyze_instruction_type(IrAnalyze *ira, IrInstSrcType *ins |
| 24795 | 24675 | return ir_const_type(ira, &instruction->base.base, type); |
| 24796 | 24676 | } |
| 24797 | 24677 | |
| 24798 | | static IrInstGen *ir_analyze_instruction_type_id(IrAnalyze *ira, IrInstSrcTypeId *instruction) { |
| 24799 | | IrInstGen *type_value = instruction->type_value->child; |
| 24800 | | ZigType *type_entry = ir_resolve_type(ira, type_value); |
| 24801 | | if (type_is_invalid(type_entry)) |
| 24802 | | return ira->codegen->invalid_inst_gen; |
| 24803 | | |
| 24804 | | ZigType *result_type = get_builtin_type(ira->codegen, "TypeId"); |
| 24805 | | |
| 24806 | | IrInstGen *result = ir_const(ira, &instruction->base.base, result_type); |
| 24807 | | bigint_init_unsigned(&result->value->data.x_enum_tag, type_id_index(type_entry)); |
| 24808 | | return result; |
| 24809 | | } |
| 24810 | | |
| 24811 | 24678 | static IrInstGen *ir_analyze_instruction_set_eval_branch_quota(IrAnalyze *ira, |
| 24812 | 24679 | IrInstSrcSetEvalBranchQuota *instruction) |
| 24813 | 24680 | { |
| ... | ... | @@ -26445,143 +26312,6 @@ static IrInstGen *ir_analyze_instruction_slice(IrAnalyze *ira, IrInstSrcSlice *i |
| 26445 | 26312 | ptr_ptr, casted_start, end, instruction->safety_check_on, result_loc); |
| 26446 | 26313 | } |
| 26447 | 26314 | |
| 26448 | | static IrInstGen *ir_analyze_instruction_member_count(IrAnalyze *ira, IrInstSrcMemberCount *instruction) { |
| 26449 | | Error err; |
| 26450 | | IrInstGen *container = instruction->container->child; |
| 26451 | | if (type_is_invalid(container->value->type)) |
| 26452 | | return ira->codegen->invalid_inst_gen; |
| 26453 | | ZigType *container_type = ir_resolve_type(ira, container); |
| 26454 | | |
| 26455 | | if ((err = type_resolve(ira->codegen, container_type, ResolveStatusSizeKnown))) |
| 26456 | | return ira->codegen->invalid_inst_gen; |
| 26457 | | |
| 26458 | | uint64_t result; |
| 26459 | | if (type_is_invalid(container_type)) { |
| 26460 | | return ira->codegen->invalid_inst_gen; |
| 26461 | | } else if (container_type->id == ZigTypeIdEnum) { |
| 26462 | | result = container_type->data.enumeration.src_field_count; |
| 26463 | | } else if (container_type->id == ZigTypeIdStruct) { |
| 26464 | | result = container_type->data.structure.src_field_count; |
| 26465 | | } else if (container_type->id == ZigTypeIdUnion) { |
| 26466 | | result = container_type->data.unionation.src_field_count; |
| 26467 | | } else if (container_type->id == ZigTypeIdErrorSet) { |
| 26468 | | if (!resolve_inferred_error_set(ira->codegen, container_type, instruction->base.base.source_node)) { |
| 26469 | | return ira->codegen->invalid_inst_gen; |
| 26470 | | } |
| 26471 | | if (type_is_global_error_set(container_type)) { |
| 26472 | | ir_add_error(ira, &instruction->base.base, buf_sprintf("global error set member count not available at comptime")); |
| 26473 | | return ira->codegen->invalid_inst_gen; |
| 26474 | | } |
| 26475 | | result = container_type->data.error_set.err_count; |
| 26476 | | } else { |
| 26477 | | ir_add_error(ira, &instruction->base.base, buf_sprintf("no value count available for type '%s'", buf_ptr(&container_type->name))); |
| 26478 | | return ira->codegen->invalid_inst_gen; |
| 26479 | | } |
| 26480 | | |
| 26481 | | return ir_const_unsigned(ira, &instruction->base.base, result); |
| 26482 | | } |
| 26483 | | |
| 26484 | | static IrInstGen *ir_analyze_instruction_member_type(IrAnalyze *ira, IrInstSrcMemberType *instruction) { |
| 26485 | | Error err; |
| 26486 | | IrInstGen *container_type_value = instruction->container_type->child; |
| 26487 | | ZigType *container_type = ir_resolve_type(ira, container_type_value); |
| 26488 | | if (type_is_invalid(container_type)) |
| 26489 | | return ira->codegen->invalid_inst_gen; |
| 26490 | | |
| 26491 | | if ((err = type_resolve(ira->codegen, container_type, ResolveStatusSizeKnown))) |
| 26492 | | return ira->codegen->invalid_inst_gen; |
| 26493 | | |
| 26494 | | |
| 26495 | | uint64_t member_index; |
| 26496 | | IrInstGen *index_value = instruction->member_index->child; |
| 26497 | | if (!ir_resolve_usize(ira, index_value, &member_index)) |
| 26498 | | return ira->codegen->invalid_inst_gen; |
| 26499 | | |
| 26500 | | if (container_type->id == ZigTypeIdStruct) { |
| 26501 | | if (member_index >= container_type->data.structure.src_field_count) { |
| 26502 | | ir_add_error(ira, &index_value->base, |
| 26503 | | buf_sprintf("member index %" ZIG_PRI_u64 " out of bounds; '%s' has %" PRIu32 " members", |
| 26504 | | member_index, buf_ptr(&container_type->name), container_type->data.structure.src_field_count)); |
| 26505 | | return ira->codegen->invalid_inst_gen; |
| 26506 | | } |
| 26507 | | TypeStructField *field = container_type->data.structure.fields[member_index]; |
| 26508 | | |
| 26509 | | return ir_const_type(ira, &instruction->base.base, field->type_entry); |
| 26510 | | } else if (container_type->id == ZigTypeIdUnion) { |
| 26511 | | if (member_index >= container_type->data.unionation.src_field_count) { |
| 26512 | | ir_add_error(ira, &index_value->base, |
| 26513 | | buf_sprintf("member index %" ZIG_PRI_u64 " out of bounds; '%s' has %" PRIu32 " members", |
| 26514 | | member_index, buf_ptr(&container_type->name), container_type->data.unionation.src_field_count)); |
| 26515 | | return ira->codegen->invalid_inst_gen; |
| 26516 | | } |
| 26517 | | TypeUnionField *field = &container_type->data.unionation.fields[member_index]; |
| 26518 | | |
| 26519 | | return ir_const_type(ira, &instruction->base.base, field->type_entry); |
| 26520 | | } else { |
| 26521 | | ir_add_error(ira, &container_type_value->base, |
| 26522 | | buf_sprintf("type '%s' does not support @memberType", buf_ptr(&container_type->name))); |
| 26523 | | return ira->codegen->invalid_inst_gen; |
| 26524 | | } |
| 26525 | | } |
| 26526 | | |
| 26527 | | static IrInstGen *ir_analyze_instruction_member_name(IrAnalyze *ira, IrInstSrcMemberName *instruction) { |
| 26528 | | Error err; |
| 26529 | | IrInstGen *container_type_value = instruction->container_type->child; |
| 26530 | | ZigType *container_type = ir_resolve_type(ira, container_type_value); |
| 26531 | | if (type_is_invalid(container_type)) |
| 26532 | | return ira->codegen->invalid_inst_gen; |
| 26533 | | |
| 26534 | | if ((err = type_resolve(ira->codegen, container_type, ResolveStatusSizeKnown))) |
| 26535 | | return ira->codegen->invalid_inst_gen; |
| 26536 | | |
| 26537 | | uint64_t member_index; |
| 26538 | | IrInstGen *index_value = instruction->member_index->child; |
| 26539 | | if (!ir_resolve_usize(ira, index_value, &member_index)) |
| 26540 | | return ira->codegen->invalid_inst_gen; |
| 26541 | | |
| 26542 | | if (container_type->id == ZigTypeIdStruct) { |
| 26543 | | if (member_index >= container_type->data.structure.src_field_count) { |
| 26544 | | ir_add_error(ira, &index_value->base, |
| 26545 | | buf_sprintf("member index %" ZIG_PRI_u64 " out of bounds; '%s' has %" PRIu32 " members", |
| 26546 | | member_index, buf_ptr(&container_type->name), container_type->data.structure.src_field_count)); |
| 26547 | | return ira->codegen->invalid_inst_gen; |
| 26548 | | } |
| 26549 | | TypeStructField *field = container_type->data.structure.fields[member_index]; |
| 26550 | | |
| 26551 | | IrInstGen *result = ir_const(ira, &instruction->base.base, nullptr); |
| 26552 | | init_const_str_lit(ira->codegen, result->value, field->name); |
| 26553 | | return result; |
| 26554 | | } else if (container_type->id == ZigTypeIdEnum) { |
| 26555 | | if (member_index >= container_type->data.enumeration.src_field_count) { |
| 26556 | | ir_add_error(ira, &index_value->base, |
| 26557 | | buf_sprintf("member index %" ZIG_PRI_u64 " out of bounds; '%s' has %" PRIu32 " members", |
| 26558 | | member_index, buf_ptr(&container_type->name), container_type->data.enumeration.src_field_count)); |
| 26559 | | return ira->codegen->invalid_inst_gen; |
| 26560 | | } |
| 26561 | | TypeEnumField *field = &container_type->data.enumeration.fields[member_index]; |
| 26562 | | |
| 26563 | | IrInstGen *result = ir_const(ira, &instruction->base.base, nullptr); |
| 26564 | | init_const_str_lit(ira->codegen, result->value, field->name); |
| 26565 | | return result; |
| 26566 | | } else if (container_type->id == ZigTypeIdUnion) { |
| 26567 | | if (member_index >= container_type->data.unionation.src_field_count) { |
| 26568 | | ir_add_error(ira, &index_value->base, |
| 26569 | | buf_sprintf("member index %" ZIG_PRI_u64 " out of bounds; '%s' has %" PRIu32 " members", |
| 26570 | | member_index, buf_ptr(&container_type->name), container_type->data.unionation.src_field_count)); |
| 26571 | | return ira->codegen->invalid_inst_gen; |
| 26572 | | } |
| 26573 | | TypeUnionField *field = &container_type->data.unionation.fields[member_index]; |
| 26574 | | |
| 26575 | | IrInstGen *result = ir_const(ira, &instruction->base.base, nullptr); |
| 26576 | | init_const_str_lit(ira->codegen, result->value, field->name); |
| 26577 | | return result; |
| 26578 | | } else { |
| 26579 | | ir_add_error(ira, &container_type_value->base, |
| 26580 | | buf_sprintf("type '%s' does not support @memberName", buf_ptr(&container_type->name))); |
| 26581 | | return ira->codegen->invalid_inst_gen; |
| 26582 | | } |
| 26583 | | } |
| 26584 | | |
| 26585 | 26315 | static IrInstGen *ir_analyze_instruction_has_field(IrAnalyze *ira, IrInstSrcHasField *instruction) { |
| 26586 | 26316 | Error err; |
| 26587 | 26317 | ZigType *container_type = ir_resolve_type(ira, instruction->container_type->child); |
| ... | ... | @@ -29556,12 +29286,6 @@ static IrInstGen *ir_analyze_instruction_base(IrAnalyze *ira, IrInstSrc *instruc |
| 29556 | 29286 | return ir_analyze_instruction_memcpy(ira, (IrInstSrcMemcpy *)instruction); |
| 29557 | 29287 | case IrInstSrcIdSlice: |
| 29558 | 29288 | return ir_analyze_instruction_slice(ira, (IrInstSrcSlice *)instruction); |
| 29559 | | case IrInstSrcIdMemberCount: |
| 29560 | | return ir_analyze_instruction_member_count(ira, (IrInstSrcMemberCount *)instruction); |
| 29561 | | case IrInstSrcIdMemberType: |
| 29562 | | return ir_analyze_instruction_member_type(ira, (IrInstSrcMemberType *)instruction); |
| 29563 | | case IrInstSrcIdMemberName: |
| 29564 | | return ir_analyze_instruction_member_name(ira, (IrInstSrcMemberName *)instruction); |
| 29565 | 29289 | case IrInstSrcIdBreakpoint: |
| 29566 | 29290 | return ir_analyze_instruction_breakpoint(ira, (IrInstSrcBreakpoint *)instruction); |
| 29567 | 29291 | case IrInstSrcIdReturnAddress: |
| ... | ... | @@ -29616,8 +29340,6 @@ static IrInstGen *ir_analyze_instruction_base(IrAnalyze *ira, IrInstSrc *instruc |
| 29616 | 29340 | return ir_analyze_instruction_type(ira, (IrInstSrcType *)instruction); |
| 29617 | 29341 | case IrInstSrcIdHasField: |
| 29618 | 29342 | return ir_analyze_instruction_has_field(ira, (IrInstSrcHasField *) instruction); |
| 29619 | | case IrInstSrcIdTypeId: |
| 29620 | | return ir_analyze_instruction_type_id(ira, (IrInstSrcTypeId *)instruction); |
| 29621 | 29343 | case IrInstSrcIdSetEvalBranchQuota: |
| 29622 | 29344 | return ir_analyze_instruction_set_eval_branch_quota(ira, (IrInstSrcSetEvalBranchQuota *)instruction); |
| 29623 | 29345 | case IrInstSrcIdPtrType: |
| ... | ... | @@ -30038,9 +29760,6 @@ bool ir_inst_src_has_side_effects(IrInstSrc *instruction) { |
| 30038 | 29760 | case IrInstSrcIdSplat: |
| 30039 | 29761 | case IrInstSrcIdBoolNot: |
| 30040 | 29762 | case IrInstSrcIdSlice: |
| 30041 | | case IrInstSrcIdMemberCount: |
| 30042 | | case IrInstSrcIdMemberType: |
| 30043 | | case IrInstSrcIdMemberName: |
| 30044 | 29763 | case IrInstSrcIdAlignOf: |
| 30045 | 29764 | case IrInstSrcIdReturnAddress: |
| 30046 | 29765 | case IrInstSrcIdFrameAddress: |
| ... | ... | @@ -30067,7 +29786,6 @@ bool ir_inst_src_has_side_effects(IrInstSrc *instruction) { |
| 30067 | 29786 | case IrInstSrcIdTypeInfo: |
| 30068 | 29787 | case IrInstSrcIdType: |
| 30069 | 29788 | case IrInstSrcIdHasField: |
| 30070 | | case IrInstSrcIdTypeId: |
| 30071 | 29789 | case IrInstSrcIdAlignCast: |
| 30072 | 29790 | case IrInstSrcIdImplicitCast: |
| 30073 | 29791 | case IrInstSrcIdResolveResult: |