llvm-project
llvm-project copied to clipboard
LLVM ERROR: Unsupported dynamic stack allocation
I am getting core dump when I try to compile ebpf code.
The error message is below:
$ llc -march=bpf -filetype=obj -o dist/tracee.bpf.core.o ./dist/tracee.bpf.core.new.ll
LLVM ERROR: Unsupported dynamic stack allocation
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0. Program arguments: llc -march=bpf -filetype=obj -o dist/tracee.bpf.core.o ./dist/tracee.bpf.core.new.ll
1. Running pass 'Function Pass Manager' on module './dist/tracee.bpf.core.new.ll'.
2. Running pass 'BPF DAG->DAG Pattern Instruction Selection' on function '@tracepoint__raw_syscalls__sys_enter'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamEi+0x31)[0x7f853fc82871]
/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm3sys17RunSignalHandlersEv+0x50)[0x7f853fc809a0]
/lib/x86_64-linux-gnu/libLLVM-12.so.1(+0xd26f82)[0x7f853fc82f82]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x143c0)[0x7f853ef4d3c0]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb)[0x7f853ea3e03b]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x12b)[0x7f853ea1d859]
/lib/x86_64-linux-gnu/libLLVM-12.so.1(+0xc80b69)[0x7f853fbdcb69]
/lib/x86_64-linux-gnu/libLLVM-12.so.1(+0xc80986)[0x7f853fbdc986]
/lib/x86_64-linux-gnu/libLLVM-12.so.1(+0x2a4e68f)[0x7f85419aa68f]
/lib/x86_64-linux-gnu/libLLVM-12.so.1(+0x130679b)[0x7f854026279b]
/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm12SelectionDAG8LegalizeEv+0x1a5)[0x7f8540261d45]
/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm16SelectionDAGISel17CodeGenAndEmitDAGEv+0x48d)[0x7f85403a1e9d]
/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm16SelectionDAGISel20SelectAllBasicBlocksERKNS_8FunctionE+0x185a)[0x7f85403a140a]
/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm16SelectionDAGISel20runOnMachineFunctionERNS_15MachineFunctionE+0x796)[0x7f854039ef96]
/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE+0xfe)[0x7f853ffa460e]
/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x3a0)[0x7f853fdb64f0]
/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE+0x33)[0x7f853fdbc0a3]
/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x3a8)[0x7f853fdb6af8]
llc(main+0x20b0)[0x40e990]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7f853ea1f0b3]
llc(_start+0x2e)[0x40c38e]
In fact, I cannot find any instructions relating to dynamic stack allocation.
The IR
; Function Attrs: nounwind
define dso_local i32 @tracepoint__raw_syscalls__sys_enter(%struct.bpf_raw_tracepoint_args* %0) #1 section "raw_tracepoint/sys_enter" !dbg !1674 {
BB1:
%1 = alloca i32, align 4
%2 = bitcast i32* %1 to i8*
store i32 1, i32* %1, align 4, !tbaa !1657
%3 = call i8* inttoptr (i64 1 to i8* (i8*, i8*)*)(i8* bitcast (%struct.anon* @pin_counter to i8*), i8* nonnull %2) #7
%4 = icmp eq i8* %3, null
br i1 %4, label %BB2, label %BB3
BB2: ; preds = %BB1
%5 = getelementptr inbounds i8, i8* %3, i64 16
%6 = bitcast i8* %5 to i64*
%7 = load i64, i64* %6, align 8, !tbaa !1668
%8 = add i64 %7, 1
store i64 %8, i64* %6, align 8, !tbaa !1668
br label %9
BB3: ; preds = %BB1
ret i32 -1
9: ; preds = %BB2
%10 = alloca i32, align 4
%11 = alloca i32, align 4
%12 = alloca i32, align 4
%13 = alloca i32, align 4
%14 = alloca i32, align 4
%15 = alloca i64, align 8
%16 = alloca i64, align 8
%17 = alloca i64, align 8
%18 = alloca i64, align 8
%19 = alloca i32, align 4
%20 = alloca %struct.kernfs_node*, align 8
%21 = alloca i64, align 8
%22 = alloca %struct.css_set*, align 8
%23 = alloca %struct.cgroup_subsys_state*, align 8
%24 = alloca %struct.cgroup*, align 8
%25 = alloca %struct.nsproxy*, align 8
%26 = alloca %struct.uts_namespace*, align 8
%27 = alloca [65 x i8], align 1
%28 = alloca %struct.pid*, align 8
%29 = alloca %struct.pid*, align 8
%30 = alloca i32, align 4
%31 = alloca %struct.pid_namespace*, align 8
%32 = alloca i32, align 4
%33 = alloca %struct.mnt_namespace*, align 8
%34 = alloca i32, align 4
%35 = alloca %struct.nsproxy*, align 8
%36 = alloca %struct.pid*, align 8
%37 = alloca %struct.pid*, align 8
%38 = alloca i32, align 4
%39 = alloca i32, align 4
%40 = alloca %struct.task_struct*, align 8
%41 = alloca %struct.pid*, align 8
%42 = alloca %struct.pid*, align 8
%43 = alloca i32, align 4
%44 = alloca i32, align 4
%45 = alloca %struct.task_struct*, align 8
%46 = alloca %struct.pid*, align 8
%47 = alloca %struct.pid*, align 8
%48 = alloca i32, align 4
%49 = alloca i32, align 4
%50 = alloca %struct.task_struct*, align 8
%51 = alloca i32, align 4
%52 = alloca i64, align 8
%53 = alloca i32, align 4
%54 = alloca i32, align 4
%55 = alloca i32, align 4
%56 = alloca %struct.event_data, align 8
%57 = alloca i64, align 8
%58 = alloca i64, align 8
%59 = alloca i64, align 8
%60 = alloca i64, align 8
%61 = alloca i64, align 8
%62 = alloca i64, align 8
%63 = alloca i64, align 8
%64 = alloca i64, align 8
%65 = alloca i64, align 8
%66 = alloca i64, align 8
%67 = alloca i64, align 8
%68 = alloca i64, align 8
call void @llvm.dbg.value(metadata %struct.bpf_raw_tracepoint_args* %0, metadata !1679, metadata !DIExpression()), !dbg !1715
%69 = bitcast %struct.event_data* %56 to i8*, !dbg !1716
call void @llvm.lifetime.start.p0i8(i64 168, i8* nonnull %69) #7, !dbg !1716
call void @llvm.dbg.declare(metadata %struct.event_data* %56, metadata !1680, metadata !DIExpression()), !dbg !1717
call void @llvm.memset.p0i8.i64(i8* nonnull align 8 dereferenceable(168) %69, i8 0, i64 168, i1 false), !dbg !1717
%70 = bitcast %struct.bpf_raw_tracepoint_args* %0 to i8*, !dbg !1718
call void @llvm.dbg.value(metadata %struct.event_data* %56, metadata !1720, metadata !DIExpression()) #7, !dbg !1739
call void @llvm.dbg.value(metadata i8* %70, metadata !1725, metadata !DIExpression()) #7, !dbg !1739
%71 = bitcast i32* %53 to i8*, !dbg !1741
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %71) #7, !dbg !1741
call void @llvm.dbg.value(metadata i32 0, metadata !1726, metadata !DIExpression()) #7, !dbg !1739
store i32 0, i32* %53, align 4, !dbg !1742, !tbaa !1657
call void @llvm.dbg.value(metadata i32* %53, metadata !1726, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1739
%72 = call i8* inttoptr (i64 1 to i8* (i8*, i8*)*)(i8* bitcast (%struct.anon.34* @config_map to i8*), i8* nonnull %71) #7, !dbg !1743
%73 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 4, !dbg !1744
%74 = bitcast %struct.config_entry** %73 to i8**, !dbg !1745
store i8* %72, i8** %74, align 8, !dbg !1745, !tbaa !1746
%75 = icmp eq i8* %72, null, !dbg !1752
br i1 %75, label %76, label %77, !dbg !1754
76: ; preds = %9
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %71) #7, !dbg !1755
br label %1188, !dbg !1756
77: ; preds = %9
%78 = call i64 inttoptr (i64 35 to i64 ()*)() #7, !dbg !1757
%79 = inttoptr i64 %78 to %struct.task_struct*, !dbg !1758
%80 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 1, !dbg !1759
store %struct.task_struct* %79, %struct.task_struct** %80, align 8, !dbg !1760, !tbaa !1761
%81 = load %struct.config_entry*, %struct.config_entry** %73, align 8, !dbg !1762, !tbaa !1746
%82 = getelementptr inbounds %struct.config_entry, %struct.config_entry* %81, i64 0, i32 1, !dbg !1763
%83 = load i32, i32* %82, align 4, !dbg !1763, !tbaa !1764
call void @llvm.dbg.value(metadata %struct.event_data* %56, metadata !1766, metadata !DIExpression()) #7, !dbg !1776
call void @llvm.dbg.value(metadata %struct.task_struct* %79, metadata !1772, metadata !DIExpression()) #7, !dbg !1776
call void @llvm.dbg.value(metadata i32 %83, metadata !1773, metadata !DIExpression()) #7, !dbg !1776
%84 = call i64 inttoptr (i64 14 to i64 ()*)() #7, !dbg !1778
call void @llvm.dbg.value(metadata i64 %84, metadata !1774, metadata !DIExpression()) #7, !dbg !1776
call void @llvm.dbg.value(metadata %struct.task_struct* %79, metadata !1779, metadata !DIExpression()) #7, !dbg !1786
%85 = bitcast i64* %52 to i8*, !dbg !1788
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %85) #7, !dbg !1788
call void @llvm.dbg.value(metadata i64* %52, metadata !1784, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1789
store i64 0, i64* %52, align 8, !dbg !1788
%86 = load i64, i64* @"llvm.task_struct:0:72$0:10", align 8
%87 = inttoptr i64 %78 to i8*
%88 = getelementptr i8, i8* %87, i64 %86
%89 = bitcast i8* %88 to i64*
%90 = call i64* @llvm.bpf.passthrough.p0i64.p0i64(i32 22, i64* %89) #7
%91 = bitcast i64* %90 to i8*, !dbg !1788
%92 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %85, i32 8, i8* %91) #7, !dbg !1788
%93 = load i64, i64* %52, align 8, !dbg !1788, !tbaa !1668
call void @llvm.dbg.value(metadata i64 %93, metadata !1784, metadata !DIExpression()) #7, !dbg !1789
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %85) #7, !dbg !1790
%94 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 0, !dbg !1791
store i64 %93, i64* %94, align 8, !dbg !1792, !tbaa !1793
%95 = trunc i64 %84 to i32, !dbg !1794
%96 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 6, !dbg !1795
store i32 %95, i32* %96, align 8, !dbg !1796, !tbaa !1797
%97 = lshr i64 %84, 32, !dbg !1798
%98 = trunc i64 %97 to i32, !dbg !1799
%99 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 5, !dbg !1800
store i32 %98, i32* %99, align 4, !dbg !1801, !tbaa !1802
call void @llvm.dbg.value(metadata %struct.task_struct* %79, metadata !1803, metadata !DIExpression()) #7, !dbg !1813
%100 = bitcast %struct.task_struct** %50 to i8*, !dbg !1815
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %100) #7, !dbg !1815
call void @llvm.dbg.value(metadata %struct.task_struct** %50, metadata !1809, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1816
%101 = bitcast %struct.task_struct** %50 to i64*, !dbg !1815
store i64 0, i64* %101, align 8, !dbg !1815
%102 = load i64, i64* @"llvm.task_struct:0:32$0:6", align 8
%103 = getelementptr i8, i8* %87, i64 %102
%104 = bitcast i8* %103 to %struct.task_struct**
%105 = call %struct.task_struct** @llvm.bpf.passthrough.p0p0s_struct.task_structs.p0p0s_struct.task_structs(i32 379, %struct.task_struct** %104) #7
%106 = bitcast %struct.task_struct** %105 to i8*, !dbg !1815
%107 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %100, i32 8, i8* %106) #7, !dbg !1815
%108 = bitcast %struct.task_struct** %50 to i8**, !dbg !1815
%109 = load i8*, i8** %108, align 8, !dbg !1815, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.task_struct* undef, metadata !1809, metadata !DIExpression()) #7, !dbg !1816
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %100) #7, !dbg !1818
call void @llvm.dbg.value(metadata %struct.task_struct* undef, metadata !1808, metadata !DIExpression()) #7, !dbg !1813
%110 = bitcast i32* %51 to i8*, !dbg !1819
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %110) #7, !dbg !1819
call void @llvm.dbg.value(metadata i32* %51, metadata !1811, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1820
store i32 0, i32* %51, align 4, !dbg !1819
%111 = load i64, i64* @"llvm.task_struct:0:24$0:5", align 8
%112 = getelementptr i8, i8* %109, i64 %111
%113 = bitcast i8* %112 to i32*
%114 = call i32* @llvm.bpf.passthrough.p0i32.p0i32(i32 380, i32* %113) #7
%115 = bitcast i32* %114 to i8*, !dbg !1819
%116 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %110, i32 4, i8* %115) #7, !dbg !1819
%117 = load i32, i32* %51, align 4, !dbg !1819, !tbaa !1657
call void @llvm.dbg.value(metadata i32 %117, metadata !1811, metadata !DIExpression()) #7, !dbg !1820
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %110) #7, !dbg !1821
%118 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 7, !dbg !1822
store i32 %117, i32* %118, align 4, !dbg !1823, !tbaa !1824
call void @llvm.dbg.value(metadata %struct.task_struct* %79, metadata !1825, metadata !DIExpression()) #7, !dbg !1828
call void @llvm.dbg.value(metadata %struct.task_struct* %79, metadata !1830, metadata !DIExpression()) #7, !dbg !1848
call void @llvm.dbg.value(metadata i32 0, metadata !1833, metadata !DIExpression()) #7, !dbg !1848
call void @llvm.dbg.value(metadata %struct.pid* null, metadata !1834, metadata !DIExpression()) #7, !dbg !1848
%119 = load i32, i32* @"llvm.pid_link:8:1$0", align 4
%120 = call i32 @llvm.bpf.passthrough.i32.i32(i32 395, i32 %119) #7
%121 = icmp eq i32 %120, 0, !dbg !1850
br i1 %121, label %133, label %122, !dbg !1851
122: ; preds = %77
call void @llvm.dbg.value(metadata i8* %87, metadata !1835, metadata !DIExpression()) #7, !dbg !1852
%123 = bitcast %struct.pid** %46 to i8*, !dbg !1853
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %123) #7, !dbg !1853
call void @llvm.dbg.value(metadata %struct.pid** %46, metadata !1839, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1854
%124 = bitcast %struct.pid** %46 to i64*, !dbg !1853
store i64 0, i64* %124, align 8, !dbg !1853
%125 = load i64, i64* @"llvm.task_struct___older_v50:0:16$0:0:0:1", align 8
%126 = getelementptr i8, i8* %87, i64 %125
%127 = bitcast i8* %126 to %struct.pid**
%128 = call %struct.pid** @llvm.bpf.passthrough.p0p0s_struct.pids.p0p0s_struct.pids(i32 396, %struct.pid** %127) #7
%129 = bitcast %struct.pid** %128 to i8*, !dbg !1853
%130 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %123, i32 8, i8* %129) #7, !dbg !1853
%131 = bitcast %struct.pid** %46 to i8**, !dbg !1853
%132 = load i8*, i8** %131, align 8, !dbg !1853, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1839, metadata !DIExpression()) #7, !dbg !1854
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %123) #7, !dbg !1855
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1834, metadata !DIExpression()) #7, !dbg !1848
br label %144, !dbg !1856
133: ; preds = %77
%134 = bitcast %struct.pid** %47 to i8*, !dbg !1857
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %134) #7, !dbg !1857
call void @llvm.dbg.value(metadata %struct.pid** %47, metadata !1841, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1858
%135 = bitcast %struct.pid** %47 to i64*, !dbg !1857
store i64 0, i64* %135, align 8, !dbg !1857
%136 = load i64, i64* @"llvm.task_struct:0:48$0:8", align 8
%137 = getelementptr i8, i8* %87, i64 %136
%138 = bitcast i8* %137 to %struct.pid**
%139 = call %struct.pid** @llvm.bpf.passthrough.p0p0s_struct.pids.p0p0s_struct.pids(i32 397, %struct.pid** %138) #7
%140 = bitcast %struct.pid** %139 to i8*, !dbg !1857
%141 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %134, i32 8, i8* %140) #7, !dbg !1857
%142 = bitcast %struct.pid** %47 to i8**, !dbg !1857
%143 = load i8*, i8** %142, align 8, !dbg !1857, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1841, metadata !DIExpression()) #7, !dbg !1858
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %134) #7, !dbg !1859
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1834, metadata !DIExpression()) #7, !dbg !1848
br label %144
144: ; preds = %133, %122
%145 = phi i8* [ %132, %122 ], [ %143, %133 ], !dbg !1860
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1834, metadata !DIExpression()) #7, !dbg !1848
%146 = bitcast i32* %48 to i8*, !dbg !1861
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %146) #7, !dbg !1861
call void @llvm.dbg.value(metadata i32* %48, metadata !1844, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1862
store i32 0, i32* %48, align 4, !dbg !1861
%147 = load i64, i64* @"llvm.pid:0:0$0:0", align 8
%148 = getelementptr i8, i8* %145, i64 %147
%149 = bitcast i8* %148 to i32*
%150 = call i32* @llvm.bpf.passthrough.p0i32.p0i32(i32 398, i32* %149) #7
%151 = bitcast i32* %150 to i8*, !dbg !1861
%152 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %146, i32 4, i8* %151) #7, !dbg !1861
%153 = load i32, i32* %48, align 4, !dbg !1861, !tbaa !1657
call void @llvm.dbg.value(metadata i32 %153, metadata !1844, metadata !DIExpression()) #7, !dbg !1862
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %146) #7, !dbg !1863
call void @llvm.dbg.value(metadata i32 %153, metadata !1833, metadata !DIExpression()) #7, !dbg !1848
%154 = bitcast i32* %49 to i8*, !dbg !1864
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %154) #7, !dbg !1864
call void @llvm.dbg.value(metadata i32* %49, metadata !1846, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1865
store i32 0, i32* %49, align 4, !dbg !1864
%155 = load i64, i64* @"llvm.pid:0:8$0:1", align 8
%156 = getelementptr i8, i8* %145, i64 %155
%157 = bitcast i8* %156 to [1 x %struct.upid]*
%158 = call [1 x %struct.upid]* @llvm.bpf.passthrough.p0a1s_struct.upids.p0a1s_struct.upids(i32 399, [1 x %struct.upid]* %157) #7
%159 = zext i32 %153 to i64, !dbg !1864
%160 = getelementptr inbounds [1 x %struct.upid], [1 x %struct.upid]* %158, i64 0, i64 %159, !dbg !1864
%161 = load i64, i64* @"llvm.upid:0:0$0:0", align 8
%162 = bitcast %struct.upid* %160 to i8*
%163 = getelementptr i8, i8* %162, i64 %161
%164 = bitcast i8* %163 to i32*
%165 = call i32* @llvm.bpf.passthrough.p0i32.p0i32(i32 400, i32* %164) #7
%166 = bitcast i32* %165 to i8*, !dbg !1864
%167 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %154, i32 4, i8* %166) #7, !dbg !1864
%168 = load i32, i32* %49, align 4, !dbg !1864, !tbaa !1657
call void @llvm.dbg.value(metadata i32 %168, metadata !1846, metadata !DIExpression()) #7, !dbg !1865
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %154) #7, !dbg !1866
%169 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 3, !dbg !1867
store i32 %168, i32* %169, align 4, !dbg !1868, !tbaa !1869
call void @llvm.dbg.value(metadata %struct.task_struct* %79, metadata !1870, metadata !DIExpression()) #7, !dbg !1876
%170 = bitcast %struct.task_struct** %45 to i8*, !dbg !1878
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %170) #7, !dbg !1878
call void @llvm.dbg.value(metadata %struct.task_struct** %45, metadata !1874, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1879
%171 = bitcast %struct.task_struct** %45 to i64*, !dbg !1878
store i64 0, i64* %171, align 8, !dbg !1878
%172 = load i64, i64* @"llvm.task_struct:0:40$0:7", align 8
%173 = getelementptr i8, i8* %87, i64 %172
%174 = bitcast i8* %173 to %struct.task_struct**
%175 = call %struct.task_struct** @llvm.bpf.passthrough.p0p0s_struct.task_structs.p0p0s_struct.task_structs(i32 25, %struct.task_struct** %174) #7
%176 = bitcast %struct.task_struct** %175 to i8*, !dbg !1878
%177 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %170, i32 8, i8* %176) #7, !dbg !1878
%178 = load %struct.task_struct*, %struct.task_struct** %45, align 8, !dbg !1878, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.task_struct* %178, metadata !1874, metadata !DIExpression()) #7, !dbg !1879
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %170) #7, !dbg !1880
call void @llvm.dbg.value(metadata %struct.task_struct* %178, metadata !1873, metadata !DIExpression()) #7, !dbg !1876
call void @llvm.dbg.value(metadata %struct.task_struct* %178, metadata !1830, metadata !DIExpression()) #7, !dbg !1881
call void @llvm.dbg.value(metadata i32 0, metadata !1833, metadata !DIExpression()) #7, !dbg !1881
call void @llvm.dbg.value(metadata %struct.pid* null, metadata !1834, metadata !DIExpression()) #7, !dbg !1881
%179 = load i32, i32* @"llvm.pid_link:8:1$0", align 4
%180 = call i32 @llvm.bpf.passthrough.i32.i32(i32 395, i32 %179) #7
%181 = icmp eq i32 %180, 0, !dbg !1883
br i1 %181, label %194, label %182, !dbg !1884
182: ; preds = %144
%183 = bitcast %struct.task_struct* %178 to i8*, !dbg !1885
call void @llvm.dbg.value(metadata i8* %183, metadata !1835, metadata !DIExpression()) #7, !dbg !1886
%184 = bitcast %struct.pid** %41 to i8*, !dbg !1887
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %184) #7, !dbg !1887
call void @llvm.dbg.value(metadata %struct.pid** %41, metadata !1839, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1888
%185 = bitcast %struct.pid** %41 to i64*, !dbg !1887
store i64 0, i64* %185, align 8, !dbg !1887
%186 = load i64, i64* @"llvm.task_struct___older_v50:0:16$0:0:0:1", align 8
%187 = getelementptr i8, i8* %183, i64 %186
%188 = bitcast i8* %187 to %struct.pid**
%189 = call %struct.pid** @llvm.bpf.passthrough.p0p0s_struct.pids.p0p0s_struct.pids(i32 396, %struct.pid** %188) #7
%190 = bitcast %struct.pid** %189 to i8*, !dbg !1887
%191 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %184, i32 8, i8* %190) #7, !dbg !1887
%192 = bitcast %struct.pid** %41 to i8**, !dbg !1887
%193 = load i8*, i8** %192, align 8, !dbg !1887, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1839, metadata !DIExpression()) #7, !dbg !1888
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %184) #7, !dbg !1889
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1834, metadata !DIExpression()) #7, !dbg !1881
br label %206, !dbg !1890
194: ; preds = %144
%195 = bitcast %struct.pid** %42 to i8*, !dbg !1891
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %195) #7, !dbg !1891
call void @llvm.dbg.value(metadata %struct.pid** %42, metadata !1841, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1892
%196 = bitcast %struct.pid** %42 to i64*, !dbg !1891
store i64 0, i64* %196, align 8, !dbg !1891
%197 = load i64, i64* @"llvm.task_struct:0:48$0:8", align 8
%198 = bitcast %struct.task_struct* %178 to i8*
%199 = getelementptr i8, i8* %198, i64 %197
%200 = bitcast i8* %199 to %struct.pid**
%201 = call %struct.pid** @llvm.bpf.passthrough.p0p0s_struct.pids.p0p0s_struct.pids(i32 397, %struct.pid** %200) #7
%202 = bitcast %struct.pid** %201 to i8*, !dbg !1891
%203 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %195, i32 8, i8* %202) #7, !dbg !1891
%204 = bitcast %struct.pid** %42 to i8**, !dbg !1891
%205 = load i8*, i8** %204, align 8, !dbg !1891, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1841, metadata !DIExpression()) #7, !dbg !1892
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %195) #7, !dbg !1893
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1834, metadata !DIExpression()) #7, !dbg !1881
br label %206
206: ; preds = %194, %182
%207 = phi i8* [ %193, %182 ], [ %205, %194 ], !dbg !1894
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1834, metadata !DIExpression()) #7, !dbg !1881
%208 = bitcast i32* %43 to i8*, !dbg !1895
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %208) #7, !dbg !1895
call void @llvm.dbg.value(metadata i32* %43, metadata !1844, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1896
store i32 0, i32* %43, align 4, !dbg !1895
%209 = load i64, i64* @"llvm.pid:0:0$0:0", align 8
%210 = getelementptr i8, i8* %207, i64 %209
%211 = bitcast i8* %210 to i32*
%212 = call i32* @llvm.bpf.passthrough.p0i32.p0i32(i32 398, i32* %211) #7
%213 = bitcast i32* %212 to i8*, !dbg !1895
%214 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %208, i32 4, i8* %213) #7, !dbg !1895
%215 = load i32, i32* %43, align 4, !dbg !1895, !tbaa !1657
call void @llvm.dbg.value(metadata i32 %215, metadata !1844, metadata !DIExpression()) #7, !dbg !1896
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %208) #7, !dbg !1897
call void @llvm.dbg.value(metadata i32 %215, metadata !1833, metadata !DIExpression()) #7, !dbg !1881
%216 = bitcast i32* %44 to i8*, !dbg !1898
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %216) #7, !dbg !1898
call void @llvm.dbg.value(metadata i32* %44, metadata !1846, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1899
store i32 0, i32* %44, align 4, !dbg !1898
%217 = load i64, i64* @"llvm.pid:0:8$0:1", align 8
%218 = getelementptr i8, i8* %207, i64 %217
%219 = bitcast i8* %218 to [1 x %struct.upid]*
%220 = call [1 x %struct.upid]* @llvm.bpf.passthrough.p0a1s_struct.upids.p0a1s_struct.upids(i32 399, [1 x %struct.upid]* %219) #7
%221 = zext i32 %215 to i64, !dbg !1898
%222 = getelementptr inbounds [1 x %struct.upid], [1 x %struct.upid]* %220, i64 0, i64 %221, !dbg !1898
%223 = load i64, i64* @"llvm.upid:0:0$0:0", align 8
%224 = bitcast %struct.upid* %222 to i8*
%225 = getelementptr i8, i8* %224, i64 %223
%226 = bitcast i8* %225 to i32*
%227 = call i32* @llvm.bpf.passthrough.p0i32.p0i32(i32 400, i32* %226) #7
%228 = bitcast i32* %227 to i8*, !dbg !1898
%229 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %216, i32 4, i8* %228) #7, !dbg !1898
%230 = load i32, i32* %44, align 4, !dbg !1898, !tbaa !1657
call void @llvm.dbg.value(metadata i32 %230, metadata !1846, metadata !DIExpression()) #7, !dbg !1899
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %216) #7, !dbg !1900
%231 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 2, !dbg !1901
store i32 %230, i32* %231, align 8, !dbg !1902, !tbaa !1903
call void @llvm.dbg.value(metadata %struct.task_struct* %79, metadata !1904, metadata !DIExpression()) #7, !dbg !1910
%232 = bitcast %struct.task_struct** %40 to i8*, !dbg !1912
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %232) #7, !dbg !1912
call void @llvm.dbg.value(metadata %struct.task_struct** %40, metadata !1908, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1913
%233 = bitcast %struct.task_struct** %40 to i64*, !dbg !1912
store i64 0, i64* %233, align 8, !dbg !1912
%234 = load i64, i64* @"llvm.task_struct:0:32$0:6", align 8
%235 = getelementptr i8, i8* %87, i64 %234
%236 = bitcast i8* %235 to %struct.task_struct**
%237 = call %struct.task_struct** @llvm.bpf.passthrough.p0p0s_struct.task_structs.p0p0s_struct.task_structs(i32 381, %struct.task_struct** %236) #7
%238 = bitcast %struct.task_struct** %237 to i8*, !dbg !1912
%239 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %232, i32 8, i8* %238) #7, !dbg !1912
%240 = load %struct.task_struct*, %struct.task_struct** %40, align 8, !dbg !1912, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.task_struct* %240, metadata !1908, metadata !DIExpression()) #7, !dbg !1913
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %232) #7, !dbg !1914
call void @llvm.dbg.value(metadata %struct.task_struct* %240, metadata !1907, metadata !DIExpression()) #7, !dbg !1910
call void @llvm.dbg.value(metadata %struct.task_struct* %240, metadata !1830, metadata !DIExpression()) #7, !dbg !1915
call void @llvm.dbg.value(metadata i32 0, metadata !1833, metadata !DIExpression()) #7, !dbg !1915
call void @llvm.dbg.value(metadata %struct.pid* null, metadata !1834, metadata !DIExpression()) #7, !dbg !1915
%241 = load i32, i32* @"llvm.pid_link:8:1$0", align 4
%242 = call i32 @llvm.bpf.passthrough.i32.i32(i32 395, i32 %241) #7
%243 = icmp eq i32 %242, 0, !dbg !1917
br i1 %243, label %256, label %244, !dbg !1918
244: ; preds = %206
%245 = bitcast %struct.task_struct* %240 to i8*, !dbg !1919
call void @llvm.dbg.value(metadata i8* %245, metadata !1835, metadata !DIExpression()) #7, !dbg !1920
%246 = bitcast %struct.pid** %36 to i8*, !dbg !1921
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %246) #7, !dbg !1921
call void @llvm.dbg.value(metadata %struct.pid** %36, metadata !1839, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1922
%247 = bitcast %struct.pid** %36 to i64*, !dbg !1921
store i64 0, i64* %247, align 8, !dbg !1921
%248 = load i64, i64* @"llvm.task_struct___older_v50:0:16$0:0:0:1", align 8
%249 = getelementptr i8, i8* %245, i64 %248
%250 = bitcast i8* %249 to %struct.pid**
%251 = call %struct.pid** @llvm.bpf.passthrough.p0p0s_struct.pids.p0p0s_struct.pids(i32 396, %struct.pid** %250) #7
%252 = bitcast %struct.pid** %251 to i8*, !dbg !1921
%253 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %246, i32 8, i8* %252) #7, !dbg !1921
%254 = bitcast %struct.pid** %36 to i8**, !dbg !1921
%255 = load i8*, i8** %254, align 8, !dbg !1921, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1839, metadata !DIExpression()) #7, !dbg !1922
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %246) #7, !dbg !1923
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1834, metadata !DIExpression()) #7, !dbg !1915
br label %268, !dbg !1924
256: ; preds = %206
%257 = bitcast %struct.pid** %37 to i8*, !dbg !1925
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %257) #7, !dbg !1925
call void @llvm.dbg.value(metadata %struct.pid** %37, metadata !1841, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1926
%258 = bitcast %struct.pid** %37 to i64*, !dbg !1925
store i64 0, i64* %258, align 8, !dbg !1925
%259 = load i64, i64* @"llvm.task_struct:0:48$0:8", align 8
%260 = bitcast %struct.task_struct* %240 to i8*
%261 = getelementptr i8, i8* %260, i64 %259
%262 = bitcast i8* %261 to %struct.pid**
%263 = call %struct.pid** @llvm.bpf.passthrough.p0p0s_struct.pids.p0p0s_struct.pids(i32 397, %struct.pid** %262) #7
%264 = bitcast %struct.pid** %263 to i8*, !dbg !1925
%265 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %257, i32 8, i8* %264) #7, !dbg !1925
%266 = bitcast %struct.pid** %37 to i8**, !dbg !1925
%267 = load i8*, i8** %266, align 8, !dbg !1925, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1841, metadata !DIExpression()) #7, !dbg !1926
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %257) #7, !dbg !1927
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1834, metadata !DIExpression()) #7, !dbg !1915
br label %268
268: ; preds = %256, %244
%269 = phi i8* [ %255, %244 ], [ %267, %256 ], !dbg !1928
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1834, metadata !DIExpression()) #7, !dbg !1915
%270 = bitcast i32* %38 to i8*, !dbg !1929
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %270) #7, !dbg !1929
call void @llvm.dbg.value(metadata i32* %38, metadata !1844, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1930
store i32 0, i32* %38, align 4, !dbg !1929
%271 = load i64, i64* @"llvm.pid:0:0$0:0", align 8
%272 = getelementptr i8, i8* %269, i64 %271
%273 = bitcast i8* %272 to i32*
%274 = call i32* @llvm.bpf.passthrough.p0i32.p0i32(i32 398, i32* %273) #7
%275 = bitcast i32* %274 to i8*, !dbg !1929
%276 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %270, i32 4, i8* %275) #7, !dbg !1929
%277 = load i32, i32* %38, align 4, !dbg !1929, !tbaa !1657
call void @llvm.dbg.value(metadata i32 %277, metadata !1844, metadata !DIExpression()) #7, !dbg !1930
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %270) #7, !dbg !1931
call void @llvm.dbg.value(metadata i32 %277, metadata !1833, metadata !DIExpression()) #7, !dbg !1915
%278 = bitcast i32* %39 to i8*, !dbg !1932
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %278) #7, !dbg !1932
call void @llvm.dbg.value(metadata i32* %39, metadata !1846, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1933
store i32 0, i32* %39, align 4, !dbg !1932
%279 = load i64, i64* @"llvm.pid:0:8$0:1", align 8
%280 = getelementptr i8, i8* %269, i64 %279
%281 = bitcast i8* %280 to [1 x %struct.upid]*
%282 = call [1 x %struct.upid]* @llvm.bpf.passthrough.p0a1s_struct.upids.p0a1s_struct.upids(i32 399, [1 x %struct.upid]* %281) #7
%283 = zext i32 %277 to i64, !dbg !1932
%284 = getelementptr inbounds [1 x %struct.upid], [1 x %struct.upid]* %282, i64 0, i64 %283, !dbg !1932
%285 = load i64, i64* @"llvm.upid:0:0$0:0", align 8
%286 = bitcast %struct.upid* %284 to i8*
%287 = getelementptr i8, i8* %286, i64 %285
%288 = bitcast i8* %287 to i32*
%289 = call i32* @llvm.bpf.passthrough.p0i32.p0i32(i32 400, i32* %288) #7
%290 = bitcast i32* %289 to i8*, !dbg !1932
%291 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %278, i32 4, i8* %290) #7, !dbg !1932
%292 = load i32, i32* %39, align 4, !dbg !1932, !tbaa !1657
call void @llvm.dbg.value(metadata i32 %292, metadata !1846, metadata !DIExpression()) #7, !dbg !1933
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %278) #7, !dbg !1934
%293 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 4, !dbg !1935
store i32 %292, i32* %293, align 8, !dbg !1936, !tbaa !1937
call void @llvm.dbg.value(metadata %struct.task_struct* %79, metadata !1938, metadata !DIExpression()) #7, !dbg !1943
%294 = bitcast %struct.nsproxy** %35 to i8*, !dbg !1945
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %294) #7, !dbg !1945
call void @llvm.dbg.value(metadata %struct.nsproxy** %35, metadata !1941, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1946
%295 = bitcast %struct.nsproxy** %35 to i64*, !dbg !1945
store i64 0, i64* %295, align 8, !dbg !1945
%296 = load i64, i64* @"llvm.task_struct:0:112$0:14", align 8
%297 = getelementptr i8, i8* %87, i64 %296
%298 = bitcast i8* %297 to %struct.nsproxy**
%299 = call %struct.nsproxy** @llvm.bpf.passthrough.p0p0s_struct.nsproxys.p0p0s_struct.nsproxys(i32 29, %struct.nsproxy** %298) #7
%300 = bitcast %struct.nsproxy** %299 to i8*, !dbg !1945
%301 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %294, i32 8, i8* %300) #7, !dbg !1945
%302 = bitcast %struct.nsproxy** %35 to i8**, !dbg !1945
%303 = load i8*, i8** %302, align 8, !dbg !1945, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.nsproxy* undef, metadata !1941, metadata !DIExpression()) #7, !dbg !1946
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %294) #7, !dbg !1947
call void @llvm.dbg.value(metadata %struct.nsproxy* undef, metadata !1948, metadata !DIExpression()) #7, !dbg !1958
%304 = bitcast %struct.mnt_namespace** %33 to i8*, !dbg !1960
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %304) #7, !dbg !1960
call void @llvm.dbg.value(metadata %struct.mnt_namespace** %33, metadata !1954, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1961
%305 = bitcast %struct.mnt_namespace** %33 to i64*, !dbg !1960
store i64 0, i64* %305, align 8, !dbg !1960
%306 = load i64, i64* @"llvm.nsproxy:0:16$0:2", align 8
%307 = getelementptr i8, i8* %303, i64 %306
%308 = bitcast i8* %307 to %struct.mnt_namespace**
%309 = call %struct.mnt_namespace** @llvm.bpf.passthrough.p0p0s_struct.mnt_namespaces.p0p0s_struct.mnt_namespaces(i32 404, %struct.mnt_namespace** %308) #7
%310 = bitcast %struct.mnt_namespace** %309 to i8*, !dbg !1960
%311 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %304, i32 8, i8* %310) #7, !dbg !1960
%312 = bitcast %struct.mnt_namespace** %33 to i8**, !dbg !1960
%313 = load i8*, i8** %312, align 8, !dbg !1960, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.mnt_namespace* undef, metadata !1954, metadata !DIExpression()) #7, !dbg !1961
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %304) #7, !dbg !1962
call void @llvm.dbg.value(metadata %struct.mnt_namespace* undef, metadata !1953, metadata !DIExpression()) #7, !dbg !1958
%314 = bitcast i32* %34 to i8*, !dbg !1963
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %314) #7, !dbg !1963
call void @llvm.dbg.value(metadata i32* %34, metadata !1956, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1964
store i32 0, i32* %34, align 4, !dbg !1963
%315 = load i64, i64* @"llvm.mnt_namespace:0:0$0:0:0", align 8
%316 = getelementptr i8, i8* %313, i64 %315
%317 = bitcast i8* %316 to i32*
%318 = call i32* @llvm.bpf.passthrough.p0i32.p0i32(i32 405, i32* %317) #7
%319 = bitcast i32* %318 to i8*, !dbg !1963
%320 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %314, i32 4, i8* %319) #7, !dbg !1963
%321 = load i32, i32* %34, align 4, !dbg !1963, !tbaa !1657
call void @llvm.dbg.value(metadata i32 %321, metadata !1956, metadata !DIExpression()) #7, !dbg !1964
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %314) #7, !dbg !1965
%322 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 9, !dbg !1966
store i32 %321, i32* %322, align 4, !dbg !1967, !tbaa !1968
call void @llvm.dbg.value(metadata %struct.task_struct* %79, metadata !1969, metadata !DIExpression()) #7, !dbg !1989
call void @llvm.dbg.value(metadata i32 0, metadata !1972, metadata !DIExpression()) #7, !dbg !1989
call void @llvm.dbg.value(metadata %struct.pid* null, metadata !1973, metadata !DIExpression()) #7, !dbg !1989
call void @llvm.dbg.value(metadata %struct.pid_namespace* null, metadata !1974, metadata !DIExpression()) #7, !dbg !1989
%323 = load i32, i32* @"llvm.pid_link:8:1$0", align 4
%324 = call i32 @llvm.bpf.passthrough.i32.i32(i32 383, i32 %323) #7
%325 = icmp eq i32 %324, 0, !dbg !1991
br i1 %325, label %337, label %326, !dbg !1992
326: ; preds = %268
call void @llvm.dbg.value(metadata i8* %87, metadata !1975, metadata !DIExpression()) #7, !dbg !1993
%327 = bitcast %struct.pid** %28 to i8*, !dbg !1994
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %327) #7, !dbg !1994
call void @llvm.dbg.value(metadata %struct.pid** %28, metadata !1978, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1995
%328 = bitcast %struct.pid** %28 to i64*, !dbg !1994
store i64 0, i64* %328, align 8, !dbg !1994
%329 = load i64, i64* @"llvm.task_struct___older_v50:0:16$0:0:0:1", align 8
%330 = getelementptr i8, i8* %87, i64 %329
%331 = bitcast i8* %330 to %struct.pid**
%332 = call %struct.pid** @llvm.bpf.passthrough.p0p0s_struct.pids.p0p0s_struct.pids(i32 384, %struct.pid** %331) #7
%333 = bitcast %struct.pid** %332 to i8*, !dbg !1994
%334 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %327, i32 8, i8* %333) #7, !dbg !1994
%335 = bitcast %struct.pid** %28 to i8**, !dbg !1994
%336 = load i8*, i8** %335, align 8, !dbg !1994, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1978, metadata !DIExpression()) #7, !dbg !1995
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %327) #7, !dbg !1996
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1973, metadata !DIExpression()) #7, !dbg !1989
br label %348, !dbg !1997
337: ; preds = %268
%338 = bitcast %struct.pid** %29 to i8*, !dbg !1998
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %338) #7, !dbg !1998
call void @llvm.dbg.value(metadata %struct.pid** %29, metadata !1980, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1999
%339 = bitcast %struct.pid** %29 to i64*, !dbg !1998
store i64 0, i64* %339, align 8, !dbg !1998
%340 = load i64, i64* @"llvm.task_struct:0:48$0:8", align 8
%341 = getelementptr i8, i8* %87, i64 %340
%342 = bitcast i8* %341 to %struct.pid**
%343 = call %struct.pid** @llvm.bpf.passthrough.p0p0s_struct.pids.p0p0s_struct.pids(i32 382, %struct.pid** %342) #7
%344 = bitcast %struct.pid** %343 to i8*, !dbg !1998
%345 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %338, i32 8, i8* %344) #7, !dbg !1998
%346 = bitcast %struct.pid** %29 to i8**, !dbg !1998
%347 = load i8*, i8** %346, align 8, !dbg !1998, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1980, metadata !DIExpression()) #7, !dbg !1999
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %338) #7, !dbg !2000
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1973, metadata !DIExpression()) #7, !dbg !1989
br label %348
348: ; preds = %337, %326
%349 = phi i8* [ %336, %326 ], [ %347, %337 ], !dbg !2001
call void @llvm.dbg.value(metadata %struct.pid* undef, metadata !1973, metadata !DIExpression()) #7, !dbg !1989
%350 = bitcast i32* %30 to i8*, !dbg !2002
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %350) #7, !dbg !2002
call void @llvm.dbg.value(metadata i32* %30, metadata !1983, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2003
store i32 0, i32* %30, align 4, !dbg !2002
%351 = load i64, i64* @"llvm.pid:0:0$0:0", align 8
%352 = getelementptr i8, i8* %349, i64 %351
%353 = bitcast i8* %352 to i32*
%354 = call i32* @llvm.bpf.passthrough.p0i32.p0i32(i32 385, i32* %353) #7
%355 = bitcast i32* %354 to i8*, !dbg !2002
%356 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %350, i32 4, i8* %355) #7, !dbg !2002
%357 = load i32, i32* %30, align 4, !dbg !2002, !tbaa !1657
call void @llvm.dbg.value(metadata i32 %357, metadata !1983, metadata !DIExpression()) #7, !dbg !2003
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %350) #7, !dbg !2004
call void @llvm.dbg.value(metadata i32 %357, metadata !1972, metadata !DIExpression()) #7, !dbg !1989
%358 = bitcast %struct.pid_namespace** %31 to i8*, !dbg !2005
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %358) #7, !dbg !2005
call void @llvm.dbg.value(metadata %struct.pid_namespace** %31, metadata !1985, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2006
%359 = bitcast %struct.pid_namespace** %31 to i64*, !dbg !2005
store i64 0, i64* %359, align 8, !dbg !2005
%360 = load i64, i64* @"llvm.pid:0:8$0:1", align 8
%361 = getelementptr i8, i8* %349, i64 %360
%362 = bitcast i8* %361 to [1 x %struct.upid]*
%363 = call [1 x %struct.upid]* @llvm.bpf.passthrough.p0a1s_struct.upids.p0a1s_struct.upids(i32 386, [1 x %struct.upid]* %362) #7
%364 = zext i32 %357 to i64, !dbg !2005
%365 = getelementptr inbounds [1 x %struct.upid], [1 x %struct.upid]* %363, i64 0, i64 %364, !dbg !2005
%366 = load i64, i64* @"llvm.upid:0:8$0:1", align 8
%367 = bitcast %struct.upid* %365 to i8*
%368 = getelementptr i8, i8* %367, i64 %366
%369 = bitcast i8* %368 to %struct.pid_namespace**
%370 = call %struct.pid_namespace** @llvm.bpf.passthrough.p0p0s_struct.pid_namespaces.p0p0s_struct.pid_namespaces(i32 387, %struct.pid_namespace** %369) #7
%371 = bitcast %struct.pid_namespace** %370 to i8*, !dbg !2005
%372 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %358, i32 8, i8* %371) #7, !dbg !2005
%373 = bitcast %struct.pid_namespace** %31 to i8**, !dbg !2005
%374 = load i8*, i8** %373, align 8, !dbg !2005, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.pid_namespace* undef, metadata !1985, metadata !DIExpression()) #7, !dbg !2006
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %358) #7, !dbg !2007
call void @llvm.dbg.value(metadata %struct.pid_namespace* undef, metadata !1974, metadata !DIExpression()) #7, !dbg !1989
%375 = bitcast i32* %32 to i8*, !dbg !2008
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %375) #7, !dbg !2008
call void @llvm.dbg.value(metadata i32* %32, metadata !1987, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2009
store i32 0, i32* %32, align 4, !dbg !2008
%376 = load i64, i64* @"llvm.pid_namespace:0:4$0:1:0", align 8
%377 = getelementptr i8, i8* %374, i64 %376
%378 = bitcast i8* %377 to i32*
%379 = call i32* @llvm.bpf.passthrough.p0i32.p0i32(i32 388, i32* %378) #7
%380 = bitcast i32* %379 to i8*, !dbg !2008
%381 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %375, i32 4, i8* %380) #7, !dbg !2008
%382 = load i32, i32* %32, align 4, !dbg !2008, !tbaa !1657
call void @llvm.dbg.value(metadata i32 %382, metadata !1987, metadata !DIExpression()) #7, !dbg !2009
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %375) #7, !dbg !2010
%383 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 10, !dbg !2011
store i32 %382, i32* %383, align 8, !dbg !2012, !tbaa !2013
%384 = call i64 inttoptr (i64 15 to i64 ()*)() #7, !dbg !2014
%385 = trunc i64 %384 to i32, !dbg !2014
%386 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 8, !dbg !2015
store i32 %385, i32* %386, align 8, !dbg !2016, !tbaa !2017
%387 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 13, !dbg !2018
store i32 0, i32* %387, align 4, !dbg !2019, !tbaa !2020
%388 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 11, i64 0, !dbg !2021
%389 = call i64 inttoptr (i64 16 to i64 (i8*, i32)*)(i8* nonnull %388, i32 16) #7, !dbg !2022
call void @llvm.dbg.value(metadata %struct.task_struct* %79, metadata !2023, metadata !DIExpression()) #7, !dbg !2036
%390 = bitcast %struct.nsproxy** %25 to i8*, !dbg !2038
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %390) #7, !dbg !2038
call void @llvm.dbg.value(metadata %struct.nsproxy** %25, metadata !2029, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2039
%391 = bitcast %struct.nsproxy** %25 to i64*, !dbg !2038
store i64 0, i64* %391, align 8, !dbg !2038
%392 = load i64, i64* @"llvm.task_struct:0:112$0:14", align 8
%393 = getelementptr i8, i8* %87, i64 %392
%394 = bitcast i8* %393 to %struct.nsproxy**
%395 = call %struct.nsproxy** @llvm.bpf.passthrough.p0p0s_struct.nsproxys.p0p0s_struct.nsproxys(i32 390, %struct.nsproxy** %394) #7
%396 = bitcast %struct.nsproxy** %395 to i8*, !dbg !2038
%397 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %390, i32 8, i8* %396) #7, !dbg !2038
%398 = bitcast %struct.nsproxy** %25 to i8**, !dbg !2038
%399 = load i8*, i8** %398, align 8, !dbg !2038, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.nsproxy* undef, metadata !2029, metadata !DIExpression()) #7, !dbg !2039
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %390) #7, !dbg !2040
call void @llvm.dbg.value(metadata %struct.nsproxy* undef, metadata !2028, metadata !DIExpression()) #7, !dbg !2036
%400 = bitcast %struct.uts_namespace** %26 to i8*, !dbg !2041
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %400) #7, !dbg !2041
call void @llvm.dbg.value(metadata %struct.uts_namespace** %26, metadata !2032, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2042
%401 = bitcast %struct.uts_namespace** %26 to i64*, !dbg !2041
store i64 0, i64* %401, align 8, !dbg !2041
%402 = load i64, i64* @"llvm.nsproxy:0:0$0:0", align 8
%403 = getelementptr i8, i8* %399, i64 %402
%404 = bitcast i8* %403 to %struct.uts_namespace**
%405 = call %struct.uts_namespace** @llvm.bpf.passthrough.p0p0s_struct.uts_namespaces.p0p0s_struct.uts_namespaces(i32 389, %struct.uts_namespace** %404) #7
%406 = bitcast %struct.uts_namespace** %405 to i8*, !dbg !2041
%407 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %400, i32 8, i8* %406) #7, !dbg !2041
%408 = bitcast %struct.uts_namespace** %26 to i8**, !dbg !2041
%409 = load i8*, i8** %408, align 8, !dbg !2041, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.uts_namespace* undef, metadata !2032, metadata !DIExpression()) #7, !dbg !2042
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %400) #7, !dbg !2043
call void @llvm.dbg.value(metadata %struct.uts_namespace* undef, metadata !2031, metadata !DIExpression()) #7, !dbg !2036
%410 = getelementptr inbounds [65 x i8], [65 x i8]* %27, i64 0, i64 0, !dbg !2044
call void @llvm.lifetime.start.p0i8(i64 65, i8* nonnull %410) #7, !dbg !2044
call void @llvm.dbg.declare(metadata [65 x i8]* %27, metadata !2034, metadata !DIExpression()) #7, !dbg !2044
call void @llvm.memset.p0i8.i64(i8* nonnull align 1 dereferenceable(65) %410, i8 0, i64 65, i1 false) #7, !dbg !2044
%411 = load i64, i64* @"llvm.uts_namespace:0:0$0:0:0", align 8
%412 = getelementptr i8, i8* %409, i64 %411
%413 = bitcast i8* %412 to [65 x i8]*
%414 = call [65 x i8]* @llvm.bpf.passthrough.p0a65i8.p0a65i8(i32 391, [65 x i8]* %413) #7
%415 = getelementptr [65 x i8], [65 x i8]* %414, i64 0, i64 0, !dbg !2044
%416 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %410, i32 65, i8* %415) #7, !dbg !2044
call void @llvm.lifetime.end.p0i8(i64 65, i8* nonnull %410) #7, !dbg !2045
call void @llvm.dbg.value(metadata i8* %410, metadata !1775, metadata !DIExpression()) #7, !dbg !1776
%417 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 12, i64 0, !dbg !2046
%418 = call i64 inttoptr (i64 45 to i64 (i8*, i32, i8*)*)(i8* nonnull %417, i32 16, i8* nonnull %410) #7, !dbg !2048
%419 = and i32 %83, 128, !dbg !2049
%420 = icmp eq i32 %419, 0, !dbg !2049
br i1 %420, label %495, label %421, !dbg !2051
421: ; preds = %348
call void @llvm.dbg.value(metadata %struct.task_struct* %79, metadata !2052, metadata !DIExpression()) #7, !dbg !2066
%422 = bitcast %struct.css_set** %22 to i8*, !dbg !2069
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %422) #7, !dbg !2069
call void @llvm.dbg.value(metadata %struct.css_set** %22, metadata !2058, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2070
%423 = bitcast %struct.css_set** %22 to i64*, !dbg !2069
store i64 0, i64* %423, align 8, !dbg !2069
%424 = load i64, i64* @"llvm.task_struct:0:120$0:15", align 8
%425 = getelementptr i8, i8* %87, i64 %424
%426 = bitcast i8* %425 to %struct.css_set**
%427 = call %struct.css_set** @llvm.bpf.passthrough.p0p0s_struct.css_sets.p0p0s_struct.css_sets(i32 392, %struct.css_set** %426) #7
%428 = bitcast %struct.css_set** %427 to i8*, !dbg !2069
%429 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %422, i32 8, i8* %428) #7, !dbg !2069
%430 = bitcast %struct.css_set** %22 to i8**, !dbg !2069
%431 = load i8*, i8** %430, align 8, !dbg !2069, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.css_set* undef, metadata !2058, metadata !DIExpression()) #7, !dbg !2070
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %422) #7, !dbg !2071
call void @llvm.dbg.value(metadata %struct.css_set* undef, metadata !2057, metadata !DIExpression()) #7, !dbg !2066
%432 = bitcast %struct.cgroup_subsys_state** %23 to i8*, !dbg !2072
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %432) #7, !dbg !2072
call void @llvm.dbg.value(metadata %struct.cgroup_subsys_state** %23, metadata !2061, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2073
%433 = bitcast %struct.cgroup_subsys_state** %23 to i64*, !dbg !2072
store i64 0, i64* %433, align 8, !dbg !2072
%434 = load i64, i64* @"llvm.css_set:0:0$0:0:0", align 8
%435 = getelementptr i8, i8* %431, i64 %434
%436 = bitcast i8* %435 to %struct.cgroup_subsys_state**
%437 = call %struct.cgroup_subsys_state** @llvm.bpf.passthrough.p0p0s_struct.cgroup_subsys_states.p0p0s_struct.cgroup_subsys_states(i32 393, %struct.cgroup_subsys_state** %436) #7
%438 = bitcast %struct.cgroup_subsys_state** %437 to i8*, !dbg !2072
%439 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %432, i32 8, i8* %438) #7, !dbg !2072
%440 = bitcast %struct.cgroup_subsys_state** %23 to i8**, !dbg !2072
%441 = load i8*, i8** %440, align 8, !dbg !2072, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.cgroup_subsys_state* undef, metadata !2061, metadata !DIExpression()) #7, !dbg !2073
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %432) #7, !dbg !2074
call void @llvm.dbg.value(metadata %struct.cgroup_subsys_state* undef, metadata !2060, metadata !DIExpression()) #7, !dbg !2066
%442 = bitcast %struct.cgroup** %24 to i8*, !dbg !2075
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %442) #7, !dbg !2075
call void @llvm.dbg.value(metadata %struct.cgroup** %24, metadata !2064, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2076
%443 = bitcast %struct.cgroup** %24 to i64*, !dbg !2075
store i64 0, i64* %443, align 8, !dbg !2075
%444 = load i64, i64* @"llvm.cgroup_subsys_state:0:0$0:0", align 8
%445 = getelementptr i8, i8* %441, i64 %444
%446 = bitcast i8* %445 to %struct.cgroup**
%447 = call %struct.cgroup** @llvm.bpf.passthrough.p0p0s_struct.cgroups.p0p0s_struct.cgroups(i32 394, %struct.cgroup** %446) #7
%448 = bitcast %struct.cgroup** %447 to i8*, !dbg !2075
%449 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %442, i32 8, i8* %448) #7, !dbg !2075
%450 = bitcast %struct.cgroup** %24 to i8**, !dbg !2075
%451 = load i8*, i8** %450, align 8, !dbg !2075, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.cgroup* undef, metadata !2064, metadata !DIExpression()) #7, !dbg !2076
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %442) #7, !dbg !2077
call void @llvm.dbg.value(metadata %struct.cgroup* undef, metadata !2063, metadata !DIExpression()) #7, !dbg !2066
call void @llvm.dbg.value(metadata %struct.cgroup* undef, metadata !2078, metadata !DIExpression()) #7, !dbg !2093
%452 = bitcast %struct.kernfs_node** %20 to i8*, !dbg !2095
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %452) #7, !dbg !2095
call void @llvm.dbg.value(metadata %struct.kernfs_node** %20, metadata !2084, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2096
%453 = bitcast %struct.kernfs_node** %20 to i64*, !dbg !2095
store i64 0, i64* %453, align 8, !dbg !2095
%454 = load i64, i64* @"llvm.cgroup:0:0$0:0", align 8
%455 = getelementptr i8, i8* %451, i64 %454
%456 = bitcast i8* %455 to %struct.kernfs_node**
%457 = call %struct.kernfs_node** @llvm.bpf.passthrough.p0p0s_struct.kernfs_nodes.p0p0s_struct.kernfs_nodes(i32 113, %struct.kernfs_node** %456) #7
%458 = bitcast %struct.kernfs_node** %457 to i8*, !dbg !2095
%459 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %452, i32 8, i8* %458) #7, !dbg !2095
%460 = load %struct.kernfs_node*, %struct.kernfs_node** %20, align 8, !dbg !2095, !tbaa !1817
call void @llvm.dbg.value(metadata %struct.kernfs_node* %460, metadata !2084, metadata !DIExpression()) #7, !dbg !2096
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %452) #7, !dbg !2097
call void @llvm.dbg.value(metadata %struct.kernfs_node* %460, metadata !2083, metadata !DIExpression()) #7, !dbg !2093
%461 = icmp eq %struct.kernfs_node* %460, null, !dbg !2098
br i1 %461, label %497, label %462, !dbg !2100
462: ; preds = %421
%463 = bitcast i64* %21 to i8*, !dbg !2101
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %463) #7, !dbg !2101
%464 = load i32, i32* @"llvm.kernfs_node_id:8:1$0", align 4
%465 = call i32 @llvm.bpf.passthrough.i32.i32(i32 114, i32 %464) #7
%466 = icmp eq i32 %465, 0, !dbg !2102
br i1 %466, label %484, label %467, !dbg !2103
467: ; preds = %462
%468 = bitcast %struct.kernfs_node* %460 to i8*, !dbg !2104
call void @llvm.dbg.value(metadata i8* %468, metadata !2087, metadata !DIExpression()) #7, !dbg !2105
call void @llvm.dbg.value(metadata i8* %468, metadata !2091, metadata !DIExpression()) #7, !dbg !2105
%469 = load i32, i32* @"llvm.kernfs_node___rh8:2:1$0:1:0", align 4
%470 = call i32 @llvm.bpf.passthrough.i32.i32(i32 112, i32 %469) #7
%471 = icmp eq i32 %470, 0, !dbg !2106
br i1 %471, label %478, label %472, !dbg !2108
472: ; preds = %467
%473 = load i64, i64* @"llvm.kernfs_node___rh8:0:8$0:1:0", align 8
%474 = getelementptr i8, i8* %468, i64 %473
%475 = bitcast i8* %474 to %union.anon.44*
%476 = call %union.anon.44* @llvm.bpf.passthrough.p0s_union.anon.44s.p0s_union.anon.44s(i32 115, %union.anon.44* %475) #7
%477 = bitcast %union.anon.44* %476 to i8*, !dbg !2109
call void @llvm.dbg.value(metadata i64* %21, metadata !2086, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2093
br label %491, !dbg !2111
478: ; preds = %467
%479 = load i64, i64* @"llvm.kernfs_node___older_v55:0:8$0:1", align 8
%480 = getelementptr i8, i8* %468, i64 %479
%481 = bitcast i8* %480 to %union.kernfs_node_id*
%482 = call %union.kernfs_node_id* @llvm.bpf.passthrough.p0s_union.kernfs_node_ids.p0s_union.kernfs_node_ids(i32 111, %union.kernfs_node_id* %481) #7
%483 = bitcast %union.kernfs_node_id* %482 to i8*, !dbg !2112
call void @llvm.dbg.value(metadata i64* %21, metadata !2086, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2093
br label %491
484: ; preds = %462
%485 = load i64, i64* @"llvm.kernfs_node:0:8$0:1", align 8
%486 = bitcast %struct.kernfs_node* %460 to i8*
%487 = getelementptr i8, i8* %486, i64 %485
%488 = bitcast i8* %487 to i64*
%489 = call i64* @llvm.bpf.passthrough.p0i64.p0i64(i32 116, i64* %488) #7
%490 = bitcast i64* %489 to i8*, !dbg !2114
call void @llvm.dbg.value(metadata i64* %21, metadata !2086, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2093
br label %491
491: ; preds = %484, %478, %472
%492 = phi i8* [ %490, %484 ], [ %483, %478 ], [ %477, %472 ]
%493 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %463, i32 8, i8* %492) #7, !dbg !2116
%494 = load i64, i64* %21, align 8, !dbg !2117, !tbaa !1668
call void @llvm.dbg.value(metadata i64 %494, metadata !2086, metadata !DIExpression()) #7, !dbg !2093
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %463) #7, !dbg !2118
br label %497
495: ; preds = %348
%496 = call i64 inttoptr (i64 80 to i64 ()*)() #7, !dbg !2119
br label %497
497: ; preds = %495, %491, %421
%498 = phi i64 [ %496, %495 ], [ %494, %491 ], [ 0, %421 ]
%499 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 1, !dbg !2121
store i64 %498, i64* %499, align 8, !dbg !2121, !tbaa !2122
%500 = call i64 inttoptr (i64 5 to i64 ()*)() #7, !dbg !2123
%501 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 0, !dbg !2124
store i64 %500, i64* %501, align 8, !dbg !2125, !tbaa !2126
%502 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 7, !dbg !2127
store i8 0, i8* %502, align 2, !dbg !2128, !tbaa !2129
%503 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 5, !dbg !2130
store i32 0, i32* %503, align 8, !dbg !2131, !tbaa !2132
%504 = call i32 inttoptr (i64 8 to i32 ()*)() #7, !dbg !2133
%505 = trunc i32 %504 to i16, !dbg !2134
%506 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 6, !dbg !2135
store i16 %505, i16* %506, align 4, !dbg !2136, !tbaa !2137
%507 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 3, !dbg !2138
%508 = bitcast i8** %507 to %struct.bpf_raw_tracepoint_args**, !dbg !2139
store %struct.bpf_raw_tracepoint_args* %0, %struct.bpf_raw_tracepoint_args** %508, align 8, !dbg !2139, !tbaa !2140
%509 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 6, !dbg !2141
store i32 120, i32* %509, align 8, !dbg !2142, !tbaa !2143
%510 = bitcast i32* %54 to i8*, !dbg !2144
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %510) #7, !dbg !2144
call void @llvm.dbg.value(metadata i32 0, metadata !1727, metadata !DIExpression()) #7, !dbg !1739
store i32 0, i32* %54, align 4, !dbg !2145, !tbaa !1657
call void @llvm.dbg.value(metadata i32* %54, metadata !1727, metadata !DIExpression(DW_OP_deref)) #7, !dbg !1739
%511 = call i8* inttoptr (i64 1 to i8* (i8*, i8*)*)(i8* bitcast (%struct.anon.36* @bufs to i8*), i8* nonnull %510) #7, !dbg !2146
%512 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 5, !dbg !2147
%513 = bitcast %struct.simple_buf** %512 to i8**, !dbg !2148
store i8* %511, i8** %513, align 8, !dbg !2148, !tbaa !2149
%514 = icmp eq i8* %511, null, !dbg !2150
br i1 %514, label %620, label %515, !dbg !2152
515: ; preds = %497
%516 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, !dbg !2153
%517 = bitcast i32* %96 to i8*, !dbg !2154
%518 = call i64 inttoptr (i64 2 to i64 (i8*, i8*, i8*, i64)*)(i8* bitcast (%struct.anon.6* @task_info_map to i8*), i8* nonnull %517, i8* nonnull %511, i64 1) #7, !dbg !2155
call void @llvm.dbg.value(metadata i64 %518, metadata !1728, metadata !DIExpression(DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !1739
%519 = call i8* inttoptr (i64 1 to i8* (i8*, i8*)*)(i8* bitcast (%struct.anon.6* @task_info_map to i8*), i8* nonnull %517) #7, !dbg !2156
%520 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 2, !dbg !2157
%521 = bitcast %struct.task_info** %520 to i8**, !dbg !2158
store i8* %519, i8** %521, align 8, !dbg !2158, !tbaa !2159
%522 = icmp eq i8* %519, null, !dbg !2160
br i1 %522, label %620, label %523, !dbg !2162
523: ; preds = %515
%524 = trunc i64 %518 to i32, !dbg !2155
call void @llvm.dbg.value(metadata i32 %524, metadata !1728, metadata !DIExpression()) #7, !dbg !1739
call void @llvm.dbg.value(metadata i8 1, metadata !1729, metadata !DIExpression()) #7, !dbg !1739
%525 = icmp eq i32 %524, 0, !dbg !2163
br i1 %525, label %526, label %534, !dbg !2164
526: ; preds = %523
%527 = getelementptr inbounds i8, i8* %519, i64 160, !dbg !2165
store i8 0, i8* %527, align 8, !dbg !2167, !tbaa !2168
%528 = getelementptr inbounds i8, i8* %519, i64 162, !dbg !2174
store i8 0, i8* %528, align 2, !dbg !2175, !tbaa !2176
%529 = getelementptr inbounds i8, i8* %519, i64 163, !dbg !2177
store i8 0, i8* %529, align 1, !dbg !2178, !tbaa !2179
%530 = getelementptr inbounds i8, i8* %519, i64 161, !dbg !2180
store i8 1, i8* %530, align 1, !dbg !2181, !tbaa !2182
%531 = getelementptr inbounds i8, i8* %519, i64 168, !dbg !2183
store i8 0, i8* %531, align 8, !dbg !2184, !tbaa !2185
call void @llvm.dbg.value(metadata i8 undef, metadata !1729, metadata !DIExpression()) #7, !dbg !1739
%532 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 1
%533 = load i64, i64* %532, align 8, !dbg !2186, !tbaa !2187
br label %599, !dbg !2188
534: ; preds = %523
call void @llvm.dbg.value(metadata i8* %519, metadata !1730, metadata !DIExpression()) #7, !dbg !2189
call void @llvm.dbg.value(metadata %struct.task_context* %516, metadata !1734, metadata !DIExpression()) #7, !dbg !2189
%535 = getelementptr inbounds i8, i8* %519, i64 8, !dbg !2190
%536 = bitcast i8* %535 to i64*, !dbg !2190
%537 = load i64, i64* %536, align 8, !dbg !2190, !tbaa !2192
%538 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 1, !dbg !2193
%539 = load i64, i64* %538, align 8, !dbg !2193, !tbaa !2192
%540 = icmp eq i64 %537, %539, !dbg !2194
br i1 %540, label %541, label %591, !dbg !2195
541: ; preds = %534
%542 = getelementptr inbounds i8, i8* %519, i64 40, !dbg !2196
%543 = bitcast i8* %542 to i32*, !dbg !2196
%544 = load i32, i32* %543, align 8, !dbg !2196, !tbaa !2197
%545 = load i32, i32* %386, align 8, !dbg !2198, !tbaa !2197
%546 = icmp eq i32 %544, %545, !dbg !2199
br i1 %546, label %547, label %591, !dbg !2200
547: ; preds = %541
%548 = getelementptr inbounds i8, i8* %519, i64 44, !dbg !2201
%549 = bitcast i8* %548 to i32*, !dbg !2201
%550 = load i32, i32* %549, align 4, !dbg !2201, !tbaa !2202
%551 = load i32, i32* %322, align 4, !dbg !2203, !tbaa !2202
%552 = icmp eq i32 %550, %551, !dbg !2204
br i1 %552, label %553, label %591, !dbg !2205
553: ; preds = %547
%554 = getelementptr inbounds i8, i8* %519, i64 48, !dbg !2206
%555 = bitcast i8* %554 to i32*, !dbg !2206
%556 = load i32, i32* %555, align 8, !dbg !2206, !tbaa !2207
%557 = load i32, i32* %383, align 8, !dbg !2208, !tbaa !2207
%558 = icmp eq i32 %556, %557, !dbg !2209
br i1 %558, label %559, label %591, !dbg !2210
559: ; preds = %553
%560 = getelementptr inbounds i8, i8* %519, i64 52, !dbg !2211
%561 = bitcast i8* %560 to i64*, !dbg !2212
%562 = load i64, i64* %561, align 4, !dbg !2212, !tbaa !1668
%563 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 11, !dbg !2213
%564 = bitcast [16 x i8]* %563 to i64*, !dbg !2214
%565 = load i64, i64* %564, align 4, !dbg !2214, !tbaa !1668
%566 = icmp eq i64 %562, %565, !dbg !2215
br i1 %566, label %567, label %591, !dbg !2216
567: ; preds = %559
%568 = getelementptr inbounds i8, i8* %519, i64 60, !dbg !2217
%569 = bitcast i8* %568 to i64*, !dbg !2218
%570 = load i64, i64* %569, align 4, !dbg !2218, !tbaa !1668
%571 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 11, i64 8, !dbg !2219
%572 = bitcast i8* %571 to i64*, !dbg !2220
%573 = load i64, i64* %572, align 4, !dbg !2220, !tbaa !1668
%574 = icmp eq i64 %570, %573, !dbg !2221
br i1 %574, label %575, label %591, !dbg !2222
575: ; preds = %567
%576 = getelementptr inbounds i8, i8* %519, i64 68, !dbg !2223
%577 = bitcast i8* %576 to i64*, !dbg !2224
%578 = load i64, i64* %577, align 4, !dbg !2224, !tbaa !1668
%579 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 12, !dbg !2225
%580 = bitcast [16 x i8]* %579 to i64*, !dbg !2226
%581 = load i64, i64* %580, align 4, !dbg !2226, !tbaa !1668
%582 = icmp eq i64 %578, %581, !dbg !2227
br i1 %582, label %583, label %591, !dbg !2228
583: ; preds = %575
%584 = getelementptr inbounds i8, i8* %519, i64 76, !dbg !2229
%585 = bitcast i8* %584 to i64*, !dbg !2230
%586 = load i64, i64* %585, align 4, !dbg !2230, !tbaa !1668
%587 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 12, i64 8, !dbg !2231
%588 = bitcast i8* %587 to i64*, !dbg !2232
%589 = load i64, i64* %588, align 4, !dbg !2232, !tbaa !1668
%590 = icmp eq i64 %586, %589, !dbg !2233
br i1 %590, label %593, label %591, !dbg !2234
591: ; preds = %583, %575, %567, %559, %553, %547, %541, %534
%592 = getelementptr inbounds i8, i8* %519, i64 161, !dbg !2235
store i8 1, i8* %592, align 1, !dbg !2236, !tbaa !2182
br label %593, !dbg !2237
593: ; preds = %591, %583
%594 = getelementptr inbounds i8, i8* %519, i64 168, !dbg !2238
%595 = load i8, i8* %594, align 8, !dbg !2238, !tbaa !2185
switch i8 %595, label %599 [
i8 3, label %596
i8 1, label %596
], !dbg !2240
596: ; preds = %593, %593
%597 = load i32, i32* %387, align 4, !dbg !2241, !tbaa !2243
%598 = or i32 %597, 1, !dbg !2241
store i32 %598, i32* %387, align 4, !dbg !2241, !tbaa !2243
call void @llvm.dbg.value(metadata i8 0, metadata !1729, metadata !DIExpression()) #7, !dbg !1739
call void @llvm.dbg.value(metadata i8 undef, metadata !1729, metadata !DIExpression()) #7, !dbg !1739
br label %621, !dbg !2188
599: ; preds = %593, %526
%600 = phi i64 [ %539, %593 ], [ %533, %526 ], !dbg !2186
%601 = bitcast i32* %55 to i8*, !dbg !2244
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %601) #7, !dbg !2244
%602 = trunc i64 %600 to i32, !dbg !2245
call void @llvm.dbg.value(metadata i32 %602, metadata !1735, metadata !DIExpression()) #7, !dbg !2246
store i32 %602, i32* %55, align 4, !dbg !2247, !tbaa !1657
call void @llvm.dbg.value(metadata i32* %55, metadata !1735, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2246
%603 = call i8* inttoptr (i64 1 to i8* (i8*, i8*)*)(i8* bitcast (%struct.anon.8* @containers_map to i8*), i8* nonnull %601) #7, !dbg !2248
call void @llvm.dbg.value(metadata i8* %603, metadata !1738, metadata !DIExpression()) #7, !dbg !2246
%604 = icmp eq i8* %603, null, !dbg !2249
br i1 %604, label %605, label %607, !dbg !2251
605: ; preds = %599
%606 = load i8*, i8** %521, align 8, !dbg !2252, !tbaa !2159
br label %618, !dbg !2251
607: ; preds = %599
%608 = load i8, i8* %603, align 1, !dbg !2253, !tbaa !2255
%609 = load %struct.task_info*, %struct.task_info** %520, align 8, !dbg !2256, !tbaa !2159
%610 = getelementptr inbounds %struct.task_info, %struct.task_info* %609, i64 0, i32 7, !dbg !2257
store i8 %608, i8* %610, align 8, !dbg !2258, !tbaa !2185
%611 = load i8, i8* %603, align 1, !dbg !2259, !tbaa !2255
%612 = add i8 %611, -1, !dbg !2261
%613 = icmp ult i8 %612, 2, !dbg !2261
%614 = bitcast %struct.task_info* %609 to i8*, !dbg !2261
br i1 %613, label %615, label %618, !dbg !2261
615: ; preds = %607
%616 = load i32, i32* %387, align 4, !dbg !2262, !tbaa !2243
%617 = or i32 %616, 1, !dbg !2262
store i32 %617, i32* %387, align 4, !dbg !2262, !tbaa !2243
br label %618, !dbg !2264
618: ; preds = %615, %607, %605
%619 = phi i8* [ %606, %605 ], [ %614, %607 ], [ %614, %615 ], !dbg !2252
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %601) #7, !dbg !2265
br label %621, !dbg !2266
620: ; preds = %515, %497
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %510) #7, !dbg !1755
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %71) #7, !dbg !1755
br label %1188, !dbg !1756
621: ; preds = %618, %596
%622 = phi i8* [ %519, %596 ], [ %619, %618 ], !dbg !2252
%623 = bitcast %struct.task_context* %516 to i8*, !dbg !2267
%624 = call i64 inttoptr (i64 4 to i64 (i8*, i32, i8*)*)(i8* %622, i32 88, i8* nonnull %623) #7, !dbg !2268
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %510) #7, !dbg !1755
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %71) #7, !dbg !1755
call void @llvm.dbg.value(metadata %struct.event_data* %56, metadata !2269, metadata !DIExpression()) #7, !dbg !2274
%625 = load %struct.task_info*, %struct.task_info** %520, align 8, !dbg !2277, !tbaa !2159
%626 = getelementptr inbounds %struct.task_info, %struct.task_info* %625, i64 0, i32 3, !dbg !2279
%627 = load i8, i8* %626, align 1, !dbg !2279, !tbaa !2182, !range !2280
%628 = icmp eq i8 %627, 0, !dbg !2279
br i1 %628, label %629, label %632, !dbg !2281
629: ; preds = %621
%630 = getelementptr inbounds %struct.task_info, %struct.task_info* %625, i64 0, i32 6
%631 = load i32, i32* %630, align 4, !dbg !2282, !tbaa !2283
br label %878, !dbg !2281
632: ; preds = %621
call void @llvm.dbg.value(metadata %struct.event_data* %56, metadata !2284, metadata !DIExpression()) #7, !dbg !2336
call void @llvm.dbg.value(metadata %struct.event_data* %56, metadata !2287, metadata !DIExpression(DW_OP_plus_uconst, 8, DW_OP_stack_value)) #7, !dbg !2336
%633 = load %struct.config_entry*, %struct.config_entry** %73, align 8, !dbg !2339, !tbaa !1746
%634 = getelementptr inbounds %struct.config_entry, %struct.config_entry* %633, i64 0, i32 2, !dbg !2340
%635 = load i32, i32* %634, align 8, !dbg !2340, !tbaa !2341
call void @llvm.dbg.value(metadata i32 %635, metadata !2288, metadata !DIExpression()) #7, !dbg !2336
%636 = and i32 %635, 16384, !dbg !2342
%637 = icmp eq i32 %636, 0, !dbg !2342
br i1 %637, label %642, label %638, !dbg !2344
638: ; preds = %632
%639 = getelementptr inbounds %struct.task_info, %struct.task_info* %625, i64 0, i32 5, !dbg !2345
%640 = load i8, i8* %639, align 1, !dbg !2345, !tbaa !2179, !range !2280
%641 = icmp eq i8 %640, 0, !dbg !2345
br i1 %641, label %642, label %873, !dbg !2346
642: ; preds = %638, %632
%643 = getelementptr inbounds %struct.config_entry, %struct.config_entry* %633, i64 0, i32 0, !dbg !2347
%644 = load i32, i32* %643, align 8, !dbg !2347, !tbaa !2349
%645 = load i32, i32* %99, align 4, !dbg !2350, !tbaa !2351
%646 = icmp eq i32 %644, %645, !dbg !2352
br i1 %646, label %873, label %647, !dbg !2353
647: ; preds = %642
%648 = and i32 %635, 4096, !dbg !2354
%649 = icmp eq i32 %648, 0, !dbg !2354
br i1 %649, label %659, label %650, !dbg !2355
650: ; preds = %647
call void @llvm.dbg.value(metadata i8 0, metadata !2289, metadata !DIExpression()) #7, !dbg !2356
call void @llvm.dbg.value(metadata i64 undef, metadata !2292, metadata !DIExpression(DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2356
%651 = getelementptr inbounds %struct.task_info, %struct.task_info* %625, i64 0, i32 7, !dbg !2357
%652 = load i8, i8* %651, align 8, !dbg !2357, !tbaa !2185
call void @llvm.dbg.value(metadata i8 %652, metadata !2293, metadata !DIExpression()) #7, !dbg !2356
switch i8 %652, label %653 [
i8 3, label %656
i8 1, label %656
], !dbg !2358
653: ; preds = %650
call void @llvm.dbg.value(metadata i8 undef, metadata !2289, metadata !DIExpression()) #7, !dbg !2356
%654 = and i32 %635, 8192, !dbg !2360
%655 = icmp eq i32 %654, 0, !dbg !2361
call void @llvm.dbg.value(metadata i1 %658, metadata !2294, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2356
br i1 %655, label %873, label %659
656: ; preds = %650, %650
call void @llvm.dbg.value(metadata i8 undef, metadata !2289, metadata !DIExpression()) #7, !dbg !2356
%657 = and i32 %635, 8192, !dbg !2360
%658 = icmp eq i32 %657, 0, !dbg !2361
call void @llvm.dbg.value(metadata i1 %658, metadata !2294, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2356
br i1 %658, label %659, label %873
659: ; preds = %656, %653, %647
%660 = and i32 %635, 131072, !dbg !2362
%661 = icmp eq i32 %660, 0, !dbg !2362
br i1 %661, label %669, label %662, !dbg !2363
662: ; preds = %659
call void @llvm.dbg.value(metadata i8 0, metadata !2295, metadata !DIExpression()) #7, !dbg !2364
call void @llvm.dbg.value(metadata i64 undef, metadata !2298, metadata !DIExpression(DW_OP_LLVM_convert, 64, DW_ATE_unsigned, DW_OP_LLVM_convert, 32, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2364
%663 = getelementptr inbounds %struct.task_info, %struct.task_info* %625, i64 0, i32 7, !dbg !2365
%664 = load i8, i8* %663, align 8, !dbg !2365, !tbaa !2185
%665 = icmp eq i8 %664, 3, !dbg !2367
call void @llvm.dbg.value(metadata i8 undef, metadata !2295, metadata !DIExpression()) #7, !dbg !2364
%666 = and i32 %635, 262144, !dbg !2368
%667 = icmp eq i32 %666, 0, !dbg !2369
call void @llvm.dbg.value(metadata i1 %667, metadata !2299, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2364
%668 = xor i1 %667, %665, !dbg !2370
br i1 %668, label %873, label %669
669: ; preds = %662, %659
%670 = and i32 %635, 1024, !dbg !2372
%671 = icmp eq i32 %670, 0, !dbg !2372
br i1 %671, label %700, label %672, !dbg !2373
672: ; preds = %669
call void @llvm.dbg.value(metadata i1 undef, metadata !2300, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2374
%673 = getelementptr inbounds %struct.config_entry, %struct.config_entry* %633, i64 0, i32 6, !dbg !2375
%674 = load i64, i64* %673, align 8, !dbg !2375, !tbaa !2376
call void @llvm.dbg.value(metadata i64 %674, metadata !2303, metadata !DIExpression()) #7, !dbg !2374
%675 = getelementptr inbounds %struct.config_entry, %struct.config_entry* %633, i64 0, i32 7, !dbg !2377
%676 = load i64, i64* %675, align 8, !dbg !2377, !tbaa !2378
call void @llvm.dbg.value(metadata i64 %676, metadata !2304, metadata !DIExpression()) #7, !dbg !2374
%677 = load i32, i32* %96, align 8, !dbg !2379, !tbaa !2381
%678 = zext i32 %677 to i64, !dbg !2382
%679 = bitcast i64* %18 to i8*, !dbg !2383
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %679) #7, !dbg !2383
call void @llvm.dbg.value(metadata i1 undef, metadata !2388, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2383
call void @llvm.dbg.value(metadata i8* bitcast (%struct.anon.25* @pid_filter to i8*), metadata !2389, metadata !DIExpression()) #7, !dbg !2383
call void @llvm.dbg.value(metadata i64 %678, metadata !2390, metadata !DIExpression()) #7, !dbg !2383
store i64 %678, i64* %18, align 8, !tbaa !1668
call void @llvm.dbg.value(metadata i64 %674, metadata !2391, metadata !DIExpression()) #7, !dbg !2383
call void @llvm.dbg.value(metadata i64 %676, metadata !2392, metadata !DIExpression()) #7, !dbg !2383
call void @llvm.dbg.value(metadata i64* %18, metadata !2390, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2383
%680 = call i8* inttoptr (i64 1 to i8* (i8*, i8*)*)(i8* bitcast (%struct.anon.25* @pid_filter to i8*), i8* nonnull %679) #7, !dbg !2395
call void @llvm.dbg.value(metadata i8* %680, metadata !2393, metadata !DIExpression()) #7, !dbg !2383
%681 = icmp eq i8* %680, null, !dbg !2396
br i1 %681, label %685, label %682, !dbg !2398
682: ; preds = %672
%683 = load i8, i8* %680, align 1, !dbg !2399, !tbaa !2255
%684 = zext i8 %683 to i32, !dbg !2399
br label %697, !dbg !2400
685: ; preds = %672
%686 = load i64, i64* %18, align 8
%687 = add i64 %674, -1, !dbg !2401
%688 = icmp ult i64 %687, %686, !dbg !2401
call void @llvm.dbg.value(metadata i64 %686, metadata !2390, metadata !DIExpression()) #7, !dbg !2383
br i1 %688, label %696, label %689, !dbg !2401
689: ; preds = %685
%690 = icmp eq i64 %676, -1, !dbg !2403
%691 = icmp ugt i64 %686, %676
%692 = or i1 %690, %691, !dbg !2405
call void @llvm.dbg.value(metadata i64 %686, metadata !2390, metadata !DIExpression()) #7, !dbg !2383
br i1 %692, label %693, label %696, !dbg !2405
693: ; preds = %689
%694 = lshr i32 %635, 11, !dbg !2406
%695 = and i32 %694, 1, !dbg !2406
br label %697, !dbg !2407
696: ; preds = %689, %685
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %679) #7, !dbg !2408
br label %873
697: ; preds = %693, %682
%698 = phi i32 [ %684, %682 ], [ %695, %693 ], !dbg !2383
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %679) #7, !dbg !2408
%699 = icmp eq i32 %698, 0, !dbg !2409
br i1 %699, label %873, label %700
700: ; preds = %697, %669
%701 = and i32 %635, 32768, !dbg !2410
%702 = icmp eq i32 %701, 0, !dbg !2410
br i1 %702, label %711, label %703, !dbg !2411
703: ; preds = %700
%704 = and i32 %635, 65536, !dbg !2412
%705 = icmp eq i32 %704, 0, !dbg !2413
call void @llvm.dbg.value(metadata i1 %705, metadata !2305, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2414
%706 = load %struct.task_info*, %struct.task_info** %520, align 8, !dbg !2415, !tbaa !2159
%707 = getelementptr inbounds %struct.task_info, %struct.task_info* %706, i64 0, i32 4, !dbg !2417
%708 = load i8, i8* %707, align 2, !dbg !2417, !tbaa !2176, !range !2280
%709 = icmp ne i8 %708, 0, !dbg !2417
%710 = xor i1 %705, %709, !dbg !2418
br i1 %710, label %873, label %711
711: ; preds = %703, %700
%712 = and i32 %635, 1, !dbg !2419
%713 = icmp eq i32 %712, 0, !dbg !2419
br i1 %713, label %743, label %714, !dbg !2420
714: ; preds = %711
call void @llvm.dbg.value(metadata i1 undef, metadata !2308, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2421
%715 = load %struct.config_entry*, %struct.config_entry** %73, align 8, !dbg !2422, !tbaa !1746
%716 = getelementptr inbounds %struct.config_entry, %struct.config_entry* %715, i64 0, i32 4, !dbg !2423
%717 = load i64, i64* %716, align 8, !dbg !2423, !tbaa !2424
call void @llvm.dbg.value(metadata i64 %717, metadata !2311, metadata !DIExpression()) #7, !dbg !2421
%718 = getelementptr inbounds %struct.config_entry, %struct.config_entry* %715, i64 0, i32 5, !dbg !2425
%719 = load i64, i64* %718, align 8, !dbg !2425, !tbaa !2426
call void @llvm.dbg.value(metadata i64 %719, metadata !2312, metadata !DIExpression()) #7, !dbg !2421
%720 = load i32, i32* %386, align 8, !dbg !2427, !tbaa !2197
%721 = zext i32 %720 to i64, !dbg !2429
%722 = bitcast i64* %17 to i8*, !dbg !2430
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %722) #7, !dbg !2430
call void @llvm.dbg.value(metadata i1 undef, metadata !2388, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2430
call void @llvm.dbg.value(metadata i8* bitcast (%struct.anon.24* @uid_filter to i8*), metadata !2389, metadata !DIExpression()) #7, !dbg !2430
call void @llvm.dbg.value(metadata i64 %721, metadata !2390, metadata !DIExpression()) #7, !dbg !2430
store i64 %721, i64* %17, align 8, !tbaa !1668
call void @llvm.dbg.value(metadata i64 %717, metadata !2391, metadata !DIExpression()) #7, !dbg !2430
call void @llvm.dbg.value(metadata i64 %719, metadata !2392, metadata !DIExpression()) #7, !dbg !2430
call void @llvm.dbg.value(metadata i64* %17, metadata !2390, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2430
%723 = call i8* inttoptr (i64 1 to i8* (i8*, i8*)*)(i8* bitcast (%struct.anon.24* @uid_filter to i8*), i8* nonnull %722) #7, !dbg !2432
call void @llvm.dbg.value(metadata i8* %723, metadata !2393, metadata !DIExpression()) #7, !dbg !2430
%724 = icmp eq i8* %723, null, !dbg !2433
br i1 %724, label %728, label %725, !dbg !2434
725: ; preds = %714
%726 = load i8, i8* %723, align 1, !dbg !2435, !tbaa !2255
%727 = zext i8 %726 to i32, !dbg !2435
br label %740, !dbg !2436
728: ; preds = %714
%729 = load i64, i64* %17, align 8
%730 = add i64 %717, -1, !dbg !2437
%731 = icmp ult i64 %730, %729, !dbg !2437
call void @llvm.dbg.value(metadata i64 %729, metadata !2390, metadata !DIExpression()) #7, !dbg !2430
br i1 %731, label %739, label %732, !dbg !2437
732: ; preds = %728
%733 = icmp eq i64 %719, -1, !dbg !2438
%734 = icmp ugt i64 %729, %719
%735 = or i1 %733, %734, !dbg !2439
call void @llvm.dbg.value(metadata i64 %729, metadata !2390, metadata !DIExpression()) #7, !dbg !2430
br i1 %735, label %736, label %739, !dbg !2439
736: ; preds = %732
%737 = lshr i32 %635, 1, !dbg !2440
%738 = and i32 %737, 1, !dbg !2440
br label %740, !dbg !2441
739: ; preds = %732, %728
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %722) #7, !dbg !2442
br label %873
740: ; preds = %736, %725
%741 = phi i32 [ %727, %725 ], [ %738, %736 ], !dbg !2430
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %722) #7, !dbg !2442
%742 = icmp eq i32 %741, 0, !dbg !2443
br i1 %742, label %873, label %743
743: ; preds = %740, %711
%744 = and i32 %635, 4, !dbg !2444
%745 = icmp eq i32 %744, 0, !dbg !2444
br i1 %745, label %775, label %746, !dbg !2445
746: ; preds = %743
call void @llvm.dbg.value(metadata i1 undef, metadata !2313, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2446
%747 = load %struct.config_entry*, %struct.config_entry** %73, align 8, !dbg !2447, !tbaa !1746
%748 = getelementptr inbounds %struct.config_entry, %struct.config_entry* %747, i64 0, i32 8, !dbg !2448
%749 = load i64, i64* %748, align 8, !dbg !2448, !tbaa !2449
call void @llvm.dbg.value(metadata i64 %749, metadata !2316, metadata !DIExpression()) #7, !dbg !2446
%750 = getelementptr inbounds %struct.config_entry, %struct.config_entry* %747, i64 0, i32 9, !dbg !2450
%751 = load i64, i64* %750, align 8, !dbg !2450, !tbaa !2451
call void @llvm.dbg.value(metadata i64 %751, metadata !2317, metadata !DIExpression()) #7, !dbg !2446
%752 = load i32, i32* %322, align 4, !dbg !2452, !tbaa !2202
%753 = zext i32 %752 to i64, !dbg !2454
%754 = bitcast i64* %16 to i8*, !dbg !2455
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %754) #7, !dbg !2455
call void @llvm.dbg.value(metadata i1 undef, metadata !2388, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2455
call void @llvm.dbg.value(metadata i8* bitcast (%struct.anon.26* @mnt_ns_filter to i8*), metadata !2389, metadata !DIExpression()) #7, !dbg !2455
call void @llvm.dbg.value(metadata i64 %753, metadata !2390, metadata !DIExpression()) #7, !dbg !2455
store i64 %753, i64* %16, align 8, !tbaa !1668
call void @llvm.dbg.value(metadata i64 %749, metadata !2391, metadata !DIExpression()) #7, !dbg !2455
call void @llvm.dbg.value(metadata i64 %751, metadata !2392, metadata !DIExpression()) #7, !dbg !2455
call void @llvm.dbg.value(metadata i64* %16, metadata !2390, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2455
%755 = call i8* inttoptr (i64 1 to i8* (i8*, i8*)*)(i8* bitcast (%struct.anon.26* @mnt_ns_filter to i8*), i8* nonnull %754) #7, !dbg !2457
call void @llvm.dbg.value(metadata i8* %755, metadata !2393, metadata !DIExpression()) #7, !dbg !2455
%756 = icmp eq i8* %755, null, !dbg !2458
br i1 %756, label %760, label %757, !dbg !2459
757: ; preds = %746
%758 = load i8, i8* %755, align 1, !dbg !2460, !tbaa !2255
%759 = zext i8 %758 to i32, !dbg !2460
br label %772, !dbg !2461
760: ; preds = %746
%761 = load i64, i64* %16, align 8
%762 = add i64 %749, -1, !dbg !2462
%763 = icmp ult i64 %762, %761, !dbg !2462
call void @llvm.dbg.value(metadata i64 %761, metadata !2390, metadata !DIExpression()) #7, !dbg !2455
br i1 %763, label %771, label %764, !dbg !2462
764: ; preds = %760
%765 = icmp eq i64 %751, -1, !dbg !2463
%766 = icmp ugt i64 %761, %751
%767 = or i1 %765, %766, !dbg !2464
call void @llvm.dbg.value(metadata i64 %761, metadata !2390, metadata !DIExpression()) #7, !dbg !2455
br i1 %767, label %768, label %771, !dbg !2464
768: ; preds = %764
%769 = lshr i32 %635, 3, !dbg !2465
%770 = and i32 %769, 1, !dbg !2465
br label %772, !dbg !2466
771: ; preds = %764, %760
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %754) #7, !dbg !2467
br label %873
772: ; preds = %768, %757
%773 = phi i32 [ %759, %757 ], [ %770, %768 ], !dbg !2455
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %754) #7, !dbg !2467
%774 = icmp eq i32 %773, 0, !dbg !2468
br i1 %774, label %873, label %775
775: ; preds = %772, %743
%776 = and i32 %635, 16, !dbg !2469
%777 = icmp eq i32 %776, 0, !dbg !2469
br i1 %777, label %807, label %778, !dbg !2470
778: ; preds = %775
call void @llvm.dbg.value(metadata i1 undef, metadata !2318, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2471
%779 = load %struct.config_entry*, %struct.config_entry** %73, align 8, !dbg !2472, !tbaa !1746
%780 = getelementptr inbounds %struct.config_entry, %struct.config_entry* %779, i64 0, i32 10, !dbg !2473
%781 = load i64, i64* %780, align 8, !dbg !2473, !tbaa !2474
call void @llvm.dbg.value(metadata i64 %781, metadata !2321, metadata !DIExpression()) #7, !dbg !2471
%782 = getelementptr inbounds %struct.config_entry, %struct.config_entry* %779, i64 0, i32 11, !dbg !2475
%783 = load i64, i64* %782, align 8, !dbg !2475, !tbaa !2476
call void @llvm.dbg.value(metadata i64 %783, metadata !2322, metadata !DIExpression()) #7, !dbg !2471
%784 = load i32, i32* %383, align 8, !dbg !2477, !tbaa !2207
%785 = zext i32 %784 to i64, !dbg !2479
%786 = bitcast i64* %15 to i8*, !dbg !2480
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %786) #7, !dbg !2480
call void @llvm.dbg.value(metadata i1 undef, metadata !2388, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2480
call void @llvm.dbg.value(metadata i8* bitcast (%struct.anon.27* @pid_ns_filter to i8*), metadata !2389, metadata !DIExpression()) #7, !dbg !2480
call void @llvm.dbg.value(metadata i64 %785, metadata !2390, metadata !DIExpression()) #7, !dbg !2480
store i64 %785, i64* %15, align 8, !tbaa !1668
call void @llvm.dbg.value(metadata i64 %781, metadata !2391, metadata !DIExpression()) #7, !dbg !2480
call void @llvm.dbg.value(metadata i64 %783, metadata !2392, metadata !DIExpression()) #7, !dbg !2480
call void @llvm.dbg.value(metadata i64* %15, metadata !2390, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2480
%787 = call i8* inttoptr (i64 1 to i8* (i8*, i8*)*)(i8* bitcast (%struct.anon.27* @pid_ns_filter to i8*), i8* nonnull %786) #7, !dbg !2482
call void @llvm.dbg.value(metadata i8* %787, metadata !2393, metadata !DIExpression()) #7, !dbg !2480
%788 = icmp eq i8* %787, null, !dbg !2483
br i1 %788, label %792, label %789, !dbg !2484
789: ; preds = %778
%790 = load i8, i8* %787, align 1, !dbg !2485, !tbaa !2255
%791 = zext i8 %790 to i32, !dbg !2485
br label %804, !dbg !2486
792: ; preds = %778
%793 = load i64, i64* %15, align 8
%794 = add i64 %781, -1, !dbg !2487
%795 = icmp ult i64 %794, %793, !dbg !2487
call void @llvm.dbg.value(metadata i64 %793, metadata !2390, metadata !DIExpression()) #7, !dbg !2480
br i1 %795, label %803, label %796, !dbg !2487
796: ; preds = %792
%797 = icmp eq i64 %783, -1, !dbg !2488
%798 = icmp ugt i64 %793, %783
%799 = or i1 %797, %798, !dbg !2489
call void @llvm.dbg.value(metadata i64 %793, metadata !2390, metadata !DIExpression()) #7, !dbg !2480
br i1 %799, label %800, label %803, !dbg !2489
800: ; preds = %796
%801 = lshr i32 %635, 5, !dbg !2490
%802 = and i32 %801, 1, !dbg !2490
br label %804, !dbg !2491
803: ; preds = %796, %792
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %786) #7, !dbg !2492
br label %873
804: ; preds = %800, %789
%805 = phi i32 [ %791, %789 ], [ %802, %800 ], !dbg !2480
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %786) #7, !dbg !2492
%806 = icmp eq i32 %805, 0, !dbg !2493
br i1 %806, label %873, label %807
807: ; preds = %804, %775
%808 = and i32 %635, 64, !dbg !2494
%809 = icmp eq i32 %808, 0, !dbg !2494
br i1 %809, label %822, label %810, !dbg !2495
810: ; preds = %807
call void @llvm.dbg.value(metadata i1 undef, metadata !2323, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2496
call void @llvm.dbg.value(metadata i1 undef, metadata !2497, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2505
call void @llvm.dbg.value(metadata i8* bitcast (%struct.anon.28* @uts_ns_filter to i8*), metadata !2502, metadata !DIExpression()) #7, !dbg !2505
call void @llvm.dbg.value(metadata i8* %417, metadata !2503, metadata !DIExpression()) #7, !dbg !2505
%811 = call i8* inttoptr (i64 1 to i8* (i8*, i8*)*)(i8* bitcast (%struct.anon.28* @uts_ns_filter to i8*), i8* nonnull %417) #7, !dbg !2508
call void @llvm.dbg.value(metadata i8* %811, metadata !2504, metadata !DIExpression()) #7, !dbg !2505
%812 = icmp eq i8* %811, null, !dbg !2509
br i1 %812, label %816, label %813, !dbg !2511
813: ; preds = %810
%814 = bitcast i8* %811 to i32*, !dbg !2508
call void @llvm.dbg.value(metadata i32* %814, metadata !2504, metadata !DIExpression()) #7, !dbg !2505
%815 = load i32, i32* %814, align 4, !dbg !2512, !tbaa !1657
br label %819, !dbg !2513
816: ; preds = %810
call void @llvm.dbg.value(metadata i1 undef, metadata !2497, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2505
call void @llvm.dbg.value(metadata i1 undef, metadata !2323, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2496
%817 = lshr i32 %635, 7, !dbg !2514
%818 = and i32 %817, 1, !dbg !2514
br label %819, !dbg !2515
819: ; preds = %816, %813
%820 = phi i32 [ %815, %813 ], [ %818, %816 ], !dbg !2505
%821 = icmp eq i32 %820, 0, !dbg !2516
br i1 %821, label %873, label %822
822: ; preds = %819, %807
%823 = and i32 %635, 256, !dbg !2517
%824 = icmp eq i32 %823, 0, !dbg !2517
br i1 %824, label %837, label %825, !dbg !2518
825: ; preds = %822
call void @llvm.dbg.value(metadata i1 undef, metadata !2326, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2519
call void @llvm.dbg.value(metadata i1 undef, metadata !2497, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2520
call void @llvm.dbg.value(metadata i8* bitcast (%struct.anon.29* @comm_filter to i8*), metadata !2502, metadata !DIExpression()) #7, !dbg !2520
call void @llvm.dbg.value(metadata i8* %388, metadata !2503, metadata !DIExpression()) #7, !dbg !2520
%826 = call i8* inttoptr (i64 1 to i8* (i8*, i8*)*)(i8* bitcast (%struct.anon.29* @comm_filter to i8*), i8* nonnull %388) #7, !dbg !2523
call void @llvm.dbg.value(metadata i8* %826, metadata !2504, metadata !DIExpression()) #7, !dbg !2520
%827 = icmp eq i8* %826, null, !dbg !2524
br i1 %827, label %831, label %828, !dbg !2525
828: ; preds = %825
%829 = bitcast i8* %826 to i32*, !dbg !2523
call void @llvm.dbg.value(metadata i32* %829, metadata !2504, metadata !DIExpression()) #7, !dbg !2520
%830 = load i32, i32* %829, align 4, !dbg !2526, !tbaa !1657
br label %834, !dbg !2527
831: ; preds = %825
call void @llvm.dbg.value(metadata i1 undef, metadata !2497, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2520
call void @llvm.dbg.value(metadata i1 undef, metadata !2326, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2519
%832 = lshr i32 %635, 9, !dbg !2528
%833 = and i32 %832, 1, !dbg !2528
br label %834, !dbg !2529
834: ; preds = %831, %828
%835 = phi i32 [ %830, %828 ], [ %833, %831 ], !dbg !2520
%836 = icmp eq i32 %835, 0, !dbg !2530
br i1 %836, label %873, label %837
837: ; preds = %834, %822
%838 = and i32 %635, 524288, !dbg !2531
%839 = icmp eq i32 %838, 0, !dbg !2531
br i1 %839, label %853, label %840, !dbg !2532
840: ; preds = %837
call void @llvm.dbg.value(metadata i1 undef, metadata !2329, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2533
%841 = bitcast i32* %231 to i8*, !dbg !2534
call void @llvm.dbg.value(metadata i1 undef, metadata !2497, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2536
call void @llvm.dbg.value(metadata i8* bitcast (%struct.anon.7* @process_tree_map to i8*), metadata !2502, metadata !DIExpression()) #7, !dbg !2536
call void @llvm.dbg.value(metadata i8* %841, metadata !2503, metadata !DIExpression()) #7, !dbg !2536
%842 = call i8* inttoptr (i64 1 to i8* (i8*, i8*)*)(i8* bitcast (%struct.anon.7* @process_tree_map to i8*), i8* nonnull %841) #7, !dbg !2538
call void @llvm.dbg.value(metadata i8* %842, metadata !2504, metadata !DIExpression()) #7, !dbg !2536
%843 = icmp eq i8* %842, null, !dbg !2539
br i1 %843, label %847, label %844, !dbg !2540
844: ; preds = %840
%845 = bitcast i8* %842 to i32*, !dbg !2538
call void @llvm.dbg.value(metadata i32* %845, metadata !2504, metadata !DIExpression()) #7, !dbg !2536
%846 = load i32, i32* %845, align 4, !dbg !2541, !tbaa !1657
br label %850, !dbg !2542
847: ; preds = %840
call void @llvm.dbg.value(metadata i1 undef, metadata !2497, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2536
call void @llvm.dbg.value(metadata i1 undef, metadata !2329, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2533
%848 = lshr i32 %635, 20, !dbg !2543
%849 = and i32 %848, 1, !dbg !2543
br label %850, !dbg !2544
850: ; preds = %847, %844
%851 = phi i32 [ %846, %844 ], [ %849, %847 ], !dbg !2536
%852 = icmp eq i32 %851, 0, !dbg !2545
br i1 %852, label %873, label %853
853: ; preds = %850, %837
%854 = and i32 %635, 2097152, !dbg !2546
%855 = icmp eq i32 %854, 0, !dbg !2546
br i1 %855, label %872, label %856, !dbg !2547
856: ; preds = %853
call void @llvm.dbg.value(metadata i1 undef, metadata !2332, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2548
%857 = bitcast i32* %19 to i8*, !dbg !2549
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %857) #7, !dbg !2549
%858 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 1, i32 1, !dbg !2550
%859 = load i64, i64* %858, align 8, !dbg !2550, !tbaa !2192
%860 = trunc i64 %859 to i32, !dbg !2551
call void @llvm.dbg.value(metadata i32 %860, metadata !2335, metadata !DIExpression()) #7, !dbg !2548
store i32 %860, i32* %19, align 4, !dbg !2552, !tbaa !1657
call void @llvm.dbg.value(metadata i32* %19, metadata !2335, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2548
call void @llvm.dbg.value(metadata i1 undef, metadata !2497, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2553
call void @llvm.dbg.value(metadata i8* bitcast (%struct.anon.30* @cgroup_id_filter to i8*), metadata !2502, metadata !DIExpression()) #7, !dbg !2553
call void @llvm.dbg.value(metadata i8* %857, metadata !2503, metadata !DIExpression()) #7, !dbg !2553
%861 = call i8* inttoptr (i64 1 to i8* (i8*, i8*)*)(i8* bitcast (%struct.anon.30* @cgroup_id_filter to i8*), i8* nonnull %857) #7, !dbg !2556
call void @llvm.dbg.value(metadata i8* %861, metadata !2504, metadata !DIExpression()) #7, !dbg !2553
%862 = icmp eq i8* %861, null, !dbg !2557
br i1 %862, label %866, label %863, !dbg !2558
863: ; preds = %856
%864 = bitcast i8* %861 to i32*, !dbg !2556
call void @llvm.dbg.value(metadata i32* %864, metadata !2504, metadata !DIExpression()) #7, !dbg !2553
%865 = load i32, i32* %864, align 4, !dbg !2559, !tbaa !1657
br label %869, !dbg !2560
866: ; preds = %856
call void @llvm.dbg.value(metadata i1 undef, metadata !2497, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2553
call void @llvm.dbg.value(metadata i1 undef, metadata !2332, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #7, !dbg !2548
%867 = lshr i32 %635, 22, !dbg !2561
%868 = and i32 %867, 1, !dbg !2561
br label %869, !dbg !2562
869: ; preds = %866, %863
%870 = phi i32 [ %865, %863 ], [ %868, %866 ], !dbg !2553
%871 = icmp eq i32 %870, 0, !dbg !2563
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %857) #7, !dbg !2564
br i1 %871, label %873, label %872
872: ; preds = %869, %853
br label %873, !dbg !2565
873: ; preds = %872, %869, %850, %834, %819, %804, %803, %772, %771, %740, %739, %703, %697, %696, %662, %656, %653, %642, %638
%874 = phi i32 [ 1, %872 ], [ 0, %869 ], [ 0, %850 ], [ 0, %834 ], [ 0, %819 ], [ 0, %804 ], [ 0, %772 ], [ 0, %740 ], [ 0, %703 ], [ 0, %697 ], [ 0, %662 ], [ 0, %656 ], [ 1, %638 ], [ 0, %642 ], [ 0, %696 ], [ 0, %739 ], [ 0, %771 ], [ 0, %803 ], [ 0, %653 ]
%875 = load %struct.task_info*, %struct.task_info** %520, align 8, !dbg !2566, !tbaa !2159
%876 = getelementptr inbounds %struct.task_info, %struct.task_info* %875, i64 0, i32 6, !dbg !2567
store i32 %874, i32* %876, align 4, !dbg !2568, !tbaa !2283
%877 = getelementptr inbounds %struct.task_info, %struct.task_info* %875, i64 0, i32 3, !dbg !2569
store i8 0, i8* %877, align 1, !dbg !2570, !tbaa !2182
br label %878, !dbg !2571
878: ; preds = %873, %629
%879 = phi %struct.task_info* [ %875, %873 ], [ %625, %629 ]
%880 = phi i32 [ %874, %873 ], [ %631, %629 ], !dbg !2282
%881 = icmp eq i32 %880, 0, !dbg !2572
br i1 %881, label %1188, label %882, !dbg !2573
882: ; preds = %878
%883 = getelementptr inbounds %struct.task_info, %struct.task_info* %879, i64 0, i32 1, !dbg !2574
call void @llvm.dbg.value(metadata %struct.syscall_data* %883, metadata !1681, metadata !DIExpression()), !dbg !1715
%884 = load i64, i64* @"llvm.bpf_raw_tracepoint_args:0:8$0:0:1", align 8
%885 = getelementptr i8, i8* %70, i64 %884
%886 = bitcast i8* %885 to i64*
%887 = call i64* @llvm.bpf.passthrough.p0i64.p0i64(i32 0, i64* %886)
%888 = load i64, i64* %887, align 8, !dbg !2575, !tbaa !1668
%889 = trunc i64 %888 to i32, !dbg !2575
%890 = getelementptr inbounds %struct.syscall_data, %struct.syscall_data* %883, i64 0, i32 0, !dbg !2576
store i32 %889, i32* %890, align 8, !dbg !2577, !tbaa !2578
%891 = bitcast i32* %14 to i8*, !dbg !2579
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %891), !dbg !2579
call void @llvm.dbg.value(metadata i32 1000, metadata !2584, metadata !DIExpression()) #7, !dbg !2579
store i32 1000, i32* %14, align 4, !tbaa !1657
call void @llvm.dbg.value(metadata i32* %14, metadata !2584, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2579
%892 = call i8* inttoptr (i64 1 to i8* (i8*, i8*)*)(i8* bitcast (%struct.anon.22* @kconfig_map to i8*), i8* nonnull %891) #7, !dbg !2587
call void @llvm.dbg.value(metadata i8* %892, metadata !2585, metadata !DIExpression()) #7, !dbg !2579
%893 = icmp eq i8* %892, null, !dbg !2588
br i1 %893, label %894, label %895, !dbg !2590
894: ; preds = %882
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %891), !dbg !2591
br label %1029, !dbg !2592
895: ; preds = %882
%896 = bitcast i8* %892 to i32*, !dbg !2587
call void @llvm.dbg.value(metadata i32* %896, metadata !2585, metadata !DIExpression()) #7, !dbg !2579
%897 = load i32, i32* %896, align 4, !dbg !2593, !tbaa !1657
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %891), !dbg !2591
%898 = icmp eq i32 %897, 0, !dbg !2594
br i1 %898, label %1029, label %899, !dbg !2592
899: ; preds = %895
%900 = load i64, i64* @"llvm.bpf_raw_tracepoint_args:0:0$0:0:0", align 8
%901 = getelementptr i8, i8* %70, i64 %900
%902 = bitcast i8* %901 to i64*
%903 = call i64* @llvm.bpf.passthrough.p0i64.p0i64(i32 2, i64* %902)
%904 = load i64, i64* %903, align 8, !dbg !2595, !tbaa !1668
call void @llvm.dbg.value(metadata i64 %904, metadata !1682, metadata !DIExpression()), !dbg !2596
%905 = bitcast %struct.task_struct** %80 to i8**, !dbg !2597
%906 = load i8*, i8** %905, align 8, !dbg !2597, !tbaa !1761
call void @llvm.dbg.value(metadata %struct.task_struct* undef, metadata !2598, metadata !DIExpression()) #7, !dbg !2605
%907 = bitcast i32* %13 to i8*, !dbg !2607
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %907) #7, !dbg !2607
call void @llvm.dbg.value(metadata i32* %13, metadata !2603, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2608
store i32 0, i32* %13, align 4, !dbg !2607
%908 = load i64, i64* @"llvm.task_struct:0:0$0:0:0", align 8
%909 = getelementptr i8, i8* %906, i64 %908
%910 = bitcast i8* %909 to i32*
%911 = call i32* @llvm.bpf.passthrough.p0i32.p0i32(i32 15, i32* %910) #7
%912 = bitcast i32* %911 to i8*, !dbg !2607
%913 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %907, i32 4, i8* %912) #7, !dbg !2607
%914 = load i32, i32* %13, align 4, !dbg !2607, !tbaa !1657
call void @llvm.dbg.value(metadata i32 %914, metadata !2603, metadata !DIExpression()) #7, !dbg !2608
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %907) #7, !dbg !2609
%915 = and i32 %914, 2, !dbg !2610
%916 = icmp eq i32 %915, 0, !dbg !2609
br i1 %916, label %973, label %917, !dbg !2611
917: ; preds = %899
call void @llvm.dbg.value(metadata i64 %904, metadata !1682, metadata !DIExpression()), !dbg !2596
%918 = bitcast i64* %57 to i8*, !dbg !2612
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %918) #7, !dbg !2612
call void @llvm.dbg.value(metadata i64* %57, metadata !1685, metadata !DIExpression(DW_OP_deref)), !dbg !2613
store i64 0, i64* %57, align 8, !dbg !2612
%919 = load i64, i64* @"llvm.pt_regs:0:40$0:5", align 8
%920 = inttoptr i64 %904 to i8*
%921 = getelementptr i8, i8* %920, i64 %919
%922 = bitcast i8* %921 to i64*
%923 = call i64* @llvm.bpf.passthrough.p0i64.p0i64(i32 4, i64* %922)
%924 = bitcast i64* %923 to i8*, !dbg !2612
%925 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %918, i32 8, i8* %924) #7, !dbg !2612
%926 = load i64, i64* %57, align 8, !dbg !2612, !tbaa !2614
call void @llvm.dbg.value(metadata i64 %926, metadata !1685, metadata !DIExpression()), !dbg !2613
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %918) #7, !dbg !2615
%927 = getelementptr inbounds %struct.task_info, %struct.task_info* %879, i64 0, i32 1, i32 1, i32 0, i64 0, !dbg !2616
store i64 %926, i64* %927, align 8, !dbg !2617, !tbaa !2614
%928 = bitcast i64* %58 to i8*, !dbg !2618
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %928) #7, !dbg !2618
call void @llvm.dbg.value(metadata i64* %58, metadata !1689, metadata !DIExpression(DW_OP_deref)), !dbg !2619
store i64 0, i64* %58, align 8, !dbg !2618
%929 = load i64, i64* @"llvm.pt_regs:0:88$0:11", align 8
%930 = getelementptr i8, i8* %920, i64 %929
%931 = bitcast i8* %930 to i64*
%932 = call i64* @llvm.bpf.passthrough.p0i64.p0i64(i32 5, i64* %931)
%933 = bitcast i64* %932 to i8*, !dbg !2618
%934 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %928, i32 8, i8* %933) #7, !dbg !2618
%935 = load i64, i64* %58, align 8, !dbg !2618, !tbaa !2614
call void @llvm.dbg.value(metadata i64 %935, metadata !1689, metadata !DIExpression()), !dbg !2619
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %928) #7, !dbg !2620
%936 = getelementptr inbounds %struct.task_info, %struct.task_info* %879, i64 0, i32 1, i32 1, i32 0, i64 1, !dbg !2621
store i64 %935, i64* %936, align 8, !dbg !2622, !tbaa !2614
%937 = bitcast i64* %59 to i8*, !dbg !2623
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %937) #7, !dbg !2623
call void @llvm.dbg.value(metadata i64* %59, metadata !1691, metadata !DIExpression(DW_OP_deref)), !dbg !2624
store i64 0, i64* %59, align 8, !dbg !2623
%938 = load i64, i64* @"llvm.pt_regs:0:96$0:12", align 8
%939 = getelementptr i8, i8* %920, i64 %938
%940 = bitcast i8* %939 to i64*
%941 = call i64* @llvm.bpf.passthrough.p0i64.p0i64(i32 1, i64* %940)
%942 = bitcast i64* %941 to i8*, !dbg !2623
%943 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %937, i32 8, i8* %942) #7, !dbg !2623
%944 = load i64, i64* %59, align 8, !dbg !2623, !tbaa !2614
call void @llvm.dbg.value(metadata i64 %944, metadata !1691, metadata !DIExpression()), !dbg !2624
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %937) #7, !dbg !2625
%945 = getelementptr inbounds %struct.task_info, %struct.task_info* %879, i64 0, i32 1, i32 1, i32 0, i64 2, !dbg !2626
store i64 %944, i64* %945, align 8, !dbg !2627, !tbaa !2614
%946 = bitcast i64* %60 to i8*, !dbg !2628
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %946) #7, !dbg !2628
call void @llvm.dbg.value(metadata i64* %60, metadata !1693, metadata !DIExpression(DW_OP_deref)), !dbg !2629
store i64 0, i64* %60, align 8, !dbg !2628
%947 = load i64, i64* @"llvm.pt_regs:0:104$0:13", align 8
%948 = getelementptr i8, i8* %920, i64 %947
%949 = bitcast i8* %948 to i64*
%950 = call i64* @llvm.bpf.passthrough.p0i64.p0i64(i32 8, i64* %949)
%951 = bitcast i64* %950 to i8*, !dbg !2628
%952 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %946, i32 8, i8* %951) #7, !dbg !2628
%953 = load i64, i64* %60, align 8, !dbg !2628, !tbaa !2614
call void @llvm.dbg.value(metadata i64 %953, metadata !1693, metadata !DIExpression()), !dbg !2629
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %946) #7, !dbg !2630
%954 = getelementptr inbounds %struct.task_info, %struct.task_info* %879, i64 0, i32 1, i32 1, i32 0, i64 3, !dbg !2631
store i64 %953, i64* %954, align 8, !dbg !2632, !tbaa !2614
%955 = bitcast i64* %61 to i8*, !dbg !2633
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %955) #7, !dbg !2633
call void @llvm.dbg.value(metadata i64* %61, metadata !1695, metadata !DIExpression(DW_OP_deref)), !dbg !2634
store i64 0, i64* %61, align 8, !dbg !2633
%956 = load i64, i64* @"llvm.pt_regs:0:112$0:14", align 8
%957 = getelementptr i8, i8* %920, i64 %956
%958 = bitcast i8* %957 to i64*
%959 = call i64* @llvm.bpf.passthrough.p0i64.p0i64(i32 9, i64* %958)
%960 = bitcast i64* %959 to i8*, !dbg !2633
%961 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %955, i32 8, i8* %960) #7, !dbg !2633
%962 = load i64, i64* %61, align 8, !dbg !2633, !tbaa !2614
call void @llvm.dbg.value(metadata i64 %962, metadata !1695, metadata !DIExpression()), !dbg !2634
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %955) #7, !dbg !2635
%963 = getelementptr inbounds %struct.task_info, %struct.task_info* %879, i64 0, i32 1, i32 1, i32 0, i64 4, !dbg !2636
store i64 %962, i64* %963, align 8, !dbg !2637, !tbaa !2614
%964 = bitcast i64* %62 to i8*, !dbg !2638
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %964) #7, !dbg !2638
call void @llvm.dbg.value(metadata i64* %62, metadata !1697, metadata !DIExpression(DW_OP_deref)), !dbg !2639
store i64 0, i64* %62, align 8, !dbg !2638
%965 = load i64, i64* @"llvm.pt_regs:0:32$0:4", align 8
%966 = getelementptr i8, i8* %920, i64 %965
%967 = bitcast i8* %966 to i64*
%968 = call i64* @llvm.bpf.passthrough.p0i64.p0i64(i32 10, i64* %967)
%969 = bitcast i64* %968 to i8*, !dbg !2638
%970 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %964, i32 8, i8* %969) #7, !dbg !2638
%971 = load i64, i64* %62, align 8, !dbg !2638, !tbaa !2614
call void @llvm.dbg.value(metadata i64 %971, metadata !1697, metadata !DIExpression()), !dbg !2639
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %964) #7, !dbg !2640
%972 = getelementptr inbounds %struct.task_info, %struct.task_info* %879, i64 0, i32 1, i32 1, i32 0, i64 5, !dbg !2641
store i64 %971, i64* %972, align 8, !dbg !2642, !tbaa !2614
br label %1039, !dbg !2643
973: ; preds = %899
%974 = bitcast i64* %63 to i8*, !dbg !2644
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %974) #7, !dbg !2644
call void @llvm.dbg.value(metadata i64* %63, metadata !1699, metadata !DIExpression(DW_OP_deref)), !dbg !2645
store i64 0, i64* %63, align 8, !dbg !2644
%975 = load i64, i64* @"llvm.pt_regs:0:112$0:14", align 8
%976 = inttoptr i64 %904 to i8*
%977 = getelementptr i8, i8* %976, i64 %975
%978 = bitcast i8* %977 to i64*
%979 = call i64* @llvm.bpf.passthrough.p0i64.p0i64(i32 11, i64* %978)
%980 = bitcast i64* %979 to i8*, !dbg !2644
%981 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %974, i32 8, i8* %980) #7, !dbg !2644
%982 = load i64, i64* %63, align 8, !dbg !2644, !tbaa !2614
call void @llvm.dbg.value(metadata i64 %982, metadata !1699, metadata !DIExpression()), !dbg !2645
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %974) #7, !dbg !2646
%983 = getelementptr inbounds %struct.task_info, %struct.task_info* %879, i64 0, i32 1, i32 1, i32 0, i64 0, !dbg !2647
store i64 %982, i64* %983, align 8, !dbg !2648, !tbaa !2614
%984 = bitcast i64* %64 to i8*, !dbg !2649
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %984) #7, !dbg !2649
call void @llvm.dbg.value(metadata i64* %64, metadata !1702, metadata !DIExpression(DW_OP_deref)), !dbg !2650
store i64 0, i64* %64, align 8, !dbg !2649
%985 = load i64, i64* @"llvm.pt_regs:0:104$0:13", align 8
%986 = getelementptr i8, i8* %976, i64 %985
%987 = bitcast i8* %986 to i64*
%988 = call i64* @llvm.bpf.passthrough.p0i64.p0i64(i32 12, i64* %987)
%989 = bitcast i64* %988 to i8*, !dbg !2649
%990 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %984, i32 8, i8* %989) #7, !dbg !2649
%991 = load i64, i64* %64, align 8, !dbg !2649, !tbaa !2614
call void @llvm.dbg.value(metadata i64 %991, metadata !1702, metadata !DIExpression()), !dbg !2650
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %984) #7, !dbg !2651
%992 = getelementptr inbounds %struct.task_info, %struct.task_info* %879, i64 0, i32 1, i32 1, i32 0, i64 1, !dbg !2652
store i64 %991, i64* %992, align 8, !dbg !2653, !tbaa !2614
%993 = bitcast i64* %65 to i8*, !dbg !2654
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %993) #7, !dbg !2654
call void @llvm.dbg.value(metadata i64* %65, metadata !1704, metadata !DIExpression(DW_OP_deref)), !dbg !2655
store i64 0, i64* %65, align 8, !dbg !2654
%994 = load i64, i64* @"llvm.pt_regs:0:96$0:12", align 8
%995 = getelementptr i8, i8* %976, i64 %994
%996 = bitcast i8* %995 to i64*
%997 = call i64* @llvm.bpf.passthrough.p0i64.p0i64(i32 6, i64* %996)
%998 = bitcast i64* %997 to i8*, !dbg !2654
%999 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %993, i32 8, i8* %998) #7, !dbg !2654
%1000 = load i64, i64* %65, align 8, !dbg !2654, !tbaa !2614
call void @llvm.dbg.value(metadata i64 %1000, metadata !1704, metadata !DIExpression()), !dbg !2655
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %993) #7, !dbg !2656
%1001 = getelementptr inbounds %struct.task_info, %struct.task_info* %879, i64 0, i32 1, i32 1, i32 0, i64 2, !dbg !2657
store i64 %1000, i64* %1001, align 8, !dbg !2658, !tbaa !2614
%1002 = bitcast i64* %66 to i8*, !dbg !2659
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %1002) #7, !dbg !2659
call void @llvm.dbg.value(metadata i64* %66, metadata !1706, metadata !DIExpression(DW_OP_deref)), !dbg !2660
store i64 0, i64* %66, align 8, !dbg !2659
%1003 = load i64, i64* @"llvm.pt_regs:0:56$0:7", align 8
%1004 = getelementptr i8, i8* %976, i64 %1003
%1005 = bitcast i8* %1004 to i64*
%1006 = call i64* @llvm.bpf.passthrough.p0i64.p0i64(i32 7, i64* %1005)
%1007 = bitcast i64* %1006 to i8*, !dbg !2659
%1008 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %1002, i32 8, i8* %1007) #7, !dbg !2659
%1009 = load i64, i64* %66, align 8, !dbg !2659, !tbaa !2614
call void @llvm.dbg.value(metadata i64 %1009, metadata !1706, metadata !DIExpression()), !dbg !2660
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %1002) #7, !dbg !2661
%1010 = getelementptr inbounds %struct.task_info, %struct.task_info* %879, i64 0, i32 1, i32 1, i32 0, i64 3, !dbg !2662
store i64 %1009, i64* %1010, align 8, !dbg !2663, !tbaa !2614
%1011 = bitcast i64* %67 to i8*, !dbg !2664
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %1011) #7, !dbg !2664
call void @llvm.dbg.value(metadata i64* %67, metadata !1708, metadata !DIExpression(DW_OP_deref)), !dbg !2665
store i64 0, i64* %67, align 8, !dbg !2664
%1012 = load i64, i64* @"llvm.pt_regs:0:72$0:9", align 8
%1013 = getelementptr i8, i8* %976, i64 %1012
%1014 = bitcast i8* %1013 to i64*
%1015 = call i64* @llvm.bpf.passthrough.p0i64.p0i64(i32 13, i64* %1014)
%1016 = bitcast i64* %1015 to i8*, !dbg !2664
%1017 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %1011, i32 8, i8* %1016) #7, !dbg !2664
%1018 = load i64, i64* %67, align 8, !dbg !2664, !tbaa !2614
call void @llvm.dbg.value(metadata i64 %1018, metadata !1708, metadata !DIExpression()), !dbg !2665
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %1011) #7, !dbg !2666
%1019 = getelementptr inbounds %struct.task_info, %struct.task_info* %879, i64 0, i32 1, i32 1, i32 0, i64 4, !dbg !2667
store i64 %1018, i64* %1019, align 8, !dbg !2668, !tbaa !2614
%1020 = bitcast i64* %68 to i8*, !dbg !2669
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %1020) #7, !dbg !2669
call void @llvm.dbg.value(metadata i64* %68, metadata !1710, metadata !DIExpression(DW_OP_deref)), !dbg !2670
store i64 0, i64* %68, align 8, !dbg !2669
%1021 = load i64, i64* @"llvm.pt_regs:0:64$0:8", align 8
%1022 = getelementptr i8, i8* %976, i64 %1021
%1023 = bitcast i8* %1022 to i64*
%1024 = call i64* @llvm.bpf.passthrough.p0i64.p0i64(i32 14, i64* %1023)
%1025 = bitcast i64* %1024 to i8*, !dbg !2669
%1026 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %1020, i32 8, i8* %1025) #7, !dbg !2669
%1027 = load i64, i64* %68, align 8, !dbg !2669, !tbaa !2614
call void @llvm.dbg.value(metadata i64 %1027, metadata !1710, metadata !DIExpression()), !dbg !2670
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %1020) #7, !dbg !2671
%1028 = getelementptr inbounds %struct.task_info, %struct.task_info* %879, i64 0, i32 1, i32 1, i32 0, i64 5, !dbg !2672
store i64 %1027, i64* %1028, align 8, !dbg !2673, !tbaa !2614
br label %1039
1029: ; preds = %895, %894
%1030 = getelementptr inbounds %struct.task_info, %struct.task_info* %879, i64 0, i32 1, i32 1, i32 0, i64 0, !dbg !2674
%1031 = bitcast i64* %1030 to i8*, !dbg !2674
%1032 = load i64, i64* @"llvm.bpf_raw_tracepoint_args:0:0$0:0", align 8
%1033 = getelementptr i8, i8* %70, i64 %1032
%1034 = bitcast i8* %1033 to [0 x i64]*
%1035 = call [0 x i64]* @llvm.bpf.passthrough.p0a0i64.p0a0i64(i32 3, [0 x i64]* %1034)
%1036 = bitcast [0 x i64]* %1035 to i8*, !dbg !2676
%1037 = call i64 inttoptr (i64 4 to i64 (i8*, i32, i8*)*)(i8* nonnull %1031, i32 8, i8* %1036) #7, !dbg !2677
%1038 = bitcast %struct.task_struct** %80 to i8**, !dbg !2678
br label %1039
1039: ; preds = %1029, %973, %917
%1040 = phi i8** [ %905, %917 ], [ %905, %973 ], [ %1038, %1029 ], !dbg !2678
%1041 = load i8*, i8** %1040, align 8, !dbg !2678, !tbaa !1761
call void @llvm.dbg.value(metadata %struct.task_struct* undef, metadata !2679, metadata !DIExpression()) #7, !dbg !2682
call void @llvm.dbg.value(metadata %struct.task_struct* undef, metadata !2598, metadata !DIExpression()) #7, !dbg !2684
%1042 = bitcast i32* %12 to i8*, !dbg !2686
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %1042) #7, !dbg !2686
call void @llvm.dbg.value(metadata i32* %12, metadata !2603, metadata !DIExpression(DW_OP_deref)) #7, !dbg !2687
store i32 0, i32* %12, align 4, !dbg !2686
%1043 = load i64, i64* @"llvm.task_struct:0:0$0:0:0", align 8
%1044 = getelementptr i8, i8* %1041, i64 %1043
%1045 = bitcast i8* %1044 to i32*
%1046 = call i32* @llvm.bpf.passthrough.p0i32.p0i32(i32 15, i32* %1045) #7
%1047 = bitcast i32* %1046 to i8*, !dbg !2686
%1048 = call i64 inttoptr (i64 113 to i64 (i8*, i32, i8*)*)(i8* nonnull %1042, i32 4, i8* %1047) #7, !dbg !2686
%1049 = load i32, i32* %12, align 4, !dbg !2686, !tbaa !1657
call void @llvm.dbg.value(metadata i32 %1049, metadata !2603, metadata !DIExpression()) #7, !dbg !2687
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %1042) #7, !dbg !2688
%1050 = and i32 %1049, 2, !dbg !2689
%1051 = icmp eq i32 %1050, 0, !dbg !2688
br i1 %1051, label %1059, label %1052, !dbg !2690
1052: ; preds = %1039
%1053 = bitcast %struct.syscall_data* %883 to i8*, !dbg !2691
%1054 = call i8* inttoptr (i64 1 to i8* (i8*, i8*)*)(i8* bitcast (%struct.anon.2* @sys_32_to_64_map to i8*), i8* nonnull %1053) #7, !dbg !2692
call void @llvm.dbg.value(metadata i8* %1054, metadata !1712, metadata !DIExpression()), !dbg !2693
%1055 = icmp eq i8* %1054, null, !dbg !2694
br i1 %1055, label %1188, label %1056, !dbg !2696
1056: ; preds = %1052
%1057 = bitcast i8* %1054 to i32*, !dbg !2692
call void @llvm.dbg.value(metadata i32* %1057, metadata !1712, metadata !DIExpression()), !dbg !2693
%1058 = load i32, i32* %1057, align 4, !dbg !2697, !tbaa !1657
store i32 %1058, i32* %890, align 8, !dbg !2698, !tbaa !2578
br label %1059
1059: ; preds = %1056, %1039
%1060 = load %struct.config_entry*, %struct.config_entry** %73, align 8, !dbg !2699, !tbaa !1746
call void @llvm.dbg.value(metadata i32 704, metadata !2701, metadata !DIExpression()), !dbg !2710
call void @llvm.dbg.value(metadata %struct.config_entry* %1060, metadata !2706, metadata !DIExpression()), !dbg !2710
call void @llvm.dbg.value(metadata i32 88, metadata !2707, metadata !DIExpression()), !dbg !2710
call void @llvm.dbg.value(metadata i32 0, metadata !2708, metadata !DIExpression()), !dbg !2710
%1061 = getelementptr inbounds %struct.config_entry, %struct.config_entry* %1060, i64 0, i32 12, i64 88, !dbg !2712
%1062 = load i8, i8* %1061, align 1, !dbg !2712, !tbaa !2255
call void @llvm.dbg.value(metadata i8 %1062, metadata !2709, metadata !DIExpression()), !dbg !2710
%1063 = and i8 %1062, 1, !dbg !2713
%1064 = icmp eq i8 %1063, 0, !dbg !2714
br i1 %1064, label %1117, label %1065, !dbg !2715
1065: ; preds = %1059
%1066 = bitcast %struct.syscall_data* %883 to i8*, !dbg !2716
call void @llvm.dbg.value(metadata %struct.event_data* %56, metadata !2718, metadata !DIExpression()) #7, !dbg !2728
call void @llvm.dbg.value(metadata i8* %1066, metadata !2723, metadata !DIExpression()) #7, !dbg !2728
call void @llvm.dbg.value(metadata i32 4, metadata !2724, metadata !DIExpression()) #7, !dbg !2728
call void @llvm.dbg.value(metadata i8 0, metadata !2725, metadata !DIExpression()) #7, !dbg !2728
%1067 = load i32, i32* %509, align 8, !dbg !2730, !tbaa !2143
%1068 = icmp ugt i32 %1067, 32763, !dbg !2732
br i1 %1068, label %1092, label %1069, !dbg !2733
1069: ; preds = %1065
%1070 = bitcast i32* %11 to i8*, !dbg !2734
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %1070), !dbg !2734
call void @llvm.dbg.declare(metadata i32* %11, metadata !2726, metadata !DIExpression()) #7, !dbg !2735
store volatile i32 %1067, i32* %11, align 4, !dbg !2735, !tbaa !1657
%1071 = load %struct.simple_buf*, %struct.simple_buf** %512, align 8, !dbg !2736, !tbaa !2149
%1072 = load volatile i32, i32* %11, align 4, !dbg !2737, !tbaa !1657
%1073 = and i32 %1072, 32767, !dbg !2738
%1074 = zext i32 %1073 to i64
%1075 = getelementptr inbounds %struct.simple_buf, %struct.simple_buf* %1071, i64 0, i32 0, i64 %1074, !dbg !2739
store i8 0, i8* %1075, align 1, !dbg !2740, !tbaa !2255
%1076 = load i32, i32* %509, align 8, !dbg !2741, !tbaa !2143
%1077 = add i32 %1076, 1, !dbg !2743
%1078 = icmp ult i32 %1077, 32659, !dbg !2744
br i1 %1078, label %1079, label %1090, !dbg !2745
1079: ; preds = %1069
%1080 = zext i32 %1077 to i64, !dbg !2746
%1081 = load %struct.simple_buf*, %struct.simple_buf** %512, align 8, !dbg !2747, !tbaa !2149
%1082 = getelementptr inbounds %struct.simple_buf, %struct.simple_buf* %1081, i64 0, i32 0, i64 %1080, !dbg !2750
%1083 = call i64 inttoptr (i64 4 to i64 (i8*, i32, i8*)*)(i8* %1082, i32 4, i8* nonnull %1066) #7, !dbg !2751
%1084 = icmp eq i64 %1083, 0, !dbg !2752
br i1 %1084, label %1085, label %1090, !dbg !2753
1085: ; preds = %1079
%1086 = load i32, i32* %509, align 8, !dbg !2754, !tbaa !2143
%1087 = add i32 %1086, 5, !dbg !2754
store i32 %1087, i32* %509, align 8, !dbg !2754, !tbaa !2143
%1088 = load i8, i8* %502, align 2, !dbg !2756, !tbaa !2757
%1089 = add i8 %1088, 1, !dbg !2756
store i8 %1089, i8* %502, align 2, !dbg !2756, !tbaa !2757
br label %1090, !dbg !2758
1090: ; preds = %1085, %1079, %1069
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %1070), !dbg !2759
%1091 = load %struct.config_entry*, %struct.config_entry** %73, align 8, !dbg !2760, !tbaa !1746
br label %1092
1092: ; preds = %1090, %1065
%1093 = phi %struct.config_entry* [ %1060, %1065 ], [ %1091, %1090 ], !dbg !2760
call void @llvm.dbg.value(metadata %struct.event_data* %56, metadata !2766, metadata !DIExpression()) #7, !dbg !2774
call void @llvm.dbg.value(metadata i32 704, metadata !2767, metadata !DIExpression()) #7, !dbg !2774
call void @llvm.dbg.value(metadata i64 0, metadata !2768, metadata !DIExpression()) #7, !dbg !2774
%1094 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 2, !dbg !2775
store i32 704, i32* %1094, align 8, !dbg !2776, !tbaa !2777
%1095 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 4, !dbg !2778
store i64 0, i64* %1095, align 8, !dbg !2779, !tbaa !2780
%1096 = getelementptr inbounds %struct.config_entry, %struct.config_entry* %1093, i64 0, i32 1, !dbg !2781
%1097 = load i32, i32* %1096, align 4, !dbg !2781, !tbaa !1764
%1098 = and i32 %1097, 16, !dbg !2782
%1099 = icmp eq i32 %1098, 0, !dbg !2782
br i1 %1099, label %1106, label %1100, !dbg !2783
1100: ; preds = %1092
%1101 = load i8*, i8** %507, align 8, !dbg !2784, !tbaa !2140
%1102 = call i64 inttoptr (i64 27 to i64 (i8*, i8*, i64)*)(i8* %1101, i8* bitcast (%struct.anon.39* @stack_addresses to i8*), i64 256) #7, !dbg !2785
%1103 = trunc i64 %1102 to i32, !dbg !2785
call void @llvm.dbg.value(metadata i32 %1103, metadata !2769, metadata !DIExpression()) #7, !dbg !2786
%1104 = icmp sgt i32 %1103, -1, !dbg !2787
br i1 %1104, label %1105, label %1106, !dbg !2789
1105: ; preds = %1100
store i32 %1103, i32* %503, align 8, !dbg !2790, !tbaa !2792
br label %1106, !dbg !2793
1106: ; preds = %1105, %1100, %1092
%1107 = load %struct.simple_buf*, %struct.simple_buf** %512, align 8, !dbg !2794, !tbaa !2149
%1108 = getelementptr inbounds %struct.simple_buf, %struct.simple_buf* %1107, i64 0, i32 0, i64 0, !dbg !2795
%1109 = call i64 inttoptr (i64 4 to i64 (i8*, i32, i8*)*)(i8* %1108, i32 120, i8* nonnull %69) #7, !dbg !2796
%1110 = load i32, i32* %509, align 8, !dbg !2797, !tbaa !2143
%1111 = and i32 %1110, 32767, !dbg !2798
call void @llvm.dbg.value(metadata i32 %1111, metadata !2771, metadata !DIExpression()) #7, !dbg !2774
%1112 = load %struct.simple_buf*, %struct.simple_buf** %512, align 8, !dbg !2799, !tbaa !2149
%1113 = getelementptr inbounds %struct.simple_buf, %struct.simple_buf* %1112, i64 0, i32 0, i64 0, !dbg !2800
call void @llvm.dbg.value(metadata i8* %1113, metadata !2772, metadata !DIExpression()) #7, !dbg !2774
%1114 = load i8*, i8** %507, align 8, !dbg !2801, !tbaa !2140
%1115 = zext i32 %1111 to i64
%1116 = call i64 inttoptr (i64 25 to i64 (i8*, i8*, i64, i8*, i64)*)(i8* %1114, i8* bitcast (%struct.anon.41* @events to i8*), i64 4294967295, i8* %1113, i64 %1115) #7, !dbg !2802
br label %1117, !dbg !2803
1117: ; preds = %1106, %1059
%1118 = load i32, i32* %890, align 8, !dbg !2804, !tbaa !2578
switch i32 %1118, label %1119 [
i32 15, label %1185
i32 60, label %1124
i32 231, label %1124
], !dbg !2806
1119: ; preds = %1117
%1120 = load i64, i64* %501, align 8, !dbg !2807, !tbaa !2809
%1121 = getelementptr inbounds %struct.task_info, %struct.task_info* %879, i64 0, i32 1, i32 2, !dbg !2810
store i64 %1120, i64* %1121, align 8, !dbg !2811, !tbaa !2812
%1122 = load %struct.task_info*, %struct.task_info** %520, align 8, !dbg !2813, !tbaa !2159
%1123 = getelementptr inbounds %struct.task_info, %struct.task_info* %1122, i64 0, i32 2, !dbg !2814
store i8 1, i8* %1123, align 8, !dbg !2815, !tbaa !2168
br label %1185, !dbg !2816
1124: ; preds = %1117, %1117
%1125 = load %struct.config_entry*, %struct.config_entry** %73, align 8, !dbg !2817, !tbaa !1746
call void @llvm.dbg.value(metadata i32 %1118, metadata !2701, metadata !DIExpression()), !dbg !2819
call void @llvm.dbg.value(metadata %struct.config_entry* %1125, metadata !2706, metadata !DIExpression()), !dbg !2819
%1126 = lshr i32 %1118, 3, !dbg !2821
call void @llvm.dbg.value(metadata i32 %1126, metadata !2707, metadata !DIExpression()), !dbg !2819
%1127 = and i32 %1118, 7, !dbg !2822
call void @llvm.dbg.value(metadata i32 %1127, metadata !2708, metadata !DIExpression()), !dbg !2819
%1128 = zext i32 %1126 to i64, !dbg !2823
%1129 = getelementptr inbounds %struct.config_entry, %struct.config_entry* %1125, i64 0, i32 12, i64 %1128, !dbg !2823
%1130 = load i8, i8* %1129, align 1, !dbg !2823, !tbaa !2255
call void @llvm.dbg.value(metadata i8 %1130, metadata !2709, metadata !DIExpression()), !dbg !2819
%1131 = zext i8 %1130 to i32, !dbg !2824
%1132 = shl nuw nsw i32 1, %1127, !dbg !2825
%1133 = and i32 %1132, %1131, !dbg !2826
%1134 = icmp eq i32 %1133, 0, !dbg !2827
br i1 %1134, label %1185, label %1135, !dbg !2828
1135: ; preds = %1124
store i32 120, i32* %509, align 8, !dbg !2829, !tbaa !2143
store i8 0, i8* %502, align 2, !dbg !2831, !tbaa !2757
call void @llvm.dbg.value(metadata %struct.event_data* %56, metadata !2718, metadata !DIExpression()) #7, !dbg !2832
call void @llvm.dbg.value(metadata %struct.task_info* %879, metadata !2723, metadata !DIExpression(DW_OP_plus_uconst, 96, DW_OP_stack_value)) #7, !dbg !2832
call void @llvm.dbg.value(metadata i32 4, metadata !2724, metadata !DIExpression()) #7, !dbg !2832
call void @llvm.dbg.value(metadata i8 0, metadata !2725, metadata !DIExpression()) #7, !dbg !2832
%1136 = bitcast i32* %10 to i8*, !dbg !2834
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %1136), !dbg !2834
call void @llvm.dbg.declare(metadata i32* %10, metadata !2726, metadata !DIExpression()) #7, !dbg !2835
store volatile i32 120, i32* %10, align 4, !dbg !2835, !tbaa !1657
%1137 = load %struct.simple_buf*, %struct.simple_buf** %512, align 8, !dbg !2836, !tbaa !2149
%1138 = load volatile i32, i32* %10, align 4, !dbg !2837, !tbaa !1657
%1139 = and i32 %1138, 32767, !dbg !2838
%1140 = zext i32 %1139 to i64
%1141 = getelementptr inbounds %struct.simple_buf, %struct.simple_buf* %1137, i64 0, i32 0, i64 %1140, !dbg !2839
store i8 0, i8* %1141, align 1, !dbg !2840, !tbaa !2255
%1142 = load i32, i32* %509, align 8, !dbg !2841, !tbaa !2143
%1143 = add i32 %1142, 1, !dbg !2842
%1144 = icmp ult i32 %1143, 32659, !dbg !2843
br i1 %1144, label %1145, label %1158, !dbg !2844
1145: ; preds = %1135
%1146 = getelementptr inbounds %struct.task_info, %struct.task_info* %879, i64 0, i32 1, i32 1, i32 0, i64 0, !dbg !2845
call void @llvm.dbg.value(metadata i64* %1146, metadata !2723, metadata !DIExpression()) #7, !dbg !2832
%1147 = bitcast i64* %1146 to i8*, !dbg !2846
call void @llvm.dbg.value(metadata i8* %1147, metadata !2723, metadata !DIExpression()) #7, !dbg !2832
%1148 = zext i32 %1143 to i64, !dbg !2847
%1149 = load %struct.simple_buf*, %struct.simple_buf** %512, align 8, !dbg !2848, !tbaa !2149
%1150 = getelementptr inbounds %struct.simple_buf, %struct.simple_buf* %1149, i64 0, i32 0, i64 %1148, !dbg !2849
%1151 = call i64 inttoptr (i64 4 to i64 (i8*, i32, i8*)*)(i8* %1150, i32 4, i8* nonnull %1147) #7, !dbg !2850
%1152 = icmp eq i64 %1151, 0, !dbg !2851
br i1 %1152, label %1153, label %1158, !dbg !2852
1153: ; preds = %1145
%1154 = load i32, i32* %509, align 8, !dbg !2853, !tbaa !2143
%1155 = add i32 %1154, 5, !dbg !2853
store i32 %1155, i32* %509, align 8, !dbg !2853, !tbaa !2143
%1156 = load i8, i8* %502, align 2, !dbg !2854, !tbaa !2757
%1157 = add i8 %1156, 1, !dbg !2854
store i8 %1157, i8* %502, align 2, !dbg !2854, !tbaa !2757
br label %1158, !dbg !2855
1158: ; preds = %1153, %1145, %1135
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %1136), !dbg !2856
%1159 = load i32, i32* %890, align 8, !dbg !2857, !tbaa !2578
call void @llvm.dbg.value(metadata %struct.event_data* %56, metadata !2766, metadata !DIExpression()) #7, !dbg !2858
call void @llvm.dbg.value(metadata i32 %1159, metadata !2767, metadata !DIExpression()) #7, !dbg !2858
call void @llvm.dbg.value(metadata i64 0, metadata !2768, metadata !DIExpression()) #7, !dbg !2858
%1160 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 2, !dbg !2860
store i32 %1159, i32* %1160, align 8, !dbg !2861, !tbaa !2777
%1161 = getelementptr inbounds %struct.event_data, %struct.event_data* %56, i64 0, i32 0, i32 4, !dbg !2862
store i64 0, i64* %1161, align 8, !dbg !2863, !tbaa !2780
%1162 = load %struct.config_entry*, %struct.config_entry** %73, align 8, !dbg !2864, !tbaa !1746
%1163 = getelementptr inbounds %struct.config_entry, %struct.config_entry* %1162, i64 0, i32 1, !dbg !2865
%1164 = load i32, i32* %1163, align 4, !dbg !2865, !tbaa !1764
%1165 = and i32 %1164, 16, !dbg !2866
%1166 = icmp eq i32 %1165, 0, !dbg !2866
br i1 %1166, label %1173, label %1167, !dbg !2867
1167: ; preds = %1158
%1168 = load i8*, i8** %507, align 8, !dbg !2868, !tbaa !2140
%1169 = call i64 inttoptr (i64 27 to i64 (i8*, i8*, i64)*)(i8* %1168, i8* bitcast (%struct.anon.39* @stack_addresses to i8*), i64 256) #7, !dbg !2869
%1170 = trunc i64 %1169 to i32, !dbg !2869
call void @llvm.dbg.value(metadata i32 %1170, metadata !2769, metadata !DIExpression()) #7, !dbg !2870
%1171 = icmp sgt i32 %1170, -1, !dbg !2871
br i1 %1171, label %1172, label %1173, !dbg !2872
1172: ; preds = %1167
store i32 %1170, i32* %503, align 8, !dbg !2873, !tbaa !2792
br label %1173, !dbg !2874
1173: ; preds = %1172, %1167, %1158
%1174 = load %struct.simple_buf*, %struct.simple_buf** %512, align 8, !dbg !2875, !tbaa !2149
%1175 = getelementptr inbounds %struct.simple_buf, %struct.simple_buf* %1174, i64 0, i32 0, i64 0, !dbg !2876
%1176 = call i64 inttoptr (i64 4 to i64 (i8*, i32, i8*)*)(i8* %1175, i32 120, i8* nonnull %69) #7, !dbg !2877
%1177 = load i32, i32* %509, align 8, !dbg !2878, !tbaa !2143
%1178 = and i32 %1177, 32767, !dbg !2879
call void @llvm.dbg.value(metadata i32 %1178, metadata !2771, metadata !DIExpression()) #7, !dbg !2858
%1179 = load %struct.simple_buf*, %struct.simple_buf** %512, align 8, !dbg !2880, !tbaa !2149
%1180 = getelementptr inbounds %struct.simple_buf, %struct.simple_buf* %1179, i64 0, i32 0, i64 0, !dbg !2881
call void @llvm.dbg.value(metadata i8* %1180, metadata !2772, metadata !DIExpression()) #7, !dbg !2858
%1181 = load i8*, i8** %507, align 8, !dbg !2882, !tbaa !2140
%1182 = zext i32 %1178 to i64
%1183 = call i64 inttoptr (i64 25 to i64 (i8*, i8*, i64, i8*, i64)*)(i8* %1181, i8* bitcast (%struct.anon.41* @events to i8*), i64 4294967295, i8* %1180, i64 %1182) #7, !dbg !2883
%1184 = load i32, i32* %890, align 8, !dbg !2884, !tbaa !2578
br label %1185, !dbg !2885
1185: ; preds = %1173, %1124, %1119, %1117
%1186 = phi i32 [ %1118, %1117 ], [ %1118, %1124 ], [ %1184, %1173 ], [ %1118, %1119 ], !dbg !2884
%1187 = call i64 inttoptr (i64 12 to i64 (i8*, i8*, i32)*)(i8* %70, i8* bitcast (%struct.anon.3* @sys_enter_tails to i8*), i32 %1186) #7, !dbg !2886
br label %1188, !dbg !2887
1188: ; preds = %1185, %1052, %878, %620, %76
call void @llvm.lifetime.end.p0i8(i64 168, i8* nonnull %69) #7, !dbg !2888
ret i32 0, !dbg !2888
}
Could you please try 15 or main branch? https://godbolt.org should be helpful.
Thank you. But it seems that some projects don't support llvm15. So I have not upgraded llvm. But I will have a try. In fact, I have a log file when I use the -debug flag. Will it be useful for you?
I have upgraded my llvm version to 15. But unluckily, I still got the error same message. The error comes when dealing with the basic block which I added using a pass.
BB2: ; preds = %BB1
%4 = getelementptr inbounds i64, ptr %2, i64 2
%5 = load i64, ptr %4, align 8, !tbaa !1696
%6 = add i64 %5, 1
store i64 %6, ptr %4, align 8, !tbaa !1696
br label %7
Any help is highly appreciated!!!
As error message mentioned, bpf backend does not support dynamic memory allocation.
LLVM ERROR: Unsupported dynamic stack allocation
Most likely you have some code like
int var = ...;
int arr[var];
...
If the var is defined as a 'const' value, the compiler will be able to do constant propagation to allocate 'arr' on the stack statically. But if 'var' is not a const, it will be a dynamic allocation and the bpf backend will bail out.
Is this the case for your issue?
Clang should refuse to compile this rather than die with a fatal error.
error: dynamic stack allocation is not supported
Here's a much simpler reproducer, similar to the code in the previous comment:
int foo(void);
int bar(void) {
int n = foo();
int a[n];
return a[n - 1];
}
Stack dump:
0. Program arguments: clang-15 -Wall -Wextra -target bpf -g -c variable_length.c -o /dev/null
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module 'variable_length.c'.
4. Running pass 'BPF DAG->DAG Pattern Instruction Selection' on function '@bar'
#0 0x00007f7f4735c1b1 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0xf5c1b1)
#1 0x00007f7f47359ece llvm::sys::RunSignalHandlers() (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0xf59ece)
#2 0x00007f7f4735b571 llvm::sys::CleanupOnSignal(unsigned long) (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0xf5b571)
#3 0x00007f7f4727992a (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0xe7992a)
#4 0x00007f7f472798cb (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0xe798cb)
#5 0x00007f7f473563f7 llvm::sys::Process::Exit(int, bool) (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0xf563f7)
#6 0x00005556e2ee9792 (/usr/lib/llvm-15/bin/clang+0x14792)
#7 0x00007f7f4728bb49 llvm::report_fatal_error(llvm::Twine const&, bool) (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0xe8bb49)
#8 0x00007f7f4728ba36 (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0xe8ba36)
#9 0x00007f7f49671b09 (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x3271b09)
#10 0x00007f7f47a4af93 (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x164af93)
#11 0x00007f7f47a4a6a5 llvm::SelectionDAG::Legalize() (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x164a6a5)
#12 0x00007f7f47b9fd7d llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x179fd7d)
#13 0x00007f7f47b9f2a1 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x179f2a1)
#14 0x00007f7f47b9ce0b llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x179ce0b)
#15 0x00007f7f476edcbc llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x12edcbc)
#16 0x00007f7f47498fd2 llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x1098fd2)
#17 0x00007f7f474a0593 llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x10a0593)
#18 0x00007f7f47499b76 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x1099b76)
#19 0x00007f7f4ef54991 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOpti
ons const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llv
m::raw_pwrite_stream> >) (/usr/lib/llvm-15/bin/../lib/libclang-cpp.so.15+0x1954991)
#20 0x00007f7f4f2b49e1 (/usr/lib/llvm-15/bin/../lib/libclang-cpp.so.15+0x1cb49e1)
#21 0x00007f7f4e0bdb1b clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-15/bin/../lib/libclang-cpp.so.15+0xabdb1b)
#22 0x00007f7f4f2b0a05 clang::CodeGenAction::ExecuteAction() (/usr/lib/llvm-15/bin/../lib/libclang-cpp.so.15+0x1cb0a05)
#23 0x00007f7f4fceea37 clang::FrontendAction::Execute() (/usr/lib/llvm-15/bin/../lib/libclang-cpp.so.15+0x26eea37)
#24 0x00007f7f4fc5fc36 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-15/bin/../lib/libclang-cpp.so.15+0x265fc36)
#25 0x00007f7f4fd6cfea clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-15/bin/../lib/libclang-cpp.so.15+0x276cfea)
#26 0x00005556e2ee9178 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm-15/bin/clang+0x14178)
#27 0x00005556e2ee727b (/usr/lib/llvm-15/bin/clang+0x1227b)
#28 0x00007f7f4f8bef32 (/usr/lib/llvm-15/bin/../lib/libclang-cpp.so.15+0x22bef32)
#29 0x00007f7f472798ae llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0xe798ae)
#30 0x00007f7f4f8bea08 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits
<char>, std::allocator<char> >*, bool*) const (/usr/lib/llvm-15/bin/../lib/libclang-cpp.so.15+0x22bea08)
#31 0x00007f7f4f88099a clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/lib/llvm-1
5/bin/../lib/libclang-cpp.so.15+0x228099a)
#32 0x00007f7f4f880bee clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command con
st*> >&, bool) const (/usr/lib/llvm-15/bin/../lib/libclang-cpp.so.15+0x2280bee)
#33 0x00007f7f4f89dcff clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command con
st*> >&) (/usr/lib/llvm-15/bin/../lib/libclang-cpp.so.15+0x229dcff)
#34 0x00005556e2ee69ff clang_main(int, char**) (/usr/lib/llvm-15/bin/clang+0x119ff)
#35 0x00007f7f45e456ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#36 0x00007f7f45e45785 call_init ./csu/../csu/libc-start.c:128:20
#37 0x00007f7f45e45785 __libc_start_main ./csu/../csu/libc-start.c:347:5
#38 0x00005556e2ee3ec1 _start (/usr/lib/llvm-15/bin/clang+0xeec1)
clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
Debian clang version 15.0.7
Target: bpf
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg: