| ... | ... | @@ -2668,23 +2668,6 @@ pub fn updateComptimeNav(dwarf: *Dwarf, pt: Zcu.PerThread, nav_index: InternPool |
| 2668 | 2668 | const type_inst_info = loaded_struct.zir_index.resolveFull(ip).?; |
| 2669 | 2669 | if (type_inst_info.file != inst_info.file) break :tag .decl_alias; |
| 2670 | 2670 | |
| 2671 | | const value_inst = value_inst: { |
| 2672 | | const decl_value_body = decl_extra.data.getBodies(@intCast(decl_extra.end), file.zir).value_body; |
| 2673 | | const break_inst = file.zir.instructions.get(@intFromEnum(decl_value_body[decl_value_body.len - 1])); |
| 2674 | | if (break_inst.tag != .break_inline) break :value_inst null; |
| 2675 | | assert(file.zir.extraData(Zir.Inst.Break, break_inst.data.@"break".payload_index).data.block_inst == inst_info.inst); |
| 2676 | | var value_inst = break_inst.data.@"break".operand.toIndex(); |
| 2677 | | while (value_inst) |value_inst_index| switch (file.zir.instructions.items(.tag)[@intFromEnum(value_inst_index)]) { |
| 2678 | | else => break, |
| 2679 | | .as_node => value_inst = file.zir.extraData( |
| 2680 | | Zir.Inst.As, |
| 2681 | | file.zir.instructions.items(.data)[@intFromEnum(value_inst_index)].pl_node.payload_index, |
| 2682 | | ).data.operand.toIndex(), |
| 2683 | | }; |
| 2684 | | break :value_inst value_inst; |
| 2685 | | }; |
| 2686 | | if (type_inst_info.inst != value_inst) break :tag .decl_alias; |
| 2687 | | |
| 2688 | 2671 | const type_gop = try dwarf.types.getOrPut(dwarf.gpa, nav_val.toIntern()); |
| 2689 | 2672 | if (type_gop.found_existing) { |
| 2690 | 2673 | if (dwarf.debug_info.section.getUnit(wip_nav.unit).getEntry(type_gop.value_ptr.*).len > 0) break :tag .decl_alias; |
| ... | ... | @@ -2791,23 +2774,6 @@ pub fn updateComptimeNav(dwarf: *Dwarf, pt: Zcu.PerThread, nav_index: InternPool |
| 2791 | 2774 | const type_inst_info = loaded_enum.zir_index.unwrap().?.resolveFull(ip).?; |
| 2792 | 2775 | if (type_inst_info.file != inst_info.file) break :tag .decl_alias; |
| 2793 | 2776 | |
| 2794 | | const value_inst = value_inst: { |
| 2795 | | const decl_value_body = decl_extra.data.getBodies(@intCast(decl_extra.end), file.zir).value_body; |
| 2796 | | const break_inst = file.zir.instructions.get(@intFromEnum(decl_value_body[decl_value_body.len - 1])); |
| 2797 | | if (break_inst.tag != .break_inline) break :value_inst null; |
| 2798 | | assert(file.zir.extraData(Zir.Inst.Break, break_inst.data.@"break".payload_index).data.block_inst == inst_info.inst); |
| 2799 | | var value_inst = break_inst.data.@"break".operand.toIndex(); |
| 2800 | | while (value_inst) |value_inst_index| switch (file.zir.instructions.items(.tag)[@intFromEnum(value_inst_index)]) { |
| 2801 | | else => break, |
| 2802 | | .as_node => value_inst = file.zir.extraData( |
| 2803 | | Zir.Inst.As, |
| 2804 | | file.zir.instructions.items(.data)[@intFromEnum(value_inst_index)].pl_node.payload_index, |
| 2805 | | ).data.operand.toIndex(), |
| 2806 | | }; |
| 2807 | | break :value_inst value_inst; |
| 2808 | | }; |
| 2809 | | if (type_inst_info.inst != value_inst) break :tag .decl_alias; |
| 2810 | | |
| 2811 | 2777 | const type_gop = try dwarf.types.getOrPut(dwarf.gpa, nav_val.toIntern()); |
| 2812 | 2778 | if (type_gop.found_existing) { |
| 2813 | 2779 | if (dwarf.debug_info.section.getUnit(wip_nav.unit).getEntry(type_gop.value_ptr.*).len > 0) break :tag .decl_alias; |
| ... | ... | @@ -2846,23 +2812,6 @@ pub fn updateComptimeNav(dwarf: *Dwarf, pt: Zcu.PerThread, nav_index: InternPool |
| 2846 | 2812 | const type_inst_info = loaded_union.zir_index.resolveFull(ip).?; |
| 2847 | 2813 | if (type_inst_info.file != inst_info.file) break :tag .decl_alias; |
| 2848 | 2814 | |
| 2849 | | const value_inst = value_inst: { |
| 2850 | | const decl_value_body = decl_extra.data.getBodies(@intCast(decl_extra.end), file.zir).value_body; |
| 2851 | | const break_inst = file.zir.instructions.get(@intFromEnum(decl_value_body[decl_value_body.len - 1])); |
| 2852 | | if (break_inst.tag != .break_inline) break :value_inst null; |
| 2853 | | assert(file.zir.extraData(Zir.Inst.Break, break_inst.data.@"break".payload_index).data.block_inst == inst_info.inst); |
| 2854 | | var value_inst = break_inst.data.@"break".operand.toIndex(); |
| 2855 | | while (value_inst) |value_inst_index| switch (file.zir.instructions.items(.tag)[@intFromEnum(value_inst_index)]) { |
| 2856 | | else => break, |
| 2857 | | .as_node => value_inst = file.zir.extraData( |
| 2858 | | Zir.Inst.As, |
| 2859 | | file.zir.instructions.items(.data)[@intFromEnum(value_inst_index)].pl_node.payload_index, |
| 2860 | | ).data.operand.toIndex(), |
| 2861 | | }; |
| 2862 | | break :value_inst value_inst; |
| 2863 | | }; |
| 2864 | | if (type_inst_info.inst != value_inst) break :tag .decl_alias; |
| 2865 | | |
| 2866 | 2815 | const type_gop = try dwarf.types.getOrPut(dwarf.gpa, nav_val.toIntern()); |
| 2867 | 2816 | if (type_gop.found_existing) { |
| 2868 | 2817 | if (dwarf.debug_info.section.getUnit(wip_nav.unit).getEntry(type_gop.value_ptr.*).len > 0) break :tag .decl_alias; |
| ... | ... | @@ -2937,23 +2886,6 @@ pub fn updateComptimeNav(dwarf: *Dwarf, pt: Zcu.PerThread, nav_index: InternPool |
| 2937 | 2886 | const type_inst_info = loaded_opaque.zir_index.resolveFull(ip).?; |
| 2938 | 2887 | if (type_inst_info.file != inst_info.file) break :tag .decl_alias; |
| 2939 | 2888 | |
| 2940 | | const value_inst = value_inst: { |
| 2941 | | const decl_value_body = decl_extra.data.getBodies(@intCast(decl_extra.end), file.zir).value_body; |
| 2942 | | const break_inst = file.zir.instructions.get(@intFromEnum(decl_value_body[decl_value_body.len - 1])); |
| 2943 | | if (break_inst.tag != .break_inline) break :value_inst null; |
| 2944 | | assert(file.zir.extraData(Zir.Inst.Break, break_inst.data.@"break".payload_index).data.block_inst == inst_info.inst); |
| 2945 | | var value_inst = break_inst.data.@"break".operand.toIndex(); |
| 2946 | | while (value_inst) |value_inst_index| switch (file.zir.instructions.items(.tag)[@intFromEnum(value_inst_index)]) { |
| 2947 | | else => break, |
| 2948 | | .as_node => value_inst = file.zir.extraData( |
| 2949 | | Zir.Inst.As, |
| 2950 | | file.zir.instructions.items(.data)[@intFromEnum(value_inst_index)].pl_node.payload_index, |
| 2951 | | ).data.operand.toIndex(), |
| 2952 | | }; |
| 2953 | | break :value_inst value_inst; |
| 2954 | | }; |
| 2955 | | if (type_inst_info.inst != value_inst) break :tag .decl_alias; |
| 2956 | | |
| 2957 | 2889 | const type_gop = try dwarf.types.getOrPut(dwarf.gpa, nav_val.toIntern()); |
| 2958 | 2890 | if (type_gop.found_existing) { |
| 2959 | 2891 | if (dwarf.debug_info.section.getUnit(wip_nav.unit).getEntry(type_gop.value_ptr.*).len > 0) break :tag .decl_alias; |