; LLVM IR from vczh/herodb :: Kernel/UnitTest (TestUtility_Log)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.vl::ObjectString" = type { %"class.vl::Object", ptr, ptr, i64, i64, i64 }
%"class.vl::Object" = type { ptr }
%"class.vl::Ptr" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.36" = type { ptr, ptr, ptr, ptr }
%"class.vl::database::BufferManager" = type { i64, i64, i64, i64, %"class.vl::SpinLock", i64, %"class.vl::collections::Dictionary" }
%"class.vl::SpinLock" = type { %"class.vl::Object", i64 }
%"class.vl::collections::Dictionary" = type { %"class.vl::Object", %"class.vl::collections::SortedList", %"class.vl::collections::List", %"class.vl::collections::IEnumerable.6" }
%"class.vl::collections::SortedList" = type { %"class.vl::collections::ListBase.base", %"class.vl::collections::IEnumerable" }
%"class.vl::collections::ListBase.base" = type <{ %"class.vl::collections::ArrayBase.base", i64, i8 }>
%"class.vl::collections::ArrayBase.base" = type { %"class.vl::collections::ListStore", ptr, i64 }
%"class.vl::collections::ListStore" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable" = type { %"class.vl::Interface" }
%"class.vl::Interface" = type { ptr }
%"class.vl::collections::List" = type { %"class.vl::collections::ListBase.base.5", %"class.vl::collections::IEnumerable.3" }
%"class.vl::collections::ListBase.base.5" = type <{ %"class.vl::collections::ArrayBase.base.4", i64, i8 }>
%"class.vl::collections::ArrayBase.base.4" = type { %"class.vl::collections::ListStore.2", ptr, i64 }
%"class.vl::collections::ListStore.2" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.3" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.6" = type { %"class.vl::Interface" }
%"struct.vl::database::IdObject" = type { i32 }
%"class.vl::database::LogManager" = type { %"class.vl::Object", ptr, %"struct.vl::database::IdObject", i8, %"class.vl::database::log_internal::LogAddressItem", %"class.vl::database::log_internal::LogBlocks", %"class.vl::database::log_internal::LogTransactions", %"class.vl::SpinLock" }
%"class.vl::database::log_internal::LogAddressItem" = type { %"class.vl::Object", ptr, %"struct.vl::database::IdObject", i64, i64, %"class.vl::collections::List.7" }
%"class.vl::collections::List.7" = type { %"class.vl::collections::ListBase.base.13", %"class.vl::collections::IEnumerable.11" }
%"class.vl::collections::ListBase.base.13" = type <{ %"class.vl::collections::ArrayBase.base.12", i64, i8 }>
%"class.vl::collections::ArrayBase.base.12" = type { %"class.vl::collections::ListStore.10", ptr, i64 }
%"class.vl::collections::ListStore.10" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.11" = type { %"class.vl::Interface" }
%"class.vl::database::log_internal::LogBlocks" = type { %"class.vl::Object", ptr, %"struct.vl::database::IdObject", i64, %"struct.vl::database::IdObject.15" }
%"struct.vl::database::IdObject.15" = type { i64 }
%"class.vl::database::log_internal::LogTransactions" = type { %"class.vl::Object", i64, %"class.vl::collections::Dictionary.16", ptr }
%"class.vl::collections::Dictionary.16" = type { %"class.vl::Object", %"class.vl::collections::SortedList.17", %"class.vl::collections::List.25", %"class.vl::collections::IEnumerable.33" }
%"class.vl::collections::SortedList.17" = type { %"class.vl::collections::ListBase.base.23", %"class.vl::collections::IEnumerable.21" }
%"class.vl::collections::ListBase.base.23" = type <{ %"class.vl::collections::ArrayBase.base.22", i64, i8 }>
%"class.vl::collections::ArrayBase.base.22" = type { %"class.vl::collections::ListStore.20", ptr, i64 }
%"class.vl::collections::ListStore.20" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.21" = type { %"class.vl::Interface" }
%"class.vl::collections::List.25" = type { %"class.vl::collections::ListBase.base.31", %"class.vl::collections::IEnumerable.29" }
%"class.vl::collections::ListBase.base.31" = type <{ %"class.vl::collections::ArrayBase.base.30", i64, i8 }>
%"class.vl::collections::ArrayBase.base.30" = type { %"class.vl::collections::ListStore.28", ptr, i64 }
%"class.vl::collections::ListStore.28" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.29" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.33" = type { %"class.vl::Interface" }
%"struct.vl::database::IdObject.35" = type { i64 }

@.str = external hidden unnamed_addr constant [7 x i32], align 4
@.str.1 = external hidden unnamed_addr constant [20 x i32], align 4
@.str.2 = external hidden unnamed_addr constant [11 x i32], align 4
@.str.3 = external hidden unnamed_addr constant [11 x i32], align 4
@_ZTIi = external constant ptr
@.str.4 = external hidden unnamed_addr constant [32 x i32], align 4
@.str.5 = external hidden unnamed_addr constant [11 x i32], align 4
@.str.6 = external hidden unnamed_addr constant [38 x i32], align 4
@.str.7 = external hidden unnamed_addr constant [36 x i32], align 4
@.str.8 = external hidden unnamed_addr constant [32 x i32], align 4
@.str.9 = external hidden unnamed_addr constant [40 x i32], align 4
@.str.10 = external hidden unnamed_addr constant [33 x i32], align 4
@.str.11 = external hidden unnamed_addr constant [28 x i32], align 4
@.str.13 = external hidden unnamed_addr constant [11 x i32], align 4
@.str.16 = external hidden unnamed_addr constant [28 x i32], align 4
@.str.18 = external hidden unnamed_addr constant [29 x i32], align 4
@.str.19 = external hidden unnamed_addr constant [31 x i32], align 4
@.str.25 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [49 x i32], align 4
@.str.30 = external hidden unnamed_addr constant [71 x i32], align 4
@.str.31 = external hidden unnamed_addr constant [34 x i32], align 4

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

declare void @_ZN2vl8database13BufferManagerC1Emm(ptr noundef nonnull align 8 dereferenceable(168), i64 noundef, i64 noundef) unnamed_addr #1

declare i32 @_ZN2vl8database13BufferManager14LoadFileSourceERKNS_12ObjectStringIwEEb(ptr noundef nonnull align 8 dereferenceable(168), ptr noundef nonnull align 8 dereferenceable(48), i1 noundef zeroext) #1

declare void @_Z13GetTempFolderv(ptr dead_on_unwind writable sret(%"class.vl::ObjectString") align 8) #1

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK2vl12ObjectStringIwEplERKS1_(ptr dead_on_unwind noalias writable sret(%"class.vl::ObjectString") align 8, ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(48)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef, i1 noundef zeroext) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #3 align 2

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #4

declare void @_ZN2vl8database10LogManagerC1EPNS0_13BufferManagerENS0_8IdObjectIiLl0EEEbb(ptr noundef nonnull align 8 dereferenceable(304), ptr noundef, i32, i1 noundef zeroext, i1 noundef zeroext) unnamed_addr #1

declare i64 @_ZN2vl8database10LogManager15OpenTransactionEv(ptr noundef nonnull align 8 dereferenceable(304)) #1

declare void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48)) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EE7IsValidEv(ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

declare ptr @__cxa_allocate_exception(i64)

declare void @__cxa_throw(ptr, ptr, ptr)

declare noundef zeroext i1 @_ZN2vl8database10LogManager8IsActiveENS0_8IdObjectImLl3EEE(ptr noundef nonnull align 8 dereferenceable(304), i64) #1

declare void @_ZN2vl8database10LogManager11EnumLogItemENS0_8IdObjectImLl3EEE(ptr dead_on_unwind writable sret(%"class.vl::Ptr") align 8, ptr noundef nonnull align 8 dereferenceable(304), i64) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK2vl3PtrINS_8database10ILogReaderEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8), i64) #3 align 2

declare void @_ZN2vl8database10LogManager19EnumInactiveLogItemENS0_8IdObjectImLl3EEE(ptr dead_on_unwind writable sret(%"class.vl::Ptr") align 8, ptr noundef nonnull align 8 dereferenceable(304), i64) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN2vl3PtrINS_8database10ILogReaderEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #3 align 2

declare noundef zeroext i1 @_ZN2vl8database10LogManager16CloseTransactionENS0_8IdObjectImLl3EEE(ptr noundef nonnull align 8 dereferenceable(304), i64) #1

; Function Attrs: nounwind
declare void @_ZN2vl8database10LogManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(304)) unnamed_addr #5

; Function Attrs: nounwind
declare void @_ZN2vl8database13BufferManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(168)) unnamed_addr #5

declare void @_ZN2vl8database10LogManager11OpenLogItemENS0_8IdObjectImLl3EEE(ptr dead_on_unwind writable sret(%"class.vl::Ptr.36") align 8, ptr noundef nonnull align 8 dereferenceable(304), i64) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK2vl3PtrINS_8database10ILogWriterEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK2vl3PtrINS_8database10ILogWriterEEptEv(ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN2vl3PtrINS_8database10ILogWriterEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #3 align 2

; Function Attrs: nounwind willreturn memory(read)
declare i32 @strcmp(ptr noundef, ptr noundef) #6

; Function Attrs: mustprogress uwtable
define dso_local void @_Z53TestFunction_Utility_Log_TransactionWithMultipleItemsv() #2 personality ptr @__gxx_personality_v0 {
  %1 = alloca ptr, align 8
  %2 = alloca ptr, align 8
  %3 = alloca ptr, align 8
  %4 = alloca [3 x ptr], align 16
  %5 = alloca [3 x i64], align 16
  %6 = alloca i64, align 8
  %7 = alloca %"class.vl::database::BufferManager", align 8
  %8 = alloca %"struct.vl::database::IdObject", align 4
  %9 = alloca %"class.vl::ObjectString", align 8
  %10 = alloca %"class.vl::ObjectString", align 8
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca %"class.vl::ObjectString", align 8
  %14 = alloca %"class.vl::database::LogManager", align 8
  %15 = alloca %"struct.vl::database::IdObject", align 4
  %16 = alloca %"struct.vl::database::IdObject.35", align 8
  %17 = alloca %"class.vl::ObjectString", align 8
  %18 = alloca %"class.vl::ObjectString", align 8
  %19 = alloca %"class.vl::ObjectString", align 8
  %20 = alloca %"class.vl::ObjectString", align 8
  %21 = alloca %"struct.vl::database::IdObject.35", align 8
  %22 = alloca %"class.vl::ObjectString", align 8
  %23 = alloca %"class.vl::ObjectString", align 8
  %24 = alloca i64, align 8
  %25 = alloca %"class.vl::Ptr.36", align 8
  %26 = alloca %"struct.vl::database::IdObject.35", align 8
  %27 = alloca %"class.vl::ObjectString", align 8
  %28 = alloca %"class.vl::ObjectString", align 8
  %29 = alloca %"class.vl::ObjectString", align 8
  %30 = alloca %"class.vl::ObjectString", align 8
  %31 = alloca %"class.vl::ObjectString", align 8
  %32 = alloca %"class.vl::ObjectString", align 8
  %33 = alloca %"class.vl::ObjectString", align 8
  %34 = alloca %"class.vl::ObjectString", align 8
  %35 = alloca %"class.vl::ObjectString", align 8
  %36 = alloca %"class.vl::Ptr", align 8
  %37 = alloca %"struct.vl::database::IdObject.35", align 8
  %38 = alloca %"class.vl::ObjectString", align 8
  %39 = alloca %"class.vl::ObjectString", align 8
  %40 = alloca %"class.vl::ObjectString", align 8
  %41 = alloca %"class.vl::ObjectString", align 8
  %42 = alloca %"struct.vl::database::IdObject.35", align 8
  %43 = alloca %"struct.vl::database::IdObject.35", align 8
  %44 = alloca %"class.vl::ObjectString", align 8
  %45 = alloca %"class.vl::ObjectString", align 8
  %46 = alloca %"class.vl::ObjectString", align 8
  %47 = alloca %"class.vl::Ptr", align 8
  %48 = alloca %"struct.vl::database::IdObject.35", align 8
  %49 = alloca %"class.vl::ObjectString", align 8
  %50 = alloca %"class.vl::ObjectString", align 8
  %51 = alloca i64, align 8
  %52 = alloca [32 x i8], align 16
  %53 = alloca %"class.vl::ObjectString", align 8
  %54 = alloca %"class.vl::ObjectString", align 8
  %55 = alloca %"class.vl::ObjectString", align 8
  %56 = alloca %"class.vl::ObjectString", align 8
  %57 = alloca %"class.vl::ObjectString", align 8
  %58 = alloca %"class.vl::ObjectString", align 8
  %59 = alloca %"class.vl::ObjectString", align 8
  %60 = alloca %"class.vl::ObjectString", align 8
  %61 = alloca %"class.vl::ObjectString", align 8
  %62 = alloca %"class.vl::ObjectString", align 8
  %63 = alloca %"class.vl::ObjectString", align 8
  %64 = alloca %"class.vl::ObjectString", align 8
  %65 = alloca %"class.vl::ObjectString", align 8
  %66 = alloca %"class.vl::ObjectString", align 8
  %67 = alloca %"class.vl::ObjectString", align 8
  %68 = alloca %"class.vl::ObjectString", align 8
  %69 = alloca %"struct.vl::database::IdObject.35", align 8
  %70 = alloca %"class.vl::ObjectString", align 8
  %71 = alloca %"class.vl::ObjectString", align 8
  %72 = alloca %"class.vl::ObjectString", align 8
  %73 = alloca %"struct.vl::database::IdObject.35", align 8
  %74 = alloca %"class.vl::ObjectString", align 8
  %75 = alloca %"class.vl::ObjectString", align 8
  %76 = alloca %"class.vl::Ptr", align 8
  %77 = alloca %"struct.vl::database::IdObject.35", align 8
  %78 = alloca %"class.vl::ObjectString", align 8
  %79 = alloca %"class.vl::ObjectString", align 8
  %80 = alloca %"class.vl::ObjectString", align 8
  %81 = alloca %"class.vl::ObjectString", align 8
  %82 = alloca %"struct.vl::database::IdObject.35", align 8
  %83 = alloca %"struct.vl::database::IdObject.35", align 8
  %84 = alloca %"class.vl::ObjectString", align 8
  %85 = alloca %"class.vl::ObjectString", align 8
  %86 = alloca %"class.vl::ObjectString", align 8
  %87 = alloca %"class.vl::Ptr", align 8
  %88 = alloca %"struct.vl::database::IdObject.35", align 8
  %89 = alloca %"class.vl::ObjectString", align 8
  %90 = alloca %"class.vl::ObjectString", align 8
  %91 = alloca i64, align 8
  %92 = alloca [32 x i8], align 16
  %93 = alloca %"class.vl::ObjectString", align 8
  %94 = alloca %"class.vl::ObjectString", align 8
  %95 = alloca %"class.vl::ObjectString", align 8
  %96 = alloca %"class.vl::ObjectString", align 8
  %97 = alloca %"class.vl::ObjectString", align 8
  %98 = alloca %"class.vl::ObjectString", align 8
  %99 = alloca %"class.vl::ObjectString", align 8
  %100 = alloca %"class.vl::ObjectString", align 8
  %101 = alloca %"class.vl::ObjectString", align 8
  %102 = alloca %"class.vl::ObjectString", align 8
  %103 = alloca %"class.vl::ObjectString", align 8
  %104 = alloca %"class.vl::ObjectString", align 8
  %105 = alloca %"class.vl::ObjectString", align 8
  %106 = alloca %"class.vl::ObjectString", align 8
  %107 = alloca %"class.vl::ObjectString", align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %1) #8
  store ptr @.str.25, ptr %1, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %2) #8
  store ptr @.str.27, ptr %2, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %3) #8
  store ptr @.str.28, ptr %3, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %4) #8
  %108 = load ptr, ptr %1, align 8, !tbaa !5
  store ptr %108, ptr %4, align 8, !tbaa !5
  %109 = getelementptr inbounds ptr, ptr %4, i64 1
  %110 = load ptr, ptr %2, align 8, !tbaa !5
  store ptr %110, ptr %109, align 8, !tbaa !5
  %111 = getelementptr inbounds ptr, ptr %4, i64 2
  %112 = load ptr, ptr %3, align 8, !tbaa !5
  store ptr %112, ptr %111, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %5) #8
  %113 = load ptr, ptr %1, align 8, !tbaa !5
  %114 = call i64 @strlen(ptr noundef %113) #9
  store i64 %114, ptr %5, align 8, !tbaa !9
  %115 = getelementptr inbounds i64, ptr %5, i64 1
  %116 = load ptr, ptr %2, align 8, !tbaa !5
  %117 = call i64 @strlen(ptr noundef %116) #9
  store i64 %117, ptr %115, align 8, !tbaa !9
  %118 = getelementptr inbounds i64, ptr %5, i64 2
  %119 = load ptr, ptr %3, align 8, !tbaa !5
  %120 = call i64 @strlen(ptr noundef %119) #9
  store i64 %120, ptr %118, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #8
  store i64 3, ptr %6, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 168, ptr %7) #8
  call void @_ZN2vl8database13BufferManagerC1Emm(ptr noundef nonnull align 8 dereferenceable(168) %7, i64 noundef 4096, i64 noundef 16)
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #8
  call void @llvm.lifetime.start.p0(i64 48, ptr %9) #8
  call void @llvm.lifetime.start.p0(i64 48, ptr %10) #8
  invoke void @_Z13GetTempFolderv(ptr dead_on_unwind writable sret(%"class.vl::ObjectString") align 8 %10)
          to label %121 unwind label %141

121:                                              ; preds = %0
  call void @llvm.lifetime.start.p0(i64 48, ptr %13) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef @.str, i1 noundef zeroext true)
          to label %122 unwind label %145

122:                                              ; preds = %121
  invoke void @_ZNK2vl12ObjectStringIwEplERKS1_(ptr dead_on_unwind writable sret(%"class.vl::ObjectString") align 8 %9, ptr noundef nonnull align 8 dereferenceable(48) %10, ptr noundef nonnull align 8 dereferenceable(48) %13)
          to label %123 unwind label %149

123:                                              ; preds = %122
  %124 = invoke i32 @_ZN2vl8database13BufferManager14LoadFileSourceERKNS_12ObjectStringIwEEb(ptr noundef nonnull align 8 dereferenceable(168) %7, ptr noundef nonnull align 8 dereferenceable(48) %9, i1 noundef zeroext true)
          to label %125 unwind label %153

125:                                              ; preds = %123
  %126 = getelementptr inbounds %"struct.vl::database::IdObject", ptr %8, i32 0, i32 0
  store i32 %124, ptr %126, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %9) #8
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %13) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %13) #8
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %10) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %9) #8
  call void @llvm.lifetime.start.p0(i64 304, ptr %14) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %15, ptr align 4 %8, i64 4, i1 false), !tbaa.struct !11
  %127 = getelementptr inbounds %"struct.vl::database::IdObject", ptr %15, i32 0, i32 0
  %128 = load i32, ptr %127, align 4
  invoke void @_ZN2vl8database10LogManagerC1EPNS0_13BufferManagerENS0_8IdObjectIiLl0EEEbb(ptr noundef nonnull align 8 dereferenceable(304) %14, ptr noundef %7, i32 %128, i1 noundef zeroext true, i1 noundef zeroext true)
          to label %129 unwind label %160

129:                                              ; preds = %125
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #8
  %130 = invoke i64 @_ZN2vl8database10LogManager15OpenTransactionEv(ptr noundef nonnull align 8 dereferenceable(304) %14)
          to label %131 unwind label %164

131:                                              ; preds = %129
  %132 = getelementptr inbounds %"struct.vl::database::IdObject.35", ptr %16, i32 0, i32 0
  store i64 %130, ptr %132, align 8
  br label %133

133:                                              ; preds = %131
  call void @llvm.lifetime.start.p0(i64 48, ptr %17) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %134 unwind label %168

134:                                              ; preds = %133
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %17)
          to label %135 unwind label %172

135:                                              ; preds = %134
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %17) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %17) #8
  %136 = invoke noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EE7IsValidEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %137 unwind label %164

137:                                              ; preds = %135
  br i1 %136, label %138, label %186

138:                                              ; preds = %137
  call void @llvm.lifetime.start.p0(i64 48, ptr %18) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %139 unwind label %177

139:                                              ; preds = %138
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %18)
          to label %140 unwind label %181

140:                                              ; preds = %139
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %18) #8
  br label %199

141:                                              ; preds = %0
  %142 = landingpad { ptr, i32 }
          cleanup
  %143 = extractvalue { ptr, i32 } %142, 0
  store ptr %143, ptr %11, align 8
  %144 = extractvalue { ptr, i32 } %142, 1
  store i32 %144, ptr %12, align 4
  br label %159

145:                                              ; preds = %121
  %146 = landingpad { ptr, i32 }
          cleanup
  %147 = extractvalue { ptr, i32 } %146, 0
  store ptr %147, ptr %11, align 8
  %148 = extractvalue { ptr, i32 } %146, 1
  store i32 %148, ptr %12, align 4
  br label %158

149:                                              ; preds = %122
  %150 = landingpad { ptr, i32 }
          cleanup
  %151 = extractvalue { ptr, i32 } %150, 0
  store ptr %151, ptr %11, align 8
  %152 = extractvalue { ptr, i32 } %150, 1
  store i32 %152, ptr %12, align 4
  br label %157

153:                                              ; preds = %123
  %154 = landingpad { ptr, i32 }
          cleanup
  %155 = extractvalue { ptr, i32 } %154, 0
  store ptr %155, ptr %11, align 8
  %156 = extractvalue { ptr, i32 } %154, 1
  store i32 %156, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %9) #8
  br label %157

157:                                              ; preds = %153, %149
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %13) #8
  br label %158

158:                                              ; preds = %157, %145
  call void @llvm.lifetime.end.p0(i64 48, ptr %13) #8
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #8
  br label %159

159:                                              ; preds = %158, %141
  call void @llvm.lifetime.end.p0(i64 48, ptr %10) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %9) #8
  br label %1433

160:                                              ; preds = %125
  %161 = landingpad { ptr, i32 }
          cleanup
  %162 = extractvalue { ptr, i32 } %161, 0
  store ptr %162, ptr %11, align 8
  %163 = extractvalue { ptr, i32 } %161, 1
  store i32 %163, ptr %12, align 4
  br label %1432

164:                                              ; preds = %964, %934, %918, %886, %234, %204, %188, %135, %129
  %165 = landingpad { ptr, i32 }
          cleanup
  %166 = extractvalue { ptr, i32 } %165, 0
  store ptr %166, ptr %11, align 8
  %167 = extractvalue { ptr, i32 } %165, 1
  store i32 %167, ptr %12, align 4
  br label %1431

168:                                              ; preds = %133
  %169 = landingpad { ptr, i32 }
          cleanup
  %170 = extractvalue { ptr, i32 } %169, 0
  store ptr %170, ptr %11, align 8
  %171 = extractvalue { ptr, i32 } %169, 1
  store i32 %171, ptr %12, align 4
  br label %176

172:                                              ; preds = %134
  %173 = landingpad { ptr, i32 }
          cleanup
  %174 = extractvalue { ptr, i32 } %173, 0
  store ptr %174, ptr %11, align 8
  %175 = extractvalue { ptr, i32 } %173, 1
  store i32 %175, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %17) #8
  br label %176

176:                                              ; preds = %172, %168
  call void @llvm.lifetime.end.p0(i64 48, ptr %17) #8
  br label %1431

177:                                              ; preds = %138
  %178 = landingpad { ptr, i32 }
          cleanup
  %179 = extractvalue { ptr, i32 } %178, 0
  store ptr %179, ptr %11, align 8
  %180 = extractvalue { ptr, i32 } %178, 1
  store i32 %180, ptr %12, align 4
  br label %185

181:                                              ; preds = %139
  %182 = landingpad { ptr, i32 }
          cleanup
  %183 = extractvalue { ptr, i32 } %182, 0
  store ptr %183, ptr %11, align 8
  %184 = extractvalue { ptr, i32 } %182, 1
  store i32 %184, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #8
  br label %185

185:                                              ; preds = %181, %177
  call void @llvm.lifetime.end.p0(i64 48, ptr %18) #8
  br label %1431

186:                                              ; preds = %137
  call void @llvm.lifetime.start.p0(i64 48, ptr %19) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %19, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %187 unwind label %190

187:                                              ; preds = %186
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %19)
          to label %188 unwind label %194

188:                                              ; preds = %187
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %19) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %19) #8
  %189 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %189, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %189, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %164

190:                                              ; preds = %186
  %191 = landingpad { ptr, i32 }
          cleanup
  %192 = extractvalue { ptr, i32 } %191, 0
  store ptr %192, ptr %11, align 8
  %193 = extractvalue { ptr, i32 } %191, 1
  store i32 %193, ptr %12, align 4
  br label %198

194:                                              ; preds = %187
  %195 = landingpad { ptr, i32 }
          cleanup
  %196 = extractvalue { ptr, i32 } %195, 0
  store ptr %196, ptr %11, align 8
  %197 = extractvalue { ptr, i32 } %195, 1
  store i32 %197, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %19) #8
  br label %198

198:                                              ; preds = %194, %190
  call void @llvm.lifetime.end.p0(i64 48, ptr %19) #8
  br label %1431

199:                                              ; preds = %140
  br label %200

200:                                              ; preds = %199
  br label %201

201:                                              ; preds = %200
  br label %202

202:                                              ; preds = %201
  call void @llvm.lifetime.start.p0(i64 48, ptr %20) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %20, ptr noundef @.str.4, i1 noundef zeroext true)
          to label %203 unwind label %214

203:                                              ; preds = %202
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %20)
          to label %204 unwind label %218

204:                                              ; preds = %203
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %20) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %20) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %21, ptr align 8 %16, i64 8, i1 false), !tbaa.struct !14
  %205 = getelementptr inbounds %"struct.vl::database::IdObject.35", ptr %21, i32 0, i32 0
  %206 = load i64, ptr %205, align 8
  %207 = invoke noundef zeroext i1 @_ZN2vl8database10LogManager8IsActiveENS0_8IdObjectImLl3EEE(ptr noundef nonnull align 8 dereferenceable(304) %14, i64 %206)
          to label %208 unwind label %164

208:                                              ; preds = %204
  %209 = zext i1 %207 to i32
  %210 = icmp eq i32 %209, 1
  br i1 %210, label %211, label %232

211:                                              ; preds = %208
  call void @llvm.lifetime.start.p0(i64 48, ptr %22) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %22, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %212 unwind label %223

212:                                              ; preds = %211
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %22)
          to label %213 unwind label %227

213:                                              ; preds = %212
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %22) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %22) #8
  br label %245

214:                                              ; preds = %202
  %215 = landingpad { ptr, i32 }
          cleanup
  %216 = extractvalue { ptr, i32 } %215, 0
  store ptr %216, ptr %11, align 8
  %217 = extractvalue { ptr, i32 } %215, 1
  store i32 %217, ptr %12, align 4
  br label %222

218:                                              ; preds = %203
  %219 = landingpad { ptr, i32 }
          cleanup
  %220 = extractvalue { ptr, i32 } %219, 0
  store ptr %220, ptr %11, align 8
  %221 = extractvalue { ptr, i32 } %219, 1
  store i32 %221, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %20) #8
  br label %222

222:                                              ; preds = %218, %214
  call void @llvm.lifetime.end.p0(i64 48, ptr %20) #8
  br label %1431

223:                                              ; preds = %211
  %224 = landingpad { ptr, i32 }
          cleanup
  %225 = extractvalue { ptr, i32 } %224, 0
  store ptr %225, ptr %11, align 8
  %226 = extractvalue { ptr, i32 } %224, 1
  store i32 %226, ptr %12, align 4
  br label %231

227:                                              ; preds = %212
  %228 = landingpad { ptr, i32 }
          cleanup
  %229 = extractvalue { ptr, i32 } %228, 0
  store ptr %229, ptr %11, align 8
  %230 = extractvalue { ptr, i32 } %228, 1
  store i32 %230, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %22) #8
  br label %231

231:                                              ; preds = %227, %223
  call void @llvm.lifetime.end.p0(i64 48, ptr %22) #8
  br label %1431

232:                                              ; preds = %208
  call void @llvm.lifetime.start.p0(i64 48, ptr %23) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %23, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %233 unwind label %236

233:                                              ; preds = %232
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %23)
          to label %234 unwind label %240

234:                                              ; preds = %233
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %23) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %23) #8
  %235 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %235, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %235, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %164

236:                                              ; preds = %232
  %237 = landingpad { ptr, i32 }
          cleanup
  %238 = extractvalue { ptr, i32 } %237, 0
  store ptr %238, ptr %11, align 8
  %239 = extractvalue { ptr, i32 } %237, 1
  store i32 %239, ptr %12, align 4
  br label %244

240:                                              ; preds = %233
  %241 = landingpad { ptr, i32 }
          cleanup
  %242 = extractvalue { ptr, i32 } %241, 0
  store ptr %242, ptr %11, align 8
  %243 = extractvalue { ptr, i32 } %241, 1
  store i32 %243, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %23) #8
  br label %244

244:                                              ; preds = %240, %236
  call void @llvm.lifetime.end.p0(i64 48, ptr %23) #8
  br label %1431

245:                                              ; preds = %213
  br label %246

246:                                              ; preds = %245
  br label %247

247:                                              ; preds = %246
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #8
  store i64 0, ptr %24, align 8, !tbaa !9
  br label %248

248:                                              ; preds = %427, %247
  %249 = load i64, ptr %24, align 8, !tbaa !9
  %250 = load i64, ptr %6, align 8, !tbaa !9
  %251 = icmp slt i64 %249, %250
  br i1 %251, label %253, label %252

252:                                              ; preds = %248
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  br label %432

253:                                              ; preds = %248
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %26, ptr align 8 %16, i64 8, i1 false), !tbaa.struct !14
  %254 = getelementptr inbounds %"struct.vl::database::IdObject.35", ptr %26, i32 0, i32 0
  %255 = load i64, ptr %254, align 8
  invoke void @_ZN2vl8database10LogManager11OpenLogItemENS0_8IdObjectImLl3EEE(ptr dead_on_unwind writable sret(%"class.vl::Ptr.36") align 8 %25, ptr noundef nonnull align 8 dereferenceable(304) %14, i64 %255)
          to label %256 unwind label %265

256:                                              ; preds = %253
  br label %257

257:                                              ; preds = %256
  call void @llvm.lifetime.start.p0(i64 48, ptr %27) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %27, ptr noundef @.str.13, i1 noundef zeroext true)
          to label %258 unwind label %269

258:                                              ; preds = %257
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %27)
          to label %259 unwind label %273

259:                                              ; preds = %258
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %27) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %27) #8
  %260 = invoke noundef zeroext i1 @_ZNK2vl3PtrINS_8database10ILogWriterEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %261 unwind label %278

261:                                              ; preds = %259
  br i1 %260, label %262, label %291

262:                                              ; preds = %261
  call void @llvm.lifetime.start.p0(i64 48, ptr %28) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %28, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %263 unwind label %282

263:                                              ; preds = %262
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %28)
          to label %264 unwind label %286

264:                                              ; preds = %263
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %28) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %28) #8
  br label %304

265:                                              ; preds = %253
  %266 = landingpad { ptr, i32 }
          cleanup
  %267 = extractvalue { ptr, i32 } %266, 0
  store ptr %267, ptr %11, align 8
  %268 = extractvalue { ptr, i32 } %266, 1
  store i32 %268, ptr %12, align 4
  br label %431

269:                                              ; preds = %257
  %270 = landingpad { ptr, i32 }
          cleanup
  %271 = extractvalue { ptr, i32 } %270, 0
  store ptr %271, ptr %11, align 8
  %272 = extractvalue { ptr, i32 } %270, 1
  store i32 %272, ptr %12, align 4
  br label %277

273:                                              ; preds = %258
  %274 = landingpad { ptr, i32 }
          cleanup
  %275 = extractvalue { ptr, i32 } %274, 0
  store ptr %275, ptr %11, align 8
  %276 = extractvalue { ptr, i32 } %274, 1
  store i32 %276, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %27) #8
  br label %277

277:                                              ; preds = %273, %269
  call void @llvm.lifetime.end.p0(i64 48, ptr %27) #8
  br label %430

278:                                              ; preds = %413, %382, %380, %364, %333, %331, %317, %308, %306, %293, %259
  %279 = landingpad { ptr, i32 }
          cleanup
  %280 = extractvalue { ptr, i32 } %279, 0
  store ptr %280, ptr %11, align 8
  %281 = extractvalue { ptr, i32 } %279, 1
  store i32 %281, ptr %12, align 4
  br label %430

282:                                              ; preds = %262
  %283 = landingpad { ptr, i32 }
          cleanup
  %284 = extractvalue { ptr, i32 } %283, 0
  store ptr %284, ptr %11, align 8
  %285 = extractvalue { ptr, i32 } %283, 1
  store i32 %285, ptr %12, align 4
  br label %290

286:                                              ; preds = %263
  %287 = landingpad { ptr, i32 }
          cleanup
  %288 = extractvalue { ptr, i32 } %287, 0
  store ptr %288, ptr %11, align 8
  %289 = extractvalue { ptr, i32 } %287, 1
  store i32 %289, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %28) #8
  br label %290

290:                                              ; preds = %286, %282
  call void @llvm.lifetime.end.p0(i64 48, ptr %28) #8
  br label %430

291:                                              ; preds = %261
  call void @llvm.lifetime.start.p0(i64 48, ptr %29) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %29, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %292 unwind label %295

292:                                              ; preds = %291
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %29)
          to label %293 unwind label %299

293:                                              ; preds = %292
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %29) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %29) #8
  %294 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %294, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %294, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %278

295:                                              ; preds = %291
  %296 = landingpad { ptr, i32 }
          cleanup
  %297 = extractvalue { ptr, i32 } %296, 0
  store ptr %297, ptr %11, align 8
  %298 = extractvalue { ptr, i32 } %296, 1
  store i32 %298, ptr %12, align 4
  br label %303

299:                                              ; preds = %292
  %300 = landingpad { ptr, i32 }
          cleanup
  %301 = extractvalue { ptr, i32 } %300, 0
  store ptr %301, ptr %11, align 8
  %302 = extractvalue { ptr, i32 } %300, 1
  store i32 %302, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %29) #8
  br label %303

303:                                              ; preds = %299, %295
  call void @llvm.lifetime.end.p0(i64 48, ptr %29) #8
  br label %430

304:                                              ; preds = %264
  br label %305

305:                                              ; preds = %304
  br label %306

306:                                              ; preds = %305
  %307 = invoke noundef ptr @_ZNK2vl3PtrINS_8database10ILogWriterEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %308 unwind label %278

308:                                              ; preds = %306
  %309 = load ptr, ptr %307, align 8, !tbaa !15
  %310 = getelementptr i8, ptr %309, i64 -56
  %311 = load i64, ptr %310, align 8
  %312 = getelementptr inbounds i8, ptr %307, i64 %311
  %313 = load ptr, ptr %312, align 8, !tbaa !15
  %314 = getelementptr inbounds ptr, ptr %313, i64 3
  %315 = load ptr, ptr %314, align 8
  %316 = invoke noundef nonnull align 8 dereferenceable(8) ptr %315(ptr noundef nonnull align 8 dereferenceable(8) %312)
          to label %317 unwind label %278

317:                                              ; preds = %308
  %318 = load i64, ptr %24, align 8, !tbaa !9
  %319 = getelementptr inbounds [3 x ptr], ptr %4, i64 0, i64 %318
  %320 = load ptr, ptr %319, align 8, !tbaa !5
  %321 = load i64, ptr %24, align 8, !tbaa !9
  %322 = getelementptr inbounds [3 x i64], ptr %5, i64 0, i64 %321
  %323 = load i64, ptr %322, align 8, !tbaa !9
  %324 = load ptr, ptr %316, align 8, !tbaa !15
  %325 = getelementptr inbounds ptr, ptr %324, i64 15
  %326 = load ptr, ptr %325, align 8
  %327 = invoke noundef i64 %326(ptr noundef nonnull align 8 dereferenceable(8) %316, ptr noundef %320, i64 noundef %323)
          to label %328 unwind label %278

328:                                              ; preds = %317
  br label %329

329:                                              ; preds = %328
  call void @llvm.lifetime.start.p0(i64 48, ptr %30) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %30, ptr noundef @.str.16, i1 noundef zeroext true)
          to label %330 unwind label %344

330:                                              ; preds = %329
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %30)
          to label %331 unwind label %348

331:                                              ; preds = %330
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %30) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %30) #8
  %332 = invoke noundef ptr @_ZNK2vl3PtrINS_8database10ILogWriterEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %333 unwind label %278

333:                                              ; preds = %331
  %334 = load ptr, ptr %332, align 8, !tbaa !15
  %335 = getelementptr inbounds ptr, ptr %334, i64 5
  %336 = load ptr, ptr %335, align 8
  %337 = invoke noundef zeroext i1 %336(ptr noundef nonnull align 8 dereferenceable(8) %332)
          to label %338 unwind label %278

338:                                              ; preds = %333
  %339 = zext i1 %337 to i32
  %340 = icmp eq i32 %339, 1
  br i1 %340, label %341, label %362

341:                                              ; preds = %338
  call void @llvm.lifetime.start.p0(i64 48, ptr %31) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %31, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %342 unwind label %353

342:                                              ; preds = %341
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %31)
          to label %343 unwind label %357

343:                                              ; preds = %342
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %31) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %31) #8
  br label %375

344:                                              ; preds = %329
  %345 = landingpad { ptr, i32 }
          cleanup
  %346 = extractvalue { ptr, i32 } %345, 0
  store ptr %346, ptr %11, align 8
  %347 = extractvalue { ptr, i32 } %345, 1
  store i32 %347, ptr %12, align 4
  br label %352

348:                                              ; preds = %330
  %349 = landingpad { ptr, i32 }
          cleanup
  %350 = extractvalue { ptr, i32 } %349, 0
  store ptr %350, ptr %11, align 8
  %351 = extractvalue { ptr, i32 } %349, 1
  store i32 %351, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %30) #8
  br label %352

352:                                              ; preds = %348, %344
  call void @llvm.lifetime.end.p0(i64 48, ptr %30) #8
  br label %430

353:                                              ; preds = %341
  %354 = landingpad { ptr, i32 }
          cleanup
  %355 = extractvalue { ptr, i32 } %354, 0
  store ptr %355, ptr %11, align 8
  %356 = extractvalue { ptr, i32 } %354, 1
  store i32 %356, ptr %12, align 4
  br label %361

357:                                              ; preds = %342
  %358 = landingpad { ptr, i32 }
          cleanup
  %359 = extractvalue { ptr, i32 } %358, 0
  store ptr %359, ptr %11, align 8
  %360 = extractvalue { ptr, i32 } %358, 1
  store i32 %360, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %31) #8
  br label %361

361:                                              ; preds = %357, %353
  call void @llvm.lifetime.end.p0(i64 48, ptr %31) #8
  br label %430

362:                                              ; preds = %338
  call void @llvm.lifetime.start.p0(i64 48, ptr %32) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %363 unwind label %366

363:                                              ; preds = %362
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %32)
          to label %364 unwind label %370

364:                                              ; preds = %363
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %32) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %32) #8
  %365 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %365, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %365, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %278

366:                                              ; preds = %362
  %367 = landingpad { ptr, i32 }
          cleanup
  %368 = extractvalue { ptr, i32 } %367, 0
  store ptr %368, ptr %11, align 8
  %369 = extractvalue { ptr, i32 } %367, 1
  store i32 %369, ptr %12, align 4
  br label %374

370:                                              ; preds = %363
  %371 = landingpad { ptr, i32 }
          cleanup
  %372 = extractvalue { ptr, i32 } %371, 0
  store ptr %372, ptr %11, align 8
  %373 = extractvalue { ptr, i32 } %371, 1
  store i32 %373, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %32) #8
  br label %374

374:                                              ; preds = %370, %366
  call void @llvm.lifetime.end.p0(i64 48, ptr %32) #8
  br label %430

375:                                              ; preds = %343
  br label %376

376:                                              ; preds = %375
  br label %377

377:                                              ; preds = %376
  br label %378

378:                                              ; preds = %377
  call void @llvm.lifetime.start.p0(i64 48, ptr %33) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %33, ptr noundef @.str.18, i1 noundef zeroext true)
          to label %379 unwind label %393

379:                                              ; preds = %378
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %33)
          to label %380 unwind label %397

380:                                              ; preds = %379
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %33) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %33) #8
  %381 = invoke noundef ptr @_ZNK2vl3PtrINS_8database10ILogWriterEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %382 unwind label %278

382:                                              ; preds = %380
  %383 = load ptr, ptr %381, align 8, !tbaa !15
  %384 = getelementptr inbounds ptr, ptr %383, i64 5
  %385 = load ptr, ptr %384, align 8
  %386 = invoke noundef zeroext i1 %385(ptr noundef nonnull align 8 dereferenceable(8) %381)
          to label %387 unwind label %278

387:                                              ; preds = %382
  %388 = zext i1 %386 to i32
  %389 = icmp eq i32 %388, 0
  br i1 %389, label %390, label %411

390:                                              ; preds = %387
  call void @llvm.lifetime.start.p0(i64 48, ptr %34) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %34, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %391 unwind label %402

391:                                              ; preds = %390
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %34)
          to label %392 unwind label %406

392:                                              ; preds = %391
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %34) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %34) #8
  br label %424

393:                                              ; preds = %378
  %394 = landingpad { ptr, i32 }
          cleanup
  %395 = extractvalue { ptr, i32 } %394, 0
  store ptr %395, ptr %11, align 8
  %396 = extractvalue { ptr, i32 } %394, 1
  store i32 %396, ptr %12, align 4
  br label %401

397:                                              ; preds = %379
  %398 = landingpad { ptr, i32 }
          cleanup
  %399 = extractvalue { ptr, i32 } %398, 0
  store ptr %399, ptr %11, align 8
  %400 = extractvalue { ptr, i32 } %398, 1
  store i32 %400, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %33) #8
  br label %401

401:                                              ; preds = %397, %393
  call void @llvm.lifetime.end.p0(i64 48, ptr %33) #8
  br label %430

402:                                              ; preds = %390
  %403 = landingpad { ptr, i32 }
          cleanup
  %404 = extractvalue { ptr, i32 } %403, 0
  store ptr %404, ptr %11, align 8
  %405 = extractvalue { ptr, i32 } %403, 1
  store i32 %405, ptr %12, align 4
  br label %410

406:                                              ; preds = %391
  %407 = landingpad { ptr, i32 }
          cleanup
  %408 = extractvalue { ptr, i32 } %407, 0
  store ptr %408, ptr %11, align 8
  %409 = extractvalue { ptr, i32 } %407, 1
  store i32 %409, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %34) #8
  br label %410

410:                                              ; preds = %406, %402
  call void @llvm.lifetime.end.p0(i64 48, ptr %34) #8
  br label %430

411:                                              ; preds = %387
  call void @llvm.lifetime.start.p0(i64 48, ptr %35) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %35, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %412 unwind label %415

412:                                              ; preds = %411
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %35)
          to label %413 unwind label %419

413:                                              ; preds = %412
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %35) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %35) #8
  %414 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %414, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %414, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %278

415:                                              ; preds = %411
  %416 = landingpad { ptr, i32 }
          cleanup
  %417 = extractvalue { ptr, i32 } %416, 0
  store ptr %417, ptr %11, align 8
  %418 = extractvalue { ptr, i32 } %416, 1
  store i32 %418, ptr %12, align 4
  br label %423

419:                                              ; preds = %412
  %420 = landingpad { ptr, i32 }
          cleanup
  %421 = extractvalue { ptr, i32 } %420, 0
  store ptr %421, ptr %11, align 8
  %422 = extractvalue { ptr, i32 } %420, 1
  store i32 %422, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %35) #8
  br label %423

423:                                              ; preds = %419, %415
  call void @llvm.lifetime.end.p0(i64 48, ptr %35) #8
  br label %430

424:                                              ; preds = %392
  br label %425

425:                                              ; preds = %424
  br label %426

426:                                              ; preds = %425
  call void @_ZN2vl3PtrINS_8database10ILogWriterEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #8
  br label %427

427:                                              ; preds = %426
  %428 = load i64, ptr %24, align 8, !tbaa !9
  %429 = add nsw i64 %428, 1
  store i64 %429, ptr %24, align 8, !tbaa !9
  br label %248, !llvm.loop !17

430:                                              ; preds = %423, %410, %401, %374, %361, %352, %303, %290, %278, %277
  call void @_ZN2vl3PtrINS_8database10ILogWriterEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  br label %431

431:                                              ; preds = %430, %265
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  br label %1431

432:                                              ; preds = %252
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %37, ptr align 8 %16, i64 8, i1 false), !tbaa.struct !14
  %433 = getelementptr inbounds %"struct.vl::database::IdObject.35", ptr %37, i32 0, i32 0
  %434 = load i64, ptr %433, align 8
  invoke void @_ZN2vl8database10LogManager11EnumLogItemENS0_8IdObjectImLl3EEE(ptr dead_on_unwind writable sret(%"class.vl::Ptr") align 8 %36, ptr noundef nonnull align 8 dereferenceable(304) %14, i64 %434)
          to label %435 unwind label %444

435:                                              ; preds = %432
  br label %436

436:                                              ; preds = %435
  call void @llvm.lifetime.start.p0(i64 48, ptr %38) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %38, ptr noundef @.str.5, i1 noundef zeroext true)
          to label %437 unwind label %448

437:                                              ; preds = %436
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %38)
          to label %438 unwind label %452

438:                                              ; preds = %437
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %38) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %38) #8
  %439 = invoke noundef zeroext i1 @_ZNK2vl3PtrINS_8database10ILogReaderEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %440 unwind label %457

440:                                              ; preds = %438
  br i1 %439, label %441, label %470

441:                                              ; preds = %440
  call void @llvm.lifetime.start.p0(i64 48, ptr %39) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %39, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %442 unwind label %461

442:                                              ; preds = %441
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %39)
          to label %443 unwind label %465

443:                                              ; preds = %442
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %39) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %39) #8
  br label %483

444:                                              ; preds = %432
  %445 = landingpad { ptr, i32 }
          cleanup
  %446 = extractvalue { ptr, i32 } %445, 0
  store ptr %446, ptr %11, align 8
  %447 = extractvalue { ptr, i32 } %445, 1
  store i32 %447, ptr %12, align 4
  br label %897

448:                                              ; preds = %436
  %449 = landingpad { ptr, i32 }
          cleanup
  %450 = extractvalue { ptr, i32 } %449, 0
  store ptr %450, ptr %11, align 8
  %451 = extractvalue { ptr, i32 } %449, 1
  store i32 %451, ptr %12, align 4
  br label %456

452:                                              ; preds = %437
  %453 = landingpad { ptr, i32 }
          cleanup
  %454 = extractvalue { ptr, i32 } %453, 0
  store ptr %454, ptr %11, align 8
  %455 = extractvalue { ptr, i32 } %453, 1
  store i32 %455, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %38) #8
  br label %456

456:                                              ; preds = %452, %448
  call void @llvm.lifetime.end.p0(i64 48, ptr %38) #8
  br label %896

457:                                              ; preds = %870, %839, %837, %587, %532, %472, %438
  %458 = landingpad { ptr, i32 }
          cleanup
  %459 = extractvalue { ptr, i32 } %458, 0
  store ptr %459, ptr %11, align 8
  %460 = extractvalue { ptr, i32 } %458, 1
  store i32 %460, ptr %12, align 4
  br label %896

461:                                              ; preds = %441
  %462 = landingpad { ptr, i32 }
          cleanup
  %463 = extractvalue { ptr, i32 } %462, 0
  store ptr %463, ptr %11, align 8
  %464 = extractvalue { ptr, i32 } %462, 1
  store i32 %464, ptr %12, align 4
  br label %469

465:                                              ; preds = %442
  %466 = landingpad { ptr, i32 }
          cleanup
  %467 = extractvalue { ptr, i32 } %466, 0
  store ptr %467, ptr %11, align 8
  %468 = extractvalue { ptr, i32 } %466, 1
  store i32 %468, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %39) #8
  br label %469

469:                                              ; preds = %465, %461
  call void @llvm.lifetime.end.p0(i64 48, ptr %39) #8
  br label %896

470:                                              ; preds = %440
  call void @llvm.lifetime.start.p0(i64 48, ptr %40) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %40, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %471 unwind label %474

471:                                              ; preds = %470
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %40)
          to label %472 unwind label %478

472:                                              ; preds = %471
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %40) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %40) #8
  %473 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %473, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %473, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %457

474:                                              ; preds = %470
  %475 = landingpad { ptr, i32 }
          cleanup
  %476 = extractvalue { ptr, i32 } %475, 0
  store ptr %476, ptr %11, align 8
  %477 = extractvalue { ptr, i32 } %475, 1
  store i32 %477, ptr %12, align 4
  br label %482

478:                                              ; preds = %471
  %479 = landingpad { ptr, i32 }
          cleanup
  %480 = extractvalue { ptr, i32 } %479, 0
  store ptr %480, ptr %11, align 8
  %481 = extractvalue { ptr, i32 } %479, 1
  store i32 %481, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %40) #8
  br label %482

482:                                              ; preds = %478, %474
  call void @llvm.lifetime.end.p0(i64 48, ptr %40) #8
  br label %896

483:                                              ; preds = %443
  br label %484

484:                                              ; preds = %483
  br label %485

485:                                              ; preds = %484
  br label %486

486:                                              ; preds = %485
  call void @llvm.lifetime.start.p0(i64 48, ptr %41) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %41, ptr noundef @.str.6, i1 noundef zeroext true)
          to label %487 unwind label %508

487:                                              ; preds = %486
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %41)
          to label %488 unwind label %512

488:                                              ; preds = %487
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %41) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %41) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #8
  %489 = invoke noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %490 unwind label %517

490:                                              ; preds = %488
  %491 = load ptr, ptr %489, align 8, !tbaa !15
  %492 = getelementptr i8, ptr %491, i64 -56
  %493 = load i64, ptr %492, align 8
  %494 = getelementptr inbounds i8, ptr %489, i64 %493
  %495 = load ptr, ptr %494, align 8, !tbaa !15
  %496 = getelementptr inbounds ptr, ptr %495, i64 2
  %497 = load ptr, ptr %496, align 8
  %498 = invoke i64 %497(ptr noundef nonnull align 8 dereferenceable(8) %494)
          to label %499 unwind label %517

499:                                              ; preds = %490
  %500 = getelementptr inbounds %"struct.vl::database::IdObject.35", ptr %42, i32 0, i32 0
  store i64 %498, ptr %500, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %43, ptr align 8 %16, i64 8, i1 false), !tbaa.struct !14
  %501 = getelementptr inbounds %"struct.vl::database::IdObject.35", ptr %43, i32 0, i32 0
  %502 = load i64, ptr %501, align 8
  %503 = invoke noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8) %42, i64 %502)
          to label %504 unwind label %517

504:                                              ; preds = %499
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #8
  br i1 %503, label %505, label %530

505:                                              ; preds = %504
  call void @llvm.lifetime.start.p0(i64 48, ptr %44) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %44, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %506 unwind label %521

506:                                              ; preds = %505
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %44)
          to label %507 unwind label %525

507:                                              ; preds = %506
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %44) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %44) #8
  br label %543

508:                                              ; preds = %486
  %509 = landingpad { ptr, i32 }
          cleanup
  %510 = extractvalue { ptr, i32 } %509, 0
  store ptr %510, ptr %11, align 8
  %511 = extractvalue { ptr, i32 } %509, 1
  store i32 %511, ptr %12, align 4
  br label %516

512:                                              ; preds = %487
  %513 = landingpad { ptr, i32 }
          cleanup
  %514 = extractvalue { ptr, i32 } %513, 0
  store ptr %514, ptr %11, align 8
  %515 = extractvalue { ptr, i32 } %513, 1
  store i32 %515, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %41) #8
  br label %516

516:                                              ; preds = %512, %508
  call void @llvm.lifetime.end.p0(i64 48, ptr %41) #8
  br label %896

517:                                              ; preds = %499, %490, %488
  %518 = landingpad { ptr, i32 }
          cleanup
  %519 = extractvalue { ptr, i32 } %518, 0
  store ptr %519, ptr %11, align 8
  %520 = extractvalue { ptr, i32 } %518, 1
  store i32 %520, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #8
  br label %896

521:                                              ; preds = %505
  %522 = landingpad { ptr, i32 }
          cleanup
  %523 = extractvalue { ptr, i32 } %522, 0
  store ptr %523, ptr %11, align 8
  %524 = extractvalue { ptr, i32 } %522, 1
  store i32 %524, ptr %12, align 4
  br label %529

525:                                              ; preds = %506
  %526 = landingpad { ptr, i32 }
          cleanup
  %527 = extractvalue { ptr, i32 } %526, 0
  store ptr %527, ptr %11, align 8
  %528 = extractvalue { ptr, i32 } %526, 1
  store i32 %528, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %44) #8
  br label %529

529:                                              ; preds = %525, %521
  call void @llvm.lifetime.end.p0(i64 48, ptr %44) #8
  br label %896

530:                                              ; preds = %504
  call void @llvm.lifetime.start.p0(i64 48, ptr %45) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %45, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %531 unwind label %534

531:                                              ; preds = %530
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %45)
          to label %532 unwind label %538

532:                                              ; preds = %531
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %45) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %45) #8
  %533 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %533, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %533, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %457

534:                                              ; preds = %530
  %535 = landingpad { ptr, i32 }
          cleanup
  %536 = extractvalue { ptr, i32 } %535, 0
  store ptr %536, ptr %11, align 8
  %537 = extractvalue { ptr, i32 } %535, 1
  store i32 %537, ptr %12, align 4
  br label %542

538:                                              ; preds = %531
  %539 = landingpad { ptr, i32 }
          cleanup
  %540 = extractvalue { ptr, i32 } %539, 0
  store ptr %540, ptr %11, align 8
  %541 = extractvalue { ptr, i32 } %539, 1
  store i32 %541, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %45) #8
  br label %542

542:                                              ; preds = %538, %534
  call void @llvm.lifetime.end.p0(i64 48, ptr %45) #8
  br label %896

543:                                              ; preds = %507
  br label %544

544:                                              ; preds = %543
  br label %545

545:                                              ; preds = %544
  br label %546

546:                                              ; preds = %545
  call void @llvm.lifetime.start.p0(i64 48, ptr %46) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %46, ptr noundef @.str.7, i1 noundef zeroext true)
          to label %547 unwind label %558

547:                                              ; preds = %546
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %46)
          to label %548 unwind label %562

548:                                              ; preds = %547
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %46) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %46) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %48, ptr align 8 %16, i64 8, i1 false), !tbaa.struct !14
  %549 = getelementptr inbounds %"struct.vl::database::IdObject.35", ptr %48, i32 0, i32 0
  %550 = load i64, ptr %549, align 8
  invoke void @_ZN2vl8database10LogManager19EnumInactiveLogItemENS0_8IdObjectImLl3EEE(ptr dead_on_unwind writable sret(%"class.vl::Ptr") align 8 %47, ptr noundef nonnull align 8 dereferenceable(304) %14, i64 %550)
          to label %551 unwind label %567

551:                                              ; preds = %548
  %552 = invoke noundef zeroext i1 @_ZNK2vl3PtrINS_8database10ILogReaderEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %553 unwind label %571

553:                                              ; preds = %551
  %554 = xor i1 %552, true
  call void @_ZN2vl3PtrINS_8database10ILogReaderEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #8
  br i1 %554, label %555, label %585

555:                                              ; preds = %553
  call void @llvm.lifetime.start.p0(i64 48, ptr %49) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %49, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %556 unwind label %576

556:                                              ; preds = %555
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %49)
          to label %557 unwind label %580

557:                                              ; preds = %556
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %49) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %49) #8
  br label %598

558:                                              ; preds = %546
  %559 = landingpad { ptr, i32 }
          cleanup
  %560 = extractvalue { ptr, i32 } %559, 0
  store ptr %560, ptr %11, align 8
  %561 = extractvalue { ptr, i32 } %559, 1
  store i32 %561, ptr %12, align 4
  br label %566

562:                                              ; preds = %547
  %563 = landingpad { ptr, i32 }
          cleanup
  %564 = extractvalue { ptr, i32 } %563, 0
  store ptr %564, ptr %11, align 8
  %565 = extractvalue { ptr, i32 } %563, 1
  store i32 %565, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %46) #8
  br label %566

566:                                              ; preds = %562, %558
  call void @llvm.lifetime.end.p0(i64 48, ptr %46) #8
  br label %896

567:                                              ; preds = %548
  %568 = landingpad { ptr, i32 }
          cleanup
  %569 = extractvalue { ptr, i32 } %568, 0
  store ptr %569, ptr %11, align 8
  %570 = extractvalue { ptr, i32 } %568, 1
  store i32 %570, ptr %12, align 4
  br label %575

571:                                              ; preds = %551
  %572 = landingpad { ptr, i32 }
          cleanup
  %573 = extractvalue { ptr, i32 } %572, 0
  store ptr %573, ptr %11, align 8
  %574 = extractvalue { ptr, i32 } %572, 1
  store i32 %574, ptr %12, align 4
  call void @_ZN2vl3PtrINS_8database10ILogReaderEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  br label %575

575:                                              ; preds = %571, %567
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #8
  br label %896

576:                                              ; preds = %555
  %577 = landingpad { ptr, i32 }
          cleanup
  %578 = extractvalue { ptr, i32 } %577, 0
  store ptr %578, ptr %11, align 8
  %579 = extractvalue { ptr, i32 } %577, 1
  store i32 %579, ptr %12, align 4
  br label %584

580:                                              ; preds = %556
  %581 = landingpad { ptr, i32 }
          cleanup
  %582 = extractvalue { ptr, i32 } %581, 0
  store ptr %582, ptr %11, align 8
  %583 = extractvalue { ptr, i32 } %581, 1
  store i32 %583, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %49) #8
  br label %584

584:                                              ; preds = %580, %576
  call void @llvm.lifetime.end.p0(i64 48, ptr %49) #8
  br label %896

585:                                              ; preds = %553
  call void @llvm.lifetime.start.p0(i64 48, ptr %50) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %50, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %586 unwind label %589

586:                                              ; preds = %585
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %50)
          to label %587 unwind label %593

587:                                              ; preds = %586
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %50) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %50) #8
  %588 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %588, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %588, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %457

589:                                              ; preds = %585
  %590 = landingpad { ptr, i32 }
          cleanup
  %591 = extractvalue { ptr, i32 } %590, 0
  store ptr %591, ptr %11, align 8
  %592 = extractvalue { ptr, i32 } %590, 1
  store i32 %592, ptr %12, align 4
  br label %597

593:                                              ; preds = %586
  %594 = landingpad { ptr, i32 }
          cleanup
  %595 = extractvalue { ptr, i32 } %594, 0
  store ptr %595, ptr %11, align 8
  %596 = extractvalue { ptr, i32 } %594, 1
  store i32 %596, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %50) #8
  br label %597

597:                                              ; preds = %593, %589
  call void @llvm.lifetime.end.p0(i64 48, ptr %50) #8
  br label %896

598:                                              ; preds = %557
  br label %599

599:                                              ; preds = %598
  br label %600

600:                                              ; preds = %599
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #8
  store i64 0, ptr %51, align 8, !tbaa !9
  br label %601

601:                                              ; preds = %830, %600
  %602 = load i64, ptr %51, align 8, !tbaa !9
  %603 = load i64, ptr %6, align 8, !tbaa !9
  %604 = icmp slt i64 %602, %603
  br i1 %604, label %606, label %605

605:                                              ; preds = %601
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #8
  br label %834

606:                                              ; preds = %601
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #8
  call void @llvm.memset.p0.i64(ptr align 16 %52, i8 0, i64 32, i1 false)
  br label %607

607:                                              ; preds = %606
  call void @llvm.lifetime.start.p0(i64 48, ptr %53) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %53, ptr noundef @.str.19, i1 noundef zeroext true)
          to label %608 unwind label %622

608:                                              ; preds = %607
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %53)
          to label %609 unwind label %626

609:                                              ; preds = %608
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %53) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %53) #8
  %610 = invoke noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %611 unwind label %631

611:                                              ; preds = %609
  %612 = load ptr, ptr %610, align 8, !tbaa !15
  %613 = getelementptr inbounds ptr, ptr %612, i64 4
  %614 = load ptr, ptr %613, align 8
  %615 = invoke noundef zeroext i1 %614(ptr noundef nonnull align 8 dereferenceable(8) %610)
          to label %616 unwind label %631

616:                                              ; preds = %611
  %617 = zext i1 %615 to i32
  %618 = icmp eq i32 %617, 1
  br i1 %618, label %619, label %644

619:                                              ; preds = %616
  call void @llvm.lifetime.start.p0(i64 48, ptr %54) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %54, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %620 unwind label %635

620:                                              ; preds = %619
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %54)
          to label %621 unwind label %639

621:                                              ; preds = %620
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %54) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %54) #8
  br label %657

622:                                              ; preds = %607
  %623 = landingpad { ptr, i32 }
          cleanup
  %624 = extractvalue { ptr, i32 } %623, 0
  store ptr %624, ptr %11, align 8
  %625 = extractvalue { ptr, i32 } %623, 1
  store i32 %625, ptr %12, align 4
  br label %630

626:                                              ; preds = %608
  %627 = landingpad { ptr, i32 }
          cleanup
  %628 = extractvalue { ptr, i32 } %627, 0
  store ptr %628, ptr %11, align 8
  %629 = extractvalue { ptr, i32 } %627, 1
  store i32 %629, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %53) #8
  br label %630

630:                                              ; preds = %626, %622
  call void @llvm.lifetime.end.p0(i64 48, ptr %53) #8
  br label %833

631:                                              ; preds = %816, %770, %733, %724, %722, %706, %673, %664, %662, %646, %611, %609
  %632 = landingpad { ptr, i32 }
          cleanup
  %633 = extractvalue { ptr, i32 } %632, 0
  store ptr %633, ptr %11, align 8
  %634 = extractvalue { ptr, i32 } %632, 1
  store i32 %634, ptr %12, align 4
  br label %833

635:                                              ; preds = %619
  %636 = landingpad { ptr, i32 }
          cleanup
  %637 = extractvalue { ptr, i32 } %636, 0
  store ptr %637, ptr %11, align 8
  %638 = extractvalue { ptr, i32 } %636, 1
  store i32 %638, ptr %12, align 4
  br label %643

639:                                              ; preds = %620
  %640 = landingpad { ptr, i32 }
          cleanup
  %641 = extractvalue { ptr, i32 } %640, 0
  store ptr %641, ptr %11, align 8
  %642 = extractvalue { ptr, i32 } %640, 1
  store i32 %642, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %54) #8
  br label %643

643:                                              ; preds = %639, %635
  call void @llvm.lifetime.end.p0(i64 48, ptr %54) #8
  br label %833

644:                                              ; preds = %616
  call void @llvm.lifetime.start.p0(i64 48, ptr %55) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %55, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %645 unwind label %648

645:                                              ; preds = %644
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %55)
          to label %646 unwind label %652

646:                                              ; preds = %645
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %55) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %55) #8
  %647 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %647, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %647, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %631

648:                                              ; preds = %644
  %649 = landingpad { ptr, i32 }
          cleanup
  %650 = extractvalue { ptr, i32 } %649, 0
  store ptr %650, ptr %11, align 8
  %651 = extractvalue { ptr, i32 } %649, 1
  store i32 %651, ptr %12, align 4
  br label %656

652:                                              ; preds = %645
  %653 = landingpad { ptr, i32 }
          cleanup
  %654 = extractvalue { ptr, i32 } %653, 0
  store ptr %654, ptr %11, align 8
  %655 = extractvalue { ptr, i32 } %653, 1
  store i32 %655, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %55) #8
  br label %656

656:                                              ; preds = %652, %648
  call void @llvm.lifetime.end.p0(i64 48, ptr %55) #8
  br label %833

657:                                              ; preds = %621
  br label %658

658:                                              ; preds = %657
  br label %659

659:                                              ; preds = %658
  br label %660

660:                                              ; preds = %659
  call void @llvm.lifetime.start.p0(i64 48, ptr %56) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %56, ptr noundef @.str.29, i1 noundef zeroext true)
          to label %661 unwind label %686

661:                                              ; preds = %660
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %56)
          to label %662 unwind label %690

662:                                              ; preds = %661
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %56) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %56) #8
  %663 = invoke noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %664 unwind label %631

664:                                              ; preds = %662
  %665 = load ptr, ptr %663, align 8, !tbaa !15
  %666 = getelementptr i8, ptr %665, i64 -56
  %667 = load i64, ptr %666, align 8
  %668 = getelementptr inbounds i8, ptr %663, i64 %667
  %669 = load ptr, ptr %668, align 8, !tbaa !15
  %670 = getelementptr inbounds ptr, ptr %669, i64 3
  %671 = load ptr, ptr %670, align 8
  %672 = invoke noundef nonnull align 8 dereferenceable(8) ptr %671(ptr noundef nonnull align 8 dereferenceable(8) %668)
          to label %673 unwind label %631

673:                                              ; preds = %664
  %674 = load ptr, ptr %672, align 8, !tbaa !15
  %675 = getelementptr inbounds ptr, ptr %674, i64 10
  %676 = load ptr, ptr %675, align 8
  %677 = invoke noundef i64 %676(ptr noundef nonnull align 8 dereferenceable(8) %672)
          to label %678 unwind label %631

678:                                              ; preds = %673
  %679 = load i64, ptr %51, align 8, !tbaa !9
  %680 = getelementptr inbounds [3 x i64], ptr %5, i64 0, i64 %679
  %681 = load i64, ptr %680, align 8, !tbaa !9
  %682 = icmp eq i64 %677, %681
  br i1 %682, label %683, label %704

683:                                              ; preds = %678
  call void @llvm.lifetime.start.p0(i64 48, ptr %57) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %57, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %684 unwind label %695

684:                                              ; preds = %683
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %57)
          to label %685 unwind label %699

685:                                              ; preds = %684
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %57) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %57) #8
  br label %717

686:                                              ; preds = %660
  %687 = landingpad { ptr, i32 }
          cleanup
  %688 = extractvalue { ptr, i32 } %687, 0
  store ptr %688, ptr %11, align 8
  %689 = extractvalue { ptr, i32 } %687, 1
  store i32 %689, ptr %12, align 4
  br label %694

690:                                              ; preds = %661
  %691 = landingpad { ptr, i32 }
          cleanup
  %692 = extractvalue { ptr, i32 } %691, 0
  store ptr %692, ptr %11, align 8
  %693 = extractvalue { ptr, i32 } %691, 1
  store i32 %693, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %56) #8
  br label %694

694:                                              ; preds = %690, %686
  call void @llvm.lifetime.end.p0(i64 48, ptr %56) #8
  br label %833

695:                                              ; preds = %683
  %696 = landingpad { ptr, i32 }
          cleanup
  %697 = extractvalue { ptr, i32 } %696, 0
  store ptr %697, ptr %11, align 8
  %698 = extractvalue { ptr, i32 } %696, 1
  store i32 %698, ptr %12, align 4
  br label %703

699:                                              ; preds = %684
  %700 = landingpad { ptr, i32 }
          cleanup
  %701 = extractvalue { ptr, i32 } %700, 0
  store ptr %701, ptr %11, align 8
  %702 = extractvalue { ptr, i32 } %700, 1
  store i32 %702, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %57) #8
  br label %703

703:                                              ; preds = %699, %695
  call void @llvm.lifetime.end.p0(i64 48, ptr %57) #8
  br label %833

704:                                              ; preds = %678
  call void @llvm.lifetime.start.p0(i64 48, ptr %58) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %58, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %705 unwind label %708

705:                                              ; preds = %704
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %58)
          to label %706 unwind label %712

706:                                              ; preds = %705
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %58) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %58) #8
  %707 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %707, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %707, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %631

708:                                              ; preds = %704
  %709 = landingpad { ptr, i32 }
          cleanup
  %710 = extractvalue { ptr, i32 } %709, 0
  store ptr %710, ptr %11, align 8
  %711 = extractvalue { ptr, i32 } %709, 1
  store i32 %711, ptr %12, align 4
  br label %716

712:                                              ; preds = %705
  %713 = landingpad { ptr, i32 }
          cleanup
  %714 = extractvalue { ptr, i32 } %713, 0
  store ptr %714, ptr %11, align 8
  %715 = extractvalue { ptr, i32 } %713, 1
  store i32 %715, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %58) #8
  br label %716

716:                                              ; preds = %712, %708
  call void @llvm.lifetime.end.p0(i64 48, ptr %58) #8
  br label %833

717:                                              ; preds = %685
  br label %718

718:                                              ; preds = %717
  br label %719

719:                                              ; preds = %718
  br label %720

720:                                              ; preds = %719
  call void @llvm.lifetime.start.p0(i64 48, ptr %59) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %59, ptr noundef @.str.30, i1 noundef zeroext true)
          to label %721 unwind label %750

721:                                              ; preds = %720
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %59)
          to label %722 unwind label %754

722:                                              ; preds = %721
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %59) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %59) #8
  %723 = invoke noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %724 unwind label %631

724:                                              ; preds = %722
  %725 = load ptr, ptr %723, align 8, !tbaa !15
  %726 = getelementptr i8, ptr %725, i64 -56
  %727 = load i64, ptr %726, align 8
  %728 = getelementptr inbounds i8, ptr %723, i64 %727
  %729 = load ptr, ptr %728, align 8, !tbaa !15
  %730 = getelementptr inbounds ptr, ptr %729, i64 3
  %731 = load ptr, ptr %730, align 8
  %732 = invoke noundef nonnull align 8 dereferenceable(8) ptr %731(ptr noundef nonnull align 8 dereferenceable(8) %728)
          to label %733 unwind label %631

733:                                              ; preds = %724
  %734 = getelementptr inbounds [32 x i8], ptr %52, i64 0, i64 0
  %735 = load i64, ptr %51, align 8, !tbaa !9
  %736 = getelementptr inbounds [3 x i64], ptr %5, i64 0, i64 %735
  %737 = load i64, ptr %736, align 8, !tbaa !9
  %738 = load ptr, ptr %732, align 8, !tbaa !15
  %739 = getelementptr inbounds ptr, ptr %738, i64 14
  %740 = load ptr, ptr %739, align 8
  %741 = invoke noundef i64 %740(ptr noundef nonnull align 8 dereferenceable(8) %732, ptr noundef %734, i64 noundef %737)
          to label %742 unwind label %631

742:                                              ; preds = %733
  %743 = load i64, ptr %51, align 8, !tbaa !9
  %744 = getelementptr inbounds [3 x i64], ptr %5, i64 0, i64 %743
  %745 = load i64, ptr %744, align 8, !tbaa !9
  %746 = icmp eq i64 %741, %745
  br i1 %746, label %747, label %768

747:                                              ; preds = %742
  call void @llvm.lifetime.start.p0(i64 48, ptr %60) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %60, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %748 unwind label %759

748:                                              ; preds = %747
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %60)
          to label %749 unwind label %763

749:                                              ; preds = %748
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %60) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %60) #8
  br label %781

750:                                              ; preds = %720
  %751 = landingpad { ptr, i32 }
          cleanup
  %752 = extractvalue { ptr, i32 } %751, 0
  store ptr %752, ptr %11, align 8
  %753 = extractvalue { ptr, i32 } %751, 1
  store i32 %753, ptr %12, align 4
  br label %758

754:                                              ; preds = %721
  %755 = landingpad { ptr, i32 }
          cleanup
  %756 = extractvalue { ptr, i32 } %755, 0
  store ptr %756, ptr %11, align 8
  %757 = extractvalue { ptr, i32 } %755, 1
  store i32 %757, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %59) #8
  br label %758

758:                                              ; preds = %754, %750
  call void @llvm.lifetime.end.p0(i64 48, ptr %59) #8
  br label %833

759:                                              ; preds = %747
  %760 = landingpad { ptr, i32 }
          cleanup
  %761 = extractvalue { ptr, i32 } %760, 0
  store ptr %761, ptr %11, align 8
  %762 = extractvalue { ptr, i32 } %760, 1
  store i32 %762, ptr %12, align 4
  br label %767

763:                                              ; preds = %748
  %764 = landingpad { ptr, i32 }
          cleanup
  %765 = extractvalue { ptr, i32 } %764, 0
  store ptr %765, ptr %11, align 8
  %766 = extractvalue { ptr, i32 } %764, 1
  store i32 %766, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %60) #8
  br label %767

767:                                              ; preds = %763, %759
  call void @llvm.lifetime.end.p0(i64 48, ptr %60) #8
  br label %833

768:                                              ; preds = %742
  call void @llvm.lifetime.start.p0(i64 48, ptr %61) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %61, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %769 unwind label %772

769:                                              ; preds = %768
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %61)
          to label %770 unwind label %776

770:                                              ; preds = %769
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %61) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %61) #8
  %771 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %771, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %771, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %631

772:                                              ; preds = %768
  %773 = landingpad { ptr, i32 }
          cleanup
  %774 = extractvalue { ptr, i32 } %773, 0
  store ptr %774, ptr %11, align 8
  %775 = extractvalue { ptr, i32 } %773, 1
  store i32 %775, ptr %12, align 4
  br label %780

776:                                              ; preds = %769
  %777 = landingpad { ptr, i32 }
          cleanup
  %778 = extractvalue { ptr, i32 } %777, 0
  store ptr %778, ptr %11, align 8
  %779 = extractvalue { ptr, i32 } %777, 1
  store i32 %779, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %61) #8
  br label %780

780:                                              ; preds = %776, %772
  call void @llvm.lifetime.end.p0(i64 48, ptr %61) #8
  br label %833

781:                                              ; preds = %749
  br label %782

782:                                              ; preds = %781
  br label %783

783:                                              ; preds = %782
  br label %784

784:                                              ; preds = %783
  call void @llvm.lifetime.start.p0(i64 48, ptr %62) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %62, ptr noundef @.str.31, i1 noundef zeroext true)
          to label %785 unwind label %796

785:                                              ; preds = %784
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %62)
          to label %786 unwind label %800

786:                                              ; preds = %785
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %62) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %62) #8
  %787 = getelementptr inbounds [32 x i8], ptr %52, i64 0, i64 0
  %788 = load i64, ptr %51, align 8, !tbaa !9
  %789 = getelementptr inbounds [3 x ptr], ptr %4, i64 0, i64 %788
  %790 = load ptr, ptr %789, align 8, !tbaa !5
  %791 = call i32 @strcmp(ptr noundef %787, ptr noundef %790) #9
  %792 = icmp eq i32 %791, 0
  br i1 %792, label %793, label %814

793:                                              ; preds = %786
  call void @llvm.lifetime.start.p0(i64 48, ptr %63) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %63, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %794 unwind label %805

794:                                              ; preds = %793
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %63)
          to label %795 unwind label %809

795:                                              ; preds = %794
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %63) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %63) #8
  br label %827

796:                                              ; preds = %784
  %797 = landingpad { ptr, i32 }
          cleanup
  %798 = extractvalue { ptr, i32 } %797, 0
  store ptr %798, ptr %11, align 8
  %799 = extractvalue { ptr, i32 } %797, 1
  store i32 %799, ptr %12, align 4
  br label %804

800:                                              ; preds = %785
  %801 = landingpad { ptr, i32 }
          cleanup
  %802 = extractvalue { ptr, i32 } %801, 0
  store ptr %802, ptr %11, align 8
  %803 = extractvalue { ptr, i32 } %801, 1
  store i32 %803, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %62) #8
  br label %804

804:                                              ; preds = %800, %796
  call void @llvm.lifetime.end.p0(i64 48, ptr %62) #8
  br label %833

805:                                              ; preds = %793
  %806 = landingpad { ptr, i32 }
          cleanup
  %807 = extractvalue { ptr, i32 } %806, 0
  store ptr %807, ptr %11, align 8
  %808 = extractvalue { ptr, i32 } %806, 1
  store i32 %808, ptr %12, align 4
  br label %813

809:                                              ; preds = %794
  %810 = landingpad { ptr, i32 }
          cleanup
  %811 = extractvalue { ptr, i32 } %810, 0
  store ptr %811, ptr %11, align 8
  %812 = extractvalue { ptr, i32 } %810, 1
  store i32 %812, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %63) #8
  br label %813

813:                                              ; preds = %809, %805
  call void @llvm.lifetime.end.p0(i64 48, ptr %63) #8
  br label %833

814:                                              ; preds = %786
  call void @llvm.lifetime.start.p0(i64 48, ptr %64) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %64, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %815 unwind label %818

815:                                              ; preds = %814
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %64)
          to label %816 unwind label %822

816:                                              ; preds = %815
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %64) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %64) #8
  %817 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %817, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %817, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %631

818:                                              ; preds = %814
  %819 = landingpad { ptr, i32 }
          cleanup
  %820 = extractvalue { ptr, i32 } %819, 0
  store ptr %820, ptr %11, align 8
  %821 = extractvalue { ptr, i32 } %819, 1
  store i32 %821, ptr %12, align 4
  br label %826

822:                                              ; preds = %815
  %823 = landingpad { ptr, i32 }
          cleanup
  %824 = extractvalue { ptr, i32 } %823, 0
  store ptr %824, ptr %11, align 8
  %825 = extractvalue { ptr, i32 } %823, 1
  store i32 %825, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %64) #8
  br label %826

826:                                              ; preds = %822, %818
  call void @llvm.lifetime.end.p0(i64 48, ptr %64) #8
  br label %833

827:                                              ; preds = %795
  br label %828

828:                                              ; preds = %827
  br label %829

829:                                              ; preds = %828
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #8
  br label %830

830:                                              ; preds = %829
  %831 = load i64, ptr %51, align 8, !tbaa !9
  %832 = add nsw i64 %831, 1
  store i64 %832, ptr %51, align 8, !tbaa !9
  br label %601, !llvm.loop !19

833:                                              ; preds = %826, %813, %804, %780, %767, %758, %716, %703, %694, %656, %643, %631, %630
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #8
  br label %896

834:                                              ; preds = %605
  br label %835

835:                                              ; preds = %834
  call void @llvm.lifetime.start.p0(i64 48, ptr %65) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %65, ptr noundef @.str.8, i1 noundef zeroext true)
          to label %836 unwind label %850

836:                                              ; preds = %835
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %65)
          to label %837 unwind label %854

837:                                              ; preds = %836
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %65) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %65) #8
  %838 = invoke noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %839 unwind label %457

839:                                              ; preds = %837
  %840 = load ptr, ptr %838, align 8, !tbaa !15
  %841 = getelementptr inbounds ptr, ptr %840, i64 4
  %842 = load ptr, ptr %841, align 8
  %843 = invoke noundef zeroext i1 %842(ptr noundef nonnull align 8 dereferenceable(8) %838)
          to label %844 unwind label %457

844:                                              ; preds = %839
  %845 = zext i1 %843 to i32
  %846 = icmp eq i32 %845, 0
  br i1 %846, label %847, label %868

847:                                              ; preds = %844
  call void @llvm.lifetime.start.p0(i64 48, ptr %66) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %66, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %848 unwind label %859

848:                                              ; preds = %847
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %66)
          to label %849 unwind label %863

849:                                              ; preds = %848
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %66) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %66) #8
  br label %881

850:                                              ; preds = %835
  %851 = landingpad { ptr, i32 }
          cleanup
  %852 = extractvalue { ptr, i32 } %851, 0
  store ptr %852, ptr %11, align 8
  %853 = extractvalue { ptr, i32 } %851, 1
  store i32 %853, ptr %12, align 4
  br label %858

854:                                              ; preds = %836
  %855 = landingpad { ptr, i32 }
          cleanup
  %856 = extractvalue { ptr, i32 } %855, 0
  store ptr %856, ptr %11, align 8
  %857 = extractvalue { ptr, i32 } %855, 1
  store i32 %857, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %65) #8
  br label %858

858:                                              ; preds = %854, %850
  call void @llvm.lifetime.end.p0(i64 48, ptr %65) #8
  br label %896

859:                                              ; preds = %847
  %860 = landingpad { ptr, i32 }
          cleanup
  %861 = extractvalue { ptr, i32 } %860, 0
  store ptr %861, ptr %11, align 8
  %862 = extractvalue { ptr, i32 } %860, 1
  store i32 %862, ptr %12, align 4
  br label %867

863:                                              ; preds = %848
  %864 = landingpad { ptr, i32 }
          cleanup
  %865 = extractvalue { ptr, i32 } %864, 0
  store ptr %865, ptr %11, align 8
  %866 = extractvalue { ptr, i32 } %864, 1
  store i32 %866, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %66) #8
  br label %867

867:                                              ; preds = %863, %859
  call void @llvm.lifetime.end.p0(i64 48, ptr %66) #8
  br label %896

868:                                              ; preds = %844
  call void @llvm.lifetime.start.p0(i64 48, ptr %67) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %67, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %869 unwind label %872

869:                                              ; preds = %868
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %67)
          to label %870 unwind label %876

870:                                              ; preds = %869
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %67) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %67) #8
  %871 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %871, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %871, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %457

872:                                              ; preds = %868
  %873 = landingpad { ptr, i32 }
          cleanup
  %874 = extractvalue { ptr, i32 } %873, 0
  store ptr %874, ptr %11, align 8
  %875 = extractvalue { ptr, i32 } %873, 1
  store i32 %875, ptr %12, align 4
  br label %880

876:                                              ; preds = %869
  %877 = landingpad { ptr, i32 }
          cleanup
  %878 = extractvalue { ptr, i32 } %877, 0
  store ptr %878, ptr %11, align 8
  %879 = extractvalue { ptr, i32 } %877, 1
  store i32 %879, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %67) #8
  br label %880

880:                                              ; preds = %876, %872
  call void @llvm.lifetime.end.p0(i64 48, ptr %67) #8
  br label %896

881:                                              ; preds = %849
  br label %882

882:                                              ; preds = %881
  br label %883

883:                                              ; preds = %882
  call void @_ZN2vl3PtrINS_8database10ILogReaderEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #8
  br label %884

884:                                              ; preds = %883
  call void @llvm.lifetime.start.p0(i64 48, ptr %68) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %68, ptr noundef @.str.9, i1 noundef zeroext true)
          to label %885 unwind label %898

885:                                              ; preds = %884
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %68)
          to label %886 unwind label %902

886:                                              ; preds = %885
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %68) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %68) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %69, ptr align 8 %16, i64 8, i1 false), !tbaa.struct !14
  %887 = getelementptr inbounds %"struct.vl::database::IdObject.35", ptr %69, i32 0, i32 0
  %888 = load i64, ptr %887, align 8
  %889 = invoke noundef zeroext i1 @_ZN2vl8database10LogManager16CloseTransactionENS0_8IdObjectImLl3EEE(ptr noundef nonnull align 8 dereferenceable(304) %14, i64 %888)
          to label %890 unwind label %164

890:                                              ; preds = %886
  %891 = zext i1 %889 to i32
  %892 = icmp eq i32 %891, 1
  br i1 %892, label %893, label %916

893:                                              ; preds = %890
  call void @llvm.lifetime.start.p0(i64 48, ptr %70) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %70, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %894 unwind label %907

894:                                              ; preds = %893
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %70)
          to label %895 unwind label %911

895:                                              ; preds = %894
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %70) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %70) #8
  br label %929

896:                                              ; preds = %880, %867, %858, %833, %597, %584, %575, %566, %542, %529, %517, %516, %482, %469, %457, %456
  call void @_ZN2vl3PtrINS_8database10ILogReaderEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  br label %897

897:                                              ; preds = %896, %444
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #8
  br label %1431

898:                                              ; preds = %884
  %899 = landingpad { ptr, i32 }
          cleanup
  %900 = extractvalue { ptr, i32 } %899, 0
  store ptr %900, ptr %11, align 8
  %901 = extractvalue { ptr, i32 } %899, 1
  store i32 %901, ptr %12, align 4
  br label %906

902:                                              ; preds = %885
  %903 = landingpad { ptr, i32 }
          cleanup
  %904 = extractvalue { ptr, i32 } %903, 0
  store ptr %904, ptr %11, align 8
  %905 = extractvalue { ptr, i32 } %903, 1
  store i32 %905, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %68) #8
  br label %906

906:                                              ; preds = %902, %898
  call void @llvm.lifetime.end.p0(i64 48, ptr %68) #8
  br label %1431

907:                                              ; preds = %893
  %908 = landingpad { ptr, i32 }
          cleanup
  %909 = extractvalue { ptr, i32 } %908, 0
  store ptr %909, ptr %11, align 8
  %910 = extractvalue { ptr, i32 } %908, 1
  store i32 %910, ptr %12, align 4
  br label %915

911:                                              ; preds = %894
  %912 = landingpad { ptr, i32 }
          cleanup
  %913 = extractvalue { ptr, i32 } %912, 0
  store ptr %913, ptr %11, align 8
  %914 = extractvalue { ptr, i32 } %912, 1
  store i32 %914, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %70) #8
  br label %915

915:                                              ; preds = %911, %907
  call void @llvm.lifetime.end.p0(i64 48, ptr %70) #8
  br label %1431

916:                                              ; preds = %890
  call void @llvm.lifetime.start.p0(i64 48, ptr %71) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %71, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %917 unwind label %920

917:                                              ; preds = %916
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %71)
          to label %918 unwind label %924

918:                                              ; preds = %917
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %71) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %71) #8
  %919 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %919, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %919, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %164

920:                                              ; preds = %916
  %921 = landingpad { ptr, i32 }
          cleanup
  %922 = extractvalue { ptr, i32 } %921, 0
  store ptr %922, ptr %11, align 8
  %923 = extractvalue { ptr, i32 } %921, 1
  store i32 %923, ptr %12, align 4
  br label %928

924:                                              ; preds = %917
  %925 = landingpad { ptr, i32 }
          cleanup
  %926 = extractvalue { ptr, i32 } %925, 0
  store ptr %926, ptr %11, align 8
  %927 = extractvalue { ptr, i32 } %925, 1
  store i32 %927, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %71) #8
  br label %928

928:                                              ; preds = %924, %920
  call void @llvm.lifetime.end.p0(i64 48, ptr %71) #8
  br label %1431

929:                                              ; preds = %895
  br label %930

930:                                              ; preds = %929
  br label %931

931:                                              ; preds = %930
  br label %932

932:                                              ; preds = %931
  call void @llvm.lifetime.start.p0(i64 48, ptr %72) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %72, ptr noundef @.str.10, i1 noundef zeroext true)
          to label %933 unwind label %944

933:                                              ; preds = %932
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %72)
          to label %934 unwind label %948

934:                                              ; preds = %933
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %72) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %72) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %73, ptr align 8 %16, i64 8, i1 false), !tbaa.struct !14
  %935 = getelementptr inbounds %"struct.vl::database::IdObject.35", ptr %73, i32 0, i32 0
  %936 = load i64, ptr %935, align 8
  %937 = invoke noundef zeroext i1 @_ZN2vl8database10LogManager8IsActiveENS0_8IdObjectImLl3EEE(ptr noundef nonnull align 8 dereferenceable(304) %14, i64 %936)
          to label %938 unwind label %164

938:                                              ; preds = %934
  %939 = zext i1 %937 to i32
  %940 = icmp eq i32 %939, 0
  br i1 %940, label %941, label %962

941:                                              ; preds = %938
  call void @llvm.lifetime.start.p0(i64 48, ptr %74) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %74, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %942 unwind label %953

942:                                              ; preds = %941
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %74)
          to label %943 unwind label %957

943:                                              ; preds = %942
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %74) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %74) #8
  br label %975

944:                                              ; preds = %932
  %945 = landingpad { ptr, i32 }
          cleanup
  %946 = extractvalue { ptr, i32 } %945, 0
  store ptr %946, ptr %11, align 8
  %947 = extractvalue { ptr, i32 } %945, 1
  store i32 %947, ptr %12, align 4
  br label %952

948:                                              ; preds = %933
  %949 = landingpad { ptr, i32 }
          cleanup
  %950 = extractvalue { ptr, i32 } %949, 0
  store ptr %950, ptr %11, align 8
  %951 = extractvalue { ptr, i32 } %949, 1
  store i32 %951, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %72) #8
  br label %952

952:                                              ; preds = %948, %944
  call void @llvm.lifetime.end.p0(i64 48, ptr %72) #8
  br label %1431

953:                                              ; preds = %941
  %954 = landingpad { ptr, i32 }
          cleanup
  %955 = extractvalue { ptr, i32 } %954, 0
  store ptr %955, ptr %11, align 8
  %956 = extractvalue { ptr, i32 } %954, 1
  store i32 %956, ptr %12, align 4
  br label %961

957:                                              ; preds = %942
  %958 = landingpad { ptr, i32 }
          cleanup
  %959 = extractvalue { ptr, i32 } %958, 0
  store ptr %959, ptr %11, align 8
  %960 = extractvalue { ptr, i32 } %958, 1
  store i32 %960, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %74) #8
  br label %961

961:                                              ; preds = %957, %953
  call void @llvm.lifetime.end.p0(i64 48, ptr %74) #8
  br label %1431

962:                                              ; preds = %938
  call void @llvm.lifetime.start.p0(i64 48, ptr %75) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %75, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %963 unwind label %966

963:                                              ; preds = %962
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %75)
          to label %964 unwind label %970

964:                                              ; preds = %963
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %75) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %75) #8
  %965 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %965, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %965, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %164

966:                                              ; preds = %962
  %967 = landingpad { ptr, i32 }
          cleanup
  %968 = extractvalue { ptr, i32 } %967, 0
  store ptr %968, ptr %11, align 8
  %969 = extractvalue { ptr, i32 } %967, 1
  store i32 %969, ptr %12, align 4
  br label %974

970:                                              ; preds = %963
  %971 = landingpad { ptr, i32 }
          cleanup
  %972 = extractvalue { ptr, i32 } %971, 0
  store ptr %972, ptr %11, align 8
  %973 = extractvalue { ptr, i32 } %971, 1
  store i32 %973, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %75) #8
  br label %974

974:                                              ; preds = %970, %966
  call void @llvm.lifetime.end.p0(i64 48, ptr %75) #8
  br label %1431

975:                                              ; preds = %943
  br label %976

976:                                              ; preds = %975
  br label %977

977:                                              ; preds = %976
  call void @llvm.lifetime.start.p0(i64 32, ptr %76) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %77, ptr align 8 %16, i64 8, i1 false), !tbaa.struct !14
  %978 = getelementptr inbounds %"struct.vl::database::IdObject.35", ptr %77, i32 0, i32 0
  %979 = load i64, ptr %978, align 8
  invoke void @_ZN2vl8database10LogManager19EnumInactiveLogItemENS0_8IdObjectImLl3EEE(ptr dead_on_unwind writable sret(%"class.vl::Ptr") align 8 %76, ptr noundef nonnull align 8 dereferenceable(304) %14, i64 %979)
          to label %980 unwind label %989

980:                                              ; preds = %977
  br label %981

981:                                              ; preds = %980
  call void @llvm.lifetime.start.p0(i64 48, ptr %78) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %78, ptr noundef @.str.5, i1 noundef zeroext true)
          to label %982 unwind label %993

982:                                              ; preds = %981
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %78)
          to label %983 unwind label %997

983:                                              ; preds = %982
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %78) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %78) #8
  %984 = invoke noundef zeroext i1 @_ZNK2vl3PtrINS_8database10ILogReaderEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %985 unwind label %1002

985:                                              ; preds = %983
  br i1 %984, label %986, label %1015

986:                                              ; preds = %985
  call void @llvm.lifetime.start.p0(i64 48, ptr %79) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %79, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %987 unwind label %1006

987:                                              ; preds = %986
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %79)
          to label %988 unwind label %1010

988:                                              ; preds = %987
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %79) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %79) #8
  br label %1028

989:                                              ; preds = %977
  %990 = landingpad { ptr, i32 }
          cleanup
  %991 = extractvalue { ptr, i32 } %990, 0
  store ptr %991, ptr %11, align 8
  %992 = extractvalue { ptr, i32 } %990, 1
  store i32 %992, ptr %12, align 4
  br label %1430

993:                                              ; preds = %981
  %994 = landingpad { ptr, i32 }
          cleanup
  %995 = extractvalue { ptr, i32 } %994, 0
  store ptr %995, ptr %11, align 8
  %996 = extractvalue { ptr, i32 } %994, 1
  store i32 %996, ptr %12, align 4
  br label %1001

997:                                              ; preds = %982
  %998 = landingpad { ptr, i32 }
          cleanup
  %999 = extractvalue { ptr, i32 } %998, 0
  store ptr %999, ptr %11, align 8
  %1000 = extractvalue { ptr, i32 } %998, 1
  store i32 %1000, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %78) #8
  br label %1001

1001:                                             ; preds = %997, %993
  call void @llvm.lifetime.end.p0(i64 48, ptr %78) #8
  br label %1429

1002:                                             ; preds = %1415, %1384, %1382, %1132, %1077, %1017, %983
  %1003 = landingpad { ptr, i32 }
          cleanup
  %1004 = extractvalue { ptr, i32 } %1003, 0
  store ptr %1004, ptr %11, align 8
  %1005 = extractvalue { ptr, i32 } %1003, 1
  store i32 %1005, ptr %12, align 4
  br label %1429

1006:                                             ; preds = %986
  %1007 = landingpad { ptr, i32 }
          cleanup
  %1008 = extractvalue { ptr, i32 } %1007, 0
  store ptr %1008, ptr %11, align 8
  %1009 = extractvalue { ptr, i32 } %1007, 1
  store i32 %1009, ptr %12, align 4
  br label %1014

1010:                                             ; preds = %987
  %1011 = landingpad { ptr, i32 }
          cleanup
  %1012 = extractvalue { ptr, i32 } %1011, 0
  store ptr %1012, ptr %11, align 8
  %1013 = extractvalue { ptr, i32 } %1011, 1
  store i32 %1013, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %79) #8
  br label %1014

1014:                                             ; preds = %1010, %1006
  call void @llvm.lifetime.end.p0(i64 48, ptr %79) #8
  br label %1429

1015:                                             ; preds = %985
  call void @llvm.lifetime.start.p0(i64 48, ptr %80) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %80, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %1016 unwind label %1019

1016:                                             ; preds = %1015
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %80)
          to label %1017 unwind label %1023

1017:                                             ; preds = %1016
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %80) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %80) #8
  %1018 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1018, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %1018, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %1002

1019:                                             ; preds = %1015
  %1020 = landingpad { ptr, i32 }
          cleanup
  %1021 = extractvalue { ptr, i32 } %1020, 0
  store ptr %1021, ptr %11, align 8
  %1022 = extractvalue { ptr, i32 } %1020, 1
  store i32 %1022, ptr %12, align 4
  br label %1027

1023:                                             ; preds = %1016
  %1024 = landingpad { ptr, i32 }
          cleanup
  %1025 = extractvalue { ptr, i32 } %1024, 0
  store ptr %1025, ptr %11, align 8
  %1026 = extractvalue { ptr, i32 } %1024, 1
  store i32 %1026, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %80) #8
  br label %1027

1027:                                             ; preds = %1023, %1019
  call void @llvm.lifetime.end.p0(i64 48, ptr %80) #8
  br label %1429

1028:                                             ; preds = %988
  br label %1029

1029:                                             ; preds = %1028
  br label %1030

1030:                                             ; preds = %1029
  br label %1031

1031:                                             ; preds = %1030
  call void @llvm.lifetime.start.p0(i64 48, ptr %81) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %81, ptr noundef @.str.6, i1 noundef zeroext true)
          to label %1032 unwind label %1053

1032:                                             ; preds = %1031
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %81)
          to label %1033 unwind label %1057

1033:                                             ; preds = %1032
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %81) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %81) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #8
  %1034 = invoke noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %1035 unwind label %1062

1035:                                             ; preds = %1033
  %1036 = load ptr, ptr %1034, align 8, !tbaa !15
  %1037 = getelementptr i8, ptr %1036, i64 -56
  %1038 = load i64, ptr %1037, align 8
  %1039 = getelementptr inbounds i8, ptr %1034, i64 %1038
  %1040 = load ptr, ptr %1039, align 8, !tbaa !15
  %1041 = getelementptr inbounds ptr, ptr %1040, i64 2
  %1042 = load ptr, ptr %1041, align 8
  %1043 = invoke i64 %1042(ptr noundef nonnull align 8 dereferenceable(8) %1039)
          to label %1044 unwind label %1062

1044:                                             ; preds = %1035
  %1045 = getelementptr inbounds %"struct.vl::database::IdObject.35", ptr %82, i32 0, i32 0
  store i64 %1043, ptr %1045, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %83, ptr align 8 %16, i64 8, i1 false), !tbaa.struct !14
  %1046 = getelementptr inbounds %"struct.vl::database::IdObject.35", ptr %83, i32 0, i32 0
  %1047 = load i64, ptr %1046, align 8
  %1048 = invoke noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8) %82, i64 %1047)
          to label %1049 unwind label %1062

1049:                                             ; preds = %1044
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #8
  br i1 %1048, label %1050, label %1075

1050:                                             ; preds = %1049
  call void @llvm.lifetime.start.p0(i64 48, ptr %84) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %84, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %1051 unwind label %1066

1051:                                             ; preds = %1050
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %84)
          to label %1052 unwind label %1070

1052:                                             ; preds = %1051
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %84) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %84) #8
  br label %1088

1053:                                             ; preds = %1031
  %1054 = landingpad { ptr, i32 }
          cleanup
  %1055 = extractvalue { ptr, i32 } %1054, 0
  store ptr %1055, ptr %11, align 8
  %1056 = extractvalue { ptr, i32 } %1054, 1
  store i32 %1056, ptr %12, align 4
  br label %1061

1057:                                             ; preds = %1032
  %1058 = landingpad { ptr, i32 }
          cleanup
  %1059 = extractvalue { ptr, i32 } %1058, 0
  store ptr %1059, ptr %11, align 8
  %1060 = extractvalue { ptr, i32 } %1058, 1
  store i32 %1060, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %81) #8
  br label %1061

1061:                                             ; preds = %1057, %1053
  call void @llvm.lifetime.end.p0(i64 48, ptr %81) #8
  br label %1429

1062:                                             ; preds = %1044, %1035, %1033
  %1063 = landingpad { ptr, i32 }
          cleanup
  %1064 = extractvalue { ptr, i32 } %1063, 0
  store ptr %1064, ptr %11, align 8
  %1065 = extractvalue { ptr, i32 } %1063, 1
  store i32 %1065, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #8
  br label %1429

1066:                                             ; preds = %1050
  %1067 = landingpad { ptr, i32 }
          cleanup
  %1068 = extractvalue { ptr, i32 } %1067, 0
  store ptr %1068, ptr %11, align 8
  %1069 = extractvalue { ptr, i32 } %1067, 1
  store i32 %1069, ptr %12, align 4
  br label %1074

1070:                                             ; preds = %1051
  %1071 = landingpad { ptr, i32 }
          cleanup
  %1072 = extractvalue { ptr, i32 } %1071, 0
  store ptr %1072, ptr %11, align 8
  %1073 = extractvalue { ptr, i32 } %1071, 1
  store i32 %1073, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %84) #8
  br label %1074

1074:                                             ; preds = %1070, %1066
  call void @llvm.lifetime.end.p0(i64 48, ptr %84) #8
  br label %1429

1075:                                             ; preds = %1049
  call void @llvm.lifetime.start.p0(i64 48, ptr %85) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %85, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %1076 unwind label %1079

1076:                                             ; preds = %1075
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %85)
          to label %1077 unwind label %1083

1077:                                             ; preds = %1076
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %85) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %85) #8
  %1078 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1078, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %1078, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %1002

1079:                                             ; preds = %1075
  %1080 = landingpad { ptr, i32 }
          cleanup
  %1081 = extractvalue { ptr, i32 } %1080, 0
  store ptr %1081, ptr %11, align 8
  %1082 = extractvalue { ptr, i32 } %1080, 1
  store i32 %1082, ptr %12, align 4
  br label %1087

1083:                                             ; preds = %1076
  %1084 = landingpad { ptr, i32 }
          cleanup
  %1085 = extractvalue { ptr, i32 } %1084, 0
  store ptr %1085, ptr %11, align 8
  %1086 = extractvalue { ptr, i32 } %1084, 1
  store i32 %1086, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %85) #8
  br label %1087

1087:                                             ; preds = %1083, %1079
  call void @llvm.lifetime.end.p0(i64 48, ptr %85) #8
  br label %1429

1088:                                             ; preds = %1052
  br label %1089

1089:                                             ; preds = %1088
  br label %1090

1090:                                             ; preds = %1089
  br label %1091

1091:                                             ; preds = %1090
  call void @llvm.lifetime.start.p0(i64 48, ptr %86) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %86, ptr noundef @.str.11, i1 noundef zeroext true)
          to label %1092 unwind label %1103

1092:                                             ; preds = %1091
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %86)
          to label %1093 unwind label %1107

1093:                                             ; preds = %1092
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %86) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %86) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %87) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %88, ptr align 8 %16, i64 8, i1 false), !tbaa.struct !14
  %1094 = getelementptr inbounds %"struct.vl::database::IdObject.35", ptr %88, i32 0, i32 0
  %1095 = load i64, ptr %1094, align 8
  invoke void @_ZN2vl8database10LogManager11EnumLogItemENS0_8IdObjectImLl3EEE(ptr dead_on_unwind writable sret(%"class.vl::Ptr") align 8 %87, ptr noundef nonnull align 8 dereferenceable(304) %14, i64 %1095)
          to label %1096 unwind label %1112

1096:                                             ; preds = %1093
  %1097 = invoke noundef zeroext i1 @_ZNK2vl3PtrINS_8database10ILogReaderEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %1098 unwind label %1116

1098:                                             ; preds = %1096
  %1099 = xor i1 %1097, true
  call void @_ZN2vl3PtrINS_8database10ILogReaderEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #8
  br i1 %1099, label %1100, label %1130

1100:                                             ; preds = %1098
  call void @llvm.lifetime.start.p0(i64 48, ptr %89) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %89, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %1101 unwind label %1121

1101:                                             ; preds = %1100
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %89)
          to label %1102 unwind label %1125

1102:                                             ; preds = %1101
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %89) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %89) #8
  br label %1143

1103:                                             ; preds = %1091
  %1104 = landingpad { ptr, i32 }
          cleanup
  %1105 = extractvalue { ptr, i32 } %1104, 0
  store ptr %1105, ptr %11, align 8
  %1106 = extractvalue { ptr, i32 } %1104, 1
  store i32 %1106, ptr %12, align 4
  br label %1111

1107:                                             ; preds = %1092
  %1108 = landingpad { ptr, i32 }
          cleanup
  %1109 = extractvalue { ptr, i32 } %1108, 0
  store ptr %1109, ptr %11, align 8
  %1110 = extractvalue { ptr, i32 } %1108, 1
  store i32 %1110, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %86) #8
  br label %1111

1111:                                             ; preds = %1107, %1103
  call void @llvm.lifetime.end.p0(i64 48, ptr %86) #8
  br label %1429

1112:                                             ; preds = %1093
  %1113 = landingpad { ptr, i32 }
          cleanup
  %1114 = extractvalue { ptr, i32 } %1113, 0
  store ptr %1114, ptr %11, align 8
  %1115 = extractvalue { ptr, i32 } %1113, 1
  store i32 %1115, ptr %12, align 4
  br label %1120

1116:                                             ; preds = %1096
  %1117 = landingpad { ptr, i32 }
          cleanup
  %1118 = extractvalue { ptr, i32 } %1117, 0
  store ptr %1118, ptr %11, align 8
  %1119 = extractvalue { ptr, i32 } %1117, 1
  store i32 %1119, ptr %12, align 4
  call void @_ZN2vl3PtrINS_8database10ILogReaderEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #8
  br label %1120

1120:                                             ; preds = %1116, %1112
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #8
  br label %1429

1121:                                             ; preds = %1100
  %1122 = landingpad { ptr, i32 }
          cleanup
  %1123 = extractvalue { ptr, i32 } %1122, 0
  store ptr %1123, ptr %11, align 8
  %1124 = extractvalue { ptr, i32 } %1122, 1
  store i32 %1124, ptr %12, align 4
  br label %1129

1125:                                             ; preds = %1101
  %1126 = landingpad { ptr, i32 }
          cleanup
  %1127 = extractvalue { ptr, i32 } %1126, 0
  store ptr %1127, ptr %11, align 8
  %1128 = extractvalue { ptr, i32 } %1126, 1
  store i32 %1128, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %89) #8
  br label %1129

1129:                                             ; preds = %1125, %1121
  call void @llvm.lifetime.end.p0(i64 48, ptr %89) #8
  br label %1429

1130:                                             ; preds = %1098
  call void @llvm.lifetime.start.p0(i64 48, ptr %90) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %90, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %1131 unwind label %1134

1131:                                             ; preds = %1130
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %90)
          to label %1132 unwind label %1138

1132:                                             ; preds = %1131
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %90) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %90) #8
  %1133 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1133, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %1133, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %1002

1134:                                             ; preds = %1130
  %1135 = landingpad { ptr, i32 }
          cleanup
  %1136 = extractvalue { ptr, i32 } %1135, 0
  store ptr %1136, ptr %11, align 8
  %1137 = extractvalue { ptr, i32 } %1135, 1
  store i32 %1137, ptr %12, align 4
  br label %1142

1138:                                             ; preds = %1131
  %1139 = landingpad { ptr, i32 }
          cleanup
  %1140 = extractvalue { ptr, i32 } %1139, 0
  store ptr %1140, ptr %11, align 8
  %1141 = extractvalue { ptr, i32 } %1139, 1
  store i32 %1141, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %90) #8
  br label %1142

1142:                                             ; preds = %1138, %1134
  call void @llvm.lifetime.end.p0(i64 48, ptr %90) #8
  br label %1429

1143:                                             ; preds = %1102
  br label %1144

1144:                                             ; preds = %1143
  br label %1145

1145:                                             ; preds = %1144
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #8
  store i64 0, ptr %91, align 8, !tbaa !9
  br label %1146

1146:                                             ; preds = %1375, %1145
  %1147 = load i64, ptr %91, align 8, !tbaa !9
  %1148 = load i64, ptr %6, align 8, !tbaa !9
  %1149 = icmp slt i64 %1147, %1148
  br i1 %1149, label %1151, label %1150

1150:                                             ; preds = %1146
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #8
  br label %1379

1151:                                             ; preds = %1146
  call void @llvm.lifetime.start.p0(i64 32, ptr %92) #8
  call void @llvm.memset.p0.i64(ptr align 16 %92, i8 0, i64 32, i1 false)
  br label %1152

1152:                                             ; preds = %1151
  call void @llvm.lifetime.start.p0(i64 48, ptr %93) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %93, ptr noundef @.str.19, i1 noundef zeroext true)
          to label %1153 unwind label %1167

1153:                                             ; preds = %1152
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %93)
          to label %1154 unwind label %1171

1154:                                             ; preds = %1153
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %93) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %93) #8
  %1155 = invoke noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %1156 unwind label %1176

1156:                                             ; preds = %1154
  %1157 = load ptr, ptr %1155, align 8, !tbaa !15
  %1158 = getelementptr inbounds ptr, ptr %1157, i64 4
  %1159 = load ptr, ptr %1158, align 8
  %1160 = invoke noundef zeroext i1 %1159(ptr noundef nonnull align 8 dereferenceable(8) %1155)
          to label %1161 unwind label %1176

1161:                                             ; preds = %1156
  %1162 = zext i1 %1160 to i32
  %1163 = icmp eq i32 %1162, 1
  br i1 %1163, label %1164, label %1189

1164:                                             ; preds = %1161
  call void @llvm.lifetime.start.p0(i64 48, ptr %94) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %94, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %1165 unwind label %1180

1165:                                             ; preds = %1164
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %94)
          to label %1166 unwind label %1184

1166:                                             ; preds = %1165
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %94) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %94) #8
  br label %1202

1167:                                             ; preds = %1152
  %1168 = landingpad { ptr, i32 }
          cleanup
  %1169 = extractvalue { ptr, i32 } %1168, 0
  store ptr %1169, ptr %11, align 8
  %1170 = extractvalue { ptr, i32 } %1168, 1
  store i32 %1170, ptr %12, align 4
  br label %1175

1171:                                             ; preds = %1153
  %1172 = landingpad { ptr, i32 }
          cleanup
  %1173 = extractvalue { ptr, i32 } %1172, 0
  store ptr %1173, ptr %11, align 8
  %1174 = extractvalue { ptr, i32 } %1172, 1
  store i32 %1174, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %93) #8
  br label %1175

1175:                                             ; preds = %1171, %1167
  call void @llvm.lifetime.end.p0(i64 48, ptr %93) #8
  br label %1378

1176:                                             ; preds = %1361, %1315, %1278, %1269, %1267, %1251, %1218, %1209, %1207, %1191, %1156, %1154
  %1177 = landingpad { ptr, i32 }
          cleanup
  %1178 = extractvalue { ptr, i32 } %1177, 0
  store ptr %1178, ptr %11, align 8
  %1179 = extractvalue { ptr, i32 } %1177, 1
  store i32 %1179, ptr %12, align 4
  br label %1378

1180:                                             ; preds = %1164
  %1181 = landingpad { ptr, i32 }
          cleanup
  %1182 = extractvalue { ptr, i32 } %1181, 0
  store ptr %1182, ptr %11, align 8
  %1183 = extractvalue { ptr, i32 } %1181, 1
  store i32 %1183, ptr %12, align 4
  br label %1188

1184:                                             ; preds = %1165
  %1185 = landingpad { ptr, i32 }
          cleanup
  %1186 = extractvalue { ptr, i32 } %1185, 0
  store ptr %1186, ptr %11, align 8
  %1187 = extractvalue { ptr, i32 } %1185, 1
  store i32 %1187, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %94) #8
  br label %1188

1188:                                             ; preds = %1184, %1180
  call void @llvm.lifetime.end.p0(i64 48, ptr %94) #8
  br label %1378

1189:                                             ; preds = %1161
  call void @llvm.lifetime.start.p0(i64 48, ptr %95) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %95, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %1190 unwind label %1193

1190:                                             ; preds = %1189
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %95)
          to label %1191 unwind label %1197

1191:                                             ; preds = %1190
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %95) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %95) #8
  %1192 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1192, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %1192, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %1176

1193:                                             ; preds = %1189
  %1194 = landingpad { ptr, i32 }
          cleanup
  %1195 = extractvalue { ptr, i32 } %1194, 0
  store ptr %1195, ptr %11, align 8
  %1196 = extractvalue { ptr, i32 } %1194, 1
  store i32 %1196, ptr %12, align 4
  br label %1201

1197:                                             ; preds = %1190
  %1198 = landingpad { ptr, i32 }
          cleanup
  %1199 = extractvalue { ptr, i32 } %1198, 0
  store ptr %1199, ptr %11, align 8
  %1200 = extractvalue { ptr, i32 } %1198, 1
  store i32 %1200, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %95) #8
  br label %1201

1201:                                             ; preds = %1197, %1193
  call void @llvm.lifetime.end.p0(i64 48, ptr %95) #8
  br label %1378

1202:                                             ; preds = %1166
  br label %1203

1203:                                             ; preds = %1202
  br label %1204

1204:                                             ; preds = %1203
  br label %1205

1205:                                             ; preds = %1204
  call void @llvm.lifetime.start.p0(i64 48, ptr %96) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %96, ptr noundef @.str.29, i1 noundef zeroext true)
          to label %1206 unwind label %1231

1206:                                             ; preds = %1205
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %96)
          to label %1207 unwind label %1235

1207:                                             ; preds = %1206
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %96) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %96) #8
  %1208 = invoke noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %1209 unwind label %1176

1209:                                             ; preds = %1207
  %1210 = load ptr, ptr %1208, align 8, !tbaa !15
  %1211 = getelementptr i8, ptr %1210, i64 -56
  %1212 = load i64, ptr %1211, align 8
  %1213 = getelementptr inbounds i8, ptr %1208, i64 %1212
  %1214 = load ptr, ptr %1213, align 8, !tbaa !15
  %1215 = getelementptr inbounds ptr, ptr %1214, i64 3
  %1216 = load ptr, ptr %1215, align 8
  %1217 = invoke noundef nonnull align 8 dereferenceable(8) ptr %1216(ptr noundef nonnull align 8 dereferenceable(8) %1213)
          to label %1218 unwind label %1176

1218:                                             ; preds = %1209
  %1219 = load ptr, ptr %1217, align 8, !tbaa !15
  %1220 = getelementptr inbounds ptr, ptr %1219, i64 10
  %1221 = load ptr, ptr %1220, align 8
  %1222 = invoke noundef i64 %1221(ptr noundef nonnull align 8 dereferenceable(8) %1217)
          to label %1223 unwind label %1176

1223:                                             ; preds = %1218
  %1224 = load i64, ptr %91, align 8, !tbaa !9
  %1225 = getelementptr inbounds [3 x i64], ptr %5, i64 0, i64 %1224
  %1226 = load i64, ptr %1225, align 8, !tbaa !9
  %1227 = icmp eq i64 %1222, %1226
  br i1 %1227, label %1228, label %1249

1228:                                             ; preds = %1223
  call void @llvm.lifetime.start.p0(i64 48, ptr %97) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %97, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %1229 unwind label %1240

1229:                                             ; preds = %1228
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %97)
          to label %1230 unwind label %1244

1230:                                             ; preds = %1229
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %97) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %97) #8
  br label %1262

1231:                                             ; preds = %1205
  %1232 = landingpad { ptr, i32 }
          cleanup
  %1233 = extractvalue { ptr, i32 } %1232, 0
  store ptr %1233, ptr %11, align 8
  %1234 = extractvalue { ptr, i32 } %1232, 1
  store i32 %1234, ptr %12, align 4
  br label %1239

1235:                                             ; preds = %1206
  %1236 = landingpad { ptr, i32 }
          cleanup
  %1237 = extractvalue { ptr, i32 } %1236, 0
  store ptr %1237, ptr %11, align 8
  %1238 = extractvalue { ptr, i32 } %1236, 1
  store i32 %1238, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %96) #8
  br label %1239

1239:                                             ; preds = %1235, %1231
  call void @llvm.lifetime.end.p0(i64 48, ptr %96) #8
  br label %1378

1240:                                             ; preds = %1228
  %1241 = landingpad { ptr, i32 }
          cleanup
  %1242 = extractvalue { ptr, i32 } %1241, 0
  store ptr %1242, ptr %11, align 8
  %1243 = extractvalue { ptr, i32 } %1241, 1
  store i32 %1243, ptr %12, align 4
  br label %1248

1244:                                             ; preds = %1229
  %1245 = landingpad { ptr, i32 }
          cleanup
  %1246 = extractvalue { ptr, i32 } %1245, 0
  store ptr %1246, ptr %11, align 8
  %1247 = extractvalue { ptr, i32 } %1245, 1
  store i32 %1247, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %97) #8
  br label %1248

1248:                                             ; preds = %1244, %1240
  call void @llvm.lifetime.end.p0(i64 48, ptr %97) #8
  br label %1378

1249:                                             ; preds = %1223
  call void @llvm.lifetime.start.p0(i64 48, ptr %98) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %98, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %1250 unwind label %1253

1250:                                             ; preds = %1249
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %98)
          to label %1251 unwind label %1257

1251:                                             ; preds = %1250
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %98) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %98) #8
  %1252 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1252, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %1252, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %1176

1253:                                             ; preds = %1249
  %1254 = landingpad { ptr, i32 }
          cleanup
  %1255 = extractvalue { ptr, i32 } %1254, 0
  store ptr %1255, ptr %11, align 8
  %1256 = extractvalue { ptr, i32 } %1254, 1
  store i32 %1256, ptr %12, align 4
  br label %1261

1257:                                             ; preds = %1250
  %1258 = landingpad { ptr, i32 }
          cleanup
  %1259 = extractvalue { ptr, i32 } %1258, 0
  store ptr %1259, ptr %11, align 8
  %1260 = extractvalue { ptr, i32 } %1258, 1
  store i32 %1260, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %98) #8
  br label %1261

1261:                                             ; preds = %1257, %1253
  call void @llvm.lifetime.end.p0(i64 48, ptr %98) #8
  br label %1378

1262:                                             ; preds = %1230
  br label %1263

1263:                                             ; preds = %1262
  br label %1264

1264:                                             ; preds = %1263
  br label %1265

1265:                                             ; preds = %1264
  call void @llvm.lifetime.start.p0(i64 48, ptr %99) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %99, ptr noundef @.str.30, i1 noundef zeroext true)
          to label %1266 unwind label %1295

1266:                                             ; preds = %1265
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %99)
          to label %1267 unwind label %1299

1267:                                             ; preds = %1266
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %99) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %99) #8
  %1268 = invoke noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %1269 unwind label %1176

1269:                                             ; preds = %1267
  %1270 = load ptr, ptr %1268, align 8, !tbaa !15
  %1271 = getelementptr i8, ptr %1270, i64 -56
  %1272 = load i64, ptr %1271, align 8
  %1273 = getelementptr inbounds i8, ptr %1268, i64 %1272
  %1274 = load ptr, ptr %1273, align 8, !tbaa !15
  %1275 = getelementptr inbounds ptr, ptr %1274, i64 3
  %1276 = load ptr, ptr %1275, align 8
  %1277 = invoke noundef nonnull align 8 dereferenceable(8) ptr %1276(ptr noundef nonnull align 8 dereferenceable(8) %1273)
          to label %1278 unwind label %1176

1278:                                             ; preds = %1269
  %1279 = getelementptr inbounds [32 x i8], ptr %92, i64 0, i64 0
  %1280 = load i64, ptr %91, align 8, !tbaa !9
  %1281 = getelementptr inbounds [3 x i64], ptr %5, i64 0, i64 %1280
  %1282 = load i64, ptr %1281, align 8, !tbaa !9
  %1283 = load ptr, ptr %1277, align 8, !tbaa !15
  %1284 = getelementptr inbounds ptr, ptr %1283, i64 14
  %1285 = load ptr, ptr %1284, align 8
  %1286 = invoke noundef i64 %1285(ptr noundef nonnull align 8 dereferenceable(8) %1277, ptr noundef %1279, i64 noundef %1282)
          to label %1287 unwind label %1176

1287:                                             ; preds = %1278
  %1288 = load i64, ptr %91, align 8, !tbaa !9
  %1289 = getelementptr inbounds [3 x i64], ptr %5, i64 0, i64 %1288
  %1290 = load i64, ptr %1289, align 8, !tbaa !9
  %1291 = icmp eq i64 %1286, %1290
  br i1 %1291, label %1292, label %1313

1292:                                             ; preds = %1287
  call void @llvm.lifetime.start.p0(i64 48, ptr %100) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %100, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %1293 unwind label %1304

1293:                                             ; preds = %1292
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %100)
          to label %1294 unwind label %1308

1294:                                             ; preds = %1293
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %100) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %100) #8
  br label %1326

1295:                                             ; preds = %1265
  %1296 = landingpad { ptr, i32 }
          cleanup
  %1297 = extractvalue { ptr, i32 } %1296, 0
  store ptr %1297, ptr %11, align 8
  %1298 = extractvalue { ptr, i32 } %1296, 1
  store i32 %1298, ptr %12, align 4
  br label %1303

1299:                                             ; preds = %1266
  %1300 = landingpad { ptr, i32 }
          cleanup
  %1301 = extractvalue { ptr, i32 } %1300, 0
  store ptr %1301, ptr %11, align 8
  %1302 = extractvalue { ptr, i32 } %1300, 1
  store i32 %1302, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %99) #8
  br label %1303

1303:                                             ; preds = %1299, %1295
  call void @llvm.lifetime.end.p0(i64 48, ptr %99) #8
  br label %1378

1304:                                             ; preds = %1292
  %1305 = landingpad { ptr, i32 }
          cleanup
  %1306 = extractvalue { ptr, i32 } %1305, 0
  store ptr %1306, ptr %11, align 8
  %1307 = extractvalue { ptr, i32 } %1305, 1
  store i32 %1307, ptr %12, align 4
  br label %1312

1308:                                             ; preds = %1293
  %1309 = landingpad { ptr, i32 }
          cleanup
  %1310 = extractvalue { ptr, i32 } %1309, 0
  store ptr %1310, ptr %11, align 8
  %1311 = extractvalue { ptr, i32 } %1309, 1
  store i32 %1311, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %100) #8
  br label %1312

1312:                                             ; preds = %1308, %1304
  call void @llvm.lifetime.end.p0(i64 48, ptr %100) #8
  br label %1378

1313:                                             ; preds = %1287
  call void @llvm.lifetime.start.p0(i64 48, ptr %101) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %101, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %1314 unwind label %1317

1314:                                             ; preds = %1313
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %101)
          to label %1315 unwind label %1321

1315:                                             ; preds = %1314
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %101) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %101) #8
  %1316 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1316, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %1316, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %1176

1317:                                             ; preds = %1313
  %1318 = landingpad { ptr, i32 }
          cleanup
  %1319 = extractvalue { ptr, i32 } %1318, 0
  store ptr %1319, ptr %11, align 8
  %1320 = extractvalue { ptr, i32 } %1318, 1
  store i32 %1320, ptr %12, align 4
  br label %1325

1321:                                             ; preds = %1314
  %1322 = landingpad { ptr, i32 }
          cleanup
  %1323 = extractvalue { ptr, i32 } %1322, 0
  store ptr %1323, ptr %11, align 8
  %1324 = extractvalue { ptr, i32 } %1322, 1
  store i32 %1324, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %101) #8
  br label %1325

1325:                                             ; preds = %1321, %1317
  call void @llvm.lifetime.end.p0(i64 48, ptr %101) #8
  br label %1378

1326:                                             ; preds = %1294
  br label %1327

1327:                                             ; preds = %1326
  br label %1328

1328:                                             ; preds = %1327
  br label %1329

1329:                                             ; preds = %1328
  call void @llvm.lifetime.start.p0(i64 48, ptr %102) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %102, ptr noundef @.str.31, i1 noundef zeroext true)
          to label %1330 unwind label %1341

1330:                                             ; preds = %1329
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %102)
          to label %1331 unwind label %1345

1331:                                             ; preds = %1330
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %102) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %102) #8
  %1332 = getelementptr inbounds [32 x i8], ptr %92, i64 0, i64 0
  %1333 = load i64, ptr %91, align 8, !tbaa !9
  %1334 = getelementptr inbounds [3 x ptr], ptr %4, i64 0, i64 %1333
  %1335 = load ptr, ptr %1334, align 8, !tbaa !5
  %1336 = call i32 @strcmp(ptr noundef %1332, ptr noundef %1335) #9
  %1337 = icmp eq i32 %1336, 0
  br i1 %1337, label %1338, label %1359

1338:                                             ; preds = %1331
  call void @llvm.lifetime.start.p0(i64 48, ptr %103) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %103, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %1339 unwind label %1350

1339:                                             ; preds = %1338
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %103)
          to label %1340 unwind label %1354

1340:                                             ; preds = %1339
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %103) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %103) #8
  br label %1372

1341:                                             ; preds = %1329
  %1342 = landingpad { ptr, i32 }
          cleanup
  %1343 = extractvalue { ptr, i32 } %1342, 0
  store ptr %1343, ptr %11, align 8
  %1344 = extractvalue { ptr, i32 } %1342, 1
  store i32 %1344, ptr %12, align 4
  br label %1349

1345:                                             ; preds = %1330
  %1346 = landingpad { ptr, i32 }
          cleanup
  %1347 = extractvalue { ptr, i32 } %1346, 0
  store ptr %1347, ptr %11, align 8
  %1348 = extractvalue { ptr, i32 } %1346, 1
  store i32 %1348, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %102) #8
  br label %1349

1349:                                             ; preds = %1345, %1341
  call void @llvm.lifetime.end.p0(i64 48, ptr %102) #8
  br label %1378

1350:                                             ; preds = %1338
  %1351 = landingpad { ptr, i32 }
          cleanup
  %1352 = extractvalue { ptr, i32 } %1351, 0
  store ptr %1352, ptr %11, align 8
  %1353 = extractvalue { ptr, i32 } %1351, 1
  store i32 %1353, ptr %12, align 4
  br label %1358

1354:                                             ; preds = %1339
  %1355 = landingpad { ptr, i32 }
          cleanup
  %1356 = extractvalue { ptr, i32 } %1355, 0
  store ptr %1356, ptr %11, align 8
  %1357 = extractvalue { ptr, i32 } %1355, 1
  store i32 %1357, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %103) #8
  br label %1358

1358:                                             ; preds = %1354, %1350
  call void @llvm.lifetime.end.p0(i64 48, ptr %103) #8
  br label %1378

1359:                                             ; preds = %1331
  call void @llvm.lifetime.start.p0(i64 48, ptr %104) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %104, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %1360 unwind label %1363

1360:                                             ; preds = %1359
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %104)
          to label %1361 unwind label %1367

1361:                                             ; preds = %1360
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %104) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %104) #8
  %1362 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1362, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %1362, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %1176

1363:                                             ; preds = %1359
  %1364 = landingpad { ptr, i32 }
          cleanup
  %1365 = extractvalue { ptr, i32 } %1364, 0
  store ptr %1365, ptr %11, align 8
  %1366 = extractvalue { ptr, i32 } %1364, 1
  store i32 %1366, ptr %12, align 4
  br label %1371

1367:                                             ; preds = %1360
  %1368 = landingpad { ptr, i32 }
          cleanup
  %1369 = extractvalue { ptr, i32 } %1368, 0
  store ptr %1369, ptr %11, align 8
  %1370 = extractvalue { ptr, i32 } %1368, 1
  store i32 %1370, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %104) #8
  br label %1371

1371:                                             ; preds = %1367, %1363
  call void @llvm.lifetime.end.p0(i64 48, ptr %104) #8
  br label %1378

1372:                                             ; preds = %1340
  br label %1373

1373:                                             ; preds = %1372
  br label %1374

1374:                                             ; preds = %1373
  call void @llvm.lifetime.end.p0(i64 32, ptr %92) #8
  br label %1375

1375:                                             ; preds = %1374
  %1376 = load i64, ptr %91, align 8, !tbaa !9
  %1377 = add nsw i64 %1376, 1
  store i64 %1377, ptr %91, align 8, !tbaa !9
  br label %1146, !llvm.loop !20

1378:                                             ; preds = %1371, %1358, %1349, %1325, %1312, %1303, %1261, %1248, %1239, %1201, %1188, %1176, %1175
  call void @llvm.lifetime.end.p0(i64 32, ptr %92) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #8
  br label %1429

1379:                                             ; preds = %1150
  br label %1380

1380:                                             ; preds = %1379
  call void @llvm.lifetime.start.p0(i64 48, ptr %105) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %105, ptr noundef @.str.8, i1 noundef zeroext true)
          to label %1381 unwind label %1395

1381:                                             ; preds = %1380
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %105)
          to label %1382 unwind label %1399

1382:                                             ; preds = %1381
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %105) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %105) #8
  %1383 = invoke noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %1384 unwind label %1002

1384:                                             ; preds = %1382
  %1385 = load ptr, ptr %1383, align 8, !tbaa !15
  %1386 = getelementptr inbounds ptr, ptr %1385, i64 4
  %1387 = load ptr, ptr %1386, align 8
  %1388 = invoke noundef zeroext i1 %1387(ptr noundef nonnull align 8 dereferenceable(8) %1383)
          to label %1389 unwind label %1002

1389:                                             ; preds = %1384
  %1390 = zext i1 %1388 to i32
  %1391 = icmp eq i32 %1390, 0
  br i1 %1391, label %1392, label %1413

1392:                                             ; preds = %1389
  call void @llvm.lifetime.start.p0(i64 48, ptr %106) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %106, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %1393 unwind label %1404

1393:                                             ; preds = %1392
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %106)
          to label %1394 unwind label %1408

1394:                                             ; preds = %1393
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %106) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %106) #8
  br label %1426

1395:                                             ; preds = %1380
  %1396 = landingpad { ptr, i32 }
          cleanup
  %1397 = extractvalue { ptr, i32 } %1396, 0
  store ptr %1397, ptr %11, align 8
  %1398 = extractvalue { ptr, i32 } %1396, 1
  store i32 %1398, ptr %12, align 4
  br label %1403

1399:                                             ; preds = %1381
  %1400 = landingpad { ptr, i32 }
          cleanup
  %1401 = extractvalue { ptr, i32 } %1400, 0
  store ptr %1401, ptr %11, align 8
  %1402 = extractvalue { ptr, i32 } %1400, 1
  store i32 %1402, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %105) #8
  br label %1403

1403:                                             ; preds = %1399, %1395
  call void @llvm.lifetime.end.p0(i64 48, ptr %105) #8
  br label %1429

1404:                                             ; preds = %1392
  %1405 = landingpad { ptr, i32 }
          cleanup
  %1406 = extractvalue { ptr, i32 } %1405, 0
  store ptr %1406, ptr %11, align 8
  %1407 = extractvalue { ptr, i32 } %1405, 1
  store i32 %1407, ptr %12, align 4
  br label %1412

1408:                                             ; preds = %1393
  %1409 = landingpad { ptr, i32 }
          cleanup
  %1410 = extractvalue { ptr, i32 } %1409, 0
  store ptr %1410, ptr %11, align 8
  %1411 = extractvalue { ptr, i32 } %1409, 1
  store i32 %1411, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %106) #8
  br label %1412

1412:                                             ; preds = %1408, %1404
  call void @llvm.lifetime.end.p0(i64 48, ptr %106) #8
  br label %1429

1413:                                             ; preds = %1389
  call void @llvm.lifetime.start.p0(i64 48, ptr %107) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %107, ptr noundef @.str.3, i1 noundef zeroext true)
          to label %1414 unwind label %1417

1414:                                             ; preds = %1413
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %107)
          to label %1415 unwind label %1421

1415:                                             ; preds = %1414
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %107) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %107) #8
  %1416 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1416, align 16, !tbaa !12
  invoke void @__cxa_throw(ptr %1416, ptr @_ZTIi, ptr null) #10
          to label %1439 unwind label %1002

1417:                                             ; preds = %1413
  %1418 = landingpad { ptr, i32 }
          cleanup
  %1419 = extractvalue { ptr, i32 } %1418, 0
  store ptr %1419, ptr %11, align 8
  %1420 = extractvalue { ptr, i32 } %1418, 1
  store i32 %1420, ptr %12, align 4
  br label %1425

1421:                                             ; preds = %1414
  %1422 = landingpad { ptr, i32 }
          cleanup
  %1423 = extractvalue { ptr, i32 } %1422, 0
  store ptr %1423, ptr %11, align 8
  %1424 = extractvalue { ptr, i32 } %1422, 1
  store i32 %1424, ptr %12, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %107) #8
  br label %1425

1425:                                             ; preds = %1421, %1417
  call void @llvm.lifetime.end.p0(i64 48, ptr %107) #8
  br label %1429

1426:                                             ; preds = %1394
  br label %1427

1427:                                             ; preds = %1426
  br label %1428

1428:                                             ; preds = %1427
  call void @_ZN2vl3PtrINS_8database10ILogReaderEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #8
  call void @_ZN2vl8database10LogManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(304) %14) #8
  call void @llvm.lifetime.end.p0(i64 304, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #8
  call void @_ZN2vl8database13BufferManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(168) %7) #8
  call void @llvm.lifetime.end.p0(i64 168, ptr %7) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %5) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %4) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %2) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %1) #8
  ret void

1429:                                             ; preds = %1425, %1412, %1403, %1378, %1142, %1129, %1120, %1111, %1087, %1074, %1062, %1061, %1027, %1014, %1002, %1001
  call void @_ZN2vl3PtrINS_8database10ILogReaderEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #8
  br label %1430

1430:                                             ; preds = %1429, %989
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #8
  br label %1431

1431:                                             ; preds = %1430, %974, %961, %952, %928, %915, %906, %897, %431, %244, %231, %222, %198, %185, %176, %164
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #8
  call void @_ZN2vl8database10LogManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(304) %14) #8
  br label %1432

1432:                                             ; preds = %1431, %160
  call void @llvm.lifetime.end.p0(i64 304, ptr %14) #8
  br label %1433

1433:                                             ; preds = %1432, %159
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #8
  call void @_ZN2vl8database13BufferManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(168) %7) #8
  call void @llvm.lifetime.end.p0(i64 168, ptr %7) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %5) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %4) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %2) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %1) #8
  br label %1434

1434:                                             ; preds = %1433
  %1435 = load ptr, ptr %11, align 8
  %1436 = load i32, ptr %12, align 4
  %1437 = insertvalue { ptr, i32 } poison, ptr %1435, 0
  %1438 = insertvalue { ptr, i32 } %1437, i32 %1436, 1
  resume { ptr, i32 } %1438

1439:                                             ; preds = %1415, %1361, %1315, %1251, %1191, %1132, %1077, %1017, %964, %918, %870, %816, %770, %706, %646, %587, %532, %472, %413, %364, %293, %234, %188
  unreachable
}

; Function Attrs: nounwind willreturn memory(read)
declare i64 @strlen(ptr noundef) #6

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #7

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nounwind willreturn memory(read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #8 = { nounwind }
attributes #9 = { nounwind willreturn memory(read) }
attributes #10 = { noreturn }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"long", !7, i64 0}
!11 = !{i64 0, i64 4, !12}
!12 = !{!13, !13, i64 0}
!13 = !{!"int", !7, i64 0}
!14 = !{i64 0, i64 8, !9}
!15 = !{!16, !16, i64 0}
!16 = !{!"vtable pointer", !8, i64 0}
!17 = distinct !{!17, !18}
!18 = !{!"llvm.loop.mustprogress"}
!19 = distinct !{!19, !18}
!20 = distinct !{!20, !18}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.vl::ObjectString" = type { %"class.vl::Object", ptr, ptr, i64, i64, i64 }
%"class.vl::Object" = type { ptr }
%"class.vl::Ptr" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.36" = type { ptr, ptr, ptr, ptr }
%"class.vl::database::BufferManager" = type { i64, i64, i64, i64, %"class.vl::SpinLock", i64, %"class.vl::collections::Dictionary" }
%"class.vl::SpinLock" = type { %"class.vl::Object", i64 }
%"class.vl::collections::Dictionary" = type { %"class.vl::Object", %"class.vl::collections::SortedList", %"class.vl::collections::List", %"class.vl::collections::IEnumerable.6" }
%"class.vl::collections::SortedList" = type { %"class.vl::collections::ListBase.base", %"class.vl::collections::IEnumerable" }
%"class.vl::collections::ListBase.base" = type <{ %"class.vl::collections::ArrayBase.base", i64, i8 }>
%"class.vl::collections::ArrayBase.base" = type { %"class.vl::collections::ListStore", ptr, i64 }
%"class.vl::collections::ListStore" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable" = type { %"class.vl::Interface" }
%"class.vl::Interface" = type { ptr }
%"class.vl::collections::List" = type { %"class.vl::collections::ListBase.base.5", %"class.vl::collections::IEnumerable.3" }
%"class.vl::collections::ListBase.base.5" = type <{ %"class.vl::collections::ArrayBase.base.4", i64, i8 }>
%"class.vl::collections::ArrayBase.base.4" = type { %"class.vl::collections::ListStore.2", ptr, i64 }
%"class.vl::collections::ListStore.2" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.3" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.6" = type { %"class.vl::Interface" }
%"class.vl::database::LogManager" = type { %"class.vl::Object", ptr, %"struct.vl::database::IdObject", i8, %"class.vl::database::log_internal::LogAddressItem", %"class.vl::database::log_internal::LogBlocks", %"class.vl::database::log_internal::LogTransactions", %"class.vl::SpinLock" }
%"struct.vl::database::IdObject" = type { i32 }
%"class.vl::database::log_internal::LogAddressItem" = type { %"class.vl::Object", ptr, %"struct.vl::database::IdObject", i64, i64, %"class.vl::collections::List.7" }
%"class.vl::collections::List.7" = type { %"class.vl::collections::ListBase.base.13", %"class.vl::collections::IEnumerable.11" }
%"class.vl::collections::ListBase.base.13" = type <{ %"class.vl::collections::ArrayBase.base.12", i64, i8 }>
%"class.vl::collections::ArrayBase.base.12" = type { %"class.vl::collections::ListStore.10", ptr, i64 }
%"class.vl::collections::ListStore.10" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.11" = type { %"class.vl::Interface" }
%"class.vl::database::log_internal::LogBlocks" = type { %"class.vl::Object", ptr, %"struct.vl::database::IdObject", i64, %"struct.vl::database::IdObject.15" }
%"struct.vl::database::IdObject.15" = type { i64 }
%"class.vl::database::log_internal::LogTransactions" = type { %"class.vl::Object", i64, %"class.vl::collections::Dictionary.16", ptr }
%"class.vl::collections::Dictionary.16" = type { %"class.vl::Object", %"class.vl::collections::SortedList.17", %"class.vl::collections::List.25", %"class.vl::collections::IEnumerable.33" }
%"class.vl::collections::SortedList.17" = type { %"class.vl::collections::ListBase.base.23", %"class.vl::collections::IEnumerable.21" }
%"class.vl::collections::ListBase.base.23" = type <{ %"class.vl::collections::ArrayBase.base.22", i64, i8 }>
%"class.vl::collections::ArrayBase.base.22" = type { %"class.vl::collections::ListStore.20", ptr, i64 }
%"class.vl::collections::ListStore.20" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.21" = type { %"class.vl::Interface" }
%"class.vl::collections::List.25" = type { %"class.vl::collections::ListBase.base.31", %"class.vl::collections::IEnumerable.29" }
%"class.vl::collections::ListBase.base.31" = type <{ %"class.vl::collections::ArrayBase.base.30", i64, i8 }>
%"class.vl::collections::ArrayBase.base.30" = type { %"class.vl::collections::ListStore.28", ptr, i64 }
%"class.vl::collections::ListStore.28" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.29" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.33" = type { %"class.vl::Interface" }
%"struct.vl::database::IdObject.35" = type { i64 }

@.str = external hidden unnamed_addr constant [7 x i32], align 4
@.str.1 = external hidden unnamed_addr constant [20 x i32], align 4
@.str.2 = external hidden unnamed_addr constant [11 x i32], align 4
@.str.3 = external hidden unnamed_addr constant [11 x i32], align 4
@_ZTIi = external constant ptr
@.str.4 = external hidden unnamed_addr constant [32 x i32], align 4
@.str.5 = external hidden unnamed_addr constant [11 x i32], align 4
@.str.6 = external hidden unnamed_addr constant [38 x i32], align 4
@.str.7 = external hidden unnamed_addr constant [36 x i32], align 4
@.str.8 = external hidden unnamed_addr constant [32 x i32], align 4
@.str.9 = external hidden unnamed_addr constant [40 x i32], align 4
@.str.10 = external hidden unnamed_addr constant [33 x i32], align 4
@.str.11 = external hidden unnamed_addr constant [28 x i32], align 4
@.str.13 = external hidden unnamed_addr constant [11 x i32], align 4
@.str.16 = external hidden unnamed_addr constant [28 x i32], align 4
@.str.18 = external hidden unnamed_addr constant [29 x i32], align 4
@.str.19 = external hidden unnamed_addr constant [31 x i32], align 4
@.str.25 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [49 x i32], align 4
@.str.30 = external hidden unnamed_addr constant [71 x i32], align 4
@.str.31 = external hidden unnamed_addr constant [34 x i32], align 4

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

declare void @_ZN2vl8database13BufferManagerC1Emm(ptr noundef nonnull align 8 dereferenceable(168), i64 noundef, i64 noundef) unnamed_addr #1

declare i32 @_ZN2vl8database13BufferManager14LoadFileSourceERKNS_12ObjectStringIwEEb(ptr noundef nonnull align 8 dereferenceable(168), ptr noundef nonnull align 8 dereferenceable(48), i1 noundef zeroext) local_unnamed_addr #1

declare void @_Z13GetTempFolderv(ptr dead_on_unwind writable sret(%"class.vl::ObjectString") align 8) local_unnamed_addr #1

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK2vl12ObjectStringIwEplERKS1_(ptr dead_on_unwind noalias writable sret(%"class.vl::ObjectString") align 8, ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef, i1 noundef zeroext) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

declare void @_ZN2vl8database10LogManagerC1EPNS0_13BufferManagerENS0_8IdObjectIiLl0EEEbb(ptr noundef nonnull align 8 dereferenceable(304), ptr noundef, i32, i1 noundef zeroext, i1 noundef zeroext) unnamed_addr #1

declare i64 @_ZN2vl8database10LogManager15OpenTransactionEv(ptr noundef nonnull align 8 dereferenceable(304)) local_unnamed_addr #1

declare void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EE7IsValidEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

declare void @__cxa_throw(ptr, ptr, ptr) local_unnamed_addr

declare noundef zeroext i1 @_ZN2vl8database10LogManager8IsActiveENS0_8IdObjectImLl3EEE(ptr noundef nonnull align 8 dereferenceable(304), i64) local_unnamed_addr #1

declare void @_ZN2vl8database10LogManager11EnumLogItemENS0_8IdObjectImLl3EEE(ptr dead_on_unwind writable sret(%"class.vl::Ptr") align 8, ptr noundef nonnull align 8 dereferenceable(304), i64) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK2vl3PtrINS_8database10ILogReaderEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8), i64) local_unnamed_addr #3 align 2

declare void @_ZN2vl8database10LogManager19EnumInactiveLogItemENS0_8IdObjectImLl3EEE(ptr dead_on_unwind writable sret(%"class.vl::Ptr") align 8, ptr noundef nonnull align 8 dereferenceable(304), i64) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN2vl3PtrINS_8database10ILogReaderEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #3 align 2

declare noundef zeroext i1 @_ZN2vl8database10LogManager16CloseTransactionENS0_8IdObjectImLl3EEE(ptr noundef nonnull align 8 dereferenceable(304), i64) local_unnamed_addr #1

; Function Attrs: nounwind
declare void @_ZN2vl8database10LogManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(304)) unnamed_addr #4

; Function Attrs: nounwind
declare void @_ZN2vl8database13BufferManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(168)) unnamed_addr #4

declare void @_ZN2vl8database10LogManager11OpenLogItemENS0_8IdObjectImLl3EEE(ptr dead_on_unwind writable sret(%"class.vl::Ptr.36") align 8, ptr noundef nonnull align 8 dereferenceable(304), i64) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK2vl3PtrINS_8database10ILogWriterEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK2vl3PtrINS_8database10ILogWriterEEptEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN2vl3PtrINS_8database10ILogWriterEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i32 @strcmp(ptr nocapture noundef, ptr nocapture noundef) local_unnamed_addr #5

; Function Attrs: mustprogress uwtable
define dso_local void @_Z53TestFunction_Utility_Log_TransactionWithMultipleItemsv() local_unnamed_addr #2 personality ptr @__gxx_personality_v0 {
  %1 = alloca [3 x ptr], align 16
  %2 = alloca [3 x i64], align 16
  %3 = alloca %"class.vl::database::BufferManager", align 8
  %4 = alloca %"class.vl::ObjectString", align 8
  %5 = alloca %"class.vl::ObjectString", align 8
  %6 = alloca %"class.vl::ObjectString", align 8
  %7 = alloca %"class.vl::database::LogManager", align 8
  %8 = alloca %"struct.vl::database::IdObject.35", align 8
  %9 = alloca %"class.vl::ObjectString", align 8
  %10 = alloca %"class.vl::ObjectString", align 8
  %11 = alloca %"class.vl::ObjectString", align 8
  %12 = alloca %"class.vl::ObjectString", align 8
  %13 = alloca %"class.vl::ObjectString", align 8
  %14 = alloca %"class.vl::ObjectString", align 8
  %15 = alloca %"class.vl::Ptr.36", align 8
  %16 = alloca %"class.vl::ObjectString", align 8
  %17 = alloca %"class.vl::ObjectString", align 8
  %18 = alloca %"class.vl::ObjectString", align 8
  %19 = alloca %"class.vl::ObjectString", align 8
  %20 = alloca %"class.vl::ObjectString", align 8
  %21 = alloca %"class.vl::ObjectString", align 8
  %22 = alloca %"class.vl::ObjectString", align 8
  %23 = alloca %"class.vl::ObjectString", align 8
  %24 = alloca %"class.vl::ObjectString", align 8
  %25 = alloca %"class.vl::Ptr", align 8
  %26 = alloca %"class.vl::ObjectString", align 8
  %27 = alloca %"class.vl::ObjectString", align 8
  %28 = alloca %"class.vl::ObjectString", align 8
  %29 = alloca %"class.vl::ObjectString", align 8
  %30 = alloca %"struct.vl::database::IdObject.35", align 8
  %31 = alloca %"class.vl::ObjectString", align 8
  %32 = alloca %"class.vl::ObjectString", align 8
  %33 = alloca %"class.vl::ObjectString", align 8
  %34 = alloca %"class.vl::Ptr", align 8
  %35 = alloca %"class.vl::ObjectString", align 8
  %36 = alloca %"class.vl::ObjectString", align 8
  %37 = alloca [32 x i8], align 16
  %38 = alloca %"class.vl::ObjectString", align 8
  %39 = alloca %"class.vl::ObjectString", align 8
  %40 = alloca %"class.vl::ObjectString", align 8
  %41 = alloca %"class.vl::ObjectString", align 8
  %42 = alloca %"class.vl::ObjectString", align 8
  %43 = alloca %"class.vl::ObjectString", align 8
  %44 = alloca %"class.vl::ObjectString", align 8
  %45 = alloca %"class.vl::ObjectString", align 8
  %46 = alloca %"class.vl::ObjectString", align 8
  %47 = alloca %"class.vl::ObjectString", align 8
  %48 = alloca %"class.vl::ObjectString", align 8
  %49 = alloca %"class.vl::ObjectString", align 8
  %50 = alloca %"class.vl::ObjectString", align 8
  %51 = alloca %"class.vl::ObjectString", align 8
  %52 = alloca %"class.vl::ObjectString", align 8
  %53 = alloca %"class.vl::ObjectString", align 8
  %54 = alloca %"class.vl::ObjectString", align 8
  %55 = alloca %"class.vl::ObjectString", align 8
  %56 = alloca %"class.vl::ObjectString", align 8
  %57 = alloca %"class.vl::ObjectString", align 8
  %58 = alloca %"class.vl::ObjectString", align 8
  %59 = alloca %"class.vl::Ptr", align 8
  %60 = alloca %"class.vl::ObjectString", align 8
  %61 = alloca %"class.vl::ObjectString", align 8
  %62 = alloca %"class.vl::ObjectString", align 8
  %63 = alloca %"class.vl::ObjectString", align 8
  %64 = alloca %"struct.vl::database::IdObject.35", align 8
  %65 = alloca %"class.vl::ObjectString", align 8
  %66 = alloca %"class.vl::ObjectString", align 8
  %67 = alloca %"class.vl::ObjectString", align 8
  %68 = alloca %"class.vl::Ptr", align 8
  %69 = alloca %"class.vl::ObjectString", align 8
  %70 = alloca %"class.vl::ObjectString", align 8
  %71 = alloca [32 x i8], align 16
  %72 = alloca %"class.vl::ObjectString", align 8
  %73 = alloca %"class.vl::ObjectString", align 8
  %74 = alloca %"class.vl::ObjectString", align 8
  %75 = alloca %"class.vl::ObjectString", align 8
  %76 = alloca %"class.vl::ObjectString", align 8
  %77 = alloca %"class.vl::ObjectString", align 8
  %78 = alloca %"class.vl::ObjectString", align 8
  %79 = alloca %"class.vl::ObjectString", align 8
  %80 = alloca %"class.vl::ObjectString", align 8
  %81 = alloca %"class.vl::ObjectString", align 8
  %82 = alloca %"class.vl::ObjectString", align 8
  %83 = alloca %"class.vl::ObjectString", align 8
  %84 = alloca %"class.vl::ObjectString", align 8
  %85 = alloca %"class.vl::ObjectString", align 8
  %86 = alloca %"class.vl::ObjectString", align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %1) #7
  store ptr @.str.25, ptr %1, align 16, !tbaa !5
  %87 = getelementptr inbounds i8, ptr %1, i64 8
  store ptr @.str.27, ptr %87, align 8, !tbaa !5
  %88 = getelementptr inbounds i8, ptr %1, i64 16
  store ptr @.str.28, ptr %88, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %2) #7
  %89 = tail call i64 @strlen(ptr noundef nonnull dereferenceable(1) @.str.25) #8
  store i64 %89, ptr %2, align 16, !tbaa !9
  %90 = getelementptr inbounds i8, ptr %2, i64 8
  %91 = tail call i64 @strlen(ptr noundef nonnull dereferenceable(1) @.str.27) #8
  store i64 %91, ptr %90, align 8, !tbaa !9
  %92 = getelementptr inbounds i8, ptr %2, i64 16
  %93 = tail call i64 @strlen(ptr noundef nonnull dereferenceable(1) @.str.28) #8
  store i64 %93, ptr %92, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %3) #7
  call void @_ZN2vl8database13BufferManagerC1Emm(ptr noundef nonnull align 8 dereferenceable(168) %3, i64 noundef 4096, i64 noundef 16)
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %4) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %5) #7
  invoke void @_Z13GetTempFolderv(ptr dead_on_unwind nonnull writable sret(%"class.vl::ObjectString") align 8 %5)
          to label %94 unwind label %108

94:                                               ; preds = %0
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %6) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef nonnull @.str, i1 noundef zeroext true)
          to label %95 unwind label %110

95:                                               ; preds = %94
  invoke void @_ZNK2vl12ObjectStringIwEplERKS1_(ptr dead_on_unwind nonnull writable sret(%"class.vl::ObjectString") align 8 %4, ptr noundef nonnull align 8 dereferenceable(48) %5, ptr noundef nonnull align 8 dereferenceable(48) %6)
          to label %96 unwind label %112

96:                                               ; preds = %95
  %97 = invoke i32 @_ZN2vl8database13BufferManager14LoadFileSourceERKNS_12ObjectStringIwEEb(ptr noundef nonnull align 8 dereferenceable(168) %3, ptr noundef nonnull align 8 dereferenceable(48) %4, i1 noundef zeroext true)
          to label %98 unwind label %114

98:                                               ; preds = %96
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %4) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %6) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %6) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %5) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %4) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr nonnull %7) #7
  invoke void @_ZN2vl8database10LogManagerC1EPNS0_13BufferManagerENS0_8IdObjectIiLl0EEEbb(ptr noundef nonnull align 8 dereferenceable(304) %7, ptr noundef nonnull %3, i32 %97, i1 noundef zeroext true, i1 noundef zeroext true)
          to label %99 unwind label %119

99:                                               ; preds = %98
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #7
  %100 = invoke i64 @_ZN2vl8database10LogManager15OpenTransactionEv(ptr noundef nonnull align 8 dereferenceable(304) %7)
          to label %101 unwind label %121

101:                                              ; preds = %99
  store i64 %100, ptr %8, align 8
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %9) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %9, ptr noundef nonnull @.str.1, i1 noundef zeroext true)
          to label %102 unwind label %123

102:                                              ; preds = %101
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %9)
          to label %103 unwind label %125

103:                                              ; preds = %102
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %9) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %9) #7
  %104 = call noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EE7IsValidEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
  br i1 %104, label %105, label %133

105:                                              ; preds = %103
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %10) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %10, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %106 unwind label %128

106:                                              ; preds = %105
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %10)
          to label %107 unwind label %130

107:                                              ; preds = %106
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %10) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %12) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %12, ptr noundef nonnull @.str.4, i1 noundef zeroext true)
          to label %141 unwind label %148

108:                                              ; preds = %0
  %109 = landingpad { ptr, i32 }
          cleanup
  br label %118

110:                                              ; preds = %94
  %111 = landingpad { ptr, i32 }
          cleanup
  br label %117

112:                                              ; preds = %95
  %113 = landingpad { ptr, i32 }
          cleanup
  br label %116

114:                                              ; preds = %96
  %115 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %4) #7
  br label %116

116:                                              ; preds = %114, %112
  %.pn = phi { ptr, i32 } [ %115, %114 ], [ %113, %112 ]
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %6) #7
  br label %117

117:                                              ; preds = %116, %110
  %.pn.pn = phi { ptr, i32 } [ %.pn, %116 ], [ %111, %110 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %6) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %5) #7
  br label %118

118:                                              ; preds = %117, %108
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %117 ], [ %109, %108 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %4) #7
  br label %940

119:                                              ; preds = %98
  %120 = landingpad { ptr, i32 }
          cleanup
  br label %939

121:                                              ; preds = %.invoke, %648, %621, %142, %99
  %122 = landingpad { ptr, i32 }
          cleanup
  br label %938

123:                                              ; preds = %101
  %124 = landingpad { ptr, i32 }
          cleanup
  br label %127

125:                                              ; preds = %102
  %126 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %9) #7
  br label %127

127:                                              ; preds = %125, %123
  %.pn126 = phi { ptr, i32 } [ %126, %125 ], [ %124, %123 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %9) #7
  br label %938

128:                                              ; preds = %105
  %129 = landingpad { ptr, i32 }
          cleanup
  br label %132

130:                                              ; preds = %106
  %131 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #7
  br label %132

132:                                              ; preds = %130, %128
  %.pn130 = phi { ptr, i32 } [ %131, %130 ], [ %129, %128 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %10) #7
  br label %938

133:                                              ; preds = %103
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %11) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %11, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %134 unwind label %136

134:                                              ; preds = %133
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %11)
          to label %135 unwind label %138

135:                                              ; preds = %134
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %11) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %11) #7
  br label %.invoke

136:                                              ; preds = %133
  %137 = landingpad { ptr, i32 }
          cleanup
  br label %140

138:                                              ; preds = %134
  %139 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %11) #7
  br label %140

140:                                              ; preds = %138, %136
  %.pn128 = phi { ptr, i32 } [ %139, %138 ], [ %137, %136 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %11) #7
  br label %938

141:                                              ; preds = %107
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %12)
          to label %142 unwind label %150

142:                                              ; preds = %141
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %12) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %12) #7
  %.sroa.024.0.copyload = load i64, ptr %8, align 8, !tbaa !9
  %143 = invoke noundef zeroext i1 @_ZN2vl8database10LogManager8IsActiveENS0_8IdObjectImLl3EEE(ptr noundef nonnull align 8 dereferenceable(304) %7, i64 %.sroa.024.0.copyload)
          to label %144 unwind label %121

144:                                              ; preds = %142
  br i1 %143, label %145, label %158

145:                                              ; preds = %144
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %13) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %146 unwind label %153

146:                                              ; preds = %145
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %13)
          to label %147 unwind label %155

147:                                              ; preds = %146
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %13) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %13) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #7
  %.sroa.019.0.copyload = load i64, ptr %8, align 8, !tbaa !9
  invoke void @_ZN2vl8database10LogManager11OpenLogItemENS0_8IdObjectImLl3EEE(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.36") align 8 %15, ptr noundef nonnull align 8 dereferenceable(304) %7, i64 %.sroa.019.0.copyload)
          to label %166 unwind label %182

148:                                              ; preds = %107
  %149 = landingpad { ptr, i32 }
          cleanup
  br label %152

150:                                              ; preds = %141
  %151 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %12) #7
  br label %152

152:                                              ; preds = %150, %148
  %.pn132 = phi { ptr, i32 } [ %151, %150 ], [ %149, %148 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %12) #7
  br label %938

153:                                              ; preds = %145
  %154 = landingpad { ptr, i32 }
          cleanup
  br label %157

155:                                              ; preds = %146
  %156 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %13) #7
  br label %157

157:                                              ; preds = %155, %153
  %.pn136 = phi { ptr, i32 } [ %156, %155 ], [ %154, %153 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %13) #7
  br label %938

158:                                              ; preds = %144
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %14) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %14, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %159 unwind label %161

159:                                              ; preds = %158
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %14)
          to label %160 unwind label %163

160:                                              ; preds = %159
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %14) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %14) #7
  br label %.invoke

161:                                              ; preds = %158
  %162 = landingpad { ptr, i32 }
          cleanup
  br label %165

163:                                              ; preds = %159
  %164 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %14) #7
  br label %165

165:                                              ; preds = %163, %161
  %.pn134 = phi { ptr, i32 } [ %164, %163 ], [ %162, %161 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %14) #7
  br label %938

166:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %16) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull @.str.13, i1 noundef zeroext true)
          to label %167 unwind label %184

167:                                              ; preds = %166
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %16)
          to label %168 unwind label %186

168:                                              ; preds = %167
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %16) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %16) #7
  %169 = call noundef zeroext i1 @_ZNK2vl3PtrINS_8database10ILogWriterEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
  br i1 %169, label %170, label %194

170:                                              ; preds = %168
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %17) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %171 unwind label %189

171:                                              ; preds = %170
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %17)
          to label %172 unwind label %191

172:                                              ; preds = %171
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %17) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %17) #7
  %173 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogWriterEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
  %174 = load ptr, ptr %173, align 8, !tbaa !11
  %175 = getelementptr i8, ptr %174, i64 -56
  %176 = load i64, ptr %175, align 8
  %177 = getelementptr inbounds i8, ptr %173, i64 %176
  %178 = load ptr, ptr %177, align 8, !tbaa !11
  %179 = getelementptr inbounds i8, ptr %178, i64 24
  %180 = load ptr, ptr %179, align 8
  %181 = invoke noundef nonnull align 8 dereferenceable(8) ptr %180(ptr noundef nonnull align 8 dereferenceable(8) %177)
          to label %203 unwind label %.loopexit280

182:                                              ; preds = %292, %248, %147
  %183 = landingpad { ptr, i32 }
          cleanup
  br label %356

184:                                              ; preds = %293, %249, %166
  %185 = landingpad { ptr, i32 }
          cleanup
  br label %188

186:                                              ; preds = %294, %250, %167
  %187 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %16) #7
  br label %188

188:                                              ; preds = %186, %184
  %.pn252 = phi { ptr, i32 } [ %187, %186 ], [ %185, %184 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %16) #7
  br label %355

.loopexit280:                                     ; preds = %327, %316, %309, %299, %283, %272, %265, %255, %172, %203, %210, %239
  %lpad.loopexit282 = landingpad { ptr, i32 }
          cleanup
  br label %355

.loopexit.split-lp281:                            ; preds = %.invoke289
  %lpad.loopexit.split-lp283 = landingpad { ptr, i32 }
          cleanup
  br label %355

189:                                              ; preds = %297, %253, %170
  %190 = landingpad { ptr, i32 }
          cleanup
  br label %193

191:                                              ; preds = %298, %254, %171
  %192 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %17) #7
  br label %193

193:                                              ; preds = %191, %189
  %.pn256 = phi { ptr, i32 } [ %192, %191 ], [ %190, %189 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %17) #7
  br label %355

194:                                              ; preds = %295, %251, %168
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %18) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %195 unwind label %198

195:                                              ; preds = %194
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %18)
          to label %196 unwind label %200

196:                                              ; preds = %195
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %18) #7
  br label %.invoke289

.invoke289:                                       ; preds = %349, %232, %196
  %197 = call ptr @__cxa_allocate_exception(i64 4) #7
  store i32 0, ptr %197, align 16, !tbaa !13
  invoke void @__cxa_throw(ptr nonnull %197, ptr nonnull @_ZTIi, ptr null) #9
          to label %.cont290 unwind label %.loopexit.split-lp281

.cont290:                                         ; preds = %.invoke289
  unreachable

198:                                              ; preds = %194
  %199 = landingpad { ptr, i32 }
          cleanup
  br label %202

200:                                              ; preds = %195
  %201 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #7
  br label %202

202:                                              ; preds = %200, %198
  %.pn254 = phi { ptr, i32 } [ %201, %200 ], [ %199, %198 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %18) #7
  br label %355

203:                                              ; preds = %172
  %204 = load ptr, ptr %181, align 8, !tbaa !11
  %205 = getelementptr inbounds i8, ptr %204, i64 120
  %206 = load ptr, ptr %205, align 8
  %207 = invoke noundef i64 %206(ptr noundef nonnull align 8 dereferenceable(8) %181, ptr noundef nonnull @.str.25, i64 noundef %89)
          to label %208 unwind label %.loopexit280

208:                                              ; preds = %203
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %19) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %19, ptr noundef nonnull @.str.16, i1 noundef zeroext true)
          to label %209 unwind label %220

209:                                              ; preds = %208
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %19)
          to label %210 unwind label %222

210:                                              ; preds = %209
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %19) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %19) #7
  %211 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogWriterEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
  %212 = load ptr, ptr %211, align 8, !tbaa !11
  %213 = getelementptr inbounds i8, ptr %212, i64 40
  %214 = load ptr, ptr %213, align 8
  %215 = invoke noundef zeroext i1 %214(ptr noundef nonnull align 8 dereferenceable(8) %211)
          to label %216 unwind label %.loopexit280

216:                                              ; preds = %210
  br i1 %215, label %217, label %230

217:                                              ; preds = %216
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %20) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %20, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %218 unwind label %225

218:                                              ; preds = %217
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %20)
          to label %219 unwind label %227

219:                                              ; preds = %218
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %20) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %20) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %22) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %22, ptr noundef nonnull @.str.18, i1 noundef zeroext true)
          to label %238 unwind label %337

220:                                              ; preds = %314, %270, %208
  %221 = landingpad { ptr, i32 }
          cleanup
  br label %224

222:                                              ; preds = %315, %271, %209
  %223 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %19) #7
  br label %224

224:                                              ; preds = %222, %220
  %.pn258 = phi { ptr, i32 } [ %223, %222 ], [ %221, %220 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %19) #7
  br label %355

225:                                              ; preds = %323, %279, %217
  %226 = landingpad { ptr, i32 }
          cleanup
  br label %229

227:                                              ; preds = %324, %280, %218
  %228 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %20) #7
  br label %229

229:                                              ; preds = %227, %225
  %.pn262 = phi { ptr, i32 } [ %228, %227 ], [ %226, %225 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %20) #7
  br label %355

230:                                              ; preds = %322, %278, %216
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %21) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %21, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %231 unwind label %233

231:                                              ; preds = %230
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %21)
          to label %232 unwind label %235

232:                                              ; preds = %231
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %21) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %21) #7
  br label %.invoke289

233:                                              ; preds = %230
  %234 = landingpad { ptr, i32 }
          cleanup
  br label %237

235:                                              ; preds = %231
  %236 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %21) #7
  br label %237

237:                                              ; preds = %235, %233
  %.pn260 = phi { ptr, i32 } [ %236, %235 ], [ %234, %233 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %21) #7
  br label %355

238:                                              ; preds = %219
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %22)
          to label %239 unwind label %339

239:                                              ; preds = %238
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %22) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %22) #7
  %240 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogWriterEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
  %241 = load ptr, ptr %240, align 8, !tbaa !11
  %242 = getelementptr inbounds i8, ptr %241, i64 40
  %243 = load ptr, ptr %242, align 8
  %244 = invoke noundef zeroext i1 %243(ptr noundef nonnull align 8 dereferenceable(8) %240)
          to label %245 unwind label %.loopexit280

245:                                              ; preds = %239
  br i1 %244, label %347, label %246

246:                                              ; preds = %245
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %23) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %23, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %247 unwind label %342

247:                                              ; preds = %246
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %23)
          to label %248 unwind label %344

248:                                              ; preds = %247
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %23) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %23) #7
  call void @_ZN2vl3PtrINS_8database10ILogWriterEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #7
  %.sroa.019.0.copyload.1 = load i64, ptr %8, align 8, !tbaa !9
  invoke void @_ZN2vl8database10LogManager11OpenLogItemENS0_8IdObjectImLl3EEE(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.36") align 8 %15, ptr noundef nonnull align 8 dereferenceable(304) %7, i64 %.sroa.019.0.copyload.1)
          to label %249 unwind label %182

249:                                              ; preds = %248
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %16) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull @.str.13, i1 noundef zeroext true)
          to label %250 unwind label %184

250:                                              ; preds = %249
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %16)
          to label %251 unwind label %186

251:                                              ; preds = %250
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %16) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %16) #7
  %252 = call noundef zeroext i1 @_ZNK2vl3PtrINS_8database10ILogWriterEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
  br i1 %252, label %253, label %194

253:                                              ; preds = %251
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %17) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %254 unwind label %189

254:                                              ; preds = %253
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %17)
          to label %255 unwind label %191

255:                                              ; preds = %254
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %17) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %17) #7
  %256 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogWriterEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
  %257 = load ptr, ptr %256, align 8, !tbaa !11
  %258 = getelementptr i8, ptr %257, i64 -56
  %259 = load i64, ptr %258, align 8
  %260 = getelementptr inbounds i8, ptr %256, i64 %259
  %261 = load ptr, ptr %260, align 8, !tbaa !11
  %262 = getelementptr inbounds i8, ptr %261, i64 24
  %263 = load ptr, ptr %262, align 8
  %264 = invoke noundef nonnull align 8 dereferenceable(8) ptr %263(ptr noundef nonnull align 8 dereferenceable(8) %260)
          to label %265 unwind label %.loopexit280

265:                                              ; preds = %255
  %266 = load ptr, ptr %264, align 8, !tbaa !11
  %267 = getelementptr inbounds i8, ptr %266, i64 120
  %268 = load ptr, ptr %267, align 8
  %269 = invoke noundef i64 %268(ptr noundef nonnull align 8 dereferenceable(8) %264, ptr noundef nonnull @.str.27, i64 noundef %91)
          to label %270 unwind label %.loopexit280

270:                                              ; preds = %265
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %19) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %19, ptr noundef nonnull @.str.16, i1 noundef zeroext true)
          to label %271 unwind label %220

271:                                              ; preds = %270
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %19)
          to label %272 unwind label %222

272:                                              ; preds = %271
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %19) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %19) #7
  %273 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogWriterEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
  %274 = load ptr, ptr %273, align 8, !tbaa !11
  %275 = getelementptr inbounds i8, ptr %274, i64 40
  %276 = load ptr, ptr %275, align 8
  %277 = invoke noundef zeroext i1 %276(ptr noundef nonnull align 8 dereferenceable(8) %273)
          to label %278 unwind label %.loopexit280

278:                                              ; preds = %272
  br i1 %277, label %279, label %230

279:                                              ; preds = %278
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %20) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %20, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %280 unwind label %225

280:                                              ; preds = %279
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %20)
          to label %281 unwind label %227

281:                                              ; preds = %280
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %20) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %20) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %22) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %22, ptr noundef nonnull @.str.18, i1 noundef zeroext true)
          to label %282 unwind label %337

282:                                              ; preds = %281
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %22)
          to label %283 unwind label %339

283:                                              ; preds = %282
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %22) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %22) #7
  %284 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogWriterEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
  %285 = load ptr, ptr %284, align 8, !tbaa !11
  %286 = getelementptr inbounds i8, ptr %285, i64 40
  %287 = load ptr, ptr %286, align 8
  %288 = invoke noundef zeroext i1 %287(ptr noundef nonnull align 8 dereferenceable(8) %284)
          to label %289 unwind label %.loopexit280

289:                                              ; preds = %283
  br i1 %288, label %347, label %290

290:                                              ; preds = %289
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %23) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %23, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %291 unwind label %342

291:                                              ; preds = %290
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %23)
          to label %292 unwind label %344

292:                                              ; preds = %291
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %23) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %23) #7
  call void @_ZN2vl3PtrINS_8database10ILogWriterEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #7
  %.sroa.019.0.copyload.2 = load i64, ptr %8, align 8, !tbaa !9
  invoke void @_ZN2vl8database10LogManager11OpenLogItemENS0_8IdObjectImLl3EEE(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.36") align 8 %15, ptr noundef nonnull align 8 dereferenceable(304) %7, i64 %.sroa.019.0.copyload.2)
          to label %293 unwind label %182

293:                                              ; preds = %292
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %16) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull @.str.13, i1 noundef zeroext true)
          to label %294 unwind label %184

294:                                              ; preds = %293
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %16)
          to label %295 unwind label %186

295:                                              ; preds = %294
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %16) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %16) #7
  %296 = call noundef zeroext i1 @_ZNK2vl3PtrINS_8database10ILogWriterEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
  br i1 %296, label %297, label %194

297:                                              ; preds = %295
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %17) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %298 unwind label %189

298:                                              ; preds = %297
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %17)
          to label %299 unwind label %191

299:                                              ; preds = %298
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %17) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %17) #7
  %300 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogWriterEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
  %301 = load ptr, ptr %300, align 8, !tbaa !11
  %302 = getelementptr i8, ptr %301, i64 -56
  %303 = load i64, ptr %302, align 8
  %304 = getelementptr inbounds i8, ptr %300, i64 %303
  %305 = load ptr, ptr %304, align 8, !tbaa !11
  %306 = getelementptr inbounds i8, ptr %305, i64 24
  %307 = load ptr, ptr %306, align 8
  %308 = invoke noundef nonnull align 8 dereferenceable(8) ptr %307(ptr noundef nonnull align 8 dereferenceable(8) %304)
          to label %309 unwind label %.loopexit280

309:                                              ; preds = %299
  %310 = load ptr, ptr %308, align 8, !tbaa !11
  %311 = getelementptr inbounds i8, ptr %310, i64 120
  %312 = load ptr, ptr %311, align 8
  %313 = invoke noundef i64 %312(ptr noundef nonnull align 8 dereferenceable(8) %308, ptr noundef nonnull @.str.28, i64 noundef %93)
          to label %314 unwind label %.loopexit280

314:                                              ; preds = %309
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %19) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %19, ptr noundef nonnull @.str.16, i1 noundef zeroext true)
          to label %315 unwind label %220

315:                                              ; preds = %314
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %19)
          to label %316 unwind label %222

316:                                              ; preds = %315
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %19) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %19) #7
  %317 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogWriterEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
  %318 = load ptr, ptr %317, align 8, !tbaa !11
  %319 = getelementptr inbounds i8, ptr %318, i64 40
  %320 = load ptr, ptr %319, align 8
  %321 = invoke noundef zeroext i1 %320(ptr noundef nonnull align 8 dereferenceable(8) %317)
          to label %322 unwind label %.loopexit280

322:                                              ; preds = %316
  br i1 %321, label %323, label %230

323:                                              ; preds = %322
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %20) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %20, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %324 unwind label %225

324:                                              ; preds = %323
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %20)
          to label %325 unwind label %227

325:                                              ; preds = %324
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %20) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %20) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %22) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %22, ptr noundef nonnull @.str.18, i1 noundef zeroext true)
          to label %326 unwind label %337

326:                                              ; preds = %325
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %22)
          to label %327 unwind label %339

327:                                              ; preds = %326
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %22) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %22) #7
  %328 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogWriterEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
  %329 = load ptr, ptr %328, align 8, !tbaa !11
  %330 = getelementptr inbounds i8, ptr %329, i64 40
  %331 = load ptr, ptr %330, align 8
  %332 = invoke noundef zeroext i1 %331(ptr noundef nonnull align 8 dereferenceable(8) %328)
          to label %333 unwind label %.loopexit280

333:                                              ; preds = %327
  br i1 %332, label %347, label %334

334:                                              ; preds = %333
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %23) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %23, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %335 unwind label %342

335:                                              ; preds = %334
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %23)
          to label %336 unwind label %344

336:                                              ; preds = %335
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %23) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %23) #7
  call void @_ZN2vl3PtrINS_8database10ILogWriterEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #7
  %.sroa.018.0.copyload = load i64, ptr %8, align 8, !tbaa !9
  invoke void @_ZN2vl8database10LogManager11EnumLogItemENS0_8IdObjectImLl3EEE(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr") align 8 %25, ptr noundef nonnull align 8 dereferenceable(304) %7, i64 %.sroa.018.0.copyload)
          to label %357 unwind label %364

337:                                              ; preds = %325, %281, %219
  %338 = landingpad { ptr, i32 }
          cleanup
  br label %341

339:                                              ; preds = %326, %282, %238
  %340 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %22) #7
  br label %341

341:                                              ; preds = %339, %337
  %.pn264 = phi { ptr, i32 } [ %340, %339 ], [ %338, %337 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %22) #7
  br label %355

342:                                              ; preds = %334, %290, %246
  %343 = landingpad { ptr, i32 }
          cleanup
  br label %346

344:                                              ; preds = %335, %291, %247
  %345 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %23) #7
  br label %346

346:                                              ; preds = %344, %342
  %.pn268 = phi { ptr, i32 } [ %345, %344 ], [ %343, %342 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %23) #7
  br label %355

347:                                              ; preds = %333, %289, %245
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %24) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %24, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %348 unwind label %350

348:                                              ; preds = %347
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %24)
          to label %349 unwind label %352

349:                                              ; preds = %348
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %24) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %24) #7
  br label %.invoke289

350:                                              ; preds = %347
  %351 = landingpad { ptr, i32 }
          cleanup
  br label %354

352:                                              ; preds = %348
  %353 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %24) #7
  br label %354

354:                                              ; preds = %352, %350
  %.pn266 = phi { ptr, i32 } [ %353, %352 ], [ %351, %350 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %24) #7
  br label %355

355:                                              ; preds = %.loopexit280, %.loopexit.split-lp281, %354, %346, %341, %237, %229, %224, %202, %193, %188
  %.pn268.pn = phi { ptr, i32 } [ %.pn268, %346 ], [ %.pn266, %354 ], [ %.pn264, %341 ], [ %.pn262, %229 ], [ %.pn260, %237 ], [ %.pn258, %224 ], [ %.pn256, %193 ], [ %.pn254, %202 ], [ %.pn252, %188 ], [ %lpad.loopexit282, %.loopexit280 ], [ %lpad.loopexit.split-lp283, %.loopexit.split-lp281 ]
  call void @_ZN2vl3PtrINS_8database10ILogWriterEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  br label %356

356:                                              ; preds = %355, %182
  %.pn268.pn.pn = phi { ptr, i32 } [ %.pn268.pn, %355 ], [ %183, %182 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  br label %938

357:                                              ; preds = %336
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %26) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %26, ptr noundef nonnull @.str.5, i1 noundef zeroext true)
          to label %358 unwind label %366

358:                                              ; preds = %357
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %26)
          to label %359 unwind label %368

359:                                              ; preds = %358
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %26) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %26) #7
  %360 = call noundef zeroext i1 @_ZNK2vl3PtrINS_8database10ILogReaderEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %25)
  br i1 %360, label %361, label %378

361:                                              ; preds = %359
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %27) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %27, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %362 unwind label %373

362:                                              ; preds = %361
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %27)
          to label %363 unwind label %375

363:                                              ; preds = %362
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %27) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %29) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %29, ptr noundef nonnull @.str.6, i1 noundef zeroext true)
          to label %386 unwind label %402

364:                                              ; preds = %336
  %365 = landingpad { ptr, i32 }
          cleanup
  br label %628

366:                                              ; preds = %357
  %367 = landingpad { ptr, i32 }
          cleanup
  br label %370

368:                                              ; preds = %358
  %369 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %26) #7
  br label %370

370:                                              ; preds = %368, %366
  %.pn138 = phi { ptr, i32 } [ %369, %368 ], [ %367, %366 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %26) #7
  br label %627

371:                                              ; preds = %.invoke291, %591
  %372 = landingpad { ptr, i32 }
          cleanup
  br label %627

373:                                              ; preds = %361
  %374 = landingpad { ptr, i32 }
          cleanup
  br label %377

375:                                              ; preds = %362
  %376 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %27) #7
  br label %377

377:                                              ; preds = %375, %373
  %.pn142 = phi { ptr, i32 } [ %376, %375 ], [ %374, %373 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %27) #7
  br label %627

378:                                              ; preds = %359
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %28) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %28, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %379 unwind label %381

379:                                              ; preds = %378
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %28)
          to label %380 unwind label %383

380:                                              ; preds = %379
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %28) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %28) #7
  br label %.invoke291

381:                                              ; preds = %378
  %382 = landingpad { ptr, i32 }
          cleanup
  br label %385

383:                                              ; preds = %379
  %384 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %28) #7
  br label %385

385:                                              ; preds = %383, %381
  %.pn140 = phi { ptr, i32 } [ %384, %383 ], [ %382, %381 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %28) #7
  br label %627

386:                                              ; preds = %363
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %29)
          to label %387 unwind label %404

387:                                              ; preds = %386
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %29) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #7
  %388 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %25)
  %389 = load ptr, ptr %388, align 8, !tbaa !11
  %390 = getelementptr i8, ptr %389, i64 -56
  %391 = load i64, ptr %390, align 8
  %392 = getelementptr inbounds i8, ptr %388, i64 %391
  %393 = load ptr, ptr %392, align 8, !tbaa !11
  %394 = getelementptr inbounds i8, ptr %393, i64 16
  %395 = load ptr, ptr %394, align 8
  %396 = invoke i64 %395(ptr noundef nonnull align 8 dereferenceable(8) %392)
          to label %397 unwind label %407

397:                                              ; preds = %387
  store i64 %396, ptr %30, align 8
  %.sroa.017.0.copyload = load i64, ptr %8, align 8, !tbaa !9
  %398 = call noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8) %30, i64 %.sroa.017.0.copyload)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #7
  br i1 %398, label %399, label %414

399:                                              ; preds = %397
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %31) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %31, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %400 unwind label %409

400:                                              ; preds = %399
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %31)
          to label %401 unwind label %411

401:                                              ; preds = %400
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %31) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %31) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %33) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %33, ptr noundef nonnull @.str.7, i1 noundef zeroext true)
          to label %422 unwind label %429

402:                                              ; preds = %363
  %403 = landingpad { ptr, i32 }
          cleanup
  br label %406

404:                                              ; preds = %386
  %405 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %29) #7
  br label %406

406:                                              ; preds = %404, %402
  %.pn144 = phi { ptr, i32 } [ %405, %404 ], [ %403, %402 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %29) #7
  br label %627

407:                                              ; preds = %387
  %408 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #7
  br label %627

409:                                              ; preds = %399
  %410 = landingpad { ptr, i32 }
          cleanup
  br label %413

411:                                              ; preds = %400
  %412 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %31) #7
  br label %413

413:                                              ; preds = %411, %409
  %.pn148 = phi { ptr, i32 } [ %412, %411 ], [ %410, %409 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %31) #7
  br label %627

414:                                              ; preds = %397
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %32) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %415 unwind label %417

415:                                              ; preds = %414
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %32)
          to label %416 unwind label %419

416:                                              ; preds = %415
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %32) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %32) #7
  br label %.invoke291

417:                                              ; preds = %414
  %418 = landingpad { ptr, i32 }
          cleanup
  br label %421

419:                                              ; preds = %415
  %420 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %32) #7
  br label %421

421:                                              ; preds = %419, %417
  %.pn146 = phi { ptr, i32 } [ %420, %419 ], [ %418, %417 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %32) #7
  br label %627

422:                                              ; preds = %401
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %33)
          to label %423 unwind label %431

423:                                              ; preds = %422
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %33) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %33) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #7
  %.sroa.016.0.copyload = load i64, ptr %8, align 8, !tbaa !9
  invoke void @_ZN2vl8database10LogManager19EnumInactiveLogItemENS0_8IdObjectImLl3EEE(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr") align 8 %34, ptr noundef nonnull align 8 dereferenceable(304) %7, i64 %.sroa.016.0.copyload)
          to label %424 unwind label %434

424:                                              ; preds = %423
  %425 = call noundef zeroext i1 @_ZNK2vl3PtrINS_8database10ILogReaderEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %34)
  call void @_ZN2vl3PtrINS_8database10ILogReaderEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #7
  br i1 %425, label %441, label %426

426:                                              ; preds = %424
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %35) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %35, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %427 unwind label %436

427:                                              ; preds = %426
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %35)
          to label %428 unwind label %438

428:                                              ; preds = %427
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %35) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %35) #7
  br label %450

429:                                              ; preds = %401
  %430 = landingpad { ptr, i32 }
          cleanup
  br label %433

431:                                              ; preds = %422
  %432 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %33) #7
  br label %433

433:                                              ; preds = %431, %429
  %.pn150 = phi { ptr, i32 } [ %432, %431 ], [ %430, %429 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %33) #7
  br label %627

434:                                              ; preds = %423
  %435 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #7
  br label %627

436:                                              ; preds = %426
  %437 = landingpad { ptr, i32 }
          cleanup
  br label %440

438:                                              ; preds = %427
  %439 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %35) #7
  br label %440

440:                                              ; preds = %438, %436
  %.pn154 = phi { ptr, i32 } [ %439, %438 ], [ %437, %436 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %35) #7
  br label %627

441:                                              ; preds = %424
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %36) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %36, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %442 unwind label %444

442:                                              ; preds = %441
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %36)
          to label %443 unwind label %446

443:                                              ; preds = %442
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %36) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %36) #7
  br label %.invoke291

444:                                              ; preds = %441
  %445 = landingpad { ptr, i32 }
          cleanup
  br label %448

446:                                              ; preds = %442
  %447 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %36) #7
  br label %448

448:                                              ; preds = %446, %444
  %.pn152 = phi { ptr, i32 } [ %447, %446 ], [ %445, %444 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %36) #7
  br label %627

449:                                              ; preds = %569
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %50) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %50, ptr noundef nonnull @.str.8, i1 noundef zeroext true)
          to label %590 unwind label %601

450:                                              ; preds = %428, %569
  %.0122286 = phi i64 [ 0, %428 ], [ %570, %569 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #7
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %37, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %38) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %38, ptr noundef nonnull @.str.19, i1 noundef zeroext true)
          to label %451 unwind label %462

451:                                              ; preds = %450
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %38)
          to label %452 unwind label %464

452:                                              ; preds = %451
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %38) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %38) #7
  %453 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %25)
  %454 = load ptr, ptr %453, align 8, !tbaa !11
  %455 = getelementptr inbounds i8, ptr %454, i64 32
  %456 = load ptr, ptr %455, align 8
  %457 = invoke noundef zeroext i1 %456(ptr noundef nonnull align 8 dereferenceable(8) %453)
          to label %458 unwind label %.loopexit275

458:                                              ; preds = %452
  br i1 %457, label %459, label %472

459:                                              ; preds = %458
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %39) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %39, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %460 unwind label %467

460:                                              ; preds = %459
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %39)
          to label %461 unwind label %469

461:                                              ; preds = %460
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %39) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %39) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %41) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %41, ptr noundef nonnull @.str.29, i1 noundef zeroext true)
          to label %481 unwind label %504

462:                                              ; preds = %450
  %463 = landingpad { ptr, i32 }
          cleanup
  br label %466

464:                                              ; preds = %451
  %465 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %38) #7
  br label %466

466:                                              ; preds = %464, %462
  %.pn225 = phi { ptr, i32 } [ %465, %464 ], [ %463, %462 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %38) #7
  br label %589

.loopexit275:                                     ; preds = %452, %482, %492, %523, %533
  %lpad.loopexit277 = landingpad { ptr, i32 }
          cleanup
  br label %589

.loopexit.split-lp276:                            ; preds = %.invoke293
  %lpad.loopexit.split-lp278 = landingpad { ptr, i32 }
          cleanup
  br label %589

467:                                              ; preds = %459
  %468 = landingpad { ptr, i32 }
          cleanup
  br label %471

469:                                              ; preds = %460
  %470 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %39) #7
  br label %471

471:                                              ; preds = %469, %467
  %.pn229 = phi { ptr, i32 } [ %470, %469 ], [ %468, %467 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %39) #7
  br label %589

472:                                              ; preds = %458
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %40) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %40, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %473 unwind label %476

473:                                              ; preds = %472
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %40)
          to label %474 unwind label %478

474:                                              ; preds = %473
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %40) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %40) #7
  br label %.invoke293

.invoke293:                                       ; preds = %583, %555, %516, %474
  %475 = call ptr @__cxa_allocate_exception(i64 4) #7
  store i32 0, ptr %475, align 16, !tbaa !13
  invoke void @__cxa_throw(ptr nonnull %475, ptr nonnull @_ZTIi, ptr null) #9
          to label %.cont294 unwind label %.loopexit.split-lp276

.cont294:                                         ; preds = %.invoke293
  unreachable

476:                                              ; preds = %472
  %477 = landingpad { ptr, i32 }
          cleanup
  br label %480

478:                                              ; preds = %473
  %479 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %40) #7
  br label %480

480:                                              ; preds = %478, %476
  %.pn227 = phi { ptr, i32 } [ %479, %478 ], [ %477, %476 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %40) #7
  br label %589

481:                                              ; preds = %461
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %41)
          to label %482 unwind label %506

482:                                              ; preds = %481
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %41) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %41) #7
  %483 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %25)
  %484 = load ptr, ptr %483, align 8, !tbaa !11
  %485 = getelementptr i8, ptr %484, i64 -56
  %486 = load i64, ptr %485, align 8
  %487 = getelementptr inbounds i8, ptr %483, i64 %486
  %488 = load ptr, ptr %487, align 8, !tbaa !11
  %489 = getelementptr inbounds i8, ptr %488, i64 24
  %490 = load ptr, ptr %489, align 8
  %491 = invoke noundef nonnull align 8 dereferenceable(8) ptr %490(ptr noundef nonnull align 8 dereferenceable(8) %487)
          to label %492 unwind label %.loopexit275

492:                                              ; preds = %482
  %493 = load ptr, ptr %491, align 8, !tbaa !11
  %494 = getelementptr inbounds i8, ptr %493, i64 80
  %495 = load ptr, ptr %494, align 8
  %496 = invoke noundef i64 %495(ptr noundef nonnull align 8 dereferenceable(8) %491)
          to label %497 unwind label %.loopexit275

497:                                              ; preds = %492
  %498 = getelementptr inbounds [3 x i64], ptr %2, i64 0, i64 %.0122286
  %499 = load i64, ptr %498, align 8, !tbaa !9
  %500 = icmp eq i64 %496, %499
  br i1 %500, label %501, label %514

501:                                              ; preds = %497
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %42) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %42, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %502 unwind label %509

502:                                              ; preds = %501
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %42)
          to label %503 unwind label %511

503:                                              ; preds = %502
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %42) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %42) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %44) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %44, ptr noundef nonnull @.str.30, i1 noundef zeroext true)
          to label %522 unwind label %543

504:                                              ; preds = %461
  %505 = landingpad { ptr, i32 }
          cleanup
  br label %508

506:                                              ; preds = %481
  %507 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %41) #7
  br label %508

508:                                              ; preds = %506, %504
  %.pn231 = phi { ptr, i32 } [ %507, %506 ], [ %505, %504 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %41) #7
  br label %589

509:                                              ; preds = %501
  %510 = landingpad { ptr, i32 }
          cleanup
  br label %513

511:                                              ; preds = %502
  %512 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %42) #7
  br label %513

513:                                              ; preds = %511, %509
  %.pn235 = phi { ptr, i32 } [ %512, %511 ], [ %510, %509 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %42) #7
  br label %589

514:                                              ; preds = %497
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %43) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %515 unwind label %517

515:                                              ; preds = %514
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %43)
          to label %516 unwind label %519

516:                                              ; preds = %515
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %43) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %43) #7
  br label %.invoke293

517:                                              ; preds = %514
  %518 = landingpad { ptr, i32 }
          cleanup
  br label %521

519:                                              ; preds = %515
  %520 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %43) #7
  br label %521

521:                                              ; preds = %519, %517
  %.pn233 = phi { ptr, i32 } [ %520, %519 ], [ %518, %517 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %43) #7
  br label %589

522:                                              ; preds = %503
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %44)
          to label %523 unwind label %545

523:                                              ; preds = %522
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %44) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %44) #7
  %524 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %25)
  %525 = load ptr, ptr %524, align 8, !tbaa !11
  %526 = getelementptr i8, ptr %525, i64 -56
  %527 = load i64, ptr %526, align 8
  %528 = getelementptr inbounds i8, ptr %524, i64 %527
  %529 = load ptr, ptr %528, align 8, !tbaa !11
  %530 = getelementptr inbounds i8, ptr %529, i64 24
  %531 = load ptr, ptr %530, align 8
  %532 = invoke noundef nonnull align 8 dereferenceable(8) ptr %531(ptr noundef nonnull align 8 dereferenceable(8) %528)
          to label %533 unwind label %.loopexit275

533:                                              ; preds = %523
  %534 = load ptr, ptr %532, align 8, !tbaa !11
  %535 = getelementptr inbounds i8, ptr %534, i64 112
  %536 = load ptr, ptr %535, align 8
  %537 = invoke noundef i64 %536(ptr noundef nonnull align 8 dereferenceable(8) %532, ptr noundef nonnull %37, i64 noundef %496)
          to label %538 unwind label %.loopexit275

538:                                              ; preds = %533
  %539 = icmp eq i64 %537, %496
  br i1 %539, label %540, label %553

540:                                              ; preds = %538
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %45) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %45, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %541 unwind label %548

541:                                              ; preds = %540
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %45)
          to label %542 unwind label %550

542:                                              ; preds = %541
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %45) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %45) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %47) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %47, ptr noundef nonnull @.str.31, i1 noundef zeroext true)
          to label %561 unwind label %571

543:                                              ; preds = %503
  %544 = landingpad { ptr, i32 }
          cleanup
  br label %547

545:                                              ; preds = %522
  %546 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %44) #7
  br label %547

547:                                              ; preds = %545, %543
  %.pn237 = phi { ptr, i32 } [ %546, %545 ], [ %544, %543 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %44) #7
  br label %589

548:                                              ; preds = %540
  %549 = landingpad { ptr, i32 }
          cleanup
  br label %552

550:                                              ; preds = %541
  %551 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %45) #7
  br label %552

552:                                              ; preds = %550, %548
  %.pn241 = phi { ptr, i32 } [ %551, %550 ], [ %549, %548 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %45) #7
  br label %589

553:                                              ; preds = %538
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %46) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %46, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %554 unwind label %556

554:                                              ; preds = %553
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %46)
          to label %555 unwind label %558

555:                                              ; preds = %554
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %46) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %46) #7
  br label %.invoke293

556:                                              ; preds = %553
  %557 = landingpad { ptr, i32 }
          cleanup
  br label %560

558:                                              ; preds = %554
  %559 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %46) #7
  br label %560

560:                                              ; preds = %558, %556
  %.pn239 = phi { ptr, i32 } [ %559, %558 ], [ %557, %556 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %46) #7
  br label %589

561:                                              ; preds = %542
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %47)
          to label %562 unwind label %573

562:                                              ; preds = %561
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %47) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %47) #7
  %563 = getelementptr inbounds [3 x ptr], ptr %1, i64 0, i64 %.0122286
  %564 = load ptr, ptr %563, align 8, !tbaa !5
  %565 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %37, ptr noundef nonnull dereferenceable(1) %564) #8
  %566 = icmp eq i32 %565, 0
  br i1 %566, label %567, label %581

567:                                              ; preds = %562
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %48) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %48, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %568 unwind label %576

568:                                              ; preds = %567
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %48)
          to label %569 unwind label %578

569:                                              ; preds = %568
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %48) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #7
  %570 = add nuw nsw i64 %.0122286, 1
  %exitcond.not = icmp eq i64 %570, 3
  br i1 %exitcond.not, label %449, label %450, !llvm.loop !15

571:                                              ; preds = %542
  %572 = landingpad { ptr, i32 }
          cleanup
  br label %575

573:                                              ; preds = %561
  %574 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %47) #7
  br label %575

575:                                              ; preds = %573, %571
  %.pn243 = phi { ptr, i32 } [ %574, %573 ], [ %572, %571 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %47) #7
  br label %589

576:                                              ; preds = %567
  %577 = landingpad { ptr, i32 }
          cleanup
  br label %580

578:                                              ; preds = %568
  %579 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %48) #7
  br label %580

580:                                              ; preds = %578, %576
  %.pn247 = phi { ptr, i32 } [ %579, %578 ], [ %577, %576 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %48) #7
  br label %589

581:                                              ; preds = %562
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %49) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %49, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %582 unwind label %584

582:                                              ; preds = %581
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %49)
          to label %583 unwind label %586

583:                                              ; preds = %582
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %49) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %49) #7
  br label %.invoke293

584:                                              ; preds = %581
  %585 = landingpad { ptr, i32 }
          cleanup
  br label %588

586:                                              ; preds = %582
  %587 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %49) #7
  br label %588

588:                                              ; preds = %586, %584
  %.pn245 = phi { ptr, i32 } [ %587, %586 ], [ %585, %584 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %49) #7
  br label %589

589:                                              ; preds = %.loopexit275, %.loopexit.split-lp276, %588, %580, %575, %560, %552, %547, %521, %513, %508, %480, %471, %466
  %.pn247.pn = phi { ptr, i32 } [ %.pn247, %580 ], [ %.pn245, %588 ], [ %.pn243, %575 ], [ %.pn241, %552 ], [ %.pn239, %560 ], [ %.pn237, %547 ], [ %.pn235, %513 ], [ %.pn233, %521 ], [ %.pn231, %508 ], [ %.pn229, %471 ], [ %.pn227, %480 ], [ %.pn225, %466 ], [ %lpad.loopexit277, %.loopexit275 ], [ %lpad.loopexit.split-lp278, %.loopexit.split-lp276 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #7
  br label %627

590:                                              ; preds = %449
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %50)
          to label %591 unwind label %603

591:                                              ; preds = %590
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %50) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %50) #7
  %592 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %25)
  %593 = load ptr, ptr %592, align 8, !tbaa !11
  %594 = getelementptr inbounds i8, ptr %593, i64 32
  %595 = load ptr, ptr %594, align 8
  %596 = invoke noundef zeroext i1 %595(ptr noundef nonnull align 8 dereferenceable(8) %592)
          to label %597 unwind label %371

597:                                              ; preds = %591
  br i1 %596, label %611, label %598

598:                                              ; preds = %597
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %51) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %51, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %599 unwind label %606

599:                                              ; preds = %598
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %51)
          to label %600 unwind label %608

600:                                              ; preds = %599
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %51) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %51) #7
  call void @_ZN2vl3PtrINS_8database10ILogReaderEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %53) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %53, ptr noundef nonnull @.str.9, i1 noundef zeroext true)
          to label %620 unwind label %629

601:                                              ; preds = %449
  %602 = landingpad { ptr, i32 }
          cleanup
  br label %605

603:                                              ; preds = %590
  %604 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %50) #7
  br label %605

605:                                              ; preds = %603, %601
  %.pn156 = phi { ptr, i32 } [ %604, %603 ], [ %602, %601 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %50) #7
  br label %627

606:                                              ; preds = %598
  %607 = landingpad { ptr, i32 }
          cleanup
  br label %610

608:                                              ; preds = %599
  %609 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %51) #7
  br label %610

610:                                              ; preds = %608, %606
  %.pn160 = phi { ptr, i32 } [ %609, %608 ], [ %607, %606 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %51) #7
  br label %627

611:                                              ; preds = %597
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %52) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %52, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %612 unwind label %615

612:                                              ; preds = %611
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %52)
          to label %613 unwind label %617

613:                                              ; preds = %612
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %52) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %52) #7
  br label %.invoke291

.invoke291:                                       ; preds = %380, %416, %443, %613
  %614 = call ptr @__cxa_allocate_exception(i64 4) #7
  store i32 0, ptr %614, align 16, !tbaa !13
  invoke void @__cxa_throw(ptr nonnull %614, ptr nonnull @_ZTIi, ptr null) #9
          to label %.cont292 unwind label %371

.cont292:                                         ; preds = %.invoke291
  unreachable

615:                                              ; preds = %611
  %616 = landingpad { ptr, i32 }
          cleanup
  br label %619

617:                                              ; preds = %612
  %618 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %52) #7
  br label %619

619:                                              ; preds = %617, %615
  %.pn158 = phi { ptr, i32 } [ %618, %617 ], [ %616, %615 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %52) #7
  br label %627

620:                                              ; preds = %600
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %53)
          to label %621 unwind label %631

621:                                              ; preds = %620
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %53) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %53) #7
  %.sroa.09.0.copyload = load i64, ptr %8, align 8, !tbaa !9
  %622 = invoke noundef zeroext i1 @_ZN2vl8database10LogManager16CloseTransactionENS0_8IdObjectImLl3EEE(ptr noundef nonnull align 8 dereferenceable(304) %7, i64 %.sroa.09.0.copyload)
          to label %623 unwind label %121

623:                                              ; preds = %621
  br i1 %622, label %624, label %639

624:                                              ; preds = %623
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %54) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %54, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %625 unwind label %634

625:                                              ; preds = %624
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %54)
          to label %626 unwind label %636

626:                                              ; preds = %625
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %54) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %54) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %56) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %56, ptr noundef nonnull @.str.10, i1 noundef zeroext true)
          to label %647 unwind label %654

627:                                              ; preds = %619, %610, %605, %589, %448, %440, %434, %433, %421, %413, %407, %406, %385, %377, %371, %370
  %.pn247.pn.pn = phi { ptr, i32 } [ %.pn247.pn, %589 ], [ %.pn160, %610 ], [ %372, %371 ], [ %.pn158, %619 ], [ %.pn156, %605 ], [ %.pn154, %440 ], [ %.pn152, %448 ], [ %435, %434 ], [ %.pn150, %433 ], [ %.pn148, %413 ], [ %.pn146, %421 ], [ %408, %407 ], [ %.pn144, %406 ], [ %.pn142, %377 ], [ %.pn140, %385 ], [ %.pn138, %370 ]
  call void @_ZN2vl3PtrINS_8database10ILogReaderEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  br label %628

628:                                              ; preds = %627, %364
  %.pn247.pn.pn.pn = phi { ptr, i32 } [ %.pn247.pn.pn, %627 ], [ %365, %364 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #7
  br label %938

629:                                              ; preds = %600
  %630 = landingpad { ptr, i32 }
          cleanup
  br label %633

631:                                              ; preds = %620
  %632 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %53) #7
  br label %633

633:                                              ; preds = %631, %629
  %.pn162 = phi { ptr, i32 } [ %632, %631 ], [ %630, %629 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %53) #7
  br label %938

634:                                              ; preds = %624
  %635 = landingpad { ptr, i32 }
          cleanup
  br label %638

636:                                              ; preds = %625
  %637 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %54) #7
  br label %638

638:                                              ; preds = %636, %634
  %.pn166 = phi { ptr, i32 } [ %637, %636 ], [ %635, %634 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %54) #7
  br label %938

639:                                              ; preds = %623
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %55) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %55, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %640 unwind label %642

640:                                              ; preds = %639
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %55)
          to label %641 unwind label %644

641:                                              ; preds = %640
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %55) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %55) #7
  br label %.invoke

642:                                              ; preds = %639
  %643 = landingpad { ptr, i32 }
          cleanup
  br label %646

644:                                              ; preds = %640
  %645 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %55) #7
  br label %646

646:                                              ; preds = %644, %642
  %.pn164 = phi { ptr, i32 } [ %645, %644 ], [ %643, %642 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %55) #7
  br label %938

647:                                              ; preds = %626
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %56)
          to label %648 unwind label %656

648:                                              ; preds = %647
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %56) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %56) #7
  %.sroa.08.0.copyload = load i64, ptr %8, align 8, !tbaa !9
  %649 = invoke noundef zeroext i1 @_ZN2vl8database10LogManager8IsActiveENS0_8IdObjectImLl3EEE(ptr noundef nonnull align 8 dereferenceable(304) %7, i64 %.sroa.08.0.copyload)
          to label %650 unwind label %121

650:                                              ; preds = %648
  br i1 %649, label %664, label %651

651:                                              ; preds = %650
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %57) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %57, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %652 unwind label %659

652:                                              ; preds = %651
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %57)
          to label %653 unwind label %661

653:                                              ; preds = %652
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %57) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %57) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #7
  %.sroa.07.0.copyload = load i64, ptr %8, align 8, !tbaa !9
  invoke void @_ZN2vl8database10LogManager19EnumInactiveLogItemENS0_8IdObjectImLl3EEE(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr") align 8 %59, ptr noundef nonnull align 8 dereferenceable(304) %7, i64 %.sroa.07.0.copyload)
          to label %673 unwind label %680

654:                                              ; preds = %626
  %655 = landingpad { ptr, i32 }
          cleanup
  br label %658

656:                                              ; preds = %647
  %657 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %56) #7
  br label %658

658:                                              ; preds = %656, %654
  %.pn168 = phi { ptr, i32 } [ %657, %656 ], [ %655, %654 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %56) #7
  br label %938

659:                                              ; preds = %651
  %660 = landingpad { ptr, i32 }
          cleanup
  br label %663

661:                                              ; preds = %652
  %662 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %57) #7
  br label %663

663:                                              ; preds = %661, %659
  %.pn172 = phi { ptr, i32 } [ %662, %661 ], [ %660, %659 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %57) #7
  br label %938

664:                                              ; preds = %650
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %58) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %58, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %665 unwind label %668

665:                                              ; preds = %664
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %58)
          to label %666 unwind label %670

666:                                              ; preds = %665
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %58) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %58) #7
  br label %.invoke

.invoke:                                          ; preds = %135, %160, %641, %666
  %667 = call ptr @__cxa_allocate_exception(i64 4) #7
  store i32 0, ptr %667, align 16, !tbaa !13
  invoke void @__cxa_throw(ptr nonnull %667, ptr nonnull @_ZTIi, ptr null) #9
          to label %.cont unwind label %121

.cont:                                            ; preds = %.invoke
  unreachable

668:                                              ; preds = %664
  %669 = landingpad { ptr, i32 }
          cleanup
  br label %672

670:                                              ; preds = %665
  %671 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %58) #7
  br label %672

672:                                              ; preds = %670, %668
  %.pn170 = phi { ptr, i32 } [ %671, %670 ], [ %669, %668 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %58) #7
  br label %938

673:                                              ; preds = %653
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %60) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %60, ptr noundef nonnull @.str.5, i1 noundef zeroext true)
          to label %674 unwind label %682

674:                                              ; preds = %673
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %60)
          to label %675 unwind label %684

675:                                              ; preds = %674
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %60) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %60) #7
  %676 = call noundef zeroext i1 @_ZNK2vl3PtrINS_8database10ILogReaderEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %59)
  br i1 %676, label %677, label %694

677:                                              ; preds = %675
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %61) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %61, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %678 unwind label %689

678:                                              ; preds = %677
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %61)
          to label %679 unwind label %691

679:                                              ; preds = %678
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %61) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %61) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %63) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %63, ptr noundef nonnull @.str.6, i1 noundef zeroext true)
          to label %702 unwind label %718

680:                                              ; preds = %653
  %681 = landingpad { ptr, i32 }
          cleanup
  br label %937

682:                                              ; preds = %673
  %683 = landingpad { ptr, i32 }
          cleanup
  br label %686

684:                                              ; preds = %674
  %685 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %60) #7
  br label %686

686:                                              ; preds = %684, %682
  %.pn174 = phi { ptr, i32 } [ %685, %684 ], [ %683, %682 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %60) #7
  br label %936

687:                                              ; preds = %.invoke295, %907
  %688 = landingpad { ptr, i32 }
          cleanup
  br label %936

689:                                              ; preds = %677
  %690 = landingpad { ptr, i32 }
          cleanup
  br label %693

691:                                              ; preds = %678
  %692 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %61) #7
  br label %693

693:                                              ; preds = %691, %689
  %.pn178 = phi { ptr, i32 } [ %692, %691 ], [ %690, %689 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %61) #7
  br label %936

694:                                              ; preds = %675
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %62) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %62, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %695 unwind label %697

695:                                              ; preds = %694
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %62)
          to label %696 unwind label %699

696:                                              ; preds = %695
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %62) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %62) #7
  br label %.invoke295

697:                                              ; preds = %694
  %698 = landingpad { ptr, i32 }
          cleanup
  br label %701

699:                                              ; preds = %695
  %700 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %62) #7
  br label %701

701:                                              ; preds = %699, %697
  %.pn176 = phi { ptr, i32 } [ %700, %699 ], [ %698, %697 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %62) #7
  br label %936

702:                                              ; preds = %679
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %63)
          to label %703 unwind label %720

703:                                              ; preds = %702
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %63) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %63) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #7
  %704 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %59)
  %705 = load ptr, ptr %704, align 8, !tbaa !11
  %706 = getelementptr i8, ptr %705, i64 -56
  %707 = load i64, ptr %706, align 8
  %708 = getelementptr inbounds i8, ptr %704, i64 %707
  %709 = load ptr, ptr %708, align 8, !tbaa !11
  %710 = getelementptr inbounds i8, ptr %709, i64 16
  %711 = load ptr, ptr %710, align 8
  %712 = invoke i64 %711(ptr noundef nonnull align 8 dereferenceable(8) %708)
          to label %713 unwind label %723

713:                                              ; preds = %703
  store i64 %712, ptr %64, align 8
  %.sroa.06.0.copyload = load i64, ptr %8, align 8, !tbaa !9
  %714 = call noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8) %64, i64 %.sroa.06.0.copyload)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #7
  br i1 %714, label %715, label %730

715:                                              ; preds = %713
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %65) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %65, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %716 unwind label %725

716:                                              ; preds = %715
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %65)
          to label %717 unwind label %727

717:                                              ; preds = %716
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %65) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %65) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %67) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %67, ptr noundef nonnull @.str.11, i1 noundef zeroext true)
          to label %738 unwind label %745

718:                                              ; preds = %679
  %719 = landingpad { ptr, i32 }
          cleanup
  br label %722

720:                                              ; preds = %702
  %721 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %63) #7
  br label %722

722:                                              ; preds = %720, %718
  %.pn180 = phi { ptr, i32 } [ %721, %720 ], [ %719, %718 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %63) #7
  br label %936

723:                                              ; preds = %703
  %724 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #7
  br label %936

725:                                              ; preds = %715
  %726 = landingpad { ptr, i32 }
          cleanup
  br label %729

727:                                              ; preds = %716
  %728 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %65) #7
  br label %729

729:                                              ; preds = %727, %725
  %.pn184 = phi { ptr, i32 } [ %728, %727 ], [ %726, %725 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %65) #7
  br label %936

730:                                              ; preds = %713
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %66) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %66, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %731 unwind label %733

731:                                              ; preds = %730
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %66)
          to label %732 unwind label %735

732:                                              ; preds = %731
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %66) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %66) #7
  br label %.invoke295

733:                                              ; preds = %730
  %734 = landingpad { ptr, i32 }
          cleanup
  br label %737

735:                                              ; preds = %731
  %736 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %66) #7
  br label %737

737:                                              ; preds = %735, %733
  %.pn182 = phi { ptr, i32 } [ %736, %735 ], [ %734, %733 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %66) #7
  br label %936

738:                                              ; preds = %717
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %67)
          to label %739 unwind label %747

739:                                              ; preds = %738
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %67) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %67) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %68) #7
  %.sroa.0.0.copyload = load i64, ptr %8, align 8, !tbaa !9
  invoke void @_ZN2vl8database10LogManager11EnumLogItemENS0_8IdObjectImLl3EEE(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr") align 8 %68, ptr noundef nonnull align 8 dereferenceable(304) %7, i64 %.sroa.0.0.copyload)
          to label %740 unwind label %750

740:                                              ; preds = %739
  %741 = call noundef zeroext i1 @_ZNK2vl3PtrINS_8database10ILogReaderEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %68)
  call void @_ZN2vl3PtrINS_8database10ILogReaderEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #7
  br i1 %741, label %757, label %742

742:                                              ; preds = %740
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %69) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %69, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %743 unwind label %752

743:                                              ; preds = %742
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %69)
          to label %744 unwind label %754

744:                                              ; preds = %743
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %69) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %69) #7
  br label %766

745:                                              ; preds = %717
  %746 = landingpad { ptr, i32 }
          cleanup
  br label %749

747:                                              ; preds = %738
  %748 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %67) #7
  br label %749

749:                                              ; preds = %747, %745
  %.pn186 = phi { ptr, i32 } [ %748, %747 ], [ %746, %745 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %67) #7
  br label %936

750:                                              ; preds = %739
  %751 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #7
  br label %936

752:                                              ; preds = %742
  %753 = landingpad { ptr, i32 }
          cleanup
  br label %756

754:                                              ; preds = %743
  %755 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %69) #7
  br label %756

756:                                              ; preds = %754, %752
  %.pn190 = phi { ptr, i32 } [ %755, %754 ], [ %753, %752 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %69) #7
  br label %936

757:                                              ; preds = %740
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %70) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %70, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %758 unwind label %760

758:                                              ; preds = %757
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %70)
          to label %759 unwind label %762

759:                                              ; preds = %758
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %70) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %70) #7
  br label %.invoke295

760:                                              ; preds = %757
  %761 = landingpad { ptr, i32 }
          cleanup
  br label %764

762:                                              ; preds = %758
  %763 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %70) #7
  br label %764

764:                                              ; preds = %762, %760
  %.pn188 = phi { ptr, i32 } [ %763, %762 ], [ %761, %760 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %70) #7
  br label %936

765:                                              ; preds = %885
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %84) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %84, ptr noundef nonnull @.str.8, i1 noundef zeroext true)
          to label %906 unwind label %917

766:                                              ; preds = %744, %885
  %.0287 = phi i64 [ 0, %744 ], [ %886, %885 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #7
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %71, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %72) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %72, ptr noundef nonnull @.str.19, i1 noundef zeroext true)
          to label %767 unwind label %778

767:                                              ; preds = %766
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %72)
          to label %768 unwind label %780

768:                                              ; preds = %767
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %72) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %72) #7
  %769 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %59)
  %770 = load ptr, ptr %769, align 8, !tbaa !11
  %771 = getelementptr inbounds i8, ptr %770, i64 32
  %772 = load ptr, ptr %771, align 8
  %773 = invoke noundef zeroext i1 %772(ptr noundef nonnull align 8 dereferenceable(8) %769)
          to label %774 unwind label %.loopexit

774:                                              ; preds = %768
  br i1 %773, label %775, label %788

775:                                              ; preds = %774
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %73) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %73, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %776 unwind label %783

776:                                              ; preds = %775
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %73)
          to label %777 unwind label %785

777:                                              ; preds = %776
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %73) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %73) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %75) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %75, ptr noundef nonnull @.str.29, i1 noundef zeroext true)
          to label %797 unwind label %820

778:                                              ; preds = %766
  %779 = landingpad { ptr, i32 }
          cleanup
  br label %782

780:                                              ; preds = %767
  %781 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %72) #7
  br label %782

782:                                              ; preds = %780, %778
  %.pn198 = phi { ptr, i32 } [ %781, %780 ], [ %779, %778 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %72) #7
  br label %905

.loopexit:                                        ; preds = %768, %798, %808, %839, %849
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %905

.loopexit.split-lp:                               ; preds = %.invoke297
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %905

783:                                              ; preds = %775
  %784 = landingpad { ptr, i32 }
          cleanup
  br label %787

785:                                              ; preds = %776
  %786 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %73) #7
  br label %787

787:                                              ; preds = %785, %783
  %.pn202 = phi { ptr, i32 } [ %786, %785 ], [ %784, %783 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %73) #7
  br label %905

788:                                              ; preds = %774
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %74) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %74, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %789 unwind label %792

789:                                              ; preds = %788
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %74)
          to label %790 unwind label %794

790:                                              ; preds = %789
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %74) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %74) #7
  br label %.invoke297

.invoke297:                                       ; preds = %899, %871, %832, %790
  %791 = call ptr @__cxa_allocate_exception(i64 4) #7
  store i32 0, ptr %791, align 16, !tbaa !13
  invoke void @__cxa_throw(ptr nonnull %791, ptr nonnull @_ZTIi, ptr null) #9
          to label %.cont298 unwind label %.loopexit.split-lp

.cont298:                                         ; preds = %.invoke297
  unreachable

792:                                              ; preds = %788
  %793 = landingpad { ptr, i32 }
          cleanup
  br label %796

794:                                              ; preds = %789
  %795 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %74) #7
  br label %796

796:                                              ; preds = %794, %792
  %.pn200 = phi { ptr, i32 } [ %795, %794 ], [ %793, %792 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %74) #7
  br label %905

797:                                              ; preds = %777
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %75)
          to label %798 unwind label %822

798:                                              ; preds = %797
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %75) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %75) #7
  %799 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %59)
  %800 = load ptr, ptr %799, align 8, !tbaa !11
  %801 = getelementptr i8, ptr %800, i64 -56
  %802 = load i64, ptr %801, align 8
  %803 = getelementptr inbounds i8, ptr %799, i64 %802
  %804 = load ptr, ptr %803, align 8, !tbaa !11
  %805 = getelementptr inbounds i8, ptr %804, i64 24
  %806 = load ptr, ptr %805, align 8
  %807 = invoke noundef nonnull align 8 dereferenceable(8) ptr %806(ptr noundef nonnull align 8 dereferenceable(8) %803)
          to label %808 unwind label %.loopexit

808:                                              ; preds = %798
  %809 = load ptr, ptr %807, align 8, !tbaa !11
  %810 = getelementptr inbounds i8, ptr %809, i64 80
  %811 = load ptr, ptr %810, align 8
  %812 = invoke noundef i64 %811(ptr noundef nonnull align 8 dereferenceable(8) %807)
          to label %813 unwind label %.loopexit

813:                                              ; preds = %808
  %814 = getelementptr inbounds [3 x i64], ptr %2, i64 0, i64 %.0287
  %815 = load i64, ptr %814, align 8, !tbaa !9
  %816 = icmp eq i64 %812, %815
  br i1 %816, label %817, label %830

817:                                              ; preds = %813
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %76) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %76, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %818 unwind label %825

818:                                              ; preds = %817
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %76)
          to label %819 unwind label %827

819:                                              ; preds = %818
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %76) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %76) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %78) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %78, ptr noundef nonnull @.str.30, i1 noundef zeroext true)
          to label %838 unwind label %859

820:                                              ; preds = %777
  %821 = landingpad { ptr, i32 }
          cleanup
  br label %824

822:                                              ; preds = %797
  %823 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %75) #7
  br label %824

824:                                              ; preds = %822, %820
  %.pn204 = phi { ptr, i32 } [ %823, %822 ], [ %821, %820 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %75) #7
  br label %905

825:                                              ; preds = %817
  %826 = landingpad { ptr, i32 }
          cleanup
  br label %829

827:                                              ; preds = %818
  %828 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %76) #7
  br label %829

829:                                              ; preds = %827, %825
  %.pn208 = phi { ptr, i32 } [ %828, %827 ], [ %826, %825 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %76) #7
  br label %905

830:                                              ; preds = %813
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %77) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %77, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %831 unwind label %833

831:                                              ; preds = %830
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %77)
          to label %832 unwind label %835

832:                                              ; preds = %831
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %77) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %77) #7
  br label %.invoke297

833:                                              ; preds = %830
  %834 = landingpad { ptr, i32 }
          cleanup
  br label %837

835:                                              ; preds = %831
  %836 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %77) #7
  br label %837

837:                                              ; preds = %835, %833
  %.pn206 = phi { ptr, i32 } [ %836, %835 ], [ %834, %833 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %77) #7
  br label %905

838:                                              ; preds = %819
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %78)
          to label %839 unwind label %861

839:                                              ; preds = %838
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %78) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %78) #7
  %840 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %59)
  %841 = load ptr, ptr %840, align 8, !tbaa !11
  %842 = getelementptr i8, ptr %841, i64 -56
  %843 = load i64, ptr %842, align 8
  %844 = getelementptr inbounds i8, ptr %840, i64 %843
  %845 = load ptr, ptr %844, align 8, !tbaa !11
  %846 = getelementptr inbounds i8, ptr %845, i64 24
  %847 = load ptr, ptr %846, align 8
  %848 = invoke noundef nonnull align 8 dereferenceable(8) ptr %847(ptr noundef nonnull align 8 dereferenceable(8) %844)
          to label %849 unwind label %.loopexit

849:                                              ; preds = %839
  %850 = load ptr, ptr %848, align 8, !tbaa !11
  %851 = getelementptr inbounds i8, ptr %850, i64 112
  %852 = load ptr, ptr %851, align 8
  %853 = invoke noundef i64 %852(ptr noundef nonnull align 8 dereferenceable(8) %848, ptr noundef nonnull %71, i64 noundef %812)
          to label %854 unwind label %.loopexit

854:                                              ; preds = %849
  %855 = icmp eq i64 %853, %812
  br i1 %855, label %856, label %869

856:                                              ; preds = %854
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %79) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %79, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %857 unwind label %864

857:                                              ; preds = %856
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %79)
          to label %858 unwind label %866

858:                                              ; preds = %857
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %79) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %79) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %81) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %81, ptr noundef nonnull @.str.31, i1 noundef zeroext true)
          to label %877 unwind label %887

859:                                              ; preds = %819
  %860 = landingpad { ptr, i32 }
          cleanup
  br label %863

861:                                              ; preds = %838
  %862 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %78) #7
  br label %863

863:                                              ; preds = %861, %859
  %.pn210 = phi { ptr, i32 } [ %862, %861 ], [ %860, %859 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %78) #7
  br label %905

864:                                              ; preds = %856
  %865 = landingpad { ptr, i32 }
          cleanup
  br label %868

866:                                              ; preds = %857
  %867 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %79) #7
  br label %868

868:                                              ; preds = %866, %864
  %.pn214 = phi { ptr, i32 } [ %867, %866 ], [ %865, %864 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %79) #7
  br label %905

869:                                              ; preds = %854
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %80) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %80, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %870 unwind label %872

870:                                              ; preds = %869
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %80)
          to label %871 unwind label %874

871:                                              ; preds = %870
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %80) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %80) #7
  br label %.invoke297

872:                                              ; preds = %869
  %873 = landingpad { ptr, i32 }
          cleanup
  br label %876

874:                                              ; preds = %870
  %875 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %80) #7
  br label %876

876:                                              ; preds = %874, %872
  %.pn212 = phi { ptr, i32 } [ %875, %874 ], [ %873, %872 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %80) #7
  br label %905

877:                                              ; preds = %858
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %81)
          to label %878 unwind label %889

878:                                              ; preds = %877
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %81) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %81) #7
  %879 = getelementptr inbounds [3 x ptr], ptr %1, i64 0, i64 %.0287
  %880 = load ptr, ptr %879, align 8, !tbaa !5
  %881 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %71, ptr noundef nonnull dereferenceable(1) %880) #8
  %882 = icmp eq i32 %881, 0
  br i1 %882, label %883, label %897

883:                                              ; preds = %878
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %82) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %82, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %884 unwind label %892

884:                                              ; preds = %883
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %82)
          to label %885 unwind label %894

885:                                              ; preds = %884
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %82) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %82) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #7
  %886 = add nuw nsw i64 %.0287, 1
  %exitcond288.not = icmp eq i64 %886, 3
  br i1 %exitcond288.not, label %765, label %766, !llvm.loop !17

887:                                              ; preds = %858
  %888 = landingpad { ptr, i32 }
          cleanup
  br label %891

889:                                              ; preds = %877
  %890 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %81) #7
  br label %891

891:                                              ; preds = %889, %887
  %.pn216 = phi { ptr, i32 } [ %890, %889 ], [ %888, %887 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %81) #7
  br label %905

892:                                              ; preds = %883
  %893 = landingpad { ptr, i32 }
          cleanup
  br label %896

894:                                              ; preds = %884
  %895 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %82) #7
  br label %896

896:                                              ; preds = %894, %892
  %.pn220 = phi { ptr, i32 } [ %895, %894 ], [ %893, %892 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %82) #7
  br label %905

897:                                              ; preds = %878
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %83) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %83, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %898 unwind label %900

898:                                              ; preds = %897
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %83)
          to label %899 unwind label %902

899:                                              ; preds = %898
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %83) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %83) #7
  br label %.invoke297

900:                                              ; preds = %897
  %901 = landingpad { ptr, i32 }
          cleanup
  br label %904

902:                                              ; preds = %898
  %903 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %83) #7
  br label %904

904:                                              ; preds = %902, %900
  %.pn218 = phi { ptr, i32 } [ %903, %902 ], [ %901, %900 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %83) #7
  br label %905

905:                                              ; preds = %.loopexit, %.loopexit.split-lp, %904, %896, %891, %876, %868, %863, %837, %829, %824, %796, %787, %782
  %.pn220.pn = phi { ptr, i32 } [ %.pn220, %896 ], [ %.pn218, %904 ], [ %.pn216, %891 ], [ %.pn214, %868 ], [ %.pn212, %876 ], [ %.pn210, %863 ], [ %.pn208, %829 ], [ %.pn206, %837 ], [ %.pn204, %824 ], [ %.pn202, %787 ], [ %.pn200, %796 ], [ %.pn198, %782 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #7
  br label %936

906:                                              ; preds = %765
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %84)
          to label %907 unwind label %919

907:                                              ; preds = %906
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %84) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %84) #7
  %908 = call noundef ptr @_ZNK2vl3PtrINS_8database10ILogReaderEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %59)
  %909 = load ptr, ptr %908, align 8, !tbaa !11
  %910 = getelementptr inbounds i8, ptr %909, i64 32
  %911 = load ptr, ptr %910, align 8
  %912 = invoke noundef zeroext i1 %911(ptr noundef nonnull align 8 dereferenceable(8) %908)
          to label %913 unwind label %687

913:                                              ; preds = %907
  br i1 %912, label %927, label %914

914:                                              ; preds = %913
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %85) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %85, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %915 unwind label %922

915:                                              ; preds = %914
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %85)
          to label %916 unwind label %924

916:                                              ; preds = %915
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %85) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %85) #7
  call void @_ZN2vl3PtrINS_8database10ILogReaderEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #7
  call void @_ZN2vl8database10LogManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(304) %7) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %7) #7
  call void @_ZN2vl8database13BufferManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(168) %3) #7
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %3) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %1) #7
  ret void

917:                                              ; preds = %765
  %918 = landingpad { ptr, i32 }
          cleanup
  br label %921

919:                                              ; preds = %906
  %920 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %84) #7
  br label %921

921:                                              ; preds = %919, %917
  %.pn192 = phi { ptr, i32 } [ %920, %919 ], [ %918, %917 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %84) #7
  br label %936

922:                                              ; preds = %914
  %923 = landingpad { ptr, i32 }
          cleanup
  br label %926

924:                                              ; preds = %915
  %925 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %85) #7
  br label %926

926:                                              ; preds = %924, %922
  %.pn196 = phi { ptr, i32 } [ %925, %924 ], [ %923, %922 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %85) #7
  br label %936

927:                                              ; preds = %913
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %86) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %86, ptr noundef nonnull @.str.3, i1 noundef zeroext true)
          to label %928 unwind label %931

928:                                              ; preds = %927
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %86)
          to label %929 unwind label %933

929:                                              ; preds = %928
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %86) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %86) #7
  br label %.invoke295

.invoke295:                                       ; preds = %696, %732, %759, %929
  %930 = call ptr @__cxa_allocate_exception(i64 4) #7
  store i32 0, ptr %930, align 16, !tbaa !13
  invoke void @__cxa_throw(ptr nonnull %930, ptr nonnull @_ZTIi, ptr null) #9
          to label %.cont296 unwind label %687

.cont296:                                         ; preds = %.invoke295
  unreachable

931:                                              ; preds = %927
  %932 = landingpad { ptr, i32 }
          cleanup
  br label %935

933:                                              ; preds = %928
  %934 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %86) #7
  br label %935

935:                                              ; preds = %933, %931
  %.pn194 = phi { ptr, i32 } [ %934, %933 ], [ %932, %931 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %86) #7
  br label %936

936:                                              ; preds = %935, %926, %921, %905, %764, %756, %750, %749, %737, %729, %723, %722, %701, %693, %687, %686
  %.pn220.pn.pn = phi { ptr, i32 } [ %.pn220.pn, %905 ], [ %.pn196, %926 ], [ %688, %687 ], [ %.pn194, %935 ], [ %.pn192, %921 ], [ %.pn190, %756 ], [ %.pn188, %764 ], [ %751, %750 ], [ %.pn186, %749 ], [ %.pn184, %729 ], [ %.pn182, %737 ], [ %724, %723 ], [ %.pn180, %722 ], [ %.pn178, %693 ], [ %.pn176, %701 ], [ %.pn174, %686 ]
  call void @_ZN2vl3PtrINS_8database10ILogReaderEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  br label %937

937:                                              ; preds = %936, %680
  %.pn220.pn.pn.pn = phi { ptr, i32 } [ %.pn220.pn.pn, %936 ], [ %681, %680 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  br label %938

938:                                              ; preds = %937, %672, %663, %658, %646, %638, %633, %628, %356, %165, %157, %152, %140, %132, %127, %121
  %.pn268.pn.pn.pn = phi { ptr, i32 } [ %.pn268.pn.pn, %356 ], [ %.pn247.pn.pn.pn, %628 ], [ %.pn220.pn.pn.pn, %937 ], [ %.pn172, %663 ], [ %122, %121 ], [ %.pn170, %672 ], [ %.pn168, %658 ], [ %.pn166, %638 ], [ %.pn164, %646 ], [ %.pn162, %633 ], [ %.pn136, %157 ], [ %.pn134, %165 ], [ %.pn132, %152 ], [ %.pn130, %132 ], [ %.pn128, %140 ], [ %.pn126, %127 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #7
  call void @_ZN2vl8database10LogManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(304) %7) #7
  br label %939

939:                                              ; preds = %938, %119
  %.pn268.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn268.pn.pn.pn, %938 ], [ %120, %119 ]
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %7) #7
  br label %940

940:                                              ; preds = %939, %118
  %.pn268.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn268.pn.pn.pn.pn, %939 ], [ %.pn.pn.pn, %118 ]
  call void @_ZN2vl8database13BufferManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(168) %3) #7
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %3) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %1) #7
  resume { ptr, i32 } %.pn268.pn.pn.pn.pn.pn
}

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i64 @strlen(ptr nocapture noundef) local_unnamed_addr #5

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #6

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { mustprogress nofree nounwind willreturn memory(argmem: read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #7 = { nounwind }
attributes #8 = { nounwind willreturn memory(read) }
attributes #9 = { noreturn }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"long", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"vtable pointer", !8, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"int", !7, i64 0}
!15 = distinct !{!15, !16}
!16 = !{!"llvm.loop.mustprogress"}
!17 = distinct !{!17, !16}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,LoopRotatePass,LoopSimplifyPass,SROAPass,SimplifyCFGPass,TailCallElimPass