Aboudek/ASM_TO_LLVM_V2
0
1; ModuleID = 'winfile/src/extr_wfcopy.c_IsRootDirectory.c'2source_filename = "winfile/src/extr_wfcopy.c_IsRootDirectory.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@.str = private unnamed_addr constant [3 x i8] c":\\\00", align 17@TRUE = dso_local global i32 0, align 48@SZ_BACKSLASH = dso_local global i32 0, align 49@SZ_COLON = dso_local global i32 0, align 410@CHAR_BACKSLASH = dso_local global i64 0, align 811@FALSE = dso_local global i32 0, align 412 13; Function Attrs: noinline nounwind optnone uwtable14define dso_local i32 @IsRootDirectory(ptr noundef %0) #0 {15 %2 = alloca i32, align 416 %3 = alloca ptr, align 817 %4 = alloca ptr, align 818 %5 = alloca i32, align 419 store ptr %0, ptr %3, align 820 %6 = load ptr, ptr %3, align 821 %7 = getelementptr inbounds i64, ptr %6, i64 122 %8 = call i32 @TEXT(ptr noundef @.str)23 %9 = call i32 @lstrcmpi(ptr noundef %7, i32 noundef %8)24 %10 = icmp ne i32 %9, 025 br i1 %10, label %13, label %1126 2711: ; preds = %128 %12 = load i32, ptr @TRUE, align 429 store i32 %12, ptr %2, align 430 br label %6431 3213: ; preds = %133 %14 = load ptr, ptr %3, align 834 %15 = load i32, ptr @SZ_BACKSLASH, align 435 %16 = call i32 @lstrcmpi(ptr noundef %14, i32 noundef %15)36 %17 = icmp ne i32 %16, 037 br i1 %17, label %20, label %1838 3918: ; preds = %1340 %19 = load i32, ptr @TRUE, align 441 store i32 %19, ptr %2, align 442 br label %6443 4420: ; preds = %1345 %21 = load ptr, ptr %3, align 846 %22 = getelementptr inbounds i64, ptr %21, i64 147 %23 = load i32, ptr @SZ_COLON, align 448 %24 = call i32 @lstrcmpi(ptr noundef %22, i32 noundef %23)49 %25 = icmp ne i32 %24, 050 br i1 %25, label %28, label %2651 5226: ; preds = %2053 %27 = load i32, ptr @TRUE, align 454 store i32 %27, ptr %2, align 455 br label %6456 5728: ; preds = %2058 %29 = load ptr, ptr %3, align 859 %30 = load i64, ptr %29, align 860 %31 = load i64, ptr @CHAR_BACKSLASH, align 861 %32 = icmp eq i64 %30, %3162 br i1 %32, label %33, label %6263 6433: ; preds = %2865 %34 = load ptr, ptr %3, align 866 %35 = getelementptr inbounds i64, ptr %34, i64 167 %36 = load i64, ptr %35, align 868 %37 = load i64, ptr @CHAR_BACKSLASH, align 869 %38 = icmp eq i64 %36, %3770 br i1 %38, label %39, label %6271 7239: ; preds = %3373 store i32 0, ptr %5, align 474 %40 = load ptr, ptr %3, align 875 %41 = getelementptr inbounds i64, ptr %40, i64 276 store ptr %41, ptr %4, align 877 br label %4278 7942: ; preds = %57, %3980 %43 = load ptr, ptr %4, align 881 %44 = load i64, ptr %43, align 882 %45 = icmp ne i64 %44, 083 br i1 %45, label %46, label %6084 8546: ; preds = %4286 %47 = load ptr, ptr %4, align 887 %48 = load i64, ptr %47, align 888 %49 = load i64, ptr @CHAR_BACKSLASH, align 889 %50 = icmp eq i64 %48, %4990 br i1 %50, label %51, label %5791 9251: ; preds = %4693 %52 = load i32, ptr %5, align 494 %53 = add nsw i32 %52, 195 store i32 %53, ptr %5, align 496 %54 = icmp sgt i32 %53, 197 br i1 %54, label %55, label %5798 9955: ; preds = %51100 %56 = load i32, ptr @FALSE, align 4101 store i32 %56, ptr %2, align 4102 br label %64103 10457: ; preds = %51, %46105 %58 = load ptr, ptr %4, align 8106 %59 = getelementptr inbounds i64, ptr %58, i32 1107 store ptr %59, ptr %4, align 8108 br label %42, !llvm.loop !6109 11060: ; preds = %42111 %61 = load i32, ptr @TRUE, align 4112 store i32 %61, ptr %2, align 4113 br label %64114 11562: ; preds = %33, %28116 %63 = load i32, ptr @FALSE, align 4117 store i32 %63, ptr %2, align 4118 br label %64119 12064: ; preds = %62, %60, %55, %26, %18, %11121 %65 = load i32, ptr %2, align 4122 ret i32 %65123}124 125declare i32 @lstrcmpi(ptr noundef, i32 noundef) #1126 127declare i32 @TEXT(ptr noundef) #1128 129attributes #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" }130attributes #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" }131 132!llvm.module.flags = !{!0, !1, !2, !3, !4}133!llvm.ident = !{!5}134 135!0 = !{i32 1, !"wchar_size", i32 4}136!1 = !{i32 7, !"PIC Level", i32 2}137!2 = !{i32 7, !"PIE Level", i32 2}138!3 = !{i32 7, !"uwtable", i32 2}139!4 = !{i32 7, !"frame-pointer", i32 2}140!5 = !{!"clang version 15.0.3"}141!6 = distinct !{!6, !7}142!7 = !{!"llvm.loop.mustprogress"}143 