Guest User

verifyDbFile_pre_opt

a guest
Jun 9th, 2020
139
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; Function Attrs: noinline nounwind optnone uwtable
  2. define internal fastcc void @verifyDbFile(%struct.unixFile* nocapture readonly %pFile) unnamed_addr #3 !dbg !40860 !type !40865 !type !5953 {
  3. entry:
  4. %buf.i = alloca %struct.stat64, align 8
  5. call void @llvm.dbg.declare(metadata %struct.stat64* %buf.i, metadata !39582, metadata !DIExpression()), !dbg !40866
  6. %buf = alloca %struct.stat64, align 8
  7. call void @llvm.dbg.value(metadata %struct.unixFile* %pFile, metadata !40862, metadata !DIExpression()), !dbg !40869
  8. %0 = bitcast %struct.stat64* %buf to i8*, !dbg !40870
  9. call void @llvm.lifetime.start.p0i8(i64 144, i8* nonnull %0) #21, !dbg !40870
  10. call void @llvm.dbg.declare(metadata %struct.stat64* %buf, metadata !40863, metadata !DIExpression()), !dbg !40871
  11. %ctrlFlags = getelementptr inbounds %struct.unixFile, %struct.unixFile* %pFile, i64 0, i32 5, !dbg !40872
  12. %1 = load i16, i16* %ctrlFlags, align 2, !dbg !40872, !tbaa !11111
  13. %2 = trunc i16 %1 to i8, !dbg !40874
  14. %tobool = icmp slt i8 %2, 0, !dbg !40874
  15. br i1 %tobool, label %cleanup, label %if.end, !dbg !40875
  16.  
  17. if.end: ; preds = %entry
  18. %3 = load i32 (i32, %struct.stat64*)*, i32 (i32, %struct.stat64*)** bitcast (void ()** getelementptr inbounds ([28 x %struct.unix_syscall], [28 x %struct.unix_syscall]* @aSyscall, i64 0, i64 5, i32 1) to i32 (i32, %struct.stat64*)**), align 8, !dbg !40876, !tbaa !10796
  19. %4 = bitcast i32 (i32, %struct.stat64*)* %3 to i8*, !dbg !40876, !nosanitize !3588
  20. %5 = ptrtoint i8* %4 to i64, !dbg !40876
  21. call void @__trace(i64 %5), !dbg !40876
  22. br i1 false, label %cont, label %trap, !dbg !40876, !nosanitize !3588
  23.  
  24. trap: ; preds = %if.end
  25. tail call void @llvm.trap() #26, !dbg !40876, !nosanitize !3588
  26. unreachable, !dbg !40876, !nosanitize !3588
  27.  
  28. cont: ; preds = %if.end
  29. %h = getelementptr inbounds %struct.unixFile, %struct.unixFile* %pFile, i64 0, i32 3, !dbg !40877
  30. %6 = load i32, i32* %h, align 8, !dbg !40877, !tbaa !11101
  31. %call = call i32 %3(i32 %6, %struct.stat64* nonnull %buf) #21, !dbg !40876
  32. call void @llvm.dbg.value(metadata i32 %call, metadata !40864, metadata !DIExpression()), !dbg !40869
  33. %cmp = icmp eq i32 %call, 0, !dbg !40878
  34. br i1 %cmp, label %if.end3, label %if.then2, !dbg !40880
  35.  
  36. if.then2: ; preds = %cont
  37. %zPath = getelementptr inbounds %struct.unixFile, %struct.unixFile* %pFile, i64 0, i32 9, !dbg !40881
  38. %7 = load i8*, i8** %zPath, align 8, !dbg !40881, !tbaa !11107
  39. call void (i32, i8*, ...) @sqlite3_log(i32 28, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.36, i64 0, i64 0), i8* %7), !dbg !40883
  40. br label %cleanup, !dbg !40884
  41.  
  42. if.end3: ; preds = %cont
  43. %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %buf, i64 0, i32 2, !dbg !40885
  44. %8 = load i64, i64* %st_nlink, align 8, !dbg !40885, !tbaa !40887
  45. switch i64 %8, label %if.then12 [
  46. i64 0, label %if.then6
  47. i64 1, label %if.end14
  48. ], !dbg !40888
  49.  
  50. if.then6: ; preds = %if.end3
  51. %zPath7 = getelementptr inbounds %struct.unixFile, %struct.unixFile* %pFile, i64 0, i32 9, !dbg !40889
  52. %9 = load i8*, i8** %zPath7, align 8, !dbg !40889, !tbaa !11107
  53. call void (i32, i8*, ...) @sqlite3_log(i32 28, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.37, i64 0, i64 0), i8* %9), !dbg !40891
  54. br label %cleanup, !dbg !40892
  55.  
  56. if.then12: ; preds = %if.end3
  57. %zPath13 = getelementptr inbounds %struct.unixFile, %struct.unixFile* %pFile, i64 0, i32 9, !dbg !40893
  58. %10 = load i8*, i8** %zPath13, align 8, !dbg !40893, !tbaa !11107
  59. call void (i32, i8*, ...) @sqlite3_log(i32 28, i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.38, i64 0, i64 0), i8* %10), !dbg !40896
  60. br label %cleanup, !dbg !40897
  61.  
  62. if.end14: ; preds = %if.end3
  63. call void @llvm.dbg.value(metadata %struct.unixFile* %pFile, metadata !39587, metadata !DIExpression()) #21, !dbg !40898
  64. %11 = bitcast %struct.stat64* %buf.i to i8*, !dbg !40899
  65. call void @llvm.lifetime.start.p0i8(i64 144, i8* nonnull %11) #21, !dbg !40899
  66. %pInode.i = getelementptr inbounds %struct.unixFile, %struct.unixFile* %pFile, i64 0, i32 2, !dbg !40900
  67. %12 = load %struct.unixInodeInfo*, %struct.unixInodeInfo** %pInode.i, align 8, !dbg !40900, !tbaa !38206
  68. %cmp.i = icmp eq %struct.unixInodeInfo* %12, null, !dbg !40901
  69. br i1 %cmp.i, label %fileHasMoved.exit.thread, label %land.rhs.i, !dbg !40902
  70.  
  71. fileHasMoved.exit.thread: ; preds = %if.end14
  72. call void @llvm.lifetime.end.p0i8(i64 144, i8* nonnull %11) #21, !dbg !40903
  73. br label %cleanup, !dbg !40904
  74.  
  75. land.rhs.i: ; preds = %if.end14
  76. %13 = load i32 (i8*, %struct.stat64*)*, i32 (i8*, %struct.stat64*)** bitcast (void ()** getelementptr inbounds ([28 x %struct.unix_syscall], [28 x %struct.unix_syscall]* @aSyscall, i64 0, i64 4, i32 1) to i32 (i8*, %struct.stat64*)**), align 8, !dbg !40905, !tbaa !10796
  77. %14 = bitcast i32 (i8*, %struct.stat64*)* %13 to i8*, !dbg !40905, !nosanitize !3588
  78. %15 = ptrtoint i8* %14 to i64, !dbg !40905
  79. call void @__trace(i64 %15), !dbg !40905
  80. br i1 false, label %cont.i, label %trap.i, !dbg !40905, !nosanitize !3588
  81.  
  82. trap.i: ; preds = %land.rhs.i
  83. call void @llvm.trap() #26, !dbg !40905, !nosanitize !3588
  84. unreachable, !dbg !40905, !nosanitize !3588
  85.  
  86. cont.i: ; preds = %land.rhs.i
  87. %zPath.i = getelementptr inbounds %struct.unixFile, %struct.unixFile* %pFile, i64 0, i32 9, !dbg !40906
  88. %16 = load i8*, i8** %zPath.i, align 8, !dbg !40906, !tbaa !11107
  89. %call.i = call i32 %13(i8* %16, %struct.stat64* nonnull %buf.i) #21, !dbg !40905
  90. %cmp1.i = icmp eq i32 %call.i, 0, !dbg !40907
  91. br i1 %cmp1.i, label %fileHasMoved.exit, label %fileHasMoved.exit.thread28, !dbg !40908
  92.  
  93. fileHasMoved.exit.thread28: ; preds = %cont.i
  94. call void @llvm.lifetime.end.p0i8(i64 144, i8* nonnull %11) #21, !dbg !40903
  95. br label %if.then17, !dbg !40904
  96.  
  97. fileHasMoved.exit: ; preds = %cont.i
  98. %st_ino.i = getelementptr inbounds %struct.stat64, %struct.stat64* %buf.i, i64 0, i32 1, !dbg !40909
  99. %17 = load i64, i64* %st_ino.i, align 8, !dbg !40909, !tbaa !39820
  100. %18 = load %struct.unixInodeInfo*, %struct.unixInodeInfo** %pInode.i, align 8, !dbg !40910, !tbaa !38206
  101. %ino.i = getelementptr inbounds %struct.unixInodeInfo, %struct.unixInodeInfo* %18, i64 0, i32 0, i32 1, !dbg !40911
  102. %19 = load i64, i64* %ino.i, align 8, !dbg !40911, !tbaa !10833
  103. %cmp3.i = icmp eq i64 %17, %19, !dbg !40912
  104. call void @llvm.lifetime.end.p0i8(i64 144, i8* nonnull %11) #21, !dbg !40903
  105. br i1 %cmp3.i, label %cleanup, label %if.then17, !dbg !40904
  106.  
  107. if.then17: ; preds = %fileHasMoved.exit, %fileHasMoved.exit.thread28
  108. %20 = load i8*, i8** %zPath.i, align 8, !dbg !40913, !tbaa !11107
  109. call void (i32, i8*, ...) @sqlite3_log(i32 28, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.39, i64 0, i64 0), i8* %20), !dbg !40915
  110. br label %cleanup, !dbg !40916
  111.  
  112. cleanup: ; preds = %if.then17, %fileHasMoved.exit, %fileHasMoved.exit.thread, %if.then12, %if.then6, %if.then2, %entry
  113. call void @llvm.lifetime.end.p0i8(i64 144, i8* nonnull %0) #21, !dbg !40917
  114. ret void, !dbg !40917
  115. }
RAW Paste Data Copied