Aboudek/ASM_TO_LLVM_V2
0
1; ModuleID = 'tg/extr_loop.c_net_loop.c'2source_filename = "tg/extr_loop.c_net_loop.c"3target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"4target triple = "x86_64-unknown-linux-gnu"5 6%struct.TYPE_3__ = type { i32, i32 }7 8@delete_stdin_event = dso_local global i64 0, align 89@verbosity = dso_local global i64 0, align 810@E_DEBUG = dso_local global i64 0, align 811@.str = private unnamed_addr constant [18 x i8] c"Starting netloop\0A\00", align 112@TLS = dso_local global ptr null, align 813@EV_READ = dso_local global i32 0, align 414@EV_PERSIST = dso_local global i32 0, align 415@stdin_read_callback = dso_local global i32 0, align 416@term_ev = dso_local global i64 0, align 817@EVLOOP_ONCE = dso_local global i32 0, align 418@.str.1 = private unnamed_addr constant [14 x i8] c"delete stdin\0A\00", align 119@safe_quit = dso_local global i64 0, align 820@.str.2 = private unnamed_addr constant [16 x i8] c"All done. Exit\0A\00", align 121@sigterm_cnt = dso_local global i64 0, align 822 23; Function Attrs: noinline nounwind optnone uwtable24define dso_local void @net_loop() #0 {25 %1 = alloca i32, align 426 store i64 0, ptr @delete_stdin_event, align 827 %2 = load i64, ptr @verbosity, align 828 %3 = load i64, ptr @E_DEBUG, align 829 %4 = icmp sge i64 %2, %330 br i1 %4, label %5, label %731 325: ; preds = %033 %6 = call i32 @logprintf(ptr noundef @.str)34 br label %735 367: ; preds = %5, %037 %8 = load ptr, ptr @TLS, align 838 %9 = getelementptr inbounds %struct.TYPE_3__, ptr %8, i32 0, i32 139 %10 = load i32, ptr %9, align 440 %11 = load i32, ptr @EV_READ, align 441 %12 = load i32, ptr @EV_PERSIST, align 442 %13 = or i32 %11, %1243 %14 = load i32, ptr @stdin_read_callback, align 444 %15 = call i64 @event_new(i32 noundef %10, i32 noundef 0, i32 noundef %13, i32 noundef %14, i32 noundef 0)45 store i64 %15, ptr @term_ev, align 846 %16 = load i64, ptr @term_ev, align 847 %17 = call i32 @event_add(i64 noundef %16, i32 noundef 0)48 %18 = call i32 @time(i32 noundef 0)49 store i32 %18, ptr %1, align 450 br label %1951 5219: ; preds = %7, %5953 %20 = load ptr, ptr @TLS, align 854 %21 = getelementptr inbounds %struct.TYPE_3__, ptr %20, i32 0, i32 155 %22 = load i32, ptr %21, align 456 %23 = load i32, ptr @EVLOOP_ONCE, align 457 %24 = call i32 @event_base_loop(i32 noundef %22, i32 noundef %23)58 %25 = load i64, ptr @term_ev, align 859 %26 = icmp ne i64 %25, 060 br i1 %26, label %27, label %3461 6227: ; preds = %1963 %28 = load i64, ptr @delete_stdin_event, align 864 %29 = icmp ne i64 %28, 065 br i1 %29, label %30, label %3466 6730: ; preds = %2768 %31 = call i32 @logprintf(ptr noundef @.str.1)69 %32 = load i64, ptr @term_ev, align 870 %33 = call i32 @event_free(i64 noundef %32)71 store i64 0, ptr @term_ev, align 872 br label %3473 7434: ; preds = %30, %27, %1975 %35 = load i64, ptr @safe_quit, align 876 %36 = icmp ne i64 %35, 077 br i1 %36, label %37, label %4578 7937: ; preds = %3480 %38 = load ptr, ptr @TLS, align 881 %39 = getelementptr inbounds %struct.TYPE_3__, ptr %38, i32 0, i32 082 %40 = load i32, ptr %39, align 483 %41 = icmp ne i32 %40, 084 br i1 %41, label %45, label %4285 8642: ; preds = %3787 %43 = call i32 @printf(ptr noundef @.str.2)88 %44 = call i32 @do_halt(i32 noundef 0)89 store i64 0, ptr @safe_quit, align 890 br label %4591 9245: ; preds = %42, %37, %3493 %46 = load i64, ptr @sigterm_cnt, align 894 %47 = icmp sgt i64 %46, 095 br i1 %47, label %48, label %5096 9748: ; preds = %4598 %49 = call i32 @do_halt(i32 noundef 0)99 br label %50100 10150: ; preds = %48, %45102 %51 = call i32 @time(i32 noundef 0)103 %52 = load i32, ptr %1, align 4104 %53 = sub nsw i32 %51, %52105 %54 = icmp sgt i32 %53, 3600106 br i1 %54, label %55, label %59107 10855: ; preds = %50109 %56 = load ptr, ptr @TLS, align 8110 %57 = call i32 @tgl_do_lookup_state(ptr noundef %56)111 %58 = call i32 @time(i32 noundef 0)112 store i32 %58, ptr %1, align 4113 br label %59114 11559: ; preds = %55, %50116 %60 = call i32 (...) @write_state_file()117 %61 = call i32 (...) @update_prompt()118 br label %19119}120 121declare i32 @logprintf(ptr noundef) #1122 123declare i64 @event_new(i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #1124 125declare i32 @event_add(i64 noundef, i32 noundef) #1126 127declare i32 @time(i32 noundef) #1128 129declare i32 @event_base_loop(i32 noundef, i32 noundef) #1130 131declare i32 @event_free(i64 noundef) #1132 133declare i32 @printf(ptr noundef) #1134 135declare i32 @do_halt(i32 noundef) #1136 137declare i32 @tgl_do_lookup_state(ptr noundef) #1138 139declare i32 @write_state_file(...) #1140 141declare i32 @update_prompt(...) #1142 143attributes #0 = { noinline nounwind optnone uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }144attributes #1 = { "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }145 146!llvm.module.flags = !{!0, !1, !2, !3, !4}147!llvm.ident = !{!5}148 149!0 = !{i32 1, !"wchar_size", i32 4}150!1 = !{i32 7, !"PIC Level", i32 2}151!2 = !{i32 7, !"PIE Level", i32 2}152!3 = !{i32 7, !"uwtable", i32 2}153!4 = !{i32 7, !"frame-pointer", i32 2}154!5 = !{!"clang version 15.0.3"}155 