Aboudek/ASM_TO_LLVM_V2
0
1; ModuleID = 'tmux/extr_cmd-queue.c_cmdq_remove.c'2source_filename = "tmux/extr_cmd-queue.c_cmdq_remove.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.cmdq_item = type { i64, ptr, i32, ptr, ptr, ptr, ptr }7 8@entry = dso_local global i32 0, align 49@llvm.compiler.used = appending global [1 x ptr] [ptr @cmdq_remove], section "llvm.metadata"10 11; Function Attrs: noinline nounwind optnone uwtable12define internal void @cmdq_remove(ptr noundef %0) #0 {13 %2 = alloca ptr, align 814 store ptr %0, ptr %2, align 815 %3 = load ptr, ptr %2, align 816 %4 = getelementptr inbounds %struct.cmdq_item, ptr %3, i32 0, i32 517 %5 = load ptr, ptr %4, align 818 %6 = icmp ne ptr %5, null19 br i1 %6, label %7, label %3420 217: ; preds = %122 %8 = load ptr, ptr %2, align 823 %9 = getelementptr inbounds %struct.cmdq_item, ptr %8, i32 0, i32 524 %10 = load ptr, ptr %9, align 825 %11 = getelementptr inbounds %struct.cmdq_item, ptr %10, i32 0, i32 026 %12 = load i64, ptr %11, align 827 %13 = add nsw i64 %12, -128 store i64 %13, ptr %11, align 829 %14 = icmp eq i64 %13, 030 br i1 %14, label %15, label %3431 3215: ; preds = %733 %16 = load ptr, ptr %2, align 834 %17 = getelementptr inbounds %struct.cmdq_item, ptr %16, i32 0, i32 535 %18 = load ptr, ptr %17, align 836 %19 = getelementptr inbounds %struct.cmdq_item, ptr %18, i32 0, i32 637 %20 = load ptr, ptr %19, align 838 %21 = icmp ne ptr %20, null39 br i1 %21, label %22, label %2940 4122: ; preds = %1542 %23 = load ptr, ptr %2, align 843 %24 = getelementptr inbounds %struct.cmdq_item, ptr %23, i32 0, i32 544 %25 = load ptr, ptr %24, align 845 %26 = getelementptr inbounds %struct.cmdq_item, ptr %25, i32 0, i32 646 %27 = load ptr, ptr %26, align 847 %28 = call i32 @format_free(ptr noundef %27)48 br label %2949 5029: ; preds = %22, %1551 %30 = load ptr, ptr %2, align 852 %31 = getelementptr inbounds %struct.cmdq_item, ptr %30, i32 0, i32 553 %32 = load ptr, ptr %31, align 854 %33 = call i32 @free(ptr noundef %32)55 br label %3456 5734: ; preds = %29, %7, %158 %35 = load ptr, ptr %2, align 859 %36 = getelementptr inbounds %struct.cmdq_item, ptr %35, i32 0, i32 460 %37 = load ptr, ptr %36, align 861 %38 = icmp ne ptr %37, null62 br i1 %38, label %39, label %4463 6439: ; preds = %3465 %40 = load ptr, ptr %2, align 866 %41 = getelementptr inbounds %struct.cmdq_item, ptr %40, i32 0, i32 467 %42 = load ptr, ptr %41, align 868 %43 = call i32 @server_client_unref(ptr noundef %42)69 br label %4470 7144: ; preds = %39, %3472 %45 = load ptr, ptr %2, align 873 %46 = getelementptr inbounds %struct.cmdq_item, ptr %45, i32 0, i32 374 %47 = load ptr, ptr %46, align 875 %48 = icmp ne ptr %47, null76 br i1 %48, label %49, label %5477 7849: ; preds = %4479 %50 = load ptr, ptr %2, align 880 %51 = getelementptr inbounds %struct.cmdq_item, ptr %50, i32 0, i32 381 %52 = load ptr, ptr %51, align 882 %53 = call i32 @cmd_list_free(ptr noundef %52)83 br label %5484 8554: ; preds = %49, %4486 %55 = load ptr, ptr %2, align 887 %56 = getelementptr inbounds %struct.cmdq_item, ptr %55, i32 0, i32 288 %57 = load i32, ptr %56, align 889 %58 = load ptr, ptr %2, align 890 %59 = load i32, ptr @entry, align 491 %60 = call i32 @TAILQ_REMOVE(i32 noundef %57, ptr noundef %58, i32 noundef %59)92 %61 = load ptr, ptr %2, align 893 %62 = getelementptr inbounds %struct.cmdq_item, ptr %61, i32 0, i32 194 %63 = load ptr, ptr %62, align 895 %64 = call i32 @free(ptr noundef %63)96 %65 = load ptr, ptr %2, align 897 %66 = call i32 @free(ptr noundef %65)98 ret void99}100 101declare i32 @format_free(ptr noundef) #1102 103declare i32 @free(ptr noundef) #1104 105declare i32 @server_client_unref(ptr noundef) #1106 107declare i32 @cmd_list_free(ptr noundef) #1108 109declare i32 @TAILQ_REMOVE(i32 noundef, ptr noundef, i32 noundef) #1110 111attributes #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" }112attributes #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" }113 114!llvm.module.flags = !{!0, !1, !2, !3, !4}115!llvm.ident = !{!5}116 117!0 = !{i32 1, !"wchar_size", i32 4}118!1 = !{i32 7, !"PIC Level", i32 2}119!2 = !{i32 7, !"PIE Level", i32 2}120!3 = !{i32 7, !"uwtable", i32 2}121!4 = !{i32 7, !"frame-pointer", i32 2}122!5 = !{!"clang version 15.0.3"}123 