; LLVM IR from vczh/herodb :: Kernel/UnitTest/TestUtility_Lock.ll (Z40TestFunction_Utility_Lock_SimpleDeadlockv)

; 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::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::Object" = type { ptr }
%"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::LockManager" = type { %"class.vl::Object", ptr, %"class.vl::SpinLock", %"class.vl::collections::Dictionary.7", %"class.vl::collections::Dictionary.26", %"class.vl::collections::Array", %"class.vl::collections::Dictionary.49" }
%"class.vl::collections::Dictionary.7" = type { %"class.vl::Object", %"class.vl::collections::SortedList.8", %"class.vl::collections::List.16", %"class.vl::collections::IEnumerable.24" }
%"class.vl::collections::SortedList.8" = type { %"class.vl::collections::ListBase.base.14", %"class.vl::collections::IEnumerable.12" }
%"class.vl::collections::ListBase.base.14" = type <{ %"class.vl::collections::ArrayBase.base.13", i64, i8 }>
%"class.vl::collections::ArrayBase.base.13" = type { %"class.vl::collections::ListStore.11", ptr, i64 }
%"class.vl::collections::ListStore.11" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.12" = type { %"class.vl::Interface" }
%"class.vl::collections::List.16" = type { %"class.vl::collections::ListBase.base.22", %"class.vl::collections::IEnumerable.20" }
%"class.vl::collections::ListBase.base.22" = type <{ %"class.vl::collections::ArrayBase.base.21", i64, i8 }>
%"class.vl::collections::ArrayBase.base.21" = type { %"class.vl::collections::ListStore.19", ptr, i64 }
%"class.vl::collections::ListStore.19" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.20" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.24" = type { %"class.vl::Interface" }
%"class.vl::collections::Dictionary.26" = type { %"class.vl::Object", %"class.vl::collections::SortedList.27", %"class.vl::collections::List.35", %"class.vl::collections::IEnumerable.43" }
%"class.vl::collections::SortedList.27" = type { %"class.vl::collections::ListBase.base.33", %"class.vl::collections::IEnumerable.31" }
%"class.vl::collections::ListBase.base.33" = type <{ %"class.vl::collections::ArrayBase.base.32", i64, i8 }>
%"class.vl::collections::ArrayBase.base.32" = type { %"class.vl::collections::ListStore.30", ptr, i64 }
%"class.vl::collections::ListStore.30" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.31" = type { %"class.vl::Interface" }
%"class.vl::collections::List.35" = type { %"class.vl::collections::ListBase.base.41", %"class.vl::collections::IEnumerable.39" }
%"class.vl::collections::ListBase.base.41" = type <{ %"class.vl::collections::ArrayBase.base.40", i64, i8 }>
%"class.vl::collections::ArrayBase.base.40" = type { %"class.vl::collections::ListStore.38", ptr, i64 }
%"class.vl::collections::ListStore.38" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.39" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.43" = type { %"class.vl::Interface" }
%"class.vl::collections::Array" = type { %"class.vl::collections::ArrayBase.base.48", %"class.vl::collections::IEnumerable.47" }
%"class.vl::collections::ArrayBase.base.48" = type { %"class.vl::collections::ListStore.46", ptr, i64 }
%"class.vl::collections::ListStore.46" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.47" = type { %"class.vl::Interface" }
%"class.vl::collections::Dictionary.49" = type { %"class.vl::Object", %"class.vl::collections::SortedList.50", %"class.vl::collections::List.58", %"class.vl::collections::IEnumerable.66" }
%"class.vl::collections::SortedList.50" = type { %"class.vl::collections::ListBase.base.56", %"class.vl::collections::IEnumerable.54" }
%"class.vl::collections::ListBase.base.56" = type <{ %"class.vl::collections::ArrayBase.base.55", i64, i8 }>
%"class.vl::collections::ArrayBase.base.55" = type { %"class.vl::collections::ListStore.53", ptr, i64 }
%"class.vl::collections::ListStore.53" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.54" = type { %"class.vl::Interface" }
%"class.vl::collections::List.58" = type { %"class.vl::collections::ListBase.base.64", %"class.vl::collections::IEnumerable.62" }
%"class.vl::collections::ListBase.base.64" = type <{ %"class.vl::collections::ArrayBase.base.63", i64, i8 }>
%"class.vl::collections::ArrayBase.base.63" = type { %"class.vl::collections::ListStore.61", ptr, i64 }
%"class.vl::collections::ListStore.61" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.62" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.66" = type { %"class.vl::Interface" }
%"struct.vl::database::IdObject.68" = type { i32 }
%"struct.vl::database::IdObject.69" = type { i64 }
%"struct.vl::database::IdObject.70" = type { i64 }
%"class.vl::ObjectString" = type { %"class.vl::Object", ptr, ptr, i64, i64, i64 }
%"struct.vl::database::LockTarget" = type { i32, i32, %"struct.vl::database::IdObject.68", %union.anon }
%union.anon = type { %"struct.vl::database::IdObject.70" }
%"struct.vl::database::LockResult" = type { i8, ptr }
%"struct.vl::database::DeadlockInfo" = type { %"class.vl::collections::Group", %"class.vl::collections::Dictionary.86", %"class.vl::collections::List.96" }
%"class.vl::collections::Group" = type { %"class.vl::Object", %"class.vl::collections::SortedList.27", %"class.vl::collections::List.77", %"class.vl::collections::IEnumerable.85" }
%"class.vl::collections::List.77" = type { %"class.vl::collections::ListBase.base.83", %"class.vl::collections::IEnumerable.81" }
%"class.vl::collections::ListBase.base.83" = type <{ %"class.vl::collections::ArrayBase.base.82", i64, i8 }>
%"class.vl::collections::ArrayBase.base.82" = type { %"class.vl::collections::ListStore.80", ptr, i64 }
%"class.vl::collections::ListStore.80" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.81" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.85" = type { %"class.vl::Interface" }
%"class.vl::collections::Dictionary.86" = type { %"class.vl::Object", %"class.vl::collections::SortedList.27", %"class.vl::collections::List.87", %"class.vl::collections::IEnumerable.85" }
%"class.vl::collections::List.87" = type { %"class.vl::collections::ListBase.base.93", %"class.vl::collections::IEnumerable.91" }
%"class.vl::collections::ListBase.base.93" = type <{ %"class.vl::collections::ArrayBase.base.92", i64, i8 }>
%"class.vl::collections::ArrayBase.base.92" = type { %"class.vl::collections::ListStore.90", ptr, i64 }
%"class.vl::collections::ListStore.90" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.91" = type { %"class.vl::Interface" }
%"class.vl::collections::List.96" = type { %"class.vl::collections::ListBase.base.33", %"class.vl::collections::IEnumerable.31" }

@.str.1 = external hidden unnamed_addr constant [11 x i32], align 4
@.str.2 = external hidden unnamed_addr constant [11 x i32], align 4
@_ZTIi = external constant ptr
@.str.7 = external hidden unnamed_addr constant [46 x i32], align 4
@.str.25 = external hidden unnamed_addr constant [45 x i32], align 4
@.str.26 = external hidden unnamed_addr constant [45 x i32], align 4
@.str.27 = external hidden unnamed_addr constant [46 x i32], align 4
@.str.28 = external hidden unnamed_addr constant [46 x i32], align 4
@.str.29 = external hidden unnamed_addr constant [46 x i32], align 4
@.str.32 = external hidden unnamed_addr constant [38 x i32], align 4
@.str.33 = external hidden unnamed_addr constant [38 x i32], align 4
@.str.39 = external hidden unnamed_addr constant [45 x i32], align 4
@.str.40 = external hidden unnamed_addr constant [24 x i32], align 4
@.str.41 = external hidden unnamed_addr constant [45 x i32], align 4
@.str.42 = external hidden unnamed_addr constant [23 x i32], align 4
@.str.44 = external hidden unnamed_addr constant [59 x i32], align 4
@.str.50 = external hidden unnamed_addr constant [45 x i32], align 4
@.str.51 = external hidden unnamed_addr constant [45 x i32], align 4
@.str.55 = external hidden unnamed_addr constant [31 x i32], align 4
@.str.56 = external hidden unnamed_addr constant [38 x i32], align 4
@.str.57 = external hidden unnamed_addr constant [45 x i32], align 4
@.str.58 = external hidden unnamed_addr constant [43 x i32], align 4
@.str.59 = external hidden unnamed_addr constant [38 x i32], align 4
@.str.60 = external hidden unnamed_addr constant [45 x i32], align 4
@.str.61 = external hidden unnamed_addr constant [43 x i32], align 4
@.str.62 = external hidden unnamed_addr constant [30 x i32], align 4
@.str.63 = external hidden unnamed_addr constant [37 x i32], align 4
@.str.64 = external hidden unnamed_addr constant [37 x i32], align 4
@.str.65 = external hidden unnamed_addr constant [37 x i32], align 4
@.str.66 = external hidden unnamed_addr constant [37 x i32], align 4
@.str.67 = external hidden unnamed_addr constant [32 x i32], align 4
@.str.68 = external hidden unnamed_addr constant [63 x i32], align 4
@.str.69 = external hidden unnamed_addr constant [34 x i32], align 4
@.str.70 = external hidden unnamed_addr constant [57 x i32], align 4
@.str.71 = external hidden unnamed_addr constant [57 x i32], align 4
@.str.72 = external hidden unnamed_addr constant [57 x i32], align 4
@.str.73 = external hidden unnamed_addr constant [57 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 @_ZN2vl8database13BufferManager16LoadMemorySourceEv(ptr noundef nonnull align 8 dereferenceable(168)) #1

declare i32 @__gxx_personality_v0(...)

declare void @_ZN2vl8database11LockManagerC1EPNS0_13BufferManagerE(ptr noundef nonnull align 8 dereferenceable(400), ptr noundef) unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN2vl8database8IdObjectIiLl4EEC2Ei(ptr noundef nonnull align 4 dereferenceable(4), i32 noundef) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN2vl8database8IdObjectImLl3EEC2Em(ptr noundef nonnull align 8 dereferenceable(8), i64 noundef) unnamed_addr #2 align 2

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

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

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

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

declare noundef zeroext i1 @_ZN2vl8database11LockManager13RegisterTableENS0_8IdObjectIiLl4EEENS2_IiLl0EEE(ptr noundef nonnull align 8 dereferenceable(400), i32, i32) #1

; 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 ptr @__cxa_allocate_exception(i64)

declare void @__cxa_throw(ptr, ptr, ptr)

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN2vl8database10LockResultC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #6 align 2

declare noundef zeroext i1 @_ZN2vl8database11LockManager11AcquireLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetERNS0_10LockResultE(ptr noundef nonnull align 8 dereferenceable(400), i64, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) #1

declare noundef zeroext i1 @_ZN2vl8database11LockManager11ReleaseLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetE(ptr noundef nonnull align 8 dereferenceable(400), i64, ptr noundef nonnull align 8 dereferenceable(24)) #1

declare i64 @_ZN2vl8database13BufferManager12AllocatePageENS0_8IdObjectIiLl0EEE(ptr noundef nonnull align 8 dereferenceable(168), i32) #1

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN2vl8database10LockTargetC2ENS0_16LockTargetAccessENS0_8IdObjectIiLl4EEE(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, i32) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local i64 @_ZN2vl8database8IdObjectImLl3EE7InvalidEv() #3 align 2

declare noundef zeroext i1 @_ZN2vl8database11LockManager13TableHasLocksENS0_8IdObjectIiLl4EEE(ptr noundef nonnull align 8 dereferenceable(400), i32) #1

declare i64 @_ZN2vl8database11LockManager15PickTransactionERNS0_10LockResultE(ptr noundef nonnull align 8 dereferenceable(400), ptr noundef nonnull align 8 dereferenceable(16)) #1

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

; Function Attrs: mustprogress uwtable
define dso_local void @_Z40TestFunction_Utility_Lock_SimpleDeadlockv() #3 personality ptr @__gxx_personality_v0 {
  %1 = alloca %"class.vl::database::BufferManager", align 8
  %2 = alloca %"struct.vl::database::IdObject", align 4
  %3 = alloca ptr, align 8
  %4 = alloca i32, align 4
  %5 = alloca %"class.vl::database::LockManager", align 8
  %6 = alloca %"struct.vl::database::IdObject.68", align 4
  %7 = alloca %"struct.vl::database::IdObject.68", align 4
  %8 = alloca %"struct.vl::database::IdObject.69", align 8
  %9 = alloca %"struct.vl::database::IdObject.69", align 8
  %10 = alloca %"struct.vl::database::IdObject.69", align 8
  %11 = alloca %"struct.vl::database::IdObject.69", align 8
  %12 = alloca %"struct.vl::database::IdObject.70", align 8
  %13 = alloca %"struct.vl::database::IdObject", align 4
  %14 = alloca %"struct.vl::database::IdObject.70", align 8
  %15 = alloca %"struct.vl::database::IdObject", align 4
  %16 = alloca %"class.vl::ObjectString", align 8
  %17 = alloca %"struct.vl::database::IdObject.68", align 4
  %18 = alloca %"struct.vl::database::IdObject", align 4
  %19 = alloca %"class.vl::ObjectString", align 8
  %20 = alloca %"class.vl::ObjectString", align 8
  %21 = alloca %"class.vl::ObjectString", align 8
  %22 = alloca %"struct.vl::database::IdObject.68", align 4
  %23 = alloca %"struct.vl::database::IdObject", align 4
  %24 = alloca %"class.vl::ObjectString", align 8
  %25 = alloca %"class.vl::ObjectString", align 8
  %26 = alloca %"class.vl::ObjectString", align 8
  %27 = alloca %"struct.vl::database::IdObject.69", 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 %"struct.vl::database::IdObject.69", 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 %"struct.vl::database::IdObject.69", align 8
  %36 = alloca %"class.vl::ObjectString", align 8
  %37 = alloca %"class.vl::ObjectString", align 8
  %38 = alloca %"class.vl::ObjectString", align 8
  %39 = alloca %"struct.vl::database::IdObject.69", align 8
  %40 = alloca %"class.vl::ObjectString", align 8
  %41 = alloca %"class.vl::ObjectString", align 8
  %42 = alloca %"struct.vl::database::IdObject.69", align 8
  %43 = alloca %"struct.vl::database::LockTarget", align 8
  %44 = alloca %"struct.vl::database::LockResult", align 8
  %45 = alloca %"struct.vl::database::LockTarget", align 8
  %46 = alloca %"struct.vl::database::IdObject.68", align 4
  %47 = alloca %"struct.vl::database::LockTarget", align 8
  %48 = alloca %"struct.vl::database::IdObject.68", align 4
  %49 = alloca %"struct.vl::database::LockTarget", align 8
  %50 = alloca %"struct.vl::database::IdObject.68", align 4
  %51 = alloca %"struct.vl::database::LockTarget", align 8
  %52 = alloca %"struct.vl::database::IdObject.68", align 4
  %53 = alloca %"class.vl::ObjectString", align 8
  %54 = alloca %"struct.vl::database::IdObject.69", 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 %"struct.vl::database::IdObject.69", 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 %"struct.vl::database::IdObject.69", align 8
  %69 = alloca %"class.vl::ObjectString", 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 %"class.vl::ObjectString", align 8
  %74 = alloca %"class.vl::ObjectString", align 8
  %75 = alloca %"struct.vl::database::IdObject.69", 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 %"struct.vl::database::IdObject.69", align 8
  %83 = alloca %"struct.vl::database::IdObject.69", align 8
  %84 = alloca %"class.vl::ObjectString", align 8
  %85 = alloca %"class.vl::ObjectString", align 8
  %86 = alloca %"struct.vl::database::DeadlockInfo", align 8
  %87 = alloca %"class.vl::ObjectString", align 8
  %88 = alloca %"class.vl::ObjectString", align 8
  %89 = alloca %"class.vl::ObjectString", align 8
  %90 = alloca %"class.vl::ObjectString", align 8
  %91 = alloca %"struct.vl::database::IdObject.69", align 8
  %92 = alloca %"class.vl::ObjectString", align 8
  %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 %"struct.vl::database::IdObject.69", 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
  %108 = alloca %"class.vl::ObjectString", align 8
  %109 = alloca %"class.vl::ObjectString", align 8
  %110 = alloca %"class.vl::ObjectString", align 8
  %111 = alloca %"class.vl::ObjectString", align 8
  %112 = alloca %"class.vl::ObjectString", align 8
  %113 = alloca %"class.vl::ObjectString", align 8
  %114 = alloca %"struct.vl::database::IdObject.69", align 8
  %115 = alloca %"class.vl::ObjectString", align 8
  %116 = alloca %"class.vl::ObjectString", align 8
  %117 = alloca %"class.vl::ObjectString", align 8
  %118 = alloca %"class.vl::ObjectString", align 8
  %119 = alloca %"class.vl::ObjectString", align 8
  %120 = alloca %"class.vl::ObjectString", align 8
  %121 = alloca %"struct.vl::database::IdObject.69", align 8
  %122 = alloca %"class.vl::ObjectString", align 8
  %123 = alloca %"class.vl::ObjectString", align 8
  %124 = alloca %"class.vl::ObjectString", align 8
  %125 = alloca %"class.vl::ObjectString", align 8
  %126 = alloca %"class.vl::ObjectString", align 8
  %127 = alloca %"class.vl::ObjectString", align 8
  %128 = alloca %"class.vl::ObjectString", align 8
  %129 = alloca %"class.vl::ObjectString", align 8
  %130 = alloca %"class.vl::ObjectString", align 8
  %131 = alloca %"struct.vl::database::IdObject.69", align 8
  %132 = alloca %"struct.vl::database::IdObject.69", align 8
  %133 = alloca %"class.vl::ObjectString", align 8
  %134 = alloca %"class.vl::ObjectString", align 8
  %135 = alloca %"struct.vl::database::IdObject.69", align 8
  %136 = alloca %"class.vl::ObjectString", align 8
  %137 = alloca %"struct.vl::database::IdObject.69", align 8
  %138 = alloca %"class.vl::ObjectString", align 8
  %139 = alloca %"class.vl::ObjectString", align 8
  %140 = alloca %"class.vl::ObjectString", align 8
  %141 = alloca %"struct.vl::database::IdObject.69", align 8
  %142 = alloca %"struct.vl::database::IdObject.69", align 8
  %143 = alloca %"class.vl::ObjectString", align 8
  %144 = alloca %"class.vl::ObjectString", align 8
  %145 = alloca %"class.vl::ObjectString", align 8
  %146 = alloca %"struct.vl::database::IdObject.69", align 8
  %147 = alloca %"struct.vl::database::IdObject.69", align 8
  %148 = alloca %"class.vl::ObjectString", align 8
  %149 = alloca %"class.vl::ObjectString", align 8
  %150 = alloca %"class.vl::ObjectString", align 8
  %151 = alloca %"struct.vl::database::IdObject.69", align 8
  %152 = alloca %"struct.vl::database::IdObject.69", align 8
  %153 = alloca %"class.vl::ObjectString", align 8
  %154 = alloca %"class.vl::ObjectString", align 8
  %155 = alloca %"class.vl::ObjectString", align 8
  %156 = alloca %"struct.vl::database::IdObject.69", align 8
  %157 = alloca %"struct.vl::database::IdObject.69", align 8
  %158 = alloca %"class.vl::ObjectString", align 8
  %159 = alloca %"class.vl::ObjectString", align 8
  %160 = alloca %"class.vl::ObjectString", align 8
  %161 = alloca %"struct.vl::database::IdObject.68", align 4
  %162 = alloca %"class.vl::ObjectString", align 8
  %163 = alloca %"class.vl::ObjectString", align 8
  %164 = alloca %"class.vl::ObjectString", align 8
  %165 = alloca %"struct.vl::database::IdObject.68", align 4
  %166 = alloca %"class.vl::ObjectString", align 8
  %167 = alloca %"class.vl::ObjectString", align 8
  call void @llvm.lifetime.start.p0(i64 168, ptr %1) #8
  call void @_ZN2vl8database13BufferManagerC1Emm(ptr noundef nonnull align 8 dereferenceable(168) %1, i64 noundef 4096, i64 noundef 1024)
  call void @llvm.lifetime.start.p0(i64 4, ptr %2) #8
  %168 = invoke i32 @_ZN2vl8database13BufferManager16LoadMemorySourceEv(ptr noundef nonnull align 8 dereferenceable(168) %1)
          to label %169 unwind label %202

169:                                              ; preds = %0
  %170 = getelementptr inbounds %"struct.vl::database::IdObject", ptr %2, i32 0, i32 0
  store i32 %168, ptr %170, align 4
  call void @llvm.lifetime.start.p0(i64 400, ptr %5) #8
  invoke void @_ZN2vl8database11LockManagerC1EPNS0_13BufferManagerE(ptr noundef nonnull align 8 dereferenceable(400) %5, ptr noundef %1)
          to label %171 unwind label %206

171:                                              ; preds = %169
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #8
  invoke void @_ZN2vl8database8IdObjectIiLl4EEC2Ei(ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1)
          to label %172 unwind label %210

172:                                              ; preds = %171
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #8
  invoke void @_ZN2vl8database8IdObjectIiLl4EEC2Ei(ptr noundef nonnull align 4 dereferenceable(4) %7, i32 noundef 2)
          to label %173 unwind label %214

173:                                              ; preds = %172
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #8
  invoke void @_ZN2vl8database8IdObjectImLl3EEC2Em(ptr noundef nonnull align 8 dereferenceable(8) %8, i64 noundef 1)
          to label %174 unwind label %218

174:                                              ; preds = %173
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #8
  invoke void @_ZN2vl8database8IdObjectImLl3EEC2Em(ptr noundef nonnull align 8 dereferenceable(8) %9, i64 noundef 2)
          to label %175 unwind label %222

175:                                              ; preds = %174
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #8
  invoke void @_ZN2vl8database8IdObjectImLl3EEC2Em(ptr noundef nonnull align 8 dereferenceable(8) %10, i64 noundef 3)
          to label %176 unwind label %226

176:                                              ; preds = %175
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #8
  invoke void @_ZN2vl8database8IdObjectImLl3EEC2Em(ptr noundef nonnull align 8 dereferenceable(8) %11, i64 noundef 4)
          to label %177 unwind label %230

177:                                              ; preds = %176
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %13, ptr align 4 %2, i64 4, i1 false), !tbaa.struct !5
  %178 = getelementptr inbounds %"struct.vl::database::IdObject", ptr %13, i32 0, i32 0
  %179 = load i32, ptr %178, align 4
  %180 = invoke i64 @_ZN2vl8database13BufferManager12AllocatePageENS0_8IdObjectIiLl0EEE(ptr noundef nonnull align 8 dereferenceable(168) %1, i32 %179)
          to label %181 unwind label %234

181:                                              ; preds = %177
  %182 = getelementptr inbounds %"struct.vl::database::IdObject.70", ptr %12, i32 0, i32 0
  store i64 %180, ptr %182, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %15, ptr align 4 %2, i64 4, i1 false), !tbaa.struct !5
  %183 = getelementptr inbounds %"struct.vl::database::IdObject", ptr %15, i32 0, i32 0
  %184 = load i32, ptr %183, align 4
  %185 = invoke i64 @_ZN2vl8database13BufferManager12AllocatePageENS0_8IdObjectIiLl0EEE(ptr noundef nonnull align 8 dereferenceable(168) %1, i32 %184)
          to label %186 unwind label %238

186:                                              ; preds = %181
  %187 = getelementptr inbounds %"struct.vl::database::IdObject.70", ptr %14, i32 0, i32 0
  store i64 %185, ptr %187, align 8
  br label %188

188:                                              ; preds = %186
  call void @llvm.lifetime.start.p0(i64 48, ptr %16) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef @.str.25, i1 noundef zeroext true)
          to label %189 unwind label %242

189:                                              ; preds = %188
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %16)
          to label %190 unwind label %246

190:                                              ; preds = %189
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %16) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %16) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %17, ptr align 4 %6, i64 4, i1 false), !tbaa.struct !5
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %18, ptr align 4 %2, i64 4, i1 false), !tbaa.struct !5
  %191 = getelementptr inbounds %"struct.vl::database::IdObject.68", ptr %17, i32 0, i32 0
  %192 = load i32, ptr %191, align 4
  %193 = getelementptr inbounds %"struct.vl::database::IdObject", ptr %18, i32 0, i32 0
  %194 = load i32, ptr %193, align 4
  %195 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager13RegisterTableENS0_8IdObjectIiLl4EEENS2_IiLl0EEE(ptr noundef nonnull align 8 dereferenceable(400) %5, i32 %192, i32 %194)
          to label %196 unwind label %238

196:                                              ; preds = %190
  %197 = zext i1 %195 to i32
  %198 = icmp eq i32 %197, 1
  br i1 %198, label %199, label %260

199:                                              ; preds = %196
  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.1, i1 noundef zeroext true)
          to label %200 unwind label %251

200:                                              ; preds = %199
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %19)
          to label %201 unwind label %255

201:                                              ; preds = %200
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %19) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %19) #8
  br label %273

202:                                              ; preds = %0
  %203 = landingpad { ptr, i32 }
          cleanup
  %204 = extractvalue { ptr, i32 } %203, 0
  store ptr %204, ptr %3, align 8
  %205 = extractvalue { ptr, i32 } %203, 1
  store i32 %205, ptr %4, align 4
  br label %2004

206:                                              ; preds = %169
  %207 = landingpad { ptr, i32 }
          cleanup
  %208 = extractvalue { ptr, i32 } %207, 0
  store ptr %208, ptr %3, align 8
  %209 = extractvalue { ptr, i32 } %207, 1
  store i32 %209, ptr %4, align 4
  br label %2003

210:                                              ; preds = %171
  %211 = landingpad { ptr, i32 }
          cleanup
  %212 = extractvalue { ptr, i32 } %211, 0
  store ptr %212, ptr %3, align 8
  %213 = extractvalue { ptr, i32 } %211, 1
  store i32 %213, ptr %4, align 4
  br label %2002

214:                                              ; preds = %172
  %215 = landingpad { ptr, i32 }
          cleanup
  %216 = extractvalue { ptr, i32 } %215, 0
  store ptr %216, ptr %3, align 8
  %217 = extractvalue { ptr, i32 } %215, 1
  store i32 %217, ptr %4, align 4
  br label %2001

218:                                              ; preds = %173
  %219 = landingpad { ptr, i32 }
          cleanup
  %220 = extractvalue { ptr, i32 } %219, 0
  store ptr %220, ptr %3, align 8
  %221 = extractvalue { ptr, i32 } %219, 1
  store i32 %221, ptr %4, align 4
  br label %2000

222:                                              ; preds = %174
  %223 = landingpad { ptr, i32 }
          cleanup
  %224 = extractvalue { ptr, i32 } %223, 0
  store ptr %224, ptr %3, align 8
  %225 = extractvalue { ptr, i32 } %223, 1
  store i32 %225, ptr %4, align 4
  br label %1999

226:                                              ; preds = %175
  %227 = landingpad { ptr, i32 }
          cleanup
  %228 = extractvalue { ptr, i32 } %227, 0
  store ptr %228, ptr %3, align 8
  %229 = extractvalue { ptr, i32 } %227, 1
  store i32 %229, ptr %4, align 4
  br label %1998

230:                                              ; preds = %176
  %231 = landingpad { ptr, i32 }
          cleanup
  %232 = extractvalue { ptr, i32 } %231, 0
  store ptr %232, ptr %3, align 8
  %233 = extractvalue { ptr, i32 } %231, 1
  store i32 %233, ptr %4, align 4
  br label %1997

234:                                              ; preds = %177
  %235 = landingpad { ptr, i32 }
          cleanup
  %236 = extractvalue { ptr, i32 } %235, 0
  store ptr %236, ptr %3, align 8
  %237 = extractvalue { ptr, i32 } %235, 1
  store i32 %237, ptr %4, align 4
  br label %1996

238:                                              ; preds = %494, %464, %448, %418, %402, %372, %356, %326, %310, %278, %262, %190, %181
  %239 = landingpad { ptr, i32 }
          cleanup
  %240 = extractvalue { ptr, i32 } %239, 0
  store ptr %240, ptr %3, align 8
  %241 = extractvalue { ptr, i32 } %239, 1
  store i32 %241, ptr %4, align 4
  br label %1995

242:                                              ; preds = %188
  %243 = landingpad { ptr, i32 }
          cleanup
  %244 = extractvalue { ptr, i32 } %243, 0
  store ptr %244, ptr %3, align 8
  %245 = extractvalue { ptr, i32 } %243, 1
  store i32 %245, ptr %4, align 4
  br label %250

246:                                              ; preds = %189
  %247 = landingpad { ptr, i32 }
          cleanup
  %248 = extractvalue { ptr, i32 } %247, 0
  store ptr %248, ptr %3, align 8
  %249 = extractvalue { ptr, i32 } %247, 1
  store i32 %249, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %16) #8
  br label %250

250:                                              ; preds = %246, %242
  call void @llvm.lifetime.end.p0(i64 48, ptr %16) #8
  br label %1995

251:                                              ; preds = %199
  %252 = landingpad { ptr, i32 }
          cleanup
  %253 = extractvalue { ptr, i32 } %252, 0
  store ptr %253, ptr %3, align 8
  %254 = extractvalue { ptr, i32 } %252, 1
  store i32 %254, ptr %4, align 4
  br label %259

255:                                              ; preds = %200
  %256 = landingpad { ptr, i32 }
          cleanup
  %257 = extractvalue { ptr, i32 } %256, 0
  store ptr %257, ptr %3, align 8
  %258 = extractvalue { ptr, i32 } %256, 1
  store i32 %258, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %19) #8
  br label %259

259:                                              ; preds = %255, %251
  call void @llvm.lifetime.end.p0(i64 48, ptr %19) #8
  br label %1995

260:                                              ; preds = %196
  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.2, i1 noundef zeroext true)
          to label %261 unwind label %264

261:                                              ; preds = %260
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %20)
          to label %262 unwind label %268

262:                                              ; preds = %261
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %20) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %20) #8
  %263 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %263, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %263, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %238

264:                                              ; preds = %260
  %265 = landingpad { ptr, i32 }
          cleanup
  %266 = extractvalue { ptr, i32 } %265, 0
  store ptr %266, ptr %3, align 8
  %267 = extractvalue { ptr, i32 } %265, 1
  store i32 %267, ptr %4, align 4
  br label %272

268:                                              ; preds = %261
  %269 = landingpad { ptr, i32 }
          cleanup
  %270 = extractvalue { ptr, i32 } %269, 0
  store ptr %270, ptr %3, align 8
  %271 = extractvalue { ptr, i32 } %269, 1
  store i32 %271, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %20) #8
  br label %272

272:                                              ; preds = %268, %264
  call void @llvm.lifetime.end.p0(i64 48, ptr %20) #8
  br label %1995

273:                                              ; preds = %201
  br label %274

274:                                              ; preds = %273
  br label %275

275:                                              ; preds = %274
  br label %276

276:                                              ; preds = %275
  call void @llvm.lifetime.start.p0(i64 48, ptr %21) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %21, ptr noundef @.str.26, i1 noundef zeroext true)
          to label %277 unwind label %290

277:                                              ; preds = %276
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %21)
          to label %278 unwind label %294

278:                                              ; preds = %277
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %21) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %21) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %22, ptr align 4 %7, i64 4, i1 false), !tbaa.struct !5
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %23, ptr align 4 %2, i64 4, i1 false), !tbaa.struct !5
  %279 = getelementptr inbounds %"struct.vl::database::IdObject.68", ptr %22, i32 0, i32 0
  %280 = load i32, ptr %279, align 4
  %281 = getelementptr inbounds %"struct.vl::database::IdObject", ptr %23, i32 0, i32 0
  %282 = load i32, ptr %281, align 4
  %283 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager13RegisterTableENS0_8IdObjectIiLl4EEENS2_IiLl0EEE(ptr noundef nonnull align 8 dereferenceable(400) %5, i32 %280, i32 %282)
          to label %284 unwind label %238

284:                                              ; preds = %278
  %285 = zext i1 %283 to i32
  %286 = icmp eq i32 %285, 1
  br i1 %286, label %287, label %308

287:                                              ; preds = %284
  call void @llvm.lifetime.start.p0(i64 48, ptr %24) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %24, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %288 unwind label %299

288:                                              ; preds = %287
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %24)
          to label %289 unwind label %303

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

290:                                              ; preds = %276
  %291 = landingpad { ptr, i32 }
          cleanup
  %292 = extractvalue { ptr, i32 } %291, 0
  store ptr %292, ptr %3, align 8
  %293 = extractvalue { ptr, i32 } %291, 1
  store i32 %293, ptr %4, align 4
  br label %298

294:                                              ; preds = %277
  %295 = landingpad { ptr, i32 }
          cleanup
  %296 = extractvalue { ptr, i32 } %295, 0
  store ptr %296, ptr %3, align 8
  %297 = extractvalue { ptr, i32 } %295, 1
  store i32 %297, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %21) #8
  br label %298

298:                                              ; preds = %294, %290
  call void @llvm.lifetime.end.p0(i64 48, ptr %21) #8
  br label %1995

299:                                              ; preds = %287
  %300 = landingpad { ptr, i32 }
          cleanup
  %301 = extractvalue { ptr, i32 } %300, 0
  store ptr %301, ptr %3, align 8
  %302 = extractvalue { ptr, i32 } %300, 1
  store i32 %302, ptr %4, align 4
  br label %307

303:                                              ; preds = %288
  %304 = landingpad { ptr, i32 }
          cleanup
  %305 = extractvalue { ptr, i32 } %304, 0
  store ptr %305, ptr %3, align 8
  %306 = extractvalue { ptr, i32 } %304, 1
  store i32 %306, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %24) #8
  br label %307

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

308:                                              ; preds = %284
  call void @llvm.lifetime.start.p0(i64 48, ptr %25) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %25, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %309 unwind label %312

309:                                              ; preds = %308
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %25)
          to label %310 unwind label %316

310:                                              ; preds = %309
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %25) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %25) #8
  %311 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %311, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %311, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %238

312:                                              ; preds = %308
  %313 = landingpad { ptr, i32 }
          cleanup
  %314 = extractvalue { ptr, i32 } %313, 0
  store ptr %314, ptr %3, align 8
  %315 = extractvalue { ptr, i32 } %313, 1
  store i32 %315, ptr %4, align 4
  br label %320

316:                                              ; preds = %309
  %317 = landingpad { ptr, i32 }
          cleanup
  %318 = extractvalue { ptr, i32 } %317, 0
  store ptr %318, ptr %3, align 8
  %319 = extractvalue { ptr, i32 } %317, 1
  store i32 %319, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %25) #8
  br label %320

320:                                              ; preds = %316, %312
  call void @llvm.lifetime.end.p0(i64 48, ptr %25) #8
  br label %1995

321:                                              ; preds = %289
  br label %322

322:                                              ; preds = %321
  br label %323

323:                                              ; preds = %322
  br label %324

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

325:                                              ; preds = %324
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %26)
          to label %326 unwind label %340

326:                                              ; preds = %325
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %26) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %26) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %27, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !10
  %327 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %27, i32 0, i32 0
  %328 = load i64, ptr %327, align 8
  %329 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager19RegisterTransactionENS0_8IdObjectImLl3EEEm(ptr noundef nonnull align 8 dereferenceable(400) %5, i64 %328, i64 noundef 0)
          to label %330 unwind label %238

330:                                              ; preds = %326
  %331 = zext i1 %329 to i32
  %332 = icmp eq i32 %331, 1
  br i1 %332, label %333, label %354

333:                                              ; preds = %330
  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.1, i1 noundef zeroext true)
          to label %334 unwind label %345

334:                                              ; preds = %333
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %28)
          to label %335 unwind label %349

335:                                              ; preds = %334
  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 %367

336:                                              ; preds = %324
  %337 = landingpad { ptr, i32 }
          cleanup
  %338 = extractvalue { ptr, i32 } %337, 0
  store ptr %338, ptr %3, align 8
  %339 = extractvalue { ptr, i32 } %337, 1
  store i32 %339, ptr %4, align 4
  br label %344

340:                                              ; preds = %325
  %341 = landingpad { ptr, i32 }
          cleanup
  %342 = extractvalue { ptr, i32 } %341, 0
  store ptr %342, ptr %3, align 8
  %343 = extractvalue { ptr, i32 } %341, 1
  store i32 %343, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %26) #8
  br label %344

344:                                              ; preds = %340, %336
  call void @llvm.lifetime.end.p0(i64 48, ptr %26) #8
  br label %1995

345:                                              ; preds = %333
  %346 = landingpad { ptr, i32 }
          cleanup
  %347 = extractvalue { ptr, i32 } %346, 0
  store ptr %347, ptr %3, align 8
  %348 = extractvalue { ptr, i32 } %346, 1
  store i32 %348, ptr %4, align 4
  br label %353

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

353:                                              ; preds = %349, %345
  call void @llvm.lifetime.end.p0(i64 48, ptr %28) #8
  br label %1995

354:                                              ; preds = %330
  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.2, i1 noundef zeroext true)
          to label %355 unwind label %358

355:                                              ; preds = %354
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %29)
          to label %356 unwind label %362

356:                                              ; preds = %355
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %29) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %29) #8
  %357 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %357, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %357, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %238

358:                                              ; preds = %354
  %359 = landingpad { ptr, i32 }
          cleanup
  %360 = extractvalue { ptr, i32 } %359, 0
  store ptr %360, ptr %3, align 8
  %361 = extractvalue { ptr, i32 } %359, 1
  store i32 %361, ptr %4, align 4
  br label %366

362:                                              ; preds = %355
  %363 = landingpad { ptr, i32 }
          cleanup
  %364 = extractvalue { ptr, i32 } %363, 0
  store ptr %364, ptr %3, align 8
  %365 = extractvalue { ptr, i32 } %363, 1
  store i32 %365, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %29) #8
  br label %366

366:                                              ; preds = %362, %358
  call void @llvm.lifetime.end.p0(i64 48, ptr %29) #8
  br label %1995

367:                                              ; preds = %335
  br label %368

368:                                              ; preds = %367
  br label %369

369:                                              ; preds = %368
  br label %370

370:                                              ; preds = %369
  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.27, i1 noundef zeroext true)
          to label %371 unwind label %382

371:                                              ; preds = %370
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %30)
          to label %372 unwind label %386

372:                                              ; preds = %371
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %30) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %30) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %31, ptr align 8 %9, i64 8, i1 false), !tbaa.struct !10
  %373 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %31, i32 0, i32 0
  %374 = load i64, ptr %373, align 8
  %375 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager19RegisterTransactionENS0_8IdObjectImLl3EEEm(ptr noundef nonnull align 8 dereferenceable(400) %5, i64 %374, i64 noundef 0)
          to label %376 unwind label %238

376:                                              ; preds = %372
  %377 = zext i1 %375 to i32
  %378 = icmp eq i32 %377, 1
  br i1 %378, label %379, label %400

379:                                              ; preds = %376
  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.1, i1 noundef zeroext true)
          to label %380 unwind label %391

380:                                              ; preds = %379
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %32)
          to label %381 unwind label %395

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

382:                                              ; preds = %370
  %383 = landingpad { ptr, i32 }
          cleanup
  %384 = extractvalue { ptr, i32 } %383, 0
  store ptr %384, ptr %3, align 8
  %385 = extractvalue { ptr, i32 } %383, 1
  store i32 %385, ptr %4, align 4
  br label %390

386:                                              ; preds = %371
  %387 = landingpad { ptr, i32 }
          cleanup
  %388 = extractvalue { ptr, i32 } %387, 0
  store ptr %388, ptr %3, align 8
  %389 = extractvalue { ptr, i32 } %387, 1
  store i32 %389, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %30) #8
  br label %390

390:                                              ; preds = %386, %382
  call void @llvm.lifetime.end.p0(i64 48, ptr %30) #8
  br label %1995

391:                                              ; preds = %379
  %392 = landingpad { ptr, i32 }
          cleanup
  %393 = extractvalue { ptr, i32 } %392, 0
  store ptr %393, ptr %3, align 8
  %394 = extractvalue { ptr, i32 } %392, 1
  store i32 %394, ptr %4, align 4
  br label %399

395:                                              ; preds = %380
  %396 = landingpad { ptr, i32 }
          cleanup
  %397 = extractvalue { ptr, i32 } %396, 0
  store ptr %397, ptr %3, align 8
  %398 = extractvalue { ptr, i32 } %396, 1
  store i32 %398, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %32) #8
  br label %399

399:                                              ; preds = %395, %391
  call void @llvm.lifetime.end.p0(i64 48, ptr %32) #8
  br label %1995

400:                                              ; preds = %376
  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.2, i1 noundef zeroext true)
          to label %401 unwind label %404

401:                                              ; preds = %400
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %33)
          to label %402 unwind label %408

402:                                              ; preds = %401
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %33) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %33) #8
  %403 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %403, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %403, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %238

404:                                              ; preds = %400
  %405 = landingpad { ptr, i32 }
          cleanup
  %406 = extractvalue { ptr, i32 } %405, 0
  store ptr %406, ptr %3, align 8
  %407 = extractvalue { ptr, i32 } %405, 1
  store i32 %407, ptr %4, align 4
  br label %412

408:                                              ; preds = %401
  %409 = landingpad { ptr, i32 }
          cleanup
  %410 = extractvalue { ptr, i32 } %409, 0
  store ptr %410, ptr %3, align 8
  %411 = extractvalue { ptr, i32 } %409, 1
  store i32 %411, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %33) #8
  br label %412

412:                                              ; preds = %408, %404
  call void @llvm.lifetime.end.p0(i64 48, ptr %33) #8
  br label %1995

413:                                              ; preds = %381
  br label %414

414:                                              ; preds = %413
  br label %415

415:                                              ; preds = %414
  br label %416

416:                                              ; preds = %415
  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.28, i1 noundef zeroext true)
          to label %417 unwind label %428

417:                                              ; preds = %416
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %34)
          to label %418 unwind label %432

418:                                              ; preds = %417
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %34) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %34) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %35, ptr align 8 %10, i64 8, i1 false), !tbaa.struct !10
  %419 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %35, i32 0, i32 0
  %420 = load i64, ptr %419, align 8
  %421 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager19RegisterTransactionENS0_8IdObjectImLl3EEEm(ptr noundef nonnull align 8 dereferenceable(400) %5, i64 %420, i64 noundef 1)
          to label %422 unwind label %238

422:                                              ; preds = %418
  %423 = zext i1 %421 to i32
  %424 = icmp eq i32 %423, 1
  br i1 %424, label %425, label %446

425:                                              ; preds = %422
  call void @llvm.lifetime.start.p0(i64 48, ptr %36) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %36, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %426 unwind label %437

426:                                              ; preds = %425
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %36)
          to label %427 unwind label %441

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

428:                                              ; preds = %416
  %429 = landingpad { ptr, i32 }
          cleanup
  %430 = extractvalue { ptr, i32 } %429, 0
  store ptr %430, ptr %3, align 8
  %431 = extractvalue { ptr, i32 } %429, 1
  store i32 %431, ptr %4, align 4
  br label %436

432:                                              ; preds = %417
  %433 = landingpad { ptr, i32 }
          cleanup
  %434 = extractvalue { ptr, i32 } %433, 0
  store ptr %434, ptr %3, align 8
  %435 = extractvalue { ptr, i32 } %433, 1
  store i32 %435, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %34) #8
  br label %436

436:                                              ; preds = %432, %428
  call void @llvm.lifetime.end.p0(i64 48, ptr %34) #8
  br label %1995

437:                                              ; preds = %425
  %438 = landingpad { ptr, i32 }
          cleanup
  %439 = extractvalue { ptr, i32 } %438, 0
  store ptr %439, ptr %3, align 8
  %440 = extractvalue { ptr, i32 } %438, 1
  store i32 %440, ptr %4, align 4
  br label %445

441:                                              ; preds = %426
  %442 = landingpad { ptr, i32 }
          cleanup
  %443 = extractvalue { ptr, i32 } %442, 0
  store ptr %443, ptr %3, align 8
  %444 = extractvalue { ptr, i32 } %442, 1
  store i32 %444, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %36) #8
  br label %445

445:                                              ; preds = %441, %437
  call void @llvm.lifetime.end.p0(i64 48, ptr %36) #8
  br label %1995

446:                                              ; preds = %422
  call void @llvm.lifetime.start.p0(i64 48, ptr %37) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %37, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %447 unwind label %450

447:                                              ; preds = %446
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %37)
          to label %448 unwind label %454

448:                                              ; preds = %447
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %37) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %37) #8
  %449 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %449, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %449, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %238

450:                                              ; preds = %446
  %451 = landingpad { ptr, i32 }
          cleanup
  %452 = extractvalue { ptr, i32 } %451, 0
  store ptr %452, ptr %3, align 8
  %453 = extractvalue { ptr, i32 } %451, 1
  store i32 %453, ptr %4, align 4
  br label %458

454:                                              ; preds = %447
  %455 = landingpad { ptr, i32 }
          cleanup
  %456 = extractvalue { ptr, i32 } %455, 0
  store ptr %456, ptr %3, align 8
  %457 = extractvalue { ptr, i32 } %455, 1
  store i32 %457, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %37) #8
  br label %458

458:                                              ; preds = %454, %450
  call void @llvm.lifetime.end.p0(i64 48, ptr %37) #8
  br label %1995

459:                                              ; preds = %427
  br label %460

460:                                              ; preds = %459
  br label %461

461:                                              ; preds = %460
  br label %462

462:                                              ; preds = %461
  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.29, i1 noundef zeroext true)
          to label %463 unwind label %474

463:                                              ; preds = %462
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %38)
          to label %464 unwind label %478

464:                                              ; preds = %463
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %38) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %38) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %39, ptr align 8 %11, i64 8, i1 false), !tbaa.struct !10
  %465 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %39, i32 0, i32 0
  %466 = load i64, ptr %465, align 8
  %467 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager19RegisterTransactionENS0_8IdObjectImLl3EEEm(ptr noundef nonnull align 8 dereferenceable(400) %5, i64 %466, i64 noundef 1)
          to label %468 unwind label %238

468:                                              ; preds = %464
  %469 = zext i1 %467 to i32
  %470 = icmp eq i32 %469, 1
  br i1 %470, label %471, label %492

471:                                              ; preds = %468
  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.1, i1 noundef zeroext true)
          to label %472 unwind label %483

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

473:                                              ; preds = %472
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %40) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %40) #8
  br label %505

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

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

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

483:                                              ; preds = %471
  %484 = landingpad { ptr, i32 }
          cleanup
  %485 = extractvalue { ptr, i32 } %484, 0
  store ptr %485, ptr %3, align 8
  %486 = extractvalue { ptr, i32 } %484, 1
  store i32 %486, ptr %4, align 4
  br label %491

487:                                              ; preds = %472
  %488 = landingpad { ptr, i32 }
          cleanup
  %489 = extractvalue { ptr, i32 } %488, 0
  store ptr %489, ptr %3, align 8
  %490 = extractvalue { ptr, i32 } %488, 1
  store i32 %490, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %40) #8
  br label %491

491:                                              ; preds = %487, %483
  call void @llvm.lifetime.end.p0(i64 48, ptr %40) #8
  br label %1995

492:                                              ; preds = %468
  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.2, i1 noundef zeroext true)
          to label %493 unwind label %496

493:                                              ; preds = %492
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %41)
          to label %494 unwind label %500

494:                                              ; preds = %493
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %41) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %41) #8
  %495 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %495, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %495, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %238

496:                                              ; preds = %492
  %497 = landingpad { ptr, i32 }
          cleanup
  %498 = extractvalue { ptr, i32 } %497, 0
  store ptr %498, ptr %3, align 8
  %499 = extractvalue { ptr, i32 } %497, 1
  store i32 %499, ptr %4, align 4
  br label %504

500:                                              ; preds = %493
  %501 = landingpad { ptr, i32 }
          cleanup
  %502 = extractvalue { ptr, i32 } %501, 0
  store ptr %502, ptr %3, align 8
  %503 = extractvalue { ptr, i32 } %501, 1
  store i32 %503, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %41) #8
  br label %504

504:                                              ; preds = %500, %496
  call void @llvm.lifetime.end.p0(i64 48, ptr %41) #8
  br label %1995

505:                                              ; preds = %473
  br label %506

506:                                              ; preds = %505
  br label %507

507:                                              ; preds = %506
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #8
  invoke void @_ZN2vl8database8IdObjectImLl3EEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %508 unwind label %534

508:                                              ; preds = %507
  call void @llvm.lifetime.start.p0(i64 24, ptr %43) #8
  invoke void @_ZN2vl8database10LockTargetC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43)
          to label %509 unwind label %538

509:                                              ; preds = %508
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #8
  call void @_ZN2vl8database10LockResultC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %45) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %46, ptr align 4 %6, i64 4, i1 false), !tbaa.struct !5
  %510 = getelementptr inbounds %"struct.vl::database::IdObject.68", ptr %46, i32 0, i32 0
  %511 = load i32, ptr %510, align 4
  invoke void @_ZN2vl8database10LockTargetC2ENS0_16LockTargetAccessENS0_8IdObjectIiLl4EEE(ptr noundef nonnull align 8 dereferenceable(24) %45, i32 noundef 1, i32 %511)
          to label %512 unwind label %542

512:                                              ; preds = %509
  call void @llvm.lifetime.start.p0(i64 24, ptr %47) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %48, ptr align 4 %6, i64 4, i1 false), !tbaa.struct !5
  %513 = getelementptr inbounds %"struct.vl::database::IdObject.68", ptr %48, i32 0, i32 0
  %514 = load i32, ptr %513, align 4
  invoke void @_ZN2vl8database10LockTargetC2ENS0_16LockTargetAccessENS0_8IdObjectIiLl4EEE(ptr noundef nonnull align 8 dereferenceable(24) %47, i32 noundef 5, i32 %514)
          to label %515 unwind label %546

515:                                              ; preds = %512
  call void @llvm.lifetime.start.p0(i64 24, ptr %49) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %50, ptr align 4 %7, i64 4, i1 false), !tbaa.struct !5
  %516 = getelementptr inbounds %"struct.vl::database::IdObject.68", ptr %50, i32 0, i32 0
  %517 = load i32, ptr %516, align 4
  invoke void @_ZN2vl8database10LockTargetC2ENS0_16LockTargetAccessENS0_8IdObjectIiLl4EEE(ptr noundef nonnull align 8 dereferenceable(24) %49, i32 noundef 1, i32 %517)
          to label %518 unwind label %550

518:                                              ; preds = %515
  call void @llvm.lifetime.start.p0(i64 24, ptr %51) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %52, ptr align 4 %7, i64 4, i1 false), !tbaa.struct !5
  %519 = getelementptr inbounds %"struct.vl::database::IdObject.68", ptr %52, i32 0, i32 0
  %520 = load i32, ptr %519, align 4
  invoke void @_ZN2vl8database10LockTargetC2ENS0_16LockTargetAccessENS0_8IdObjectIiLl4EEE(ptr noundef nonnull align 8 dereferenceable(24) %51, i32 noundef 5, i32 %520)
          to label %521 unwind label %554

521:                                              ; preds = %518
  br label %522

522:                                              ; preds = %521
  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.39, i1 noundef zeroext true)
          to label %523 unwind label %558

523:                                              ; preds = %522
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %53)
          to label %524 unwind label %562

524:                                              ; preds = %523
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %53) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %53) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %54, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !10
  %525 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %54, i32 0, i32 0
  %526 = load i64, ptr %525, align 8
  %527 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager11AcquireLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetERNS0_10LockResultE(ptr noundef nonnull align 8 dereferenceable(400) %5, i64 %526, ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %528 unwind label %554

528:                                              ; preds = %524
  %529 = zext i1 %527 to i32
  %530 = icmp eq i32 %529, 1
  br i1 %530, label %531, label %576

531:                                              ; preds = %528
  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.1, i1 noundef zeroext true)
          to label %532 unwind label %567

532:                                              ; preds = %531
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %55)
          to label %533 unwind label %571

533:                                              ; preds = %532
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %55) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %55) #8
  br label %589

534:                                              ; preds = %507
  %535 = landingpad { ptr, i32 }
          cleanup
  %536 = extractvalue { ptr, i32 } %535, 0
  store ptr %536, ptr %3, align 8
  %537 = extractvalue { ptr, i32 } %535, 1
  store i32 %537, ptr %4, align 4
  br label %1994

538:                                              ; preds = %508
  %539 = landingpad { ptr, i32 }
          cleanup
  %540 = extractvalue { ptr, i32 } %539, 0
  store ptr %540, ptr %3, align 8
  %541 = extractvalue { ptr, i32 } %539, 1
  store i32 %541, ptr %4, align 4
  br label %1993

542:                                              ; preds = %509
  %543 = landingpad { ptr, i32 }
          cleanup
  %544 = extractvalue { ptr, i32 } %543, 0
  store ptr %544, ptr %3, align 8
  %545 = extractvalue { ptr, i32 } %543, 1
  store i32 %545, ptr %4, align 4
  br label %1992

546:                                              ; preds = %512
  %547 = landingpad { ptr, i32 }
          cleanup
  %548 = extractvalue { ptr, i32 } %547, 0
  store ptr %548, ptr %3, align 8
  %549 = extractvalue { ptr, i32 } %547, 1
  store i32 %549, ptr %4, align 4
  br label %1991

550:                                              ; preds = %515
  %551 = landingpad { ptr, i32 }
          cleanup
  %552 = extractvalue { ptr, i32 } %551, 0
  store ptr %552, ptr %3, align 8
  %553 = extractvalue { ptr, i32 } %551, 1
  store i32 %553, ptr %4, align 4
  br label %1990

554:                                              ; preds = %950, %896, %851, %821, %805, %760, %730, %714, %669, %639, %623, %578, %524, %518
  %555 = landingpad { ptr, i32 }
          cleanup
  %556 = extractvalue { ptr, i32 } %555, 0
  store ptr %556, ptr %3, align 8
  %557 = extractvalue { ptr, i32 } %555, 1
  store i32 %557, ptr %4, align 4
  br label %1989

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

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

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

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

571:                                              ; preds = %532
  %572 = landingpad { ptr, i32 }
          cleanup
  %573 = extractvalue { ptr, i32 } %572, 0
  store ptr %573, ptr %3, align 8
  %574 = extractvalue { ptr, i32 } %572, 1
  store i32 %574, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %55) #8
  br label %575

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

576:                                              ; preds = %528
  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.2, i1 noundef zeroext true)
          to label %577 unwind label %580

577:                                              ; preds = %576
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %56)
          to label %578 unwind label %584

578:                                              ; preds = %577
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %56) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %56) #8
  %579 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %579, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %579, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %554

580:                                              ; preds = %576
  %581 = landingpad { ptr, i32 }
          cleanup
  %582 = extractvalue { ptr, i32 } %581, 0
  store ptr %582, ptr %3, align 8
  %583 = extractvalue { ptr, i32 } %581, 1
  store i32 %583, ptr %4, align 4
  br label %588

584:                                              ; preds = %577
  %585 = landingpad { ptr, i32 }
          cleanup
  %586 = extractvalue { ptr, i32 } %585, 0
  store ptr %586, ptr %3, align 8
  %587 = extractvalue { ptr, i32 } %585, 1
  store i32 %587, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %56) #8
  br label %588

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

589:                                              ; preds = %533
  br label %590

590:                                              ; preds = %589
  br label %591

591:                                              ; preds = %590
  br label %592

592:                                              ; preds = %591
  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.40, i1 noundef zeroext true)
          to label %593 unwind label %603

593:                                              ; preds = %592
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %57)
          to label %594 unwind label %607

594:                                              ; preds = %593
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %57) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %57) #8
  %595 = getelementptr inbounds %"struct.vl::database::LockResult", ptr %44, i32 0, i32 0
  %596 = load i8, ptr %595, align 8, !tbaa !13, !range !17, !noundef !18
  %597 = trunc i8 %596 to i1
  %598 = zext i1 %597 to i32
  %599 = icmp eq i32 %598, 0
  br i1 %599, label %600, label %621

600:                                              ; preds = %594
  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.1, i1 noundef zeroext true)
          to label %601 unwind label %612

601:                                              ; preds = %600
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %58)
          to label %602 unwind label %616

602:                                              ; preds = %601
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %58) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %58) #8
  br label %634

603:                                              ; preds = %592
  %604 = landingpad { ptr, i32 }
          cleanup
  %605 = extractvalue { ptr, i32 } %604, 0
  store ptr %605, ptr %3, align 8
  %606 = extractvalue { ptr, i32 } %604, 1
  store i32 %606, ptr %4, align 4
  br label %611

607:                                              ; preds = %593
  %608 = landingpad { ptr, i32 }
          cleanup
  %609 = extractvalue { ptr, i32 } %608, 0
  store ptr %609, ptr %3, align 8
  %610 = extractvalue { ptr, i32 } %608, 1
  store i32 %610, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %57) #8
  br label %611

611:                                              ; preds = %607, %603
  call void @llvm.lifetime.end.p0(i64 48, ptr %57) #8
  br label %1989

612:                                              ; preds = %600
  %613 = landingpad { ptr, i32 }
          cleanup
  %614 = extractvalue { ptr, i32 } %613, 0
  store ptr %614, ptr %3, align 8
  %615 = extractvalue { ptr, i32 } %613, 1
  store i32 %615, ptr %4, align 4
  br label %620

616:                                              ; preds = %601
  %617 = landingpad { ptr, i32 }
          cleanup
  %618 = extractvalue { ptr, i32 } %617, 0
  store ptr %618, ptr %3, align 8
  %619 = extractvalue { ptr, i32 } %617, 1
  store i32 %619, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %58) #8
  br label %620

620:                                              ; preds = %616, %612
  call void @llvm.lifetime.end.p0(i64 48, ptr %58) #8
  br label %1989

621:                                              ; preds = %594
  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.2, i1 noundef zeroext true)
          to label %622 unwind label %625

622:                                              ; preds = %621
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %59)
          to label %623 unwind label %629

623:                                              ; preds = %622
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %59) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %59) #8
  %624 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %624, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %624, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %554

625:                                              ; preds = %621
  %626 = landingpad { ptr, i32 }
          cleanup
  %627 = extractvalue { ptr, i32 } %626, 0
  store ptr %627, ptr %3, align 8
  %628 = extractvalue { ptr, i32 } %626, 1
  store i32 %628, ptr %4, align 4
  br label %633

629:                                              ; preds = %622
  %630 = landingpad { ptr, i32 }
          cleanup
  %631 = extractvalue { ptr, i32 } %630, 0
  store ptr %631, ptr %3, align 8
  %632 = extractvalue { ptr, i32 } %630, 1
  store i32 %632, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %59) #8
  br label %633

633:                                              ; preds = %629, %625
  call void @llvm.lifetime.end.p0(i64 48, ptr %59) #8
  br label %1989

634:                                              ; preds = %602
  br label %635

635:                                              ; preds = %634
  br label %636

636:                                              ; preds = %635
  br label %637

637:                                              ; preds = %636
  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.50, i1 noundef zeroext true)
          to label %638 unwind label %649

638:                                              ; preds = %637
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %60)
          to label %639 unwind label %653

639:                                              ; preds = %638
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %60) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %60) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %61, ptr align 8 %9, i64 8, i1 false), !tbaa.struct !10
  %640 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %61, i32 0, i32 0
  %641 = load i64, ptr %640, align 8
  %642 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager11AcquireLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetERNS0_10LockResultE(ptr noundef nonnull align 8 dereferenceable(400) %5, i64 %641, ptr noundef nonnull align 8 dereferenceable(24) %49, ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %643 unwind label %554

643:                                              ; preds = %639
  %644 = zext i1 %642 to i32
  %645 = icmp eq i32 %644, 1
  br i1 %645, label %646, label %667

646:                                              ; preds = %643
  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.1, i1 noundef zeroext true)
          to label %647 unwind label %658

647:                                              ; preds = %646
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %62)
          to label %648 unwind label %662

648:                                              ; preds = %647
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %62) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %62) #8
  br label %680

649:                                              ; preds = %637
  %650 = landingpad { ptr, i32 }
          cleanup
  %651 = extractvalue { ptr, i32 } %650, 0
  store ptr %651, ptr %3, align 8
  %652 = extractvalue { ptr, i32 } %650, 1
  store i32 %652, ptr %4, align 4
  br label %657

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

657:                                              ; preds = %653, %649
  call void @llvm.lifetime.end.p0(i64 48, ptr %60) #8
  br label %1989

658:                                              ; preds = %646
  %659 = landingpad { ptr, i32 }
          cleanup
  %660 = extractvalue { ptr, i32 } %659, 0
  store ptr %660, ptr %3, align 8
  %661 = extractvalue { ptr, i32 } %659, 1
  store i32 %661, ptr %4, align 4
  br label %666

662:                                              ; preds = %647
  %663 = landingpad { ptr, i32 }
          cleanup
  %664 = extractvalue { ptr, i32 } %663, 0
  store ptr %664, ptr %3, align 8
  %665 = extractvalue { ptr, i32 } %663, 1
  store i32 %665, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %62) #8
  br label %666

666:                                              ; preds = %662, %658
  call void @llvm.lifetime.end.p0(i64 48, ptr %62) #8
  br label %1989

667:                                              ; preds = %643
  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 %668 unwind label %671

668:                                              ; preds = %667
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %63)
          to label %669 unwind label %675

669:                                              ; preds = %668
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %63) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %63) #8
  %670 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %670, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %670, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %554

671:                                              ; preds = %667
  %672 = landingpad { ptr, i32 }
          cleanup
  %673 = extractvalue { ptr, i32 } %672, 0
  store ptr %673, ptr %3, align 8
  %674 = extractvalue { ptr, i32 } %672, 1
  store i32 %674, ptr %4, align 4
  br label %679

675:                                              ; preds = %668
  %676 = landingpad { ptr, i32 }
          cleanup
  %677 = extractvalue { ptr, i32 } %676, 0
  store ptr %677, ptr %3, align 8
  %678 = extractvalue { ptr, i32 } %676, 1
  store i32 %678, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %63) #8
  br label %679

679:                                              ; preds = %675, %671
  call void @llvm.lifetime.end.p0(i64 48, ptr %63) #8
  br label %1989

680:                                              ; preds = %648
  br label %681

681:                                              ; preds = %680
  br label %682

682:                                              ; preds = %681
  br label %683

683:                                              ; preds = %682
  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.40, i1 noundef zeroext true)
          to label %684 unwind label %694

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

685:                                              ; preds = %684
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %64) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %64) #8
  %686 = getelementptr inbounds %"struct.vl::database::LockResult", ptr %44, i32 0, i32 0
  %687 = load i8, ptr %686, align 8, !tbaa !13, !range !17, !noundef !18
  %688 = trunc i8 %687 to i1
  %689 = zext i1 %688 to i32
  %690 = icmp eq i32 %689, 0
  br i1 %690, label %691, label %712

691:                                              ; preds = %685
  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.1, i1 noundef zeroext true)
          to label %692 unwind label %703

692:                                              ; preds = %691
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %65)
          to label %693 unwind label %707

693:                                              ; preds = %692
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %65) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %65) #8
  br label %725

694:                                              ; preds = %683
  %695 = landingpad { ptr, i32 }
          cleanup
  %696 = extractvalue { ptr, i32 } %695, 0
  store ptr %696, ptr %3, align 8
  %697 = extractvalue { ptr, i32 } %695, 1
  store i32 %697, ptr %4, align 4
  br label %702

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

702:                                              ; preds = %698, %694
  call void @llvm.lifetime.end.p0(i64 48, ptr %64) #8
  br label %1989

703:                                              ; preds = %691
  %704 = landingpad { ptr, i32 }
          cleanup
  %705 = extractvalue { ptr, i32 } %704, 0
  store ptr %705, ptr %3, align 8
  %706 = extractvalue { ptr, i32 } %704, 1
  store i32 %706, ptr %4, align 4
  br label %711

707:                                              ; preds = %692
  %708 = landingpad { ptr, i32 }
          cleanup
  %709 = extractvalue { ptr, i32 } %708, 0
  store ptr %709, ptr %3, align 8
  %710 = extractvalue { ptr, i32 } %708, 1
  store i32 %710, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %65) #8
  br label %711

711:                                              ; preds = %707, %703
  call void @llvm.lifetime.end.p0(i64 48, ptr %65) #8
  br label %1989

712:                                              ; preds = %685
  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 %713 unwind label %716

713:                                              ; preds = %712
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %66)
          to label %714 unwind label %720

714:                                              ; preds = %713
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %66) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %66) #8
  %715 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %715, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %715, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %554

716:                                              ; preds = %712
  %717 = landingpad { ptr, i32 }
          cleanup
  %718 = extractvalue { ptr, i32 } %717, 0
  store ptr %718, ptr %3, align 8
  %719 = extractvalue { ptr, i32 } %717, 1
  store i32 %719, ptr %4, align 4
  br label %724

720:                                              ; preds = %713
  %721 = landingpad { ptr, i32 }
          cleanup
  %722 = extractvalue { ptr, i32 } %721, 0
  store ptr %722, ptr %3, align 8
  %723 = extractvalue { ptr, i32 } %721, 1
  store i32 %723, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %66) #8
  br label %724

724:                                              ; preds = %720, %716
  call void @llvm.lifetime.end.p0(i64 48, ptr %66) #8
  br label %1989

725:                                              ; preds = %693
  br label %726

726:                                              ; preds = %725
  br label %727

727:                                              ; preds = %726
  br label %728

728:                                              ; preds = %727
  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.51, i1 noundef zeroext true)
          to label %729 unwind label %740

729:                                              ; preds = %728
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %67)
          to label %730 unwind label %744

730:                                              ; preds = %729
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %67) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %67) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %68, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !10
  %731 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %68, i32 0, i32 0
  %732 = load i64, ptr %731, align 8
  %733 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager11AcquireLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetERNS0_10LockResultE(ptr noundef nonnull align 8 dereferenceable(400) %5, i64 %732, ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %734 unwind label %554

734:                                              ; preds = %730
  %735 = zext i1 %733 to i32
  %736 = icmp eq i32 %735, 1
  br i1 %736, label %737, label %758

737:                                              ; preds = %734
  call void @llvm.lifetime.start.p0(i64 48, ptr %69) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %69, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %738 unwind label %749

738:                                              ; preds = %737
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %69)
          to label %739 unwind label %753

739:                                              ; preds = %738
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %69) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %69) #8
  br label %771

740:                                              ; preds = %728
  %741 = landingpad { ptr, i32 }
          cleanup
  %742 = extractvalue { ptr, i32 } %741, 0
  store ptr %742, ptr %3, align 8
  %743 = extractvalue { ptr, i32 } %741, 1
  store i32 %743, ptr %4, align 4
  br label %748

744:                                              ; preds = %729
  %745 = landingpad { ptr, i32 }
          cleanup
  %746 = extractvalue { ptr, i32 } %745, 0
  store ptr %746, ptr %3, align 8
  %747 = extractvalue { ptr, i32 } %745, 1
  store i32 %747, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %67) #8
  br label %748

748:                                              ; preds = %744, %740
  call void @llvm.lifetime.end.p0(i64 48, ptr %67) #8
  br label %1989

749:                                              ; preds = %737
  %750 = landingpad { ptr, i32 }
          cleanup
  %751 = extractvalue { ptr, i32 } %750, 0
  store ptr %751, ptr %3, align 8
  %752 = extractvalue { ptr, i32 } %750, 1
  store i32 %752, ptr %4, align 4
  br label %757

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

757:                                              ; preds = %753, %749
  call void @llvm.lifetime.end.p0(i64 48, ptr %69) #8
  br label %1989

758:                                              ; preds = %734
  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 %759 unwind label %762

759:                                              ; preds = %758
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %70)
          to label %760 unwind label %766

760:                                              ; preds = %759
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %70) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %70) #8
  %761 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %761, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %761, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %554

762:                                              ; preds = %758
  %763 = landingpad { ptr, i32 }
          cleanup
  %764 = extractvalue { ptr, i32 } %763, 0
  store ptr %764, ptr %3, align 8
  %765 = extractvalue { ptr, i32 } %763, 1
  store i32 %765, ptr %4, align 4
  br label %770

766:                                              ; preds = %759
  %767 = landingpad { ptr, i32 }
          cleanup
  %768 = extractvalue { ptr, i32 } %767, 0
  store ptr %768, ptr %3, align 8
  %769 = extractvalue { ptr, i32 } %767, 1
  store i32 %769, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %70) #8
  br label %770

770:                                              ; preds = %766, %762
  call void @llvm.lifetime.end.p0(i64 48, ptr %70) #8
  br label %1989

771:                                              ; preds = %739
  br label %772

772:                                              ; preds = %771
  br label %773

773:                                              ; preds = %772
  br label %774

774:                                              ; preds = %773
  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.42, i1 noundef zeroext true)
          to label %775 unwind label %785

775:                                              ; preds = %774
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %71)
          to label %776 unwind label %789

776:                                              ; preds = %775
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %71) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %71) #8
  %777 = getelementptr inbounds %"struct.vl::database::LockResult", ptr %44, i32 0, i32 0
  %778 = load i8, ptr %777, align 8, !tbaa !13, !range !17, !noundef !18
  %779 = trunc i8 %778 to i1
  %780 = zext i1 %779 to i32
  %781 = icmp eq i32 %780, 1
  br i1 %781, label %782, label %803

782:                                              ; preds = %776
  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.1, i1 noundef zeroext true)
          to label %783 unwind label %794

783:                                              ; preds = %782
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %72)
          to label %784 unwind label %798

784:                                              ; preds = %783
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %72) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %72) #8
  br label %816

785:                                              ; preds = %774
  %786 = landingpad { ptr, i32 }
          cleanup
  %787 = extractvalue { ptr, i32 } %786, 0
  store ptr %787, ptr %3, align 8
  %788 = extractvalue { ptr, i32 } %786, 1
  store i32 %788, ptr %4, align 4
  br label %793

789:                                              ; preds = %775
  %790 = landingpad { ptr, i32 }
          cleanup
  %791 = extractvalue { ptr, i32 } %790, 0
  store ptr %791, ptr %3, align 8
  %792 = extractvalue { ptr, i32 } %790, 1
  store i32 %792, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %71) #8
  br label %793

793:                                              ; preds = %789, %785
  call void @llvm.lifetime.end.p0(i64 48, ptr %71) #8
  br label %1989

794:                                              ; preds = %782
  %795 = landingpad { ptr, i32 }
          cleanup
  %796 = extractvalue { ptr, i32 } %795, 0
  store ptr %796, ptr %3, align 8
  %797 = extractvalue { ptr, i32 } %795, 1
  store i32 %797, ptr %4, align 4
  br label %802

798:                                              ; preds = %783
  %799 = landingpad { ptr, i32 }
          cleanup
  %800 = extractvalue { ptr, i32 } %799, 0
  store ptr %800, ptr %3, align 8
  %801 = extractvalue { ptr, i32 } %799, 1
  store i32 %801, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %72) #8
  br label %802

802:                                              ; preds = %798, %794
  call void @llvm.lifetime.end.p0(i64 48, ptr %72) #8
  br label %1989

803:                                              ; preds = %776
  call void @llvm.lifetime.start.p0(i64 48, ptr %73) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %73, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %804 unwind label %807

804:                                              ; preds = %803
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %73)
          to label %805 unwind label %811

805:                                              ; preds = %804
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %73) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %73) #8
  %806 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %806, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %806, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %554

807:                                              ; preds = %803
  %808 = landingpad { ptr, i32 }
          cleanup
  %809 = extractvalue { ptr, i32 } %808, 0
  store ptr %809, ptr %3, align 8
  %810 = extractvalue { ptr, i32 } %808, 1
  store i32 %810, ptr %4, align 4
  br label %815

811:                                              ; preds = %804
  %812 = landingpad { ptr, i32 }
          cleanup
  %813 = extractvalue { ptr, i32 } %812, 0
  store ptr %813, ptr %3, align 8
  %814 = extractvalue { ptr, i32 } %812, 1
  store i32 %814, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %73) #8
  br label %815

815:                                              ; preds = %811, %807
  call void @llvm.lifetime.end.p0(i64 48, ptr %73) #8
  br label %1989

816:                                              ; preds = %784
  br label %817

817:                                              ; preds = %816
  br label %818

818:                                              ; preds = %817
  br label %819

819:                                              ; preds = %818
  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.41, i1 noundef zeroext true)
          to label %820 unwind label %831

820:                                              ; preds = %819
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %74)
          to label %821 unwind label %835

821:                                              ; preds = %820
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %74) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %74) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %75, ptr align 8 %9, i64 8, i1 false), !tbaa.struct !10
  %822 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %75, i32 0, i32 0
  %823 = load i64, ptr %822, align 8
  %824 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager11AcquireLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetERNS0_10LockResultE(ptr noundef nonnull align 8 dereferenceable(400) %5, i64 %823, ptr noundef nonnull align 8 dereferenceable(24) %47, ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %825 unwind label %554

825:                                              ; preds = %821
  %826 = zext i1 %824 to i32
  %827 = icmp eq i32 %826, 1
  br i1 %827, label %828, label %849

828:                                              ; preds = %825
  call void @llvm.lifetime.start.p0(i64 48, ptr %76) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %76, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %829 unwind label %840

829:                                              ; preds = %828
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %76)
          to label %830 unwind label %844

830:                                              ; preds = %829
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %76) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %76) #8
  br label %862

831:                                              ; preds = %819
  %832 = landingpad { ptr, i32 }
          cleanup
  %833 = extractvalue { ptr, i32 } %832, 0
  store ptr %833, ptr %3, align 8
  %834 = extractvalue { ptr, i32 } %832, 1
  store i32 %834, ptr %4, align 4
  br label %839

835:                                              ; preds = %820
  %836 = landingpad { ptr, i32 }
          cleanup
  %837 = extractvalue { ptr, i32 } %836, 0
  store ptr %837, ptr %3, align 8
  %838 = extractvalue { ptr, i32 } %836, 1
  store i32 %838, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %74) #8
  br label %839

839:                                              ; preds = %835, %831
  call void @llvm.lifetime.end.p0(i64 48, ptr %74) #8
  br label %1989

840:                                              ; preds = %828
  %841 = landingpad { ptr, i32 }
          cleanup
  %842 = extractvalue { ptr, i32 } %841, 0
  store ptr %842, ptr %3, align 8
  %843 = extractvalue { ptr, i32 } %841, 1
  store i32 %843, ptr %4, align 4
  br label %848

844:                                              ; preds = %829
  %845 = landingpad { ptr, i32 }
          cleanup
  %846 = extractvalue { ptr, i32 } %845, 0
  store ptr %846, ptr %3, align 8
  %847 = extractvalue { ptr, i32 } %845, 1
  store i32 %847, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %76) #8
  br label %848

848:                                              ; preds = %844, %840
  call void @llvm.lifetime.end.p0(i64 48, ptr %76) #8
  br label %1989

849:                                              ; preds = %825
  call void @llvm.lifetime.start.p0(i64 48, ptr %77) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %77, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %850 unwind label %853

850:                                              ; preds = %849
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %77)
          to label %851 unwind label %857

851:                                              ; preds = %850
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %77) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %77) #8
  %852 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %852, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %852, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %554

853:                                              ; preds = %849
  %854 = landingpad { ptr, i32 }
          cleanup
  %855 = extractvalue { ptr, i32 } %854, 0
  store ptr %855, ptr %3, align 8
  %856 = extractvalue { ptr, i32 } %854, 1
  store i32 %856, ptr %4, align 4
  br label %861

857:                                              ; preds = %850
  %858 = landingpad { ptr, i32 }
          cleanup
  %859 = extractvalue { ptr, i32 } %858, 0
  store ptr %859, ptr %3, align 8
  %860 = extractvalue { ptr, i32 } %858, 1
  store i32 %860, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %77) #8
  br label %861

861:                                              ; preds = %857, %853
  call void @llvm.lifetime.end.p0(i64 48, ptr %77) #8
  br label %1989

862:                                              ; preds = %830
  br label %863

863:                                              ; preds = %862
  br label %864

864:                                              ; preds = %863
  br label %865

865:                                              ; preds = %864
  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.42, i1 noundef zeroext true)
          to label %866 unwind label %876

866:                                              ; preds = %865
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %78)
          to label %867 unwind label %880

867:                                              ; preds = %866
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %78) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %78) #8
  %868 = getelementptr inbounds %"struct.vl::database::LockResult", ptr %44, i32 0, i32 0
  %869 = load i8, ptr %868, align 8, !tbaa !13, !range !17, !noundef !18
  %870 = trunc i8 %869 to i1
  %871 = zext i1 %870 to i32
  %872 = icmp eq i32 %871, 1
  br i1 %872, label %873, label %894

873:                                              ; preds = %867
  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.1, i1 noundef zeroext true)
          to label %874 unwind label %885

874:                                              ; preds = %873
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %79)
          to label %875 unwind label %889

875:                                              ; preds = %874
  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 %907

876:                                              ; preds = %865
  %877 = landingpad { ptr, i32 }
          cleanup
  %878 = extractvalue { ptr, i32 } %877, 0
  store ptr %878, ptr %3, align 8
  %879 = extractvalue { ptr, i32 } %877, 1
  store i32 %879, ptr %4, align 4
  br label %884

880:                                              ; preds = %866
  %881 = landingpad { ptr, i32 }
          cleanup
  %882 = extractvalue { ptr, i32 } %881, 0
  store ptr %882, ptr %3, align 8
  %883 = extractvalue { ptr, i32 } %881, 1
  store i32 %883, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %78) #8
  br label %884

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

885:                                              ; preds = %873
  %886 = landingpad { ptr, i32 }
          cleanup
  %887 = extractvalue { ptr, i32 } %886, 0
  store ptr %887, ptr %3, align 8
  %888 = extractvalue { ptr, i32 } %886, 1
  store i32 %888, ptr %4, align 4
  br label %893

889:                                              ; preds = %874
  %890 = landingpad { ptr, i32 }
          cleanup
  %891 = extractvalue { ptr, i32 } %890, 0
  store ptr %891, ptr %3, align 8
  %892 = extractvalue { ptr, i32 } %890, 1
  store i32 %892, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %79) #8
  br label %893

893:                                              ; preds = %889, %885
  call void @llvm.lifetime.end.p0(i64 48, ptr %79) #8
  br label %1989

894:                                              ; preds = %867
  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.2, i1 noundef zeroext true)
          to label %895 unwind label %898

895:                                              ; preds = %894
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %80)
          to label %896 unwind label %902

896:                                              ; preds = %895
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %80) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %80) #8
  %897 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %897, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %897, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %554

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

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

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

907:                                              ; preds = %875
  br label %908

908:                                              ; preds = %907
  br label %909

909:                                              ; preds = %908
  br label %910

910:                                              ; preds = %909
  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.44, i1 noundef zeroext true)
          to label %911 unwind label %926

911:                                              ; preds = %910
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %81)
          to label %912 unwind label %930

912:                                              ; preds = %911
  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
  %913 = invoke i64 @_ZN2vl8database11LockManager15PickTransactionERNS0_10LockResultE(ptr noundef nonnull align 8 dereferenceable(400) %5, ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %914 unwind label %935

914:                                              ; preds = %912
  %915 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %82, i32 0, i32 0
  store i64 %913, ptr %915, align 8
  %916 = invoke i64 @_ZN2vl8database8IdObjectImLl3EE7InvalidEv()
          to label %917 unwind label %935

917:                                              ; preds = %914
  %918 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %83, i32 0, i32 0
  store i64 %916, ptr %918, align 8
  %919 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %83, i32 0, i32 0
  %920 = load i64, ptr %919, align 8
  %921 = invoke noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8) %82, i64 %920)
          to label %922 unwind label %935

922:                                              ; preds = %917
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #8
  br i1 %921, label %923, label %948

923:                                              ; preds = %922
  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.1, i1 noundef zeroext true)
          to label %924 unwind label %939

924:                                              ; preds = %923
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %84)
          to label %925 unwind label %943

925:                                              ; preds = %924
  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 %961

926:                                              ; preds = %910
  %927 = landingpad { ptr, i32 }
          cleanup
  %928 = extractvalue { ptr, i32 } %927, 0
  store ptr %928, ptr %3, align 8
  %929 = extractvalue { ptr, i32 } %927, 1
  store i32 %929, ptr %4, align 4
  br label %934

930:                                              ; preds = %911
  %931 = landingpad { ptr, i32 }
          cleanup
  %932 = extractvalue { ptr, i32 } %931, 0
  store ptr %932, ptr %3, align 8
  %933 = extractvalue { ptr, i32 } %931, 1
  store i32 %933, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %81) #8
  br label %934

934:                                              ; preds = %930, %926
  call void @llvm.lifetime.end.p0(i64 48, ptr %81) #8
  br label %1989

935:                                              ; preds = %917, %914, %912
  %936 = landingpad { ptr, i32 }
          cleanup
  %937 = extractvalue { ptr, i32 } %936, 0
  store ptr %937, ptr %3, align 8
  %938 = extractvalue { ptr, i32 } %936, 1
  store i32 %938, ptr %4, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #8
  br label %1989

939:                                              ; preds = %923
  %940 = landingpad { ptr, i32 }
          cleanup
  %941 = extractvalue { ptr, i32 } %940, 0
  store ptr %941, ptr %3, align 8
  %942 = extractvalue { ptr, i32 } %940, 1
  store i32 %942, ptr %4, align 4
  br label %947

943:                                              ; preds = %924
  %944 = landingpad { ptr, i32 }
          cleanup
  %945 = extractvalue { ptr, i32 } %944, 0
  store ptr %945, ptr %3, align 8
  %946 = extractvalue { ptr, i32 } %944, 1
  store i32 %946, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %84) #8
  br label %947

947:                                              ; preds = %943, %939
  call void @llvm.lifetime.end.p0(i64 48, ptr %84) #8
  br label %1989

948:                                              ; preds = %922
  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.2, i1 noundef zeroext true)
          to label %949 unwind label %952

949:                                              ; preds = %948
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %85)
          to label %950 unwind label %956

950:                                              ; preds = %949
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %85) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %85) #8
  %951 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %951, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %951, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %554

952:                                              ; preds = %948
  %953 = landingpad { ptr, i32 }
          cleanup
  %954 = extractvalue { ptr, i32 } %953, 0
  store ptr %954, ptr %3, align 8
  %955 = extractvalue { ptr, i32 } %953, 1
  store i32 %955, ptr %4, align 4
  br label %960

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

960:                                              ; preds = %956, %952
  call void @llvm.lifetime.end.p0(i64 48, ptr %85) #8
  br label %1989

961:                                              ; preds = %925
  br label %962

962:                                              ; preds = %961
  br label %963

963:                                              ; preds = %962
  call void @llvm.lifetime.start.p0(i64 272, ptr %86) #8
  invoke void @_ZN2vl8database12DeadlockInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(272) %86)
          to label %964 unwind label %976

964:                                              ; preds = %963
  invoke void @_ZN2vl8database11LockManager14DetectDeadlockERNS0_12DeadlockInfoE(ptr noundef nonnull align 8 dereferenceable(400) %5, ptr noundef nonnull align 8 dereferenceable(272) %86)
          to label %965 unwind label %980

965:                                              ; preds = %964
  br label %966

966:                                              ; preds = %965
  call void @llvm.lifetime.start.p0(i64 48, ptr %87) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %87, ptr noundef @.str.55, i1 noundef zeroext true)
          to label %967 unwind label %984

967:                                              ; preds = %966
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %87)
          to label %968 unwind label %988

968:                                              ; preds = %967
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %87) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %87) #8
  %969 = getelementptr inbounds %"struct.vl::database::DeadlockInfo", ptr %86, i32 0, i32 0
  %970 = invoke noundef i64 @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E5CountEv(ptr noundef nonnull align 8 dereferenceable(104) %969)
          to label %971 unwind label %980

971:                                              ; preds = %968
  %972 = icmp eq i64 %970, 2
  br i1 %972, label %973, label %1002

973:                                              ; preds = %971
  call void @llvm.lifetime.start.p0(i64 48, ptr %88) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %88, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %974 unwind label %993

974:                                              ; preds = %973
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %88)
          to label %975 unwind label %997

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

976:                                              ; preds = %963
  %977 = landingpad { ptr, i32 }
          cleanup
  %978 = extractvalue { ptr, i32 } %977, 0
  store ptr %978, ptr %3, align 8
  %979 = extractvalue { ptr, i32 } %977, 1
  store i32 %979, ptr %4, align 4
  br label %1988

980:                                              ; preds = %1623, %1595, %1592, %1587, %1584, %1568, %1540, %1524, %1498, %1496, %1493, %1477, %1449, %1447, %1444, %1428, %1402, %1400, %1397, %1381, %1353, %1351, %1348, %1332, %1304, %1288, %1262, %1260, %1257, %1241, %1214, %1211, %1195, %1167, %1165, %1162, %1146, %1120, %1118, %1115, %1099, %1072, %1069, %1053, %1025, %1023, %1020, %1004, %968, %964
  %981 = landingpad { ptr, i32 }
          cleanup
  %982 = extractvalue { ptr, i32 } %981, 0
  store ptr %982, ptr %3, align 8
  %983 = extractvalue { ptr, i32 } %981, 1
  store i32 %983, ptr %4, align 4
  br label %1987

984:                                              ; preds = %966
  %985 = landingpad { ptr, i32 }
          cleanup
  %986 = extractvalue { ptr, i32 } %985, 0
  store ptr %986, ptr %3, align 8
  %987 = extractvalue { ptr, i32 } %985, 1
  store i32 %987, ptr %4, align 4
  br label %992

988:                                              ; preds = %967
  %989 = landingpad { ptr, i32 }
          cleanup
  %990 = extractvalue { ptr, i32 } %989, 0
  store ptr %990, ptr %3, align 8
  %991 = extractvalue { ptr, i32 } %989, 1
  store i32 %991, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %87) #8
  br label %992

992:                                              ; preds = %988, %984
  call void @llvm.lifetime.end.p0(i64 48, ptr %87) #8
  br label %1987

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

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

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

1002:                                             ; preds = %971
  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 %1003 unwind label %1006

1003:                                             ; preds = %1002
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %89)
          to label %1004 unwind label %1010

1004:                                             ; preds = %1003
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %89) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %89) #8
  %1005 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1005, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1005, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %980

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

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

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

1015:                                             ; preds = %975
  br label %1016

1016:                                             ; preds = %1015
  br label %1017

1017:                                             ; preds = %1016
  br label %1018

1018:                                             ; preds = %1017
  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.56, i1 noundef zeroext true)
          to label %1019 unwind label %1033

1019:                                             ; preds = %1018
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %90)
          to label %1020 unwind label %1037

1020:                                             ; preds = %1019
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %90) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %90) #8
  %1021 = getelementptr inbounds %"struct.vl::database::DeadlockInfo", ptr %86, i32 0, i32 0
  %1022 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %1021)
          to label %1023 unwind label %980

1023:                                             ; preds = %1020
  %1024 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections9ArrayBaseINS_8database8IdObjectImLl3EEEEixEl(ptr noundef nonnull align 8 dereferenceable(24) %1022, i64 noundef 0)
          to label %1025 unwind label %980

1025:                                             ; preds = %1023
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %91, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !10
  %1026 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %91, i32 0, i32 0
  %1027 = load i64, ptr %1026, align 8
  %1028 = invoke noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8) %1024, i64 %1027)
          to label %1029 unwind label %980

1029:                                             ; preds = %1025
  br i1 %1028, label %1030, label %1051

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

1031:                                             ; preds = %1030
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %92)
          to label %1032 unwind label %1046

1032:                                             ; preds = %1031
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %92) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %92) #8
  br label %1064

1033:                                             ; preds = %1018
  %1034 = landingpad { ptr, i32 }
          cleanup
  %1035 = extractvalue { ptr, i32 } %1034, 0
  store ptr %1035, ptr %3, align 8
  %1036 = extractvalue { ptr, i32 } %1034, 1
  store i32 %1036, ptr %4, align 4
  br label %1041

1037:                                             ; preds = %1019
  %1038 = landingpad { ptr, i32 }
          cleanup
  %1039 = extractvalue { ptr, i32 } %1038, 0
  store ptr %1039, ptr %3, align 8
  %1040 = extractvalue { ptr, i32 } %1038, 1
  store i32 %1040, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %90) #8
  br label %1041

1041:                                             ; preds = %1037, %1033
  call void @llvm.lifetime.end.p0(i64 48, ptr %90) #8
  br label %1987

1042:                                             ; preds = %1030
  %1043 = landingpad { ptr, i32 }
          cleanup
  %1044 = extractvalue { ptr, i32 } %1043, 0
  store ptr %1044, ptr %3, align 8
  %1045 = extractvalue { ptr, i32 } %1043, 1
  store i32 %1045, ptr %4, align 4
  br label %1050

1046:                                             ; preds = %1031
  %1047 = landingpad { ptr, i32 }
          cleanup
  %1048 = extractvalue { ptr, i32 } %1047, 0
  store ptr %1048, ptr %3, align 8
  %1049 = extractvalue { ptr, i32 } %1047, 1
  store i32 %1049, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %92) #8
  br label %1050

1050:                                             ; preds = %1046, %1042
  call void @llvm.lifetime.end.p0(i64 48, ptr %92) #8
  br label %1987

1051:                                             ; preds = %1029
  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.2, i1 noundef zeroext true)
          to label %1052 unwind label %1055

1052:                                             ; preds = %1051
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %93)
          to label %1053 unwind label %1059

1053:                                             ; preds = %1052
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %93) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %93) #8
  %1054 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1054, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1054, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %980

1055:                                             ; preds = %1051
  %1056 = landingpad { ptr, i32 }
          cleanup
  %1057 = extractvalue { ptr, i32 } %1056, 0
  store ptr %1057, ptr %3, align 8
  %1058 = extractvalue { ptr, i32 } %1056, 1
  store i32 %1058, ptr %4, align 4
  br label %1063

1059:                                             ; preds = %1052
  %1060 = landingpad { ptr, i32 }
          cleanup
  %1061 = extractvalue { ptr, i32 } %1060, 0
  store ptr %1061, ptr %3, align 8
  %1062 = extractvalue { ptr, i32 } %1060, 1
  store i32 %1062, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %93) #8
  br label %1063

1063:                                             ; preds = %1059, %1055
  call void @llvm.lifetime.end.p0(i64 48, ptr %93) #8
  br label %1987

1064:                                             ; preds = %1032
  br label %1065

1065:                                             ; preds = %1064
  br label %1066

1066:                                             ; preds = %1065
  br label %1067

1067:                                             ; preds = %1066
  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.57, i1 noundef zeroext true)
          to label %1068 unwind label %1079

1068:                                             ; preds = %1067
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %94)
          to label %1069 unwind label %1083

1069:                                             ; preds = %1068
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %94) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %94) #8
  %1070 = getelementptr inbounds %"struct.vl::database::DeadlockInfo", ptr %86, i32 0, i32 0
  %1071 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E10GetByIndexEl(ptr noundef nonnull align 8 dereferenceable(104) %1070, i64 noundef 0)
          to label %1072 unwind label %980

1072:                                             ; preds = %1069
  %1073 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_8database10LockTargetEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %1071)
          to label %1074 unwind label %980

1074:                                             ; preds = %1072
  %1075 = icmp eq i64 %1073, 1
  br i1 %1075, label %1076, label %1097

1076:                                             ; preds = %1074
  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.1, i1 noundef zeroext true)
          to label %1077 unwind label %1088

1077:                                             ; preds = %1076
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %95)
          to label %1078 unwind label %1092

1078:                                             ; preds = %1077
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %95) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %95) #8
  br label %1110

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

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

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

1088:                                             ; preds = %1076
  %1089 = landingpad { ptr, i32 }
          cleanup
  %1090 = extractvalue { ptr, i32 } %1089, 0
  store ptr %1090, ptr %3, align 8
  %1091 = extractvalue { ptr, i32 } %1089, 1
  store i32 %1091, ptr %4, align 4
  br label %1096

1092:                                             ; preds = %1077
  %1093 = landingpad { ptr, i32 }
          cleanup
  %1094 = extractvalue { ptr, i32 } %1093, 0
  store ptr %1094, ptr %3, align 8
  %1095 = extractvalue { ptr, i32 } %1093, 1
  store i32 %1095, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %95) #8
  br label %1096

1096:                                             ; preds = %1092, %1088
  call void @llvm.lifetime.end.p0(i64 48, ptr %95) #8
  br label %1987

1097:                                             ; preds = %1074
  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.2, i1 noundef zeroext true)
          to label %1098 unwind label %1101

1098:                                             ; preds = %1097
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %96)
          to label %1099 unwind label %1105

1099:                                             ; preds = %1098
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %96) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %96) #8
  %1100 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1100, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1100, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %980

1101:                                             ; preds = %1097
  %1102 = landingpad { ptr, i32 }
          cleanup
  %1103 = extractvalue { ptr, i32 } %1102, 0
  store ptr %1103, ptr %3, align 8
  %1104 = extractvalue { ptr, i32 } %1102, 1
  store i32 %1104, ptr %4, align 4
  br label %1109

1105:                                             ; preds = %1098
  %1106 = landingpad { ptr, i32 }
          cleanup
  %1107 = extractvalue { ptr, i32 } %1106, 0
  store ptr %1107, ptr %3, align 8
  %1108 = extractvalue { ptr, i32 } %1106, 1
  store i32 %1108, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %96) #8
  br label %1109

1109:                                             ; preds = %1105, %1101
  call void @llvm.lifetime.end.p0(i64 48, ptr %96) #8
  br label %1987

1110:                                             ; preds = %1078
  br label %1111

1111:                                             ; preds = %1110
  br label %1112

1112:                                             ; preds = %1111
  br label %1113

1113:                                             ; preds = %1112
  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.58, i1 noundef zeroext true)
          to label %1114 unwind label %1126

1114:                                             ; preds = %1113
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %97)
          to label %1115 unwind label %1130

1115:                                             ; preds = %1114
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %97) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %97) #8
  %1116 = getelementptr inbounds %"struct.vl::database::DeadlockInfo", ptr %86, i32 0, i32 0
  %1117 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E10GetByIndexEl(ptr noundef nonnull align 8 dereferenceable(104) %1116, i64 noundef 0)
          to label %1118 unwind label %980

1118:                                             ; preds = %1115
  %1119 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK2vl11collections9ArrayBaseINS_8database10LockTargetEEixEl(ptr noundef nonnull align 8 dereferenceable(24) %1117, i64 noundef 0)
          to label %1120 unwind label %980

1120:                                             ; preds = %1118
  %1121 = invoke noundef zeroext i1 @_ZNK2vl8database10LockTargeteqERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %1119, ptr noundef nonnull align 8 dereferenceable(24) %45)
          to label %1122 unwind label %980

1122:                                             ; preds = %1120
  br i1 %1121, label %1123, label %1144

1123:                                             ; preds = %1122
  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.1, i1 noundef zeroext true)
          to label %1124 unwind label %1135

1124:                                             ; preds = %1123
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %98)
          to label %1125 unwind label %1139

1125:                                             ; preds = %1124
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %98) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %98) #8
  br label %1157

1126:                                             ; preds = %1113
  %1127 = landingpad { ptr, i32 }
          cleanup
  %1128 = extractvalue { ptr, i32 } %1127, 0
  store ptr %1128, ptr %3, align 8
  %1129 = extractvalue { ptr, i32 } %1127, 1
  store i32 %1129, ptr %4, align 4
  br label %1134

1130:                                             ; preds = %1114
  %1131 = landingpad { ptr, i32 }
          cleanup
  %1132 = extractvalue { ptr, i32 } %1131, 0
  store ptr %1132, ptr %3, align 8
  %1133 = extractvalue { ptr, i32 } %1131, 1
  store i32 %1133, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %97) #8
  br label %1134

1134:                                             ; preds = %1130, %1126
  call void @llvm.lifetime.end.p0(i64 48, ptr %97) #8
  br label %1987

1135:                                             ; preds = %1123
  %1136 = landingpad { ptr, i32 }
          cleanup
  %1137 = extractvalue { ptr, i32 } %1136, 0
  store ptr %1137, ptr %3, align 8
  %1138 = extractvalue { ptr, i32 } %1136, 1
  store i32 %1138, ptr %4, align 4
  br label %1143

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

1143:                                             ; preds = %1139, %1135
  call void @llvm.lifetime.end.p0(i64 48, ptr %98) #8
  br label %1987

1144:                                             ; preds = %1122
  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.2, i1 noundef zeroext true)
          to label %1145 unwind label %1148

1145:                                             ; preds = %1144
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %99)
          to label %1146 unwind label %1152

1146:                                             ; preds = %1145
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %99) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %99) #8
  %1147 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1147, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1147, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %980

1148:                                             ; preds = %1144
  %1149 = landingpad { ptr, i32 }
          cleanup
  %1150 = extractvalue { ptr, i32 } %1149, 0
  store ptr %1150, ptr %3, align 8
  %1151 = extractvalue { ptr, i32 } %1149, 1
  store i32 %1151, ptr %4, align 4
  br label %1156

1152:                                             ; preds = %1145
  %1153 = landingpad { ptr, i32 }
          cleanup
  %1154 = extractvalue { ptr, i32 } %1153, 0
  store ptr %1154, ptr %3, align 8
  %1155 = extractvalue { ptr, i32 } %1153, 1
  store i32 %1155, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %99) #8
  br label %1156

1156:                                             ; preds = %1152, %1148
  call void @llvm.lifetime.end.p0(i64 48, ptr %99) #8
  br label %1987

1157:                                             ; preds = %1125
  br label %1158

1158:                                             ; preds = %1157
  br label %1159

1159:                                             ; preds = %1158
  br label %1160

1160:                                             ; preds = %1159
  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.59, i1 noundef zeroext true)
          to label %1161 unwind label %1175

1161:                                             ; preds = %1160
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %100)
          to label %1162 unwind label %1179

1162:                                             ; preds = %1161
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %100) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %100) #8
  %1163 = getelementptr inbounds %"struct.vl::database::DeadlockInfo", ptr %86, i32 0, i32 0
  %1164 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %1163)
          to label %1165 unwind label %980

1165:                                             ; preds = %1162
  %1166 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections9ArrayBaseINS_8database8IdObjectImLl3EEEEixEl(ptr noundef nonnull align 8 dereferenceable(24) %1164, i64 noundef 1)
          to label %1167 unwind label %980

1167:                                             ; preds = %1165
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %101, ptr align 8 %9, i64 8, i1 false), !tbaa.struct !10
  %1168 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %101, i32 0, i32 0
  %1169 = load i64, ptr %1168, align 8
  %1170 = invoke noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8) %1166, i64 %1169)
          to label %1171 unwind label %980

1171:                                             ; preds = %1167
  br i1 %1170, label %1172, label %1193

1172:                                             ; preds = %1171
  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.1, i1 noundef zeroext true)
          to label %1173 unwind label %1184

1173:                                             ; preds = %1172
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %102)
          to label %1174 unwind label %1188

1174:                                             ; preds = %1173
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %102) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %102) #8
  br label %1206

1175:                                             ; preds = %1160
  %1176 = landingpad { ptr, i32 }
          cleanup
  %1177 = extractvalue { ptr, i32 } %1176, 0
  store ptr %1177, ptr %3, align 8
  %1178 = extractvalue { ptr, i32 } %1176, 1
  store i32 %1178, ptr %4, align 4
  br label %1183

1179:                                             ; preds = %1161
  %1180 = landingpad { ptr, i32 }
          cleanup
  %1181 = extractvalue { ptr, i32 } %1180, 0
  store ptr %1181, ptr %3, align 8
  %1182 = extractvalue { ptr, i32 } %1180, 1
  store i32 %1182, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %100) #8
  br label %1183

1183:                                             ; preds = %1179, %1175
  call void @llvm.lifetime.end.p0(i64 48, ptr %100) #8
  br label %1987

1184:                                             ; preds = %1172
  %1185 = landingpad { ptr, i32 }
          cleanup
  %1186 = extractvalue { ptr, i32 } %1185, 0
  store ptr %1186, ptr %3, align 8
  %1187 = extractvalue { ptr, i32 } %1185, 1
  store i32 %1187, ptr %4, align 4
  br label %1192

1188:                                             ; preds = %1173
  %1189 = landingpad { ptr, i32 }
          cleanup
  %1190 = extractvalue { ptr, i32 } %1189, 0
  store ptr %1190, ptr %3, align 8
  %1191 = extractvalue { ptr, i32 } %1189, 1
  store i32 %1191, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %102) #8
  br label %1192

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

1193:                                             ; preds = %1171
  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 %1194 unwind label %1197

1194:                                             ; preds = %1193
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %103)
          to label %1195 unwind label %1201

1195:                                             ; preds = %1194
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %103) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %103) #8
  %1196 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1196, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1196, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %980

1197:                                             ; preds = %1193
  %1198 = landingpad { ptr, i32 }
          cleanup
  %1199 = extractvalue { ptr, i32 } %1198, 0
  store ptr %1199, ptr %3, align 8
  %1200 = extractvalue { ptr, i32 } %1198, 1
  store i32 %1200, ptr %4, align 4
  br label %1205

1201:                                             ; preds = %1194
  %1202 = landingpad { ptr, i32 }
          cleanup
  %1203 = extractvalue { ptr, i32 } %1202, 0
  store ptr %1203, ptr %3, align 8
  %1204 = extractvalue { ptr, i32 } %1202, 1
  store i32 %1204, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %103) #8
  br label %1205

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

1206:                                             ; preds = %1174
  br label %1207

1207:                                             ; preds = %1206
  br label %1208

1208:                                             ; preds = %1207
  br label %1209

1209:                                             ; preds = %1208
  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.60, i1 noundef zeroext true)
          to label %1210 unwind label %1221

1210:                                             ; preds = %1209
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %104)
          to label %1211 unwind label %1225

1211:                                             ; preds = %1210
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %104) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %104) #8
  %1212 = getelementptr inbounds %"struct.vl::database::DeadlockInfo", ptr %86, i32 0, i32 0
  %1213 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E10GetByIndexEl(ptr noundef nonnull align 8 dereferenceable(104) %1212, i64 noundef 1)
          to label %1214 unwind label %980

1214:                                             ; preds = %1211
  %1215 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_8database10LockTargetEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %1213)
          to label %1216 unwind label %980

1216:                                             ; preds = %1214
  %1217 = icmp eq i64 %1215, 1
  br i1 %1217, label %1218, label %1239

1218:                                             ; preds = %1216
  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.1, i1 noundef zeroext true)
          to label %1219 unwind label %1230

1219:                                             ; preds = %1218
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %105)
          to label %1220 unwind label %1234

1220:                                             ; preds = %1219
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %105) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %105) #8
  br label %1252

1221:                                             ; preds = %1209
  %1222 = landingpad { ptr, i32 }
          cleanup
  %1223 = extractvalue { ptr, i32 } %1222, 0
  store ptr %1223, ptr %3, align 8
  %1224 = extractvalue { ptr, i32 } %1222, 1
  store i32 %1224, ptr %4, align 4
  br label %1229

1225:                                             ; preds = %1210
  %1226 = landingpad { ptr, i32 }
          cleanup
  %1227 = extractvalue { ptr, i32 } %1226, 0
  store ptr %1227, ptr %3, align 8
  %1228 = extractvalue { ptr, i32 } %1226, 1
  store i32 %1228, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %104) #8
  br label %1229

1229:                                             ; preds = %1225, %1221
  call void @llvm.lifetime.end.p0(i64 48, ptr %104) #8
  br label %1987

1230:                                             ; preds = %1218
  %1231 = landingpad { ptr, i32 }
          cleanup
  %1232 = extractvalue { ptr, i32 } %1231, 0
  store ptr %1232, ptr %3, align 8
  %1233 = extractvalue { ptr, i32 } %1231, 1
  store i32 %1233, ptr %4, align 4
  br label %1238

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

1238:                                             ; preds = %1234, %1230
  call void @llvm.lifetime.end.p0(i64 48, ptr %105) #8
  br label %1987

1239:                                             ; preds = %1216
  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 %1240 unwind label %1243

1240:                                             ; preds = %1239
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %106)
          to label %1241 unwind label %1247

1241:                                             ; preds = %1240
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %106) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %106) #8
  %1242 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1242, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1242, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %980

1243:                                             ; preds = %1239
  %1244 = landingpad { ptr, i32 }
          cleanup
  %1245 = extractvalue { ptr, i32 } %1244, 0
  store ptr %1245, ptr %3, align 8
  %1246 = extractvalue { ptr, i32 } %1244, 1
  store i32 %1246, ptr %4, align 4
  br label %1251

1247:                                             ; preds = %1240
  %1248 = landingpad { ptr, i32 }
          cleanup
  %1249 = extractvalue { ptr, i32 } %1248, 0
  store ptr %1249, ptr %3, align 8
  %1250 = extractvalue { ptr, i32 } %1248, 1
  store i32 %1250, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %106) #8
  br label %1251

1251:                                             ; preds = %1247, %1243
  call void @llvm.lifetime.end.p0(i64 48, ptr %106) #8
  br label %1987

1252:                                             ; preds = %1220
  br label %1253

1253:                                             ; preds = %1252
  br label %1254

1254:                                             ; preds = %1253
  br label %1255

1255:                                             ; preds = %1254
  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.61, i1 noundef zeroext true)
          to label %1256 unwind label %1268

1256:                                             ; preds = %1255
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %107)
          to label %1257 unwind label %1272

1257:                                             ; preds = %1256
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %107) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %107) #8
  %1258 = getelementptr inbounds %"struct.vl::database::DeadlockInfo", ptr %86, i32 0, i32 0
  %1259 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E10GetByIndexEl(ptr noundef nonnull align 8 dereferenceable(104) %1258, i64 noundef 1)
          to label %1260 unwind label %980

1260:                                             ; preds = %1257
  %1261 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK2vl11collections9ArrayBaseINS_8database10LockTargetEEixEl(ptr noundef nonnull align 8 dereferenceable(24) %1259, i64 noundef 0)
          to label %1262 unwind label %980

1262:                                             ; preds = %1260
  %1263 = invoke noundef zeroext i1 @_ZNK2vl8database10LockTargeteqERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %1261, ptr noundef nonnull align 8 dereferenceable(24) %49)
          to label %1264 unwind label %980

1264:                                             ; preds = %1262
  br i1 %1263, label %1265, label %1286

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

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

1267:                                             ; preds = %1266
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %108) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %108) #8
  br label %1299

1268:                                             ; preds = %1255
  %1269 = landingpad { ptr, i32 }
          cleanup
  %1270 = extractvalue { ptr, i32 } %1269, 0
  store ptr %1270, ptr %3, align 8
  %1271 = extractvalue { ptr, i32 } %1269, 1
  store i32 %1271, ptr %4, align 4
  br label %1276

1272:                                             ; preds = %1256
  %1273 = landingpad { ptr, i32 }
          cleanup
  %1274 = extractvalue { ptr, i32 } %1273, 0
  store ptr %1274, ptr %3, align 8
  %1275 = extractvalue { ptr, i32 } %1273, 1
  store i32 %1275, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %107) #8
  br label %1276

1276:                                             ; preds = %1272, %1268
  call void @llvm.lifetime.end.p0(i64 48, ptr %107) #8
  br label %1987

1277:                                             ; preds = %1265
  %1278 = landingpad { ptr, i32 }
          cleanup
  %1279 = extractvalue { ptr, i32 } %1278, 0
  store ptr %1279, ptr %3, align 8
  %1280 = extractvalue { ptr, i32 } %1278, 1
  store i32 %1280, ptr %4, align 4
  br label %1285

1281:                                             ; preds = %1266
  %1282 = landingpad { ptr, i32 }
          cleanup
  %1283 = extractvalue { ptr, i32 } %1282, 0
  store ptr %1283, ptr %3, align 8
  %1284 = extractvalue { ptr, i32 } %1282, 1
  store i32 %1284, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %108) #8
  br label %1285

1285:                                             ; preds = %1281, %1277
  call void @llvm.lifetime.end.p0(i64 48, ptr %108) #8
  br label %1987

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

1287:                                             ; preds = %1286
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %109)
          to label %1288 unwind label %1294

1288:                                             ; preds = %1287
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %109) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %109) #8
  %1289 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1289, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1289, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %980

1290:                                             ; preds = %1286
  %1291 = landingpad { ptr, i32 }
          cleanup
  %1292 = extractvalue { ptr, i32 } %1291, 0
  store ptr %1292, ptr %3, align 8
  %1293 = extractvalue { ptr, i32 } %1291, 1
  store i32 %1293, ptr %4, align 4
  br label %1298

1294:                                             ; preds = %1287
  %1295 = landingpad { ptr, i32 }
          cleanup
  %1296 = extractvalue { ptr, i32 } %1295, 0
  store ptr %1296, ptr %3, align 8
  %1297 = extractvalue { ptr, i32 } %1295, 1
  store i32 %1297, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %109) #8
  br label %1298

1298:                                             ; preds = %1294, %1290
  call void @llvm.lifetime.end.p0(i64 48, ptr %109) #8
  br label %1987

1299:                                             ; preds = %1267
  br label %1300

1300:                                             ; preds = %1299
  br label %1301

1301:                                             ; preds = %1300
  br label %1302

1302:                                             ; preds = %1301
  call void @llvm.lifetime.start.p0(i64 48, ptr %110) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %110, ptr noundef @.str.62, i1 noundef zeroext true)
          to label %1303 unwind label %1312

1303:                                             ; preds = %1302
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %110)
          to label %1304 unwind label %1316

1304:                                             ; preds = %1303
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %110) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %110) #8
  %1305 = getelementptr inbounds %"struct.vl::database::DeadlockInfo", ptr %86, i32 0, i32 1
  %1306 = invoke noundef i64 @_ZNK2vl11collections10DictionaryINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E5CountEv(ptr noundef nonnull align 8 dereferenceable(104) %1305)
          to label %1307 unwind label %980

1307:                                             ; preds = %1304
  %1308 = icmp eq i64 %1306, 2
  br i1 %1308, label %1309, label %1330

1309:                                             ; preds = %1307
  call void @llvm.lifetime.start.p0(i64 48, ptr %111) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %111, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %1310 unwind label %1321

1310:                                             ; preds = %1309
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %111)
          to label %1311 unwind label %1325

1311:                                             ; preds = %1310
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %111) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %111) #8
  br label %1343

1312:                                             ; preds = %1302
  %1313 = landingpad { ptr, i32 }
          cleanup
  %1314 = extractvalue { ptr, i32 } %1313, 0
  store ptr %1314, ptr %3, align 8
  %1315 = extractvalue { ptr, i32 } %1313, 1
  store i32 %1315, ptr %4, align 4
  br label %1320

1316:                                             ; preds = %1303
  %1317 = landingpad { ptr, i32 }
          cleanup
  %1318 = extractvalue { ptr, i32 } %1317, 0
  store ptr %1318, ptr %3, align 8
  %1319 = extractvalue { ptr, i32 } %1317, 1
  store i32 %1319, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %110) #8
  br label %1320

1320:                                             ; preds = %1316, %1312
  call void @llvm.lifetime.end.p0(i64 48, ptr %110) #8
  br label %1987

1321:                                             ; preds = %1309
  %1322 = landingpad { ptr, i32 }
          cleanup
  %1323 = extractvalue { ptr, i32 } %1322, 0
  store ptr %1323, ptr %3, align 8
  %1324 = extractvalue { ptr, i32 } %1322, 1
  store i32 %1324, ptr %4, align 4
  br label %1329

1325:                                             ; preds = %1310
  %1326 = landingpad { ptr, i32 }
          cleanup
  %1327 = extractvalue { ptr, i32 } %1326, 0
  store ptr %1327, ptr %3, align 8
  %1328 = extractvalue { ptr, i32 } %1326, 1
  store i32 %1328, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %111) #8
  br label %1329

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

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

1331:                                             ; preds = %1330
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %112)
          to label %1332 unwind label %1338

1332:                                             ; preds = %1331
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %112) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %112) #8
  %1333 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1333, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1333, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %980

1334:                                             ; preds = %1330
  %1335 = landingpad { ptr, i32 }
          cleanup
  %1336 = extractvalue { ptr, i32 } %1335, 0
  store ptr %1336, ptr %3, align 8
  %1337 = extractvalue { ptr, i32 } %1335, 1
  store i32 %1337, ptr %4, align 4
  br label %1342

1338:                                             ; preds = %1331
  %1339 = landingpad { ptr, i32 }
          cleanup
  %1340 = extractvalue { ptr, i32 } %1339, 0
  store ptr %1340, ptr %3, align 8
  %1341 = extractvalue { ptr, i32 } %1339, 1
  store i32 %1341, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %112) #8
  br label %1342

1342:                                             ; preds = %1338, %1334
  call void @llvm.lifetime.end.p0(i64 48, ptr %112) #8
  br label %1987

1343:                                             ; preds = %1311
  br label %1344

1344:                                             ; preds = %1343
  br label %1345

1345:                                             ; preds = %1344
  br label %1346

1346:                                             ; preds = %1345
  call void @llvm.lifetime.start.p0(i64 48, ptr %113) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %113, ptr noundef @.str.63, i1 noundef zeroext true)
          to label %1347 unwind label %1361

1347:                                             ; preds = %1346
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %113)
          to label %1348 unwind label %1365

1348:                                             ; preds = %1347
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %113) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %113) #8
  %1349 = getelementptr inbounds %"struct.vl::database::DeadlockInfo", ptr %86, i32 0, i32 1
  %1350 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %1349)
          to label %1351 unwind label %980

1351:                                             ; preds = %1348
  %1352 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections9ArrayBaseINS_8database8IdObjectImLl3EEEEixEl(ptr noundef nonnull align 8 dereferenceable(24) %1350, i64 noundef 0)
          to label %1353 unwind label %980

1353:                                             ; preds = %1351
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %114, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !10
  %1354 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %114, i32 0, i32 0
  %1355 = load i64, ptr %1354, align 8
  %1356 = invoke noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8) %1352, i64 %1355)
          to label %1357 unwind label %980

1357:                                             ; preds = %1353
  br i1 %1356, label %1358, label %1379

1358:                                             ; preds = %1357
  call void @llvm.lifetime.start.p0(i64 48, ptr %115) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %115, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %1359 unwind label %1370

1359:                                             ; preds = %1358
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %115)
          to label %1360 unwind label %1374

1360:                                             ; preds = %1359
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %115) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %115) #8
  br label %1392

1361:                                             ; preds = %1346
  %1362 = landingpad { ptr, i32 }
          cleanup
  %1363 = extractvalue { ptr, i32 } %1362, 0
  store ptr %1363, ptr %3, align 8
  %1364 = extractvalue { ptr, i32 } %1362, 1
  store i32 %1364, ptr %4, align 4
  br label %1369

1365:                                             ; preds = %1347
  %1366 = landingpad { ptr, i32 }
          cleanup
  %1367 = extractvalue { ptr, i32 } %1366, 0
  store ptr %1367, ptr %3, align 8
  %1368 = extractvalue { ptr, i32 } %1366, 1
  store i32 %1368, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %113) #8
  br label %1369

1369:                                             ; preds = %1365, %1361
  call void @llvm.lifetime.end.p0(i64 48, ptr %113) #8
  br label %1987

1370:                                             ; preds = %1358
  %1371 = landingpad { ptr, i32 }
          cleanup
  %1372 = extractvalue { ptr, i32 } %1371, 0
  store ptr %1372, ptr %3, align 8
  %1373 = extractvalue { ptr, i32 } %1371, 1
  store i32 %1373, ptr %4, align 4
  br label %1378

1374:                                             ; preds = %1359
  %1375 = landingpad { ptr, i32 }
          cleanup
  %1376 = extractvalue { ptr, i32 } %1375, 0
  store ptr %1376, ptr %3, align 8
  %1377 = extractvalue { ptr, i32 } %1375, 1
  store i32 %1377, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %115) #8
  br label %1378

1378:                                             ; preds = %1374, %1370
  call void @llvm.lifetime.end.p0(i64 48, ptr %115) #8
  br label %1987

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

1380:                                             ; preds = %1379
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %116)
          to label %1381 unwind label %1387

1381:                                             ; preds = %1380
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %116) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %116) #8
  %1382 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1382, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1382, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %980

1383:                                             ; preds = %1379
  %1384 = landingpad { ptr, i32 }
          cleanup
  %1385 = extractvalue { ptr, i32 } %1384, 0
  store ptr %1385, ptr %3, align 8
  %1386 = extractvalue { ptr, i32 } %1384, 1
  store i32 %1386, ptr %4, align 4
  br label %1391

1387:                                             ; preds = %1380
  %1388 = landingpad { ptr, i32 }
          cleanup
  %1389 = extractvalue { ptr, i32 } %1388, 0
  store ptr %1389, ptr %3, align 8
  %1390 = extractvalue { ptr, i32 } %1388, 1
  store i32 %1390, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %116) #8
  br label %1391

1391:                                             ; preds = %1387, %1383
  call void @llvm.lifetime.end.p0(i64 48, ptr %116) #8
  br label %1987

1392:                                             ; preds = %1360
  br label %1393

1393:                                             ; preds = %1392
  br label %1394

1394:                                             ; preds = %1393
  br label %1395

1395:                                             ; preds = %1394
  call void @llvm.lifetime.start.p0(i64 48, ptr %117) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %117, ptr noundef @.str.64, i1 noundef zeroext true)
          to label %1396 unwind label %1408

1396:                                             ; preds = %1395
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %117)
          to label %1397 unwind label %1412

1397:                                             ; preds = %1396
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %117) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %117) #8
  %1398 = getelementptr inbounds %"struct.vl::database::DeadlockInfo", ptr %86, i32 0, i32 1
  %1399 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104) %1398)
          to label %1400 unwind label %980

1400:                                             ; preds = %1397
  %1401 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK2vl11collections9ArrayBaseINS_8database10LockTargetEEixEl(ptr noundef nonnull align 8 dereferenceable(24) %1399, i64 noundef 0)
          to label %1402 unwind label %980

1402:                                             ; preds = %1400
  %1403 = invoke noundef zeroext i1 @_ZNK2vl8database10LockTargeteqERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %1401, ptr noundef nonnull align 8 dereferenceable(24) %51)
          to label %1404 unwind label %980

1404:                                             ; preds = %1402
  br i1 %1403, label %1405, label %1426

1405:                                             ; preds = %1404
  call void @llvm.lifetime.start.p0(i64 48, ptr %118) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %118, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %1406 unwind label %1417

1406:                                             ; preds = %1405
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %118)
          to label %1407 unwind label %1421

1407:                                             ; preds = %1406
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %118) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %118) #8
  br label %1439

1408:                                             ; preds = %1395
  %1409 = landingpad { ptr, i32 }
          cleanup
  %1410 = extractvalue { ptr, i32 } %1409, 0
  store ptr %1410, ptr %3, align 8
  %1411 = extractvalue { ptr, i32 } %1409, 1
  store i32 %1411, ptr %4, align 4
  br label %1416

1412:                                             ; preds = %1396
  %1413 = landingpad { ptr, i32 }
          cleanup
  %1414 = extractvalue { ptr, i32 } %1413, 0
  store ptr %1414, ptr %3, align 8
  %1415 = extractvalue { ptr, i32 } %1413, 1
  store i32 %1415, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %117) #8
  br label %1416

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

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

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

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

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

1427:                                             ; preds = %1426
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %119)
          to label %1428 unwind label %1434

1428:                                             ; preds = %1427
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %119) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %119) #8
  %1429 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1429, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1429, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %980

1430:                                             ; preds = %1426
  %1431 = landingpad { ptr, i32 }
          cleanup
  %1432 = extractvalue { ptr, i32 } %1431, 0
  store ptr %1432, ptr %3, align 8
  %1433 = extractvalue { ptr, i32 } %1431, 1
  store i32 %1433, ptr %4, align 4
  br label %1438

1434:                                             ; preds = %1427
  %1435 = landingpad { ptr, i32 }
          cleanup
  %1436 = extractvalue { ptr, i32 } %1435, 0
  store ptr %1436, ptr %3, align 8
  %1437 = extractvalue { ptr, i32 } %1435, 1
  store i32 %1437, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %119) #8
  br label %1438

1438:                                             ; preds = %1434, %1430
  call void @llvm.lifetime.end.p0(i64 48, ptr %119) #8
  br label %1987

1439:                                             ; preds = %1407
  br label %1440

1440:                                             ; preds = %1439
  br label %1441

1441:                                             ; preds = %1440
  br label %1442

1442:                                             ; preds = %1441
  call void @llvm.lifetime.start.p0(i64 48, ptr %120) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %120, ptr noundef @.str.65, i1 noundef zeroext true)
          to label %1443 unwind label %1457

1443:                                             ; preds = %1442
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %120)
          to label %1444 unwind label %1461

1444:                                             ; preds = %1443
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %120) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %120) #8
  %1445 = getelementptr inbounds %"struct.vl::database::DeadlockInfo", ptr %86, i32 0, i32 1
  %1446 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %1445)
          to label %1447 unwind label %980

1447:                                             ; preds = %1444
  %1448 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections9ArrayBaseINS_8database8IdObjectImLl3EEEEixEl(ptr noundef nonnull align 8 dereferenceable(24) %1446, i64 noundef 1)
          to label %1449 unwind label %980

1449:                                             ; preds = %1447
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %121, ptr align 8 %9, i64 8, i1 false), !tbaa.struct !10
  %1450 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %121, i32 0, i32 0
  %1451 = load i64, ptr %1450, align 8
  %1452 = invoke noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8) %1448, i64 %1451)
          to label %1453 unwind label %980

1453:                                             ; preds = %1449
  br i1 %1452, label %1454, label %1475

1454:                                             ; preds = %1453
  call void @llvm.lifetime.start.p0(i64 48, ptr %122) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %122, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %1455 unwind label %1466

1455:                                             ; preds = %1454
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %122)
          to label %1456 unwind label %1470

1456:                                             ; preds = %1455
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %122) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %122) #8
  br label %1488

1457:                                             ; preds = %1442
  %1458 = landingpad { ptr, i32 }
          cleanup
  %1459 = extractvalue { ptr, i32 } %1458, 0
  store ptr %1459, ptr %3, align 8
  %1460 = extractvalue { ptr, i32 } %1458, 1
  store i32 %1460, ptr %4, align 4
  br label %1465

1461:                                             ; preds = %1443
  %1462 = landingpad { ptr, i32 }
          cleanup
  %1463 = extractvalue { ptr, i32 } %1462, 0
  store ptr %1463, ptr %3, align 8
  %1464 = extractvalue { ptr, i32 } %1462, 1
  store i32 %1464, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %120) #8
  br label %1465

1465:                                             ; preds = %1461, %1457
  call void @llvm.lifetime.end.p0(i64 48, ptr %120) #8
  br label %1987

1466:                                             ; preds = %1454
  %1467 = landingpad { ptr, i32 }
          cleanup
  %1468 = extractvalue { ptr, i32 } %1467, 0
  store ptr %1468, ptr %3, align 8
  %1469 = extractvalue { ptr, i32 } %1467, 1
  store i32 %1469, ptr %4, align 4
  br label %1474

1470:                                             ; preds = %1455
  %1471 = landingpad { ptr, i32 }
          cleanup
  %1472 = extractvalue { ptr, i32 } %1471, 0
  store ptr %1472, ptr %3, align 8
  %1473 = extractvalue { ptr, i32 } %1471, 1
  store i32 %1473, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %122) #8
  br label %1474

1474:                                             ; preds = %1470, %1466
  call void @llvm.lifetime.end.p0(i64 48, ptr %122) #8
  br label %1987

1475:                                             ; preds = %1453
  call void @llvm.lifetime.start.p0(i64 48, ptr %123) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %123, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %1476 unwind label %1479

1476:                                             ; preds = %1475
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %123)
          to label %1477 unwind label %1483

1477:                                             ; preds = %1476
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %123) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %123) #8
  %1478 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1478, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1478, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %980

1479:                                             ; preds = %1475
  %1480 = landingpad { ptr, i32 }
          cleanup
  %1481 = extractvalue { ptr, i32 } %1480, 0
  store ptr %1481, ptr %3, align 8
  %1482 = extractvalue { ptr, i32 } %1480, 1
  store i32 %1482, ptr %4, align 4
  br label %1487

1483:                                             ; preds = %1476
  %1484 = landingpad { ptr, i32 }
          cleanup
  %1485 = extractvalue { ptr, i32 } %1484, 0
  store ptr %1485, ptr %3, align 8
  %1486 = extractvalue { ptr, i32 } %1484, 1
  store i32 %1486, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %123) #8
  br label %1487

1487:                                             ; preds = %1483, %1479
  call void @llvm.lifetime.end.p0(i64 48, ptr %123) #8
  br label %1987

1488:                                             ; preds = %1456
  br label %1489

1489:                                             ; preds = %1488
  br label %1490

1490:                                             ; preds = %1489
  br label %1491

1491:                                             ; preds = %1490
  call void @llvm.lifetime.start.p0(i64 48, ptr %124) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %124, ptr noundef @.str.66, i1 noundef zeroext true)
          to label %1492 unwind label %1504

1492:                                             ; preds = %1491
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %124)
          to label %1493 unwind label %1508

1493:                                             ; preds = %1492
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %124) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %124) #8
  %1494 = getelementptr inbounds %"struct.vl::database::DeadlockInfo", ptr %86, i32 0, i32 1
  %1495 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104) %1494)
          to label %1496 unwind label %980

1496:                                             ; preds = %1493
  %1497 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK2vl11collections9ArrayBaseINS_8database10LockTargetEEixEl(ptr noundef nonnull align 8 dereferenceable(24) %1495, i64 noundef 1)
          to label %1498 unwind label %980

1498:                                             ; preds = %1496
  %1499 = invoke noundef zeroext i1 @_ZNK2vl8database10LockTargeteqERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %1497, ptr noundef nonnull align 8 dereferenceable(24) %47)
          to label %1500 unwind label %980

1500:                                             ; preds = %1498
  br i1 %1499, label %1501, label %1522

1501:                                             ; preds = %1500
  call void @llvm.lifetime.start.p0(i64 48, ptr %125) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %125, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %1502 unwind label %1513

1502:                                             ; preds = %1501
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %125)
          to label %1503 unwind label %1517

1503:                                             ; preds = %1502
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %125) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %125) #8
  br label %1535

1504:                                             ; preds = %1491
  %1505 = landingpad { ptr, i32 }
          cleanup
  %1506 = extractvalue { ptr, i32 } %1505, 0
  store ptr %1506, ptr %3, align 8
  %1507 = extractvalue { ptr, i32 } %1505, 1
  store i32 %1507, ptr %4, align 4
  br label %1512

1508:                                             ; preds = %1492
  %1509 = landingpad { ptr, i32 }
          cleanup
  %1510 = extractvalue { ptr, i32 } %1509, 0
  store ptr %1510, ptr %3, align 8
  %1511 = extractvalue { ptr, i32 } %1509, 1
  store i32 %1511, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %124) #8
  br label %1512

1512:                                             ; preds = %1508, %1504
  call void @llvm.lifetime.end.p0(i64 48, ptr %124) #8
  br label %1987

1513:                                             ; preds = %1501
  %1514 = landingpad { ptr, i32 }
          cleanup
  %1515 = extractvalue { ptr, i32 } %1514, 0
  store ptr %1515, ptr %3, align 8
  %1516 = extractvalue { ptr, i32 } %1514, 1
  store i32 %1516, ptr %4, align 4
  br label %1521

1517:                                             ; preds = %1502
  %1518 = landingpad { ptr, i32 }
          cleanup
  %1519 = extractvalue { ptr, i32 } %1518, 0
  store ptr %1519, ptr %3, align 8
  %1520 = extractvalue { ptr, i32 } %1518, 1
  store i32 %1520, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %125) #8
  br label %1521

1521:                                             ; preds = %1517, %1513
  call void @llvm.lifetime.end.p0(i64 48, ptr %125) #8
  br label %1987

1522:                                             ; preds = %1500
  call void @llvm.lifetime.start.p0(i64 48, ptr %126) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %126, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %1523 unwind label %1526

1523:                                             ; preds = %1522
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %126)
          to label %1524 unwind label %1530

1524:                                             ; preds = %1523
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %126) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %126) #8
  %1525 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1525, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1525, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %980

1526:                                             ; preds = %1522
  %1527 = landingpad { ptr, i32 }
          cleanup
  %1528 = extractvalue { ptr, i32 } %1527, 0
  store ptr %1528, ptr %3, align 8
  %1529 = extractvalue { ptr, i32 } %1527, 1
  store i32 %1529, ptr %4, align 4
  br label %1534

1530:                                             ; preds = %1523
  %1531 = landingpad { ptr, i32 }
          cleanup
  %1532 = extractvalue { ptr, i32 } %1531, 0
  store ptr %1532, ptr %3, align 8
  %1533 = extractvalue { ptr, i32 } %1531, 1
  store i32 %1533, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %126) #8
  br label %1534

1534:                                             ; preds = %1530, %1526
  call void @llvm.lifetime.end.p0(i64 48, ptr %126) #8
  br label %1987

1535:                                             ; preds = %1503
  br label %1536

1536:                                             ; preds = %1535
  br label %1537

1537:                                             ; preds = %1536
  br label %1538

1538:                                             ; preds = %1537
  call void @llvm.lifetime.start.p0(i64 48, ptr %127) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %127, ptr noundef @.str.67, i1 noundef zeroext true)
          to label %1539 unwind label %1548

1539:                                             ; preds = %1538
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %127)
          to label %1540 unwind label %1552

1540:                                             ; preds = %1539
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %127) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %127) #8
  %1541 = getelementptr inbounds %"struct.vl::database::DeadlockInfo", ptr %86, i32 0, i32 2
  %1542 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_8database8IdObjectImLl3EEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %1541)
          to label %1543 unwind label %980

1543:                                             ; preds = %1540
  %1544 = icmp eq i64 %1542, 1
  br i1 %1544, label %1545, label %1566

1545:                                             ; preds = %1543
  call void @llvm.lifetime.start.p0(i64 48, ptr %128) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %128, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %1546 unwind label %1557

1546:                                             ; preds = %1545
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %128)
          to label %1547 unwind label %1561

1547:                                             ; preds = %1546
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %128) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %128) #8
  br label %1579

1548:                                             ; preds = %1538
  %1549 = landingpad { ptr, i32 }
          cleanup
  %1550 = extractvalue { ptr, i32 } %1549, 0
  store ptr %1550, ptr %3, align 8
  %1551 = extractvalue { ptr, i32 } %1549, 1
  store i32 %1551, ptr %4, align 4
  br label %1556

1552:                                             ; preds = %1539
  %1553 = landingpad { ptr, i32 }
          cleanup
  %1554 = extractvalue { ptr, i32 } %1553, 0
  store ptr %1554, ptr %3, align 8
  %1555 = extractvalue { ptr, i32 } %1553, 1
  store i32 %1555, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %127) #8
  br label %1556

1556:                                             ; preds = %1552, %1548
  call void @llvm.lifetime.end.p0(i64 48, ptr %127) #8
  br label %1987

1557:                                             ; preds = %1545
  %1558 = landingpad { ptr, i32 }
          cleanup
  %1559 = extractvalue { ptr, i32 } %1558, 0
  store ptr %1559, ptr %3, align 8
  %1560 = extractvalue { ptr, i32 } %1558, 1
  store i32 %1560, ptr %4, align 4
  br label %1565

1561:                                             ; preds = %1546
  %1562 = landingpad { ptr, i32 }
          cleanup
  %1563 = extractvalue { ptr, i32 } %1562, 0
  store ptr %1563, ptr %3, align 8
  %1564 = extractvalue { ptr, i32 } %1562, 1
  store i32 %1564, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %128) #8
  br label %1565

1565:                                             ; preds = %1561, %1557
  call void @llvm.lifetime.end.p0(i64 48, ptr %128) #8
  br label %1987

1566:                                             ; preds = %1543
  call void @llvm.lifetime.start.p0(i64 48, ptr %129) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %129, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %1567 unwind label %1570

1567:                                             ; preds = %1566
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %129)
          to label %1568 unwind label %1574

1568:                                             ; preds = %1567
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %129) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %129) #8
  %1569 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1569, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1569, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %980

1570:                                             ; preds = %1566
  %1571 = landingpad { ptr, i32 }
          cleanup
  %1572 = extractvalue { ptr, i32 } %1571, 0
  store ptr %1572, ptr %3, align 8
  %1573 = extractvalue { ptr, i32 } %1571, 1
  store i32 %1573, ptr %4, align 4
  br label %1578

1574:                                             ; preds = %1567
  %1575 = landingpad { ptr, i32 }
          cleanup
  %1576 = extractvalue { ptr, i32 } %1575, 0
  store ptr %1576, ptr %3, align 8
  %1577 = extractvalue { ptr, i32 } %1575, 1
  store i32 %1577, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %129) #8
  br label %1578

1578:                                             ; preds = %1574, %1570
  call void @llvm.lifetime.end.p0(i64 48, ptr %129) #8
  br label %1987

1579:                                             ; preds = %1547
  br label %1580

1580:                                             ; preds = %1579
  br label %1581

1581:                                             ; preds = %1580
  br label %1582

1582:                                             ; preds = %1581
  call void @llvm.lifetime.start.p0(i64 48, ptr %130) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %130, ptr noundef @.str.68, i1 noundef zeroext true)
          to label %1583 unwind label %1603

1583:                                             ; preds = %1582
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %130)
          to label %1584 unwind label %1607

1584:                                             ; preds = %1583
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %130) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %130) #8
  %1585 = getelementptr inbounds %"struct.vl::database::DeadlockInfo", ptr %86, i32 0, i32 2
  %1586 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListINS_8database8IdObjectImLl3EEES4_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %1585, i64 noundef 0)
          to label %1587 unwind label %980

1587:                                             ; preds = %1584
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %131, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !10
  %1588 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %131, i32 0, i32 0
  %1589 = load i64, ptr %1588, align 8
  %1590 = invoke noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8) %1586, i64 %1589)
          to label %1591 unwind label %980

1591:                                             ; preds = %1587
  br i1 %1590, label %1600, label %1592

1592:                                             ; preds = %1591
  %1593 = getelementptr inbounds %"struct.vl::database::DeadlockInfo", ptr %86, i32 0, i32 2
  %1594 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListINS_8database8IdObjectImLl3EEES4_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %1593, i64 noundef 0)
          to label %1595 unwind label %980

1595:                                             ; preds = %1592
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %132, ptr align 8 %9, i64 8, i1 false), !tbaa.struct !10
  %1596 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %132, i32 0, i32 0
  %1597 = load i64, ptr %1596, align 8
  %1598 = invoke noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8) %1594, i64 %1597)
          to label %1599 unwind label %980

1599:                                             ; preds = %1595
  br i1 %1598, label %1600, label %1621

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

1601:                                             ; preds = %1600
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %133)
          to label %1602 unwind label %1616

1602:                                             ; preds = %1601
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %133) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %133) #8
  br label %1634

1603:                                             ; preds = %1582
  %1604 = landingpad { ptr, i32 }
          cleanup
  %1605 = extractvalue { ptr, i32 } %1604, 0
  store ptr %1605, ptr %3, align 8
  %1606 = extractvalue { ptr, i32 } %1604, 1
  store i32 %1606, ptr %4, align 4
  br label %1611

1607:                                             ; preds = %1583
  %1608 = landingpad { ptr, i32 }
          cleanup
  %1609 = extractvalue { ptr, i32 } %1608, 0
  store ptr %1609, ptr %3, align 8
  %1610 = extractvalue { ptr, i32 } %1608, 1
  store i32 %1610, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %130) #8
  br label %1611

1611:                                             ; preds = %1607, %1603
  call void @llvm.lifetime.end.p0(i64 48, ptr %130) #8
  br label %1987

1612:                                             ; preds = %1600
  %1613 = landingpad { ptr, i32 }
          cleanup
  %1614 = extractvalue { ptr, i32 } %1613, 0
  store ptr %1614, ptr %3, align 8
  %1615 = extractvalue { ptr, i32 } %1613, 1
  store i32 %1615, ptr %4, align 4
  br label %1620

1616:                                             ; preds = %1601
  %1617 = landingpad { ptr, i32 }
          cleanup
  %1618 = extractvalue { ptr, i32 } %1617, 0
  store ptr %1618, ptr %3, align 8
  %1619 = extractvalue { ptr, i32 } %1617, 1
  store i32 %1619, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %133) #8
  br label %1620

1620:                                             ; preds = %1616, %1612
  call void @llvm.lifetime.end.p0(i64 48, ptr %133) #8
  br label %1987

1621:                                             ; preds = %1599
  call void @llvm.lifetime.start.p0(i64 48, ptr %134) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %134, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %1622 unwind label %1625

1622:                                             ; preds = %1621
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %134)
          to label %1623 unwind label %1629

1623:                                             ; preds = %1622
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %134) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %134) #8
  %1624 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1624, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1624, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %980

1625:                                             ; preds = %1621
  %1626 = landingpad { ptr, i32 }
          cleanup
  %1627 = extractvalue { ptr, i32 } %1626, 0
  store ptr %1627, ptr %3, align 8
  %1628 = extractvalue { ptr, i32 } %1626, 1
  store i32 %1628, ptr %4, align 4
  br label %1633

1629:                                             ; preds = %1622
  %1630 = landingpad { ptr, i32 }
          cleanup
  %1631 = extractvalue { ptr, i32 } %1630, 0
  store ptr %1631, ptr %3, align 8
  %1632 = extractvalue { ptr, i32 } %1630, 1
  store i32 %1632, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %134) #8
  br label %1633

1633:                                             ; preds = %1629, %1625
  call void @llvm.lifetime.end.p0(i64 48, ptr %134) #8
  br label %1987

1634:                                             ; preds = %1602
  br label %1635

1635:                                             ; preds = %1634
  br label %1636

1636:                                             ; preds = %1635
  call void @llvm.lifetime.start.p0(i64 8, ptr %135) #8
  %1637 = getelementptr inbounds %"struct.vl::database::DeadlockInfo", ptr %86, i32 0, i32 2
  %1638 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListINS_8database8IdObjectImLl3EEES4_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %1637, i64 noundef 0)
          to label %1639 unwind label %1652

1639:                                             ; preds = %1636
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %135, ptr align 8 %1638, i64 8, i1 false), !tbaa.struct !10
  br label %1640

1640:                                             ; preds = %1639
  call void @llvm.lifetime.start.p0(i64 48, ptr %136) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %136, ptr noundef @.str.69, i1 noundef zeroext true)
          to label %1641 unwind label %1656

1641:                                             ; preds = %1640
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %136)
          to label %1642 unwind label %1660

1642:                                             ; preds = %1641
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %136) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %136) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %137, ptr align 8 %135, i64 8, i1 false), !tbaa.struct !10
  %1643 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %137, i32 0, i32 0
  %1644 = load i64, ptr %1643, align 8
  %1645 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager8RollbackENS0_8IdObjectImLl3EEE(ptr noundef nonnull align 8 dereferenceable(400) %5, i64 %1644)
          to label %1646 unwind label %1652

1646:                                             ; preds = %1642
  %1647 = zext i1 %1645 to i32
  %1648 = icmp eq i32 %1647, 1
  br i1 %1648, label %1649, label %1674

1649:                                             ; preds = %1646
  call void @llvm.lifetime.start.p0(i64 48, ptr %138) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %138, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %1650 unwind label %1665

1650:                                             ; preds = %1649
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %138)
          to label %1651 unwind label %1669

1651:                                             ; preds = %1650
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %138) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %138) #8
  br label %1687

1652:                                             ; preds = %1972, %1942, %1926, %1896, %1880, %1849, %1845, %1829, %1798, %1794, %1778, %1747, %1743, %1727, %1696, %1692, %1676, %1642, %1636
  %1653 = landingpad { ptr, i32 }
          cleanup
  %1654 = extractvalue { ptr, i32 } %1653, 0
  store ptr %1654, ptr %3, align 8
  %1655 = extractvalue { ptr, i32 } %1653, 1
  store i32 %1655, ptr %4, align 4
  br label %1986

1656:                                             ; preds = %1640
  %1657 = landingpad { ptr, i32 }
          cleanup
  %1658 = extractvalue { ptr, i32 } %1657, 0
  store ptr %1658, ptr %3, align 8
  %1659 = extractvalue { ptr, i32 } %1657, 1
  store i32 %1659, ptr %4, align 4
  br label %1664

1660:                                             ; preds = %1641
  %1661 = landingpad { ptr, i32 }
          cleanup
  %1662 = extractvalue { ptr, i32 } %1661, 0
  store ptr %1662, ptr %3, align 8
  %1663 = extractvalue { ptr, i32 } %1661, 1
  store i32 %1663, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %136) #8
  br label %1664

1664:                                             ; preds = %1660, %1656
  call void @llvm.lifetime.end.p0(i64 48, ptr %136) #8
  br label %1986

1665:                                             ; preds = %1649
  %1666 = landingpad { ptr, i32 }
          cleanup
  %1667 = extractvalue { ptr, i32 } %1666, 0
  store ptr %1667, ptr %3, align 8
  %1668 = extractvalue { ptr, i32 } %1666, 1
  store i32 %1668, ptr %4, align 4
  br label %1673

1669:                                             ; preds = %1650
  %1670 = landingpad { ptr, i32 }
          cleanup
  %1671 = extractvalue { ptr, i32 } %1670, 0
  store ptr %1671, ptr %3, align 8
  %1672 = extractvalue { ptr, i32 } %1670, 1
  store i32 %1672, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %138) #8
  br label %1673

1673:                                             ; preds = %1669, %1665
  call void @llvm.lifetime.end.p0(i64 48, ptr %138) #8
  br label %1986

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

1675:                                             ; preds = %1674
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %139)
          to label %1676 unwind label %1682

1676:                                             ; preds = %1675
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %139) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %139) #8
  %1677 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1677, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1677, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %1652

1678:                                             ; preds = %1674
  %1679 = landingpad { ptr, i32 }
          cleanup
  %1680 = extractvalue { ptr, i32 } %1679, 0
  store ptr %1680, ptr %3, align 8
  %1681 = extractvalue { ptr, i32 } %1679, 1
  store i32 %1681, ptr %4, align 4
  br label %1686

1682:                                             ; preds = %1675
  %1683 = landingpad { ptr, i32 }
          cleanup
  %1684 = extractvalue { ptr, i32 } %1683, 0
  store ptr %1684, ptr %3, align 8
  %1685 = extractvalue { ptr, i32 } %1683, 1
  store i32 %1685, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %139) #8
  br label %1686

1686:                                             ; preds = %1682, %1678
  call void @llvm.lifetime.end.p0(i64 48, ptr %139) #8
  br label %1986

1687:                                             ; preds = %1651
  br label %1688

1688:                                             ; preds = %1687
  br label %1689

1689:                                             ; preds = %1688
  br label %1690

1690:                                             ; preds = %1689
  call void @llvm.lifetime.start.p0(i64 48, ptr %140) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %140, ptr noundef @.str.70, i1 noundef zeroext true)
          to label %1691 unwind label %1707

1691:                                             ; preds = %1690
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %140)
          to label %1692 unwind label %1711

1692:                                             ; preds = %1691
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %140) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %140) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %141, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !10
  %1693 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %141, i32 0, i32 0
  %1694 = load i64, ptr %1693, align 8
  %1695 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager11ReleaseLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetE(ptr noundef nonnull align 8 dereferenceable(400) %5, i64 %1694, ptr noundef nonnull align 8 dereferenceable(24) %45)
          to label %1696 unwind label %1652

1696:                                             ; preds = %1692
  %1697 = zext i1 %1695 to i32
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %142, ptr align 8 %135, i64 8, i1 false), !tbaa.struct !10
  %1698 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %142, i32 0, i32 0
  %1699 = load i64, ptr %1698, align 8
  %1700 = invoke noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEneES2_(ptr noundef nonnull align 8 dereferenceable(8) %8, i64 %1699)
          to label %1701 unwind label %1652

1701:                                             ; preds = %1696
  %1702 = zext i1 %1700 to i32
  %1703 = icmp eq i32 %1697, %1702
  br i1 %1703, label %1704, label %1725

1704:                                             ; preds = %1701
  call void @llvm.lifetime.start.p0(i64 48, ptr %143) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %143, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %1705 unwind label %1716

1705:                                             ; preds = %1704
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %143)
          to label %1706 unwind label %1720

1706:                                             ; preds = %1705
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %143) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %143) #8
  br label %1738

1707:                                             ; preds = %1690
  %1708 = landingpad { ptr, i32 }
          cleanup
  %1709 = extractvalue { ptr, i32 } %1708, 0
  store ptr %1709, ptr %3, align 8
  %1710 = extractvalue { ptr, i32 } %1708, 1
  store i32 %1710, ptr %4, align 4
  br label %1715

1711:                                             ; preds = %1691
  %1712 = landingpad { ptr, i32 }
          cleanup
  %1713 = extractvalue { ptr, i32 } %1712, 0
  store ptr %1713, ptr %3, align 8
  %1714 = extractvalue { ptr, i32 } %1712, 1
  store i32 %1714, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %140) #8
  br label %1715

1715:                                             ; preds = %1711, %1707
  call void @llvm.lifetime.end.p0(i64 48, ptr %140) #8
  br label %1986

1716:                                             ; preds = %1704
  %1717 = landingpad { ptr, i32 }
          cleanup
  %1718 = extractvalue { ptr, i32 } %1717, 0
  store ptr %1718, ptr %3, align 8
  %1719 = extractvalue { ptr, i32 } %1717, 1
  store i32 %1719, ptr %4, align 4
  br label %1724

1720:                                             ; preds = %1705
  %1721 = landingpad { ptr, i32 }
          cleanup
  %1722 = extractvalue { ptr, i32 } %1721, 0
  store ptr %1722, ptr %3, align 8
  %1723 = extractvalue { ptr, i32 } %1721, 1
  store i32 %1723, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %143) #8
  br label %1724

1724:                                             ; preds = %1720, %1716
  call void @llvm.lifetime.end.p0(i64 48, ptr %143) #8
  br label %1986

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

1726:                                             ; preds = %1725
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %144)
          to label %1727 unwind label %1733

1727:                                             ; preds = %1726
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %144) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %144) #8
  %1728 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1728, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1728, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %1652

1729:                                             ; preds = %1725
  %1730 = landingpad { ptr, i32 }
          cleanup
  %1731 = extractvalue { ptr, i32 } %1730, 0
  store ptr %1731, ptr %3, align 8
  %1732 = extractvalue { ptr, i32 } %1730, 1
  store i32 %1732, ptr %4, align 4
  br label %1737

1733:                                             ; preds = %1726
  %1734 = landingpad { ptr, i32 }
          cleanup
  %1735 = extractvalue { ptr, i32 } %1734, 0
  store ptr %1735, ptr %3, align 8
  %1736 = extractvalue { ptr, i32 } %1734, 1
  store i32 %1736, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %144) #8
  br label %1737

1737:                                             ; preds = %1733, %1729
  call void @llvm.lifetime.end.p0(i64 48, ptr %144) #8
  br label %1986

1738:                                             ; preds = %1706
  br label %1739

1739:                                             ; preds = %1738
  br label %1740

1740:                                             ; preds = %1739
  br label %1741

1741:                                             ; preds = %1740
  call void @llvm.lifetime.start.p0(i64 48, ptr %145) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %145, ptr noundef @.str.71, i1 noundef zeroext true)
          to label %1742 unwind label %1758

1742:                                             ; preds = %1741
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %145)
          to label %1743 unwind label %1762

1743:                                             ; preds = %1742
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %145) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %145) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %146, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !10
  %1744 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %146, i32 0, i32 0
  %1745 = load i64, ptr %1744, align 8
  %1746 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager11ReleaseLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetE(ptr noundef nonnull align 8 dereferenceable(400) %5, i64 %1745, ptr noundef nonnull align 8 dereferenceable(24) %51)
          to label %1747 unwind label %1652

1747:                                             ; preds = %1743
  %1748 = zext i1 %1746 to i32
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %147, ptr align 8 %135, i64 8, i1 false), !tbaa.struct !10
  %1749 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %147, i32 0, i32 0
  %1750 = load i64, ptr %1749, align 8
  %1751 = invoke noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEneES2_(ptr noundef nonnull align 8 dereferenceable(8) %8, i64 %1750)
          to label %1752 unwind label %1652

1752:                                             ; preds = %1747
  %1753 = zext i1 %1751 to i32
  %1754 = icmp eq i32 %1748, %1753
  br i1 %1754, label %1755, label %1776

1755:                                             ; preds = %1752
  call void @llvm.lifetime.start.p0(i64 48, ptr %148) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %148, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %1756 unwind label %1767

1756:                                             ; preds = %1755
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %148)
          to label %1757 unwind label %1771

1757:                                             ; preds = %1756
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %148) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %148) #8
  br label %1789

1758:                                             ; preds = %1741
  %1759 = landingpad { ptr, i32 }
          cleanup
  %1760 = extractvalue { ptr, i32 } %1759, 0
  store ptr %1760, ptr %3, align 8
  %1761 = extractvalue { ptr, i32 } %1759, 1
  store i32 %1761, ptr %4, align 4
  br label %1766

1762:                                             ; preds = %1742
  %1763 = landingpad { ptr, i32 }
          cleanup
  %1764 = extractvalue { ptr, i32 } %1763, 0
  store ptr %1764, ptr %3, align 8
  %1765 = extractvalue { ptr, i32 } %1763, 1
  store i32 %1765, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %145) #8
  br label %1766

1766:                                             ; preds = %1762, %1758
  call void @llvm.lifetime.end.p0(i64 48, ptr %145) #8
  br label %1986

1767:                                             ; preds = %1755
  %1768 = landingpad { ptr, i32 }
          cleanup
  %1769 = extractvalue { ptr, i32 } %1768, 0
  store ptr %1769, ptr %3, align 8
  %1770 = extractvalue { ptr, i32 } %1768, 1
  store i32 %1770, ptr %4, align 4
  br label %1775

1771:                                             ; preds = %1756
  %1772 = landingpad { ptr, i32 }
          cleanup
  %1773 = extractvalue { ptr, i32 } %1772, 0
  store ptr %1773, ptr %3, align 8
  %1774 = extractvalue { ptr, i32 } %1772, 1
  store i32 %1774, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %148) #8
  br label %1775

1775:                                             ; preds = %1771, %1767
  call void @llvm.lifetime.end.p0(i64 48, ptr %148) #8
  br label %1986

1776:                                             ; preds = %1752
  call void @llvm.lifetime.start.p0(i64 48, ptr %149) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %149, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %1777 unwind label %1780

1777:                                             ; preds = %1776
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %149)
          to label %1778 unwind label %1784

1778:                                             ; preds = %1777
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %149) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %149) #8
  %1779 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1779, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1779, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %1652

1780:                                             ; preds = %1776
  %1781 = landingpad { ptr, i32 }
          cleanup
  %1782 = extractvalue { ptr, i32 } %1781, 0
  store ptr %1782, ptr %3, align 8
  %1783 = extractvalue { ptr, i32 } %1781, 1
  store i32 %1783, ptr %4, align 4
  br label %1788

1784:                                             ; preds = %1777
  %1785 = landingpad { ptr, i32 }
          cleanup
  %1786 = extractvalue { ptr, i32 } %1785, 0
  store ptr %1786, ptr %3, align 8
  %1787 = extractvalue { ptr, i32 } %1785, 1
  store i32 %1787, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %149) #8
  br label %1788

1788:                                             ; preds = %1784, %1780
  call void @llvm.lifetime.end.p0(i64 48, ptr %149) #8
  br label %1986

1789:                                             ; preds = %1757
  br label %1790

1790:                                             ; preds = %1789
  br label %1791

1791:                                             ; preds = %1790
  br label %1792

1792:                                             ; preds = %1791
  call void @llvm.lifetime.start.p0(i64 48, ptr %150) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %150, ptr noundef @.str.72, i1 noundef zeroext true)
          to label %1793 unwind label %1809

1793:                                             ; preds = %1792
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %150)
          to label %1794 unwind label %1813

1794:                                             ; preds = %1793
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %150) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %150) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %151, ptr align 8 %9, i64 8, i1 false), !tbaa.struct !10
  %1795 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %151, i32 0, i32 0
  %1796 = load i64, ptr %1795, align 8
  %1797 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager11ReleaseLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetE(ptr noundef nonnull align 8 dereferenceable(400) %5, i64 %1796, ptr noundef nonnull align 8 dereferenceable(24) %49)
          to label %1798 unwind label %1652

1798:                                             ; preds = %1794
  %1799 = zext i1 %1797 to i32
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %152, ptr align 8 %135, i64 8, i1 false), !tbaa.struct !10
  %1800 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %152, i32 0, i32 0
  %1801 = load i64, ptr %1800, align 8
  %1802 = invoke noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEneES2_(ptr noundef nonnull align 8 dereferenceable(8) %9, i64 %1801)
          to label %1803 unwind label %1652

1803:                                             ; preds = %1798
  %1804 = zext i1 %1802 to i32
  %1805 = icmp eq i32 %1799, %1804
  br i1 %1805, label %1806, label %1827

1806:                                             ; preds = %1803
  call void @llvm.lifetime.start.p0(i64 48, ptr %153) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %153, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %1807 unwind label %1818

1807:                                             ; preds = %1806
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %153)
          to label %1808 unwind label %1822

1808:                                             ; preds = %1807
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %153) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %153) #8
  br label %1840

1809:                                             ; preds = %1792
  %1810 = landingpad { ptr, i32 }
          cleanup
  %1811 = extractvalue { ptr, i32 } %1810, 0
  store ptr %1811, ptr %3, align 8
  %1812 = extractvalue { ptr, i32 } %1810, 1
  store i32 %1812, ptr %4, align 4
  br label %1817

1813:                                             ; preds = %1793
  %1814 = landingpad { ptr, i32 }
          cleanup
  %1815 = extractvalue { ptr, i32 } %1814, 0
  store ptr %1815, ptr %3, align 8
  %1816 = extractvalue { ptr, i32 } %1814, 1
  store i32 %1816, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %150) #8
  br label %1817

1817:                                             ; preds = %1813, %1809
  call void @llvm.lifetime.end.p0(i64 48, ptr %150) #8
  br label %1986

1818:                                             ; preds = %1806
  %1819 = landingpad { ptr, i32 }
          cleanup
  %1820 = extractvalue { ptr, i32 } %1819, 0
  store ptr %1820, ptr %3, align 8
  %1821 = extractvalue { ptr, i32 } %1819, 1
  store i32 %1821, ptr %4, align 4
  br label %1826

1822:                                             ; preds = %1807
  %1823 = landingpad { ptr, i32 }
          cleanup
  %1824 = extractvalue { ptr, i32 } %1823, 0
  store ptr %1824, ptr %3, align 8
  %1825 = extractvalue { ptr, i32 } %1823, 1
  store i32 %1825, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %153) #8
  br label %1826

1826:                                             ; preds = %1822, %1818
  call void @llvm.lifetime.end.p0(i64 48, ptr %153) #8
  br label %1986

1827:                                             ; preds = %1803
  call void @llvm.lifetime.start.p0(i64 48, ptr %154) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %154, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %1828 unwind label %1831

1828:                                             ; preds = %1827
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %154)
          to label %1829 unwind label %1835

1829:                                             ; preds = %1828
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %154) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %154) #8
  %1830 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1830, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1830, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %1652

1831:                                             ; preds = %1827
  %1832 = landingpad { ptr, i32 }
          cleanup
  %1833 = extractvalue { ptr, i32 } %1832, 0
  store ptr %1833, ptr %3, align 8
  %1834 = extractvalue { ptr, i32 } %1832, 1
  store i32 %1834, ptr %4, align 4
  br label %1839

1835:                                             ; preds = %1828
  %1836 = landingpad { ptr, i32 }
          cleanup
  %1837 = extractvalue { ptr, i32 } %1836, 0
  store ptr %1837, ptr %3, align 8
  %1838 = extractvalue { ptr, i32 } %1836, 1
  store i32 %1838, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %154) #8
  br label %1839

1839:                                             ; preds = %1835, %1831
  call void @llvm.lifetime.end.p0(i64 48, ptr %154) #8
  br label %1986

1840:                                             ; preds = %1808
  br label %1841

1841:                                             ; preds = %1840
  br label %1842

1842:                                             ; preds = %1841
  br label %1843

1843:                                             ; preds = %1842
  call void @llvm.lifetime.start.p0(i64 48, ptr %155) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %155, ptr noundef @.str.73, i1 noundef zeroext true)
          to label %1844 unwind label %1860

1844:                                             ; preds = %1843
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %155)
          to label %1845 unwind label %1864

1845:                                             ; preds = %1844
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %155) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %155) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %156, ptr align 8 %9, i64 8, i1 false), !tbaa.struct !10
  %1846 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %156, i32 0, i32 0
  %1847 = load i64, ptr %1846, align 8
  %1848 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager11ReleaseLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetE(ptr noundef nonnull align 8 dereferenceable(400) %5, i64 %1847, ptr noundef nonnull align 8 dereferenceable(24) %47)
          to label %1849 unwind label %1652

1849:                                             ; preds = %1845
  %1850 = zext i1 %1848 to i32
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %157, ptr align 8 %135, i64 8, i1 false), !tbaa.struct !10
  %1851 = getelementptr inbounds %"struct.vl::database::IdObject.69", ptr %157, i32 0, i32 0
  %1852 = load i64, ptr %1851, align 8
  %1853 = invoke noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEneES2_(ptr noundef nonnull align 8 dereferenceable(8) %9, i64 %1852)
          to label %1854 unwind label %1652

1854:                                             ; preds = %1849
  %1855 = zext i1 %1853 to i32
  %1856 = icmp eq i32 %1850, %1855
  br i1 %1856, label %1857, label %1878

1857:                                             ; preds = %1854
  call void @llvm.lifetime.start.p0(i64 48, ptr %158) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %158, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %1858 unwind label %1869

1858:                                             ; preds = %1857
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %158)
          to label %1859 unwind label %1873

1859:                                             ; preds = %1858
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %158) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %158) #8
  br label %1891

1860:                                             ; preds = %1843
  %1861 = landingpad { ptr, i32 }
          cleanup
  %1862 = extractvalue { ptr, i32 } %1861, 0
  store ptr %1862, ptr %3, align 8
  %1863 = extractvalue { ptr, i32 } %1861, 1
  store i32 %1863, ptr %4, align 4
  br label %1868

1864:                                             ; preds = %1844
  %1865 = landingpad { ptr, i32 }
          cleanup
  %1866 = extractvalue { ptr, i32 } %1865, 0
  store ptr %1866, ptr %3, align 8
  %1867 = extractvalue { ptr, i32 } %1865, 1
  store i32 %1867, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %155) #8
  br label %1868

1868:                                             ; preds = %1864, %1860
  call void @llvm.lifetime.end.p0(i64 48, ptr %155) #8
  br label %1986

1869:                                             ; preds = %1857
  %1870 = landingpad { ptr, i32 }
          cleanup
  %1871 = extractvalue { ptr, i32 } %1870, 0
  store ptr %1871, ptr %3, align 8
  %1872 = extractvalue { ptr, i32 } %1870, 1
  store i32 %1872, ptr %4, align 4
  br label %1877

1873:                                             ; preds = %1858
  %1874 = landingpad { ptr, i32 }
          cleanup
  %1875 = extractvalue { ptr, i32 } %1874, 0
  store ptr %1875, ptr %3, align 8
  %1876 = extractvalue { ptr, i32 } %1874, 1
  store i32 %1876, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %158) #8
  br label %1877

1877:                                             ; preds = %1873, %1869
  call void @llvm.lifetime.end.p0(i64 48, ptr %158) #8
  br label %1986

1878:                                             ; preds = %1854
  call void @llvm.lifetime.start.p0(i64 48, ptr %159) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %159, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %1879 unwind label %1882

1879:                                             ; preds = %1878
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %159)
          to label %1880 unwind label %1886

1880:                                             ; preds = %1879
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %159) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %159) #8
  %1881 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1881, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1881, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %1652

1882:                                             ; preds = %1878
  %1883 = landingpad { ptr, i32 }
          cleanup
  %1884 = extractvalue { ptr, i32 } %1883, 0
  store ptr %1884, ptr %3, align 8
  %1885 = extractvalue { ptr, i32 } %1883, 1
  store i32 %1885, ptr %4, align 4
  br label %1890

1886:                                             ; preds = %1879
  %1887 = landingpad { ptr, i32 }
          cleanup
  %1888 = extractvalue { ptr, i32 } %1887, 0
  store ptr %1888, ptr %3, align 8
  %1889 = extractvalue { ptr, i32 } %1887, 1
  store i32 %1889, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %159) #8
  br label %1890

1890:                                             ; preds = %1886, %1882
  call void @llvm.lifetime.end.p0(i64 48, ptr %159) #8
  br label %1986

1891:                                             ; preds = %1859
  br label %1892

1892:                                             ; preds = %1891
  br label %1893

1893:                                             ; preds = %1892
  br label %1894

1894:                                             ; preds = %1893
  call void @llvm.lifetime.start.p0(i64 48, ptr %160) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %160, ptr noundef @.str.32, i1 noundef zeroext true)
          to label %1895 unwind label %1906

1895:                                             ; preds = %1894
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %160)
          to label %1896 unwind label %1910

1896:                                             ; preds = %1895
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %160) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %160) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %161, ptr align 4 %6, i64 4, i1 false), !tbaa.struct !5
  %1897 = getelementptr inbounds %"struct.vl::database::IdObject.68", ptr %161, i32 0, i32 0
  %1898 = load i32, ptr %1897, align 4
  %1899 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager13TableHasLocksENS0_8IdObjectIiLl4EEE(ptr noundef nonnull align 8 dereferenceable(400) %5, i32 %1898)
          to label %1900 unwind label %1652

1900:                                             ; preds = %1896
  %1901 = zext i1 %1899 to i32
  %1902 = icmp eq i32 %1901, 0
  br i1 %1902, label %1903, label %1924

1903:                                             ; preds = %1900
  call void @llvm.lifetime.start.p0(i64 48, ptr %162) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %162, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %1904 unwind label %1915

1904:                                             ; preds = %1903
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %162)
          to label %1905 unwind label %1919

1905:                                             ; preds = %1904
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %162) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %162) #8
  br label %1937

1906:                                             ; preds = %1894
  %1907 = landingpad { ptr, i32 }
          cleanup
  %1908 = extractvalue { ptr, i32 } %1907, 0
  store ptr %1908, ptr %3, align 8
  %1909 = extractvalue { ptr, i32 } %1907, 1
  store i32 %1909, ptr %4, align 4
  br label %1914

1910:                                             ; preds = %1895
  %1911 = landingpad { ptr, i32 }
          cleanup
  %1912 = extractvalue { ptr, i32 } %1911, 0
  store ptr %1912, ptr %3, align 8
  %1913 = extractvalue { ptr, i32 } %1911, 1
  store i32 %1913, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %160) #8
  br label %1914

1914:                                             ; preds = %1910, %1906
  call void @llvm.lifetime.end.p0(i64 48, ptr %160) #8
  br label %1986

1915:                                             ; preds = %1903
  %1916 = landingpad { ptr, i32 }
          cleanup
  %1917 = extractvalue { ptr, i32 } %1916, 0
  store ptr %1917, ptr %3, align 8
  %1918 = extractvalue { ptr, i32 } %1916, 1
  store i32 %1918, ptr %4, align 4
  br label %1923

1919:                                             ; preds = %1904
  %1920 = landingpad { ptr, i32 }
          cleanup
  %1921 = extractvalue { ptr, i32 } %1920, 0
  store ptr %1921, ptr %3, align 8
  %1922 = extractvalue { ptr, i32 } %1920, 1
  store i32 %1922, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %162) #8
  br label %1923

1923:                                             ; preds = %1919, %1915
  call void @llvm.lifetime.end.p0(i64 48, ptr %162) #8
  br label %1986

1924:                                             ; preds = %1900
  call void @llvm.lifetime.start.p0(i64 48, ptr %163) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %163, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %1925 unwind label %1928

1925:                                             ; preds = %1924
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %163)
          to label %1926 unwind label %1932

1926:                                             ; preds = %1925
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %163) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %163) #8
  %1927 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1927, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1927, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %1652

1928:                                             ; preds = %1924
  %1929 = landingpad { ptr, i32 }
          cleanup
  %1930 = extractvalue { ptr, i32 } %1929, 0
  store ptr %1930, ptr %3, align 8
  %1931 = extractvalue { ptr, i32 } %1929, 1
  store i32 %1931, ptr %4, align 4
  br label %1936

1932:                                             ; preds = %1925
  %1933 = landingpad { ptr, i32 }
          cleanup
  %1934 = extractvalue { ptr, i32 } %1933, 0
  store ptr %1934, ptr %3, align 8
  %1935 = extractvalue { ptr, i32 } %1933, 1
  store i32 %1935, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %163) #8
  br label %1936

1936:                                             ; preds = %1932, %1928
  call void @llvm.lifetime.end.p0(i64 48, ptr %163) #8
  br label %1986

1937:                                             ; preds = %1905
  br label %1938

1938:                                             ; preds = %1937
  br label %1939

1939:                                             ; preds = %1938
  br label %1940

1940:                                             ; preds = %1939
  call void @llvm.lifetime.start.p0(i64 48, ptr %164) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %164, ptr noundef @.str.33, i1 noundef zeroext true)
          to label %1941 unwind label %1952

1941:                                             ; preds = %1940
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %164)
          to label %1942 unwind label %1956

1942:                                             ; preds = %1941
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %164) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %164) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %165, ptr align 4 %7, i64 4, i1 false), !tbaa.struct !5
  %1943 = getelementptr inbounds %"struct.vl::database::IdObject.68", ptr %165, i32 0, i32 0
  %1944 = load i32, ptr %1943, align 4
  %1945 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager13TableHasLocksENS0_8IdObjectIiLl4EEE(ptr noundef nonnull align 8 dereferenceable(400) %5, i32 %1944)
          to label %1946 unwind label %1652

1946:                                             ; preds = %1942
  %1947 = zext i1 %1945 to i32
  %1948 = icmp eq i32 %1947, 0
  br i1 %1948, label %1949, label %1970

1949:                                             ; preds = %1946
  call void @llvm.lifetime.start.p0(i64 48, ptr %166) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %166, ptr noundef @.str.1, i1 noundef zeroext true)
          to label %1950 unwind label %1961

1950:                                             ; preds = %1949
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %166)
          to label %1951 unwind label %1965

1951:                                             ; preds = %1950
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %166) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %166) #8
  br label %1983

1952:                                             ; preds = %1940
  %1953 = landingpad { ptr, i32 }
          cleanup
  %1954 = extractvalue { ptr, i32 } %1953, 0
  store ptr %1954, ptr %3, align 8
  %1955 = extractvalue { ptr, i32 } %1953, 1
  store i32 %1955, ptr %4, align 4
  br label %1960

1956:                                             ; preds = %1941
  %1957 = landingpad { ptr, i32 }
          cleanup
  %1958 = extractvalue { ptr, i32 } %1957, 0
  store ptr %1958, ptr %3, align 8
  %1959 = extractvalue { ptr, i32 } %1957, 1
  store i32 %1959, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %164) #8
  br label %1960

1960:                                             ; preds = %1956, %1952
  call void @llvm.lifetime.end.p0(i64 48, ptr %164) #8
  br label %1986

1961:                                             ; preds = %1949
  %1962 = landingpad { ptr, i32 }
          cleanup
  %1963 = extractvalue { ptr, i32 } %1962, 0
  store ptr %1963, ptr %3, align 8
  %1964 = extractvalue { ptr, i32 } %1962, 1
  store i32 %1964, ptr %4, align 4
  br label %1969

1965:                                             ; preds = %1950
  %1966 = landingpad { ptr, i32 }
          cleanup
  %1967 = extractvalue { ptr, i32 } %1966, 0
  store ptr %1967, ptr %3, align 8
  %1968 = extractvalue { ptr, i32 } %1966, 1
  store i32 %1968, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %166) #8
  br label %1969

1969:                                             ; preds = %1965, %1961
  call void @llvm.lifetime.end.p0(i64 48, ptr %166) #8
  br label %1986

1970:                                             ; preds = %1946
  call void @llvm.lifetime.start.p0(i64 48, ptr %167) #8
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %167, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %1971 unwind label %1974

1971:                                             ; preds = %1970
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %167)
          to label %1972 unwind label %1978

1972:                                             ; preds = %1971
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %167) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %167) #8
  %1973 = call ptr @__cxa_allocate_exception(i64 4) #8
  store i32 0, ptr %1973, align 16, !tbaa !6
  invoke void @__cxa_throw(ptr %1973, ptr @_ZTIi, ptr null) #9
          to label %2010 unwind label %1652

1974:                                             ; preds = %1970
  %1975 = landingpad { ptr, i32 }
          cleanup
  %1976 = extractvalue { ptr, i32 } %1975, 0
  store ptr %1976, ptr %3, align 8
  %1977 = extractvalue { ptr, i32 } %1975, 1
  store i32 %1977, ptr %4, align 4
  br label %1982

1978:                                             ; preds = %1971
  %1979 = landingpad { ptr, i32 }
          cleanup
  %1980 = extractvalue { ptr, i32 } %1979, 0
  store ptr %1980, ptr %3, align 8
  %1981 = extractvalue { ptr, i32 } %1979, 1
  store i32 %1981, ptr %4, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %167) #8
  br label %1982

1982:                                             ; preds = %1978, %1974
  call void @llvm.lifetime.end.p0(i64 48, ptr %167) #8
  br label %1986

1983:                                             ; preds = %1951
  br label %1984

1984:                                             ; preds = %1983
  br label %1985

1985:                                             ; preds = %1984
  call void @llvm.lifetime.end.p0(i64 8, ptr %135) #8
  call void @_ZN2vl8database12DeadlockInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(272) %86) #8
  call void @llvm.lifetime.end.p0(i64 272, ptr %86) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %51) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %47) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #8
  call void @_ZN2vl8database11LockManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(400) %5) #8
  call void @llvm.lifetime.end.p0(i64 400, ptr %5) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %2) #8
  call void @_ZN2vl8database13BufferManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(168) %1) #8
  call void @llvm.lifetime.end.p0(i64 168, ptr %1) #8
  ret void

1986:                                             ; preds = %1982, %1969, %1960, %1936, %1923, %1914, %1890, %1877, %1868, %1839, %1826, %1817, %1788, %1775, %1766, %1737, %1724, %1715, %1686, %1673, %1664, %1652
  call void @llvm.lifetime.end.p0(i64 8, ptr %135) #8
  br label %1987

1987:                                             ; preds = %1986, %1633, %1620, %1611, %1578, %1565, %1556, %1534, %1521, %1512, %1487, %1474, %1465, %1438, %1425, %1416, %1391, %1378, %1369, %1342, %1329, %1320, %1298, %1285, %1276, %1251, %1238, %1229, %1205, %1192, %1183, %1156, %1143, %1134, %1109, %1096, %1087, %1063, %1050, %1041, %1014, %1001, %992, %980
  call void @_ZN2vl8database12DeadlockInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(272) %86) #8
  br label %1988

1988:                                             ; preds = %1987, %976
  call void @llvm.lifetime.end.p0(i64 272, ptr %86) #8
  br label %1989

1989:                                             ; preds = %1988, %960, %947, %935, %934, %906, %893, %884, %861, %848, %839, %815, %802, %793, %770, %757, %748, %724, %711, %702, %679, %666, %657, %633, %620, %611, %588, %575, %566, %554
  call void @llvm.lifetime.end.p0(i64 24, ptr %51) #8
  br label %1990

1990:                                             ; preds = %1989, %550
  call void @llvm.lifetime.end.p0(i64 24, ptr %49) #8
  br label %1991

1991:                                             ; preds = %1990, %546
  call void @llvm.lifetime.end.p0(i64 24, ptr %47) #8
  br label %1992

1992:                                             ; preds = %1991, %542
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #8
  br label %1993

1993:                                             ; preds = %1992, %538
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #8
  br label %1994

1994:                                             ; preds = %1993, %534
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #8
  br label %1995

1995:                                             ; preds = %1994, %504, %491, %482, %458, %445, %436, %412, %399, %390, %366, %353, %344, %320, %307, %298, %272, %259, %250, %238
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #8
  br label %1996

1996:                                             ; preds = %1995, %234
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #8
  br label %1997

1997:                                             ; preds = %1996, %230
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #8
  br label %1998

1998:                                             ; preds = %1997, %226
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #8
  br label %1999

1999:                                             ; preds = %1998, %222
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #8
  br label %2000

2000:                                             ; preds = %1999, %218
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #8
  br label %2001

2001:                                             ; preds = %2000, %214
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #8
  br label %2002

2002:                                             ; preds = %2001, %210
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #8
  call void @_ZN2vl8database11LockManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(400) %5) #8
  br label %2003

2003:                                             ; preds = %2002, %206
  call void @llvm.lifetime.end.p0(i64 400, ptr %5) #8
  br label %2004

2004:                                             ; preds = %2003, %202
  call void @llvm.lifetime.end.p0(i64 4, ptr %2) #8
  call void @_ZN2vl8database13BufferManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(168) %1) #8
  call void @llvm.lifetime.end.p0(i64 168, ptr %1) #8
  br label %2005

2005:                                             ; preds = %2004
  %2006 = load ptr, ptr %3, align 8
  %2007 = load i32, ptr %4, align 4
  %2008 = insertvalue { ptr, i32 } poison, ptr %2006, 0
  %2009 = insertvalue { ptr, i32 } %2008, i32 %2007, 1
  resume { ptr, i32 } %2009

2010:                                             ; preds = %1972, %1926, %1880, %1829, %1778, %1727, %1676, %1623, %1568, %1524, %1477, %1428, %1381, %1332, %1288, %1241, %1195, %1146, %1099, %1053, %1004, %950, %896, %851, %805, %760, %714, %669, %623, %578, %494, %448, %402, %356, %310, %262
  unreachable
}

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN2vl8database12DeadlockInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(272)) unnamed_addr #7 align 2

declare void @_ZN2vl8database11LockManager14DetectDeadlockERNS0_12DeadlockInfoE(ptr noundef nonnull align 8 dereferenceable(400), ptr noundef nonnull align 8 dereferenceable(272)) #1

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E5CountEv(ptr noundef nonnull align 8 dereferenceable(104)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections9ArrayBaseINS_8database8IdObjectImLl3EEEEixEl(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E10GetByIndexEl(ptr noundef nonnull align 8 dereferenceable(104), i64 noundef) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK2vl11collections9ArrayBaseINS_8database10LockTargetEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZNK2vl11collections9ArrayBaseINS_8database10LockTargetEEixEl(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZNK2vl11collections10DictionaryINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E5CountEv(ptr noundef nonnull align 8 dereferenceable(104)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK2vl11collections9ArrayBaseINS_8database8IdObjectImLl3EEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListINS_8database8IdObjectImLl3EEES4_EixEl(ptr noundef nonnull align 8 dereferenceable(33), i64 noundef) #3 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN2vl8database12DeadlockInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(272)) unnamed_addr #6 align 2

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 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 #3 = { 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 #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 = { inlinehint 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 #7 = { inlinehint 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 #8 = { nounwind }
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 = !{i64 0, i64 4, !6}
!6 = !{!7, !7, i64 0}
!7 = !{!"int", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{i64 0, i64 8, !11}
!11 = !{!12, !12, i64 0}
!12 = !{!"long", !8, i64 0}
!13 = !{!14, !15, i64 0}
!14 = !{!"_ZTSN2vl8database10LockResultE", !15, i64 0, !16, i64 8}
!15 = !{!"bool", !8, i64 0}
!16 = !{!"any pointer", !8, i64 0}
!17 = !{i8 0, i8 2}
!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::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::Object" = type { ptr }
%"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::LockManager" = type { %"class.vl::Object", ptr, %"class.vl::SpinLock", %"class.vl::collections::Dictionary.7", %"class.vl::collections::Dictionary.26", %"class.vl::collections::Array", %"class.vl::collections::Dictionary.49" }
%"class.vl::collections::Dictionary.7" = type { %"class.vl::Object", %"class.vl::collections::SortedList.8", %"class.vl::collections::List.16", %"class.vl::collections::IEnumerable.24" }
%"class.vl::collections::SortedList.8" = type { %"class.vl::collections::ListBase.base.14", %"class.vl::collections::IEnumerable.12" }
%"class.vl::collections::ListBase.base.14" = type <{ %"class.vl::collections::ArrayBase.base.13", i64, i8 }>
%"class.vl::collections::ArrayBase.base.13" = type { %"class.vl::collections::ListStore.11", ptr, i64 }
%"class.vl::collections::ListStore.11" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.12" = type { %"class.vl::Interface" }
%"class.vl::collections::List.16" = type { %"class.vl::collections::ListBase.base.22", %"class.vl::collections::IEnumerable.20" }
%"class.vl::collections::ListBase.base.22" = type <{ %"class.vl::collections::ArrayBase.base.21", i64, i8 }>
%"class.vl::collections::ArrayBase.base.21" = type { %"class.vl::collections::ListStore.19", ptr, i64 }
%"class.vl::collections::ListStore.19" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.20" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.24" = type { %"class.vl::Interface" }
%"class.vl::collections::Dictionary.26" = type { %"class.vl::Object", %"class.vl::collections::SortedList.27", %"class.vl::collections::List.35", %"class.vl::collections::IEnumerable.43" }
%"class.vl::collections::SortedList.27" = type { %"class.vl::collections::ListBase.base.33", %"class.vl::collections::IEnumerable.31" }
%"class.vl::collections::ListBase.base.33" = type <{ %"class.vl::collections::ArrayBase.base.32", i64, i8 }>
%"class.vl::collections::ArrayBase.base.32" = type { %"class.vl::collections::ListStore.30", ptr, i64 }
%"class.vl::collections::ListStore.30" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.31" = type { %"class.vl::Interface" }
%"class.vl::collections::List.35" = type { %"class.vl::collections::ListBase.base.41", %"class.vl::collections::IEnumerable.39" }
%"class.vl::collections::ListBase.base.41" = type <{ %"class.vl::collections::ArrayBase.base.40", i64, i8 }>
%"class.vl::collections::ArrayBase.base.40" = type { %"class.vl::collections::ListStore.38", ptr, i64 }
%"class.vl::collections::ListStore.38" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.39" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.43" = type { %"class.vl::Interface" }
%"class.vl::collections::Array" = type { %"class.vl::collections::ArrayBase.base.48", %"class.vl::collections::IEnumerable.47" }
%"class.vl::collections::ArrayBase.base.48" = type { %"class.vl::collections::ListStore.46", ptr, i64 }
%"class.vl::collections::ListStore.46" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.47" = type { %"class.vl::Interface" }
%"class.vl::collections::Dictionary.49" = type { %"class.vl::Object", %"class.vl::collections::SortedList.50", %"class.vl::collections::List.58", %"class.vl::collections::IEnumerable.66" }
%"class.vl::collections::SortedList.50" = type { %"class.vl::collections::ListBase.base.56", %"class.vl::collections::IEnumerable.54" }
%"class.vl::collections::ListBase.base.56" = type <{ %"class.vl::collections::ArrayBase.base.55", i64, i8 }>
%"class.vl::collections::ArrayBase.base.55" = type { %"class.vl::collections::ListStore.53", ptr, i64 }
%"class.vl::collections::ListStore.53" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.54" = type { %"class.vl::Interface" }
%"class.vl::collections::List.58" = type { %"class.vl::collections::ListBase.base.64", %"class.vl::collections::IEnumerable.62" }
%"class.vl::collections::ListBase.base.64" = type <{ %"class.vl::collections::ArrayBase.base.63", i64, i8 }>
%"class.vl::collections::ArrayBase.base.63" = type { %"class.vl::collections::ListStore.61", ptr, i64 }
%"class.vl::collections::ListStore.61" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.62" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.66" = type { %"class.vl::Interface" }
%"struct.vl::database::IdObject.68" = type { i32 }
%"struct.vl::database::IdObject.69" = type { i64 }
%"class.vl::ObjectString" = type { %"class.vl::Object", ptr, ptr, i64, i64, i64 }
%"struct.vl::database::LockTarget" = type { i32, i32, %"struct.vl::database::IdObject.68", %union.anon }
%union.anon = type { %"struct.vl::database::IdObject.70" }
%"struct.vl::database::IdObject.70" = type { i64 }
%"struct.vl::database::LockResult" = type { i8, ptr }
%"struct.vl::database::DeadlockInfo" = type { %"class.vl::collections::Group", %"class.vl::collections::Dictionary.86", %"class.vl::collections::List.96" }
%"class.vl::collections::Group" = type { %"class.vl::Object", %"class.vl::collections::SortedList.27", %"class.vl::collections::List.77", %"class.vl::collections::IEnumerable.85" }
%"class.vl::collections::List.77" = type { %"class.vl::collections::ListBase.base.83", %"class.vl::collections::IEnumerable.81" }
%"class.vl::collections::ListBase.base.83" = type <{ %"class.vl::collections::ArrayBase.base.82", i64, i8 }>
%"class.vl::collections::ArrayBase.base.82" = type { %"class.vl::collections::ListStore.80", ptr, i64 }
%"class.vl::collections::ListStore.80" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.81" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.85" = type { %"class.vl::Interface" }
%"class.vl::collections::Dictionary.86" = type { %"class.vl::Object", %"class.vl::collections::SortedList.27", %"class.vl::collections::List.87", %"class.vl::collections::IEnumerable.85" }
%"class.vl::collections::List.87" = type { %"class.vl::collections::ListBase.base.93", %"class.vl::collections::IEnumerable.91" }
%"class.vl::collections::ListBase.base.93" = type <{ %"class.vl::collections::ArrayBase.base.92", i64, i8 }>
%"class.vl::collections::ArrayBase.base.92" = type { %"class.vl::collections::ListStore.90", ptr, i64 }
%"class.vl::collections::ListStore.90" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.91" = type { %"class.vl::Interface" }
%"class.vl::collections::List.96" = type { %"class.vl::collections::ListBase.base.33", %"class.vl::collections::IEnumerable.31" }

@.str.1 = external hidden unnamed_addr constant [11 x i32], align 4
@.str.2 = external hidden unnamed_addr constant [11 x i32], align 4
@_ZTIi = external constant ptr
@.str.7 = external hidden unnamed_addr constant [46 x i32], align 4
@.str.25 = external hidden unnamed_addr constant [45 x i32], align 4
@.str.26 = external hidden unnamed_addr constant [45 x i32], align 4
@.str.27 = external hidden unnamed_addr constant [46 x i32], align 4
@.str.28 = external hidden unnamed_addr constant [46 x i32], align 4
@.str.29 = external hidden unnamed_addr constant [46 x i32], align 4
@.str.32 = external hidden unnamed_addr constant [38 x i32], align 4
@.str.33 = external hidden unnamed_addr constant [38 x i32], align 4
@.str.39 = external hidden unnamed_addr constant [45 x i32], align 4
@.str.40 = external hidden unnamed_addr constant [24 x i32], align 4
@.str.41 = external hidden unnamed_addr constant [45 x i32], align 4
@.str.42 = external hidden unnamed_addr constant [23 x i32], align 4
@.str.44 = external hidden unnamed_addr constant [59 x i32], align 4
@.str.50 = external hidden unnamed_addr constant [45 x i32], align 4
@.str.51 = external hidden unnamed_addr constant [45 x i32], align 4
@.str.55 = external hidden unnamed_addr constant [31 x i32], align 4
@.str.56 = external hidden unnamed_addr constant [38 x i32], align 4
@.str.57 = external hidden unnamed_addr constant [45 x i32], align 4
@.str.58 = external hidden unnamed_addr constant [43 x i32], align 4
@.str.59 = external hidden unnamed_addr constant [38 x i32], align 4
@.str.60 = external hidden unnamed_addr constant [45 x i32], align 4
@.str.61 = external hidden unnamed_addr constant [43 x i32], align 4
@.str.62 = external hidden unnamed_addr constant [30 x i32], align 4
@.str.63 = external hidden unnamed_addr constant [37 x i32], align 4
@.str.64 = external hidden unnamed_addr constant [37 x i32], align 4
@.str.65 = external hidden unnamed_addr constant [37 x i32], align 4
@.str.66 = external hidden unnamed_addr constant [37 x i32], align 4
@.str.67 = external hidden unnamed_addr constant [32 x i32], align 4
@.str.68 = external hidden unnamed_addr constant [63 x i32], align 4
@.str.69 = external hidden unnamed_addr constant [34 x i32], align 4
@.str.70 = external hidden unnamed_addr constant [57 x i32], align 4
@.str.71 = external hidden unnamed_addr constant [57 x i32], align 4
@.str.72 = external hidden unnamed_addr constant [57 x i32], align 4
@.str.73 = external hidden unnamed_addr constant [57 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 @_ZN2vl8database13BufferManager16LoadMemorySourceEv(ptr noundef nonnull align 8 dereferenceable(168)) local_unnamed_addr #1

declare i32 @__gxx_personality_v0(...)

declare void @_ZN2vl8database11LockManagerC1EPNS0_13BufferManagerE(ptr noundef nonnull align 8 dereferenceable(400), ptr noundef) unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN2vl8database8IdObjectIiLl4EEC2Ei(ptr noundef nonnull align 4 dereferenceable(4), i32 noundef) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN2vl8database8IdObjectImLl3EEC2Em(ptr noundef nonnull align 8 dereferenceable(8), i64 noundef) unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #2 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 noundef zeroext i1 @_ZN2vl8database11LockManager13RegisterTableENS0_8IdObjectIiLl4EEENS2_IiLl0EEE(ptr noundef nonnull align 8 dereferenceable(400), i32, i32) local_unnamed_addr #1

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN2vl8database10LockResultC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

declare noundef zeroext i1 @_ZN2vl8database11LockManager11AcquireLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetERNS0_10LockResultE(ptr noundef nonnull align 8 dereferenceable(400), i64, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN2vl8database11LockManager11ReleaseLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetE(ptr noundef nonnull align 8 dereferenceable(400), i64, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1

declare i64 @_ZN2vl8database13BufferManager12AllocatePageENS0_8IdObjectIiLl0EEE(ptr noundef nonnull align 8 dereferenceable(168), i32) local_unnamed_addr #1

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN2vl8database10LockTargetC2ENS0_16LockTargetAccessENS0_8IdObjectIiLl4EEE(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, i32) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local i64 @_ZN2vl8database8IdObjectImLl3EE7InvalidEv() local_unnamed_addr #3 align 2

declare noundef zeroext i1 @_ZN2vl8database11LockManager13TableHasLocksENS0_8IdObjectIiLl4EEE(ptr noundef nonnull align 8 dereferenceable(400), i32) local_unnamed_addr #1

declare i64 @_ZN2vl8database11LockManager15PickTransactionERNS0_10LockResultE(ptr noundef nonnull align 8 dereferenceable(400), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

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

; Function Attrs: mustprogress uwtable
define dso_local void @_Z40TestFunction_Utility_Lock_SimpleDeadlockv() local_unnamed_addr #3 personality ptr @__gxx_personality_v0 {
  %1 = alloca %"class.vl::database::BufferManager", align 8
  %2 = alloca %"class.vl::database::LockManager", align 8
  %3 = alloca %"struct.vl::database::IdObject.68", align 4
  %4 = alloca %"struct.vl::database::IdObject.68", align 4
  %5 = alloca %"struct.vl::database::IdObject.69", align 8
  %6 = alloca %"struct.vl::database::IdObject.69", align 8
  %7 = alloca %"struct.vl::database::IdObject.69", align 8
  %8 = alloca %"struct.vl::database::IdObject.69", 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::ObjectString", 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::ObjectString", align 8
  %26 = alloca %"class.vl::ObjectString", align 8
  %27 = alloca %"struct.vl::database::IdObject.69", align 8
  %28 = alloca %"struct.vl::database::LockTarget", align 8
  %29 = alloca %"struct.vl::database::LockResult", align 8
  %30 = alloca %"struct.vl::database::LockTarget", align 8
  %31 = alloca %"struct.vl::database::LockTarget", align 8
  %32 = alloca %"struct.vl::database::LockTarget", align 8
  %33 = alloca %"struct.vl::database::LockTarget", align 8
  %34 = alloca %"class.vl::ObjectString", align 8
  %35 = alloca %"class.vl::ObjectString", align 8
  %36 = alloca %"class.vl::ObjectString", align 8
  %37 = alloca %"class.vl::ObjectString", 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 %"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 %"struct.vl::database::IdObject.69", align 8
  %60 = alloca %"class.vl::ObjectString", align 8
  %61 = alloca %"class.vl::ObjectString", align 8
  %62 = alloca %"struct.vl::database::DeadlockInfo", 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 %"class.vl::ObjectString", 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 %"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
  %87 = alloca %"class.vl::ObjectString", align 8
  %88 = alloca %"class.vl::ObjectString", align 8
  %89 = alloca %"class.vl::ObjectString", align 8
  %90 = alloca %"class.vl::ObjectString", align 8
  %91 = alloca %"class.vl::ObjectString", align 8
  %92 = alloca %"class.vl::ObjectString", align 8
  %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
  %108 = alloca %"class.vl::ObjectString", align 8
  %109 = alloca %"class.vl::ObjectString", align 8
  %110 = alloca %"class.vl::ObjectString", align 8
  %111 = alloca %"class.vl::ObjectString", align 8
  %112 = alloca %"class.vl::ObjectString", align 8
  %113 = alloca %"class.vl::ObjectString", align 8
  %114 = alloca %"class.vl::ObjectString", align 8
  %115 = alloca %"class.vl::ObjectString", align 8
  %116 = alloca %"class.vl::ObjectString", align 8
  %117 = alloca %"class.vl::ObjectString", align 8
  %118 = alloca %"class.vl::ObjectString", align 8
  %119 = alloca %"class.vl::ObjectString", align 8
  %120 = alloca %"class.vl::ObjectString", align 8
  %121 = alloca %"class.vl::ObjectString", align 8
  %122 = alloca %"class.vl::ObjectString", align 8
  %123 = alloca %"class.vl::ObjectString", align 8
  %124 = alloca %"class.vl::ObjectString", align 8
  %125 = alloca %"class.vl::ObjectString", align 8
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %1) #7
  call void @_ZN2vl8database13BufferManagerC1Emm(ptr noundef nonnull align 8 dereferenceable(168) %1, i64 noundef 4096, i64 noundef 1024)
  %126 = invoke i32 @_ZN2vl8database13BufferManager16LoadMemorySourceEv(ptr noundef nonnull align 8 dereferenceable(168) %1)
          to label %127 unwind label %140

127:                                              ; preds = %0
  call void @llvm.lifetime.start.p0(i64 400, ptr nonnull %2) #7
  invoke void @_ZN2vl8database11LockManagerC1EPNS0_13BufferManagerE(ptr noundef nonnull align 8 dereferenceable(400) %2, ptr noundef nonnull %1)
          to label %128 unwind label %142

128:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #7
  call void @_ZN2vl8database8IdObjectIiLl4EEC2Ei(ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #7
  call void @_ZN2vl8database8IdObjectIiLl4EEC2Ei(ptr noundef nonnull align 4 dereferenceable(4) %4, i32 noundef 2)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #7
  call void @_ZN2vl8database8IdObjectImLl3EEC2Em(ptr noundef nonnull align 8 dereferenceable(8) %5, i64 noundef 1)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #7
  call void @_ZN2vl8database8IdObjectImLl3EEC2Em(ptr noundef nonnull align 8 dereferenceable(8) %6, i64 noundef 2)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #7
  call void @_ZN2vl8database8IdObjectImLl3EEC2Em(ptr noundef nonnull align 8 dereferenceable(8) %7, i64 noundef 3)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #7
  call void @_ZN2vl8database8IdObjectImLl3EEC2Em(ptr noundef nonnull align 8 dereferenceable(8) %8, i64 noundef 4)
  %129 = invoke i64 @_ZN2vl8database13BufferManager12AllocatePageENS0_8IdObjectIiLl0EEE(ptr noundef nonnull align 8 dereferenceable(168) %1, i32 %126)
          to label %130 unwind label %144

130:                                              ; preds = %128
  %131 = invoke i64 @_ZN2vl8database13BufferManager12AllocatePageENS0_8IdObjectIiLl0EEE(ptr noundef nonnull align 8 dereferenceable(168) %1, i32 %126)
          to label %132 unwind label %146

132:                                              ; preds = %130
  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.25, i1 noundef zeroext true)
          to label %133 unwind label %148

133:                                              ; preds = %132
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %9)
          to label %134 unwind label %150

134:                                              ; preds = %133
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %9) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %9) #7
  %.sroa.038.0.copyload = load i32, ptr %3, align 4, !tbaa !5
  %135 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager13RegisterTableENS0_8IdObjectIiLl4EEENS2_IiLl0EEE(ptr noundef nonnull align 8 dereferenceable(400) %2, i32 %.sroa.038.0.copyload, i32 %126)
          to label %136 unwind label %146

136:                                              ; preds = %134
  br i1 %135, label %137, label %158

137:                                              ; preds = %136
  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.1, i1 noundef zeroext true)
          to label %138 unwind label %153

138:                                              ; preds = %137
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %10)
          to label %139 unwind label %155

139:                                              ; preds = %138
  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.26, i1 noundef zeroext true)
          to label %166 unwind label %173

140:                                              ; preds = %0
  %141 = landingpad { ptr, i32 }
          cleanup
  br label %1114

142:                                              ; preds = %127
  %143 = landingpad { ptr, i32 }
          cleanup
  br label %1113

144:                                              ; preds = %128
  %145 = landingpad { ptr, i32 }
          cleanup
  br label %1112

146:                                              ; preds = %.invoke, %267, %242, %217, %192, %167, %134, %130
  %147 = landingpad { ptr, i32 }
          cleanup
  br label %1112

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

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

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

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

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

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

158:                                              ; preds = %136
  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.2, i1 noundef zeroext true)
          to label %159 unwind label %161

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

160:                                              ; preds = %159
  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

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) %11) #7
  br label %165

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

166:                                              ; preds = %139
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %12)
          to label %167 unwind label %175

167:                                              ; preds = %166
  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.036.0.copyload = load i32, ptr %4, align 4, !tbaa !5
  %168 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager13RegisterTableENS0_8IdObjectIiLl4EEENS2_IiLl0EEE(ptr noundef nonnull align 8 dereferenceable(400) %2, i32 %.sroa.036.0.copyload, i32 %126)
          to label %169 unwind label %146

169:                                              ; preds = %167
  br i1 %168, label %170, label %183

170:                                              ; preds = %169
  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.1, i1 noundef zeroext true)
          to label %171 unwind label %178

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

172:                                              ; preds = %171
  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 48, ptr nonnull %15) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %15, ptr noundef nonnull @.str.7, i1 noundef zeroext true)
          to label %191 unwind label %198

173:                                              ; preds = %139
  %174 = landingpad { ptr, i32 }
          cleanup
  br label %177

175:                                              ; preds = %166
  %176 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %12) #7
  br label %177

177:                                              ; preds = %175, %173
  %.pn169 = phi { ptr, i32 } [ %176, %175 ], [ %174, %173 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %12) #7
  br label %1112

178:                                              ; preds = %170
  %179 = landingpad { ptr, i32 }
          cleanup
  br label %182

180:                                              ; preds = %171
  %181 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %13) #7
  br label %182

182:                                              ; preds = %180, %178
  %.pn173 = phi { ptr, i32 } [ %181, %180 ], [ %179, %178 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %13) #7
  br label %1112

183:                                              ; preds = %169
  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.2, i1 noundef zeroext true)
          to label %184 unwind label %186

184:                                              ; preds = %183
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %14)
          to label %185 unwind label %188

185:                                              ; preds = %184
  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

186:                                              ; preds = %183
  %187 = landingpad { ptr, i32 }
          cleanup
  br label %190

188:                                              ; preds = %184
  %189 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %14) #7
  br label %190

190:                                              ; preds = %188, %186
  %.pn171 = phi { ptr, i32 } [ %189, %188 ], [ %187, %186 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %14) #7
  br label %1112

191:                                              ; preds = %172
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %15)
          to label %192 unwind label %200

192:                                              ; preds = %191
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %15) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %15) #7
  %.sroa.034.0.copyload = load i64, ptr %5, align 8, !tbaa !9
  %193 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager19RegisterTransactionENS0_8IdObjectImLl3EEEm(ptr noundef nonnull align 8 dereferenceable(400) %2, i64 %.sroa.034.0.copyload, i64 noundef 0)
          to label %194 unwind label %146

194:                                              ; preds = %192
  br i1 %193, label %195, label %208

195:                                              ; preds = %194
  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.1, i1 noundef zeroext true)
          to label %196 unwind label %203

196:                                              ; preds = %195
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %16)
          to label %197 unwind label %205

197:                                              ; preds = %196
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %16) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %16) #7
  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.27, i1 noundef zeroext true)
          to label %216 unwind label %223

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

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

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

203:                                              ; preds = %195
  %204 = landingpad { ptr, i32 }
          cleanup
  br label %207

205:                                              ; preds = %196
  %206 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %16) #7
  br label %207

207:                                              ; preds = %205, %203
  %.pn179 = phi { ptr, i32 } [ %206, %205 ], [ %204, %203 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %16) #7
  br label %1112

208:                                              ; preds = %194
  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 %209 unwind label %211

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

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

211:                                              ; preds = %208
  %212 = landingpad { ptr, i32 }
          cleanup
  br label %215

213:                                              ; preds = %209
  %214 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %17) #7
  br label %215

215:                                              ; preds = %213, %211
  %.pn177 = phi { ptr, i32 } [ %214, %213 ], [ %212, %211 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %17) #7
  br label %1112

216:                                              ; preds = %197
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %18)
          to label %217 unwind label %225

217:                                              ; preds = %216
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %18) #7
  %.sroa.033.0.copyload = load i64, ptr %6, align 8, !tbaa !9
  %218 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager19RegisterTransactionENS0_8IdObjectImLl3EEEm(ptr noundef nonnull align 8 dereferenceable(400) %2, i64 %.sroa.033.0.copyload, i64 noundef 0)
          to label %219 unwind label %146

219:                                              ; preds = %217
  br i1 %218, label %220, label %233

220:                                              ; preds = %219
  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.1, i1 noundef zeroext true)
          to label %221 unwind label %228

221:                                              ; preds = %220
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %19)
          to label %222 unwind label %230

222:                                              ; preds = %221
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %19) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %19) #7
  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.28, i1 noundef zeroext true)
          to label %241 unwind label %248

223:                                              ; preds = %197
  %224 = landingpad { ptr, i32 }
          cleanup
  br label %227

225:                                              ; preds = %216
  %226 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #7
  br label %227

227:                                              ; preds = %225, %223
  %.pn181 = phi { ptr, i32 } [ %226, %225 ], [ %224, %223 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %18) #7
  br label %1112

228:                                              ; preds = %220
  %229 = landingpad { ptr, i32 }
          cleanup
  br label %232

230:                                              ; preds = %221
  %231 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %19) #7
  br label %232

232:                                              ; preds = %230, %228
  %.pn185 = phi { ptr, i32 } [ %231, %230 ], [ %229, %228 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %19) #7
  br label %1112

233:                                              ; preds = %219
  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 %234 unwind label %236

234:                                              ; preds = %233
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %20)
          to label %235 unwind label %238

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

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

238:                                              ; preds = %234
  %239 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %20) #7
  br label %240

240:                                              ; preds = %238, %236
  %.pn183 = phi { ptr, i32 } [ %239, %238 ], [ %237, %236 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %20) #7
  br label %1112

241:                                              ; preds = %222
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %21)
          to label %242 unwind label %250

242:                                              ; preds = %241
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %21) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %21) #7
  %.sroa.032.0.copyload = load i64, ptr %7, align 8, !tbaa !9
  %243 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager19RegisterTransactionENS0_8IdObjectImLl3EEEm(ptr noundef nonnull align 8 dereferenceable(400) %2, i64 %.sroa.032.0.copyload, i64 noundef 1)
          to label %244 unwind label %146

244:                                              ; preds = %242
  br i1 %243, label %245, label %258

245:                                              ; preds = %244
  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.1, i1 noundef zeroext true)
          to label %246 unwind label %253

246:                                              ; preds = %245
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %22)
          to label %247 unwind label %255

247:                                              ; preds = %246
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %22) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %22) #7
  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.29, i1 noundef zeroext true)
          to label %266 unwind label %273

248:                                              ; preds = %222
  %249 = landingpad { ptr, i32 }
          cleanup
  br label %252

250:                                              ; preds = %241
  %251 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %21) #7
  br label %252

252:                                              ; preds = %250, %248
  %.pn187 = phi { ptr, i32 } [ %251, %250 ], [ %249, %248 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %21) #7
  br label %1112

253:                                              ; preds = %245
  %254 = landingpad { ptr, i32 }
          cleanup
  br label %257

255:                                              ; preds = %246
  %256 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %22) #7
  br label %257

257:                                              ; preds = %255, %253
  %.pn191 = phi { ptr, i32 } [ %256, %255 ], [ %254, %253 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %22) #7
  br label %1112

258:                                              ; preds = %244
  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 %259 unwind label %261

259:                                              ; preds = %258
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %23)
          to label %260 unwind label %263

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

261:                                              ; preds = %258
  %262 = landingpad { ptr, i32 }
          cleanup
  br label %265

263:                                              ; preds = %259
  %264 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %23) #7
  br label %265

265:                                              ; preds = %263, %261
  %.pn189 = phi { ptr, i32 } [ %264, %263 ], [ %262, %261 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %23) #7
  br label %1112

266:                                              ; preds = %247
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %24)
          to label %267 unwind label %275

267:                                              ; preds = %266
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %24) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %24) #7
  %.sroa.031.0.copyload = load i64, ptr %8, align 8, !tbaa !9
  %268 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager19RegisterTransactionENS0_8IdObjectImLl3EEEm(ptr noundef nonnull align 8 dereferenceable(400) %2, i64 %.sroa.031.0.copyload, i64 noundef 1)
          to label %269 unwind label %146

269:                                              ; preds = %267
  br i1 %268, label %270, label %283

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

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

272:                                              ; preds = %271
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %25) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %25) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #7
  call void @_ZN2vl8database8IdObjectImLl3EEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %28) #7
  invoke void @_ZN2vl8database10LockTargetC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %292 unwind label %300

273:                                              ; preds = %247
  %274 = landingpad { ptr, i32 }
          cleanup
  br label %277

275:                                              ; preds = %266
  %276 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %24) #7
  br label %277

277:                                              ; preds = %275, %273
  %.pn193 = phi { ptr, i32 } [ %276, %275 ], [ %274, %273 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %24) #7
  br label %1112

278:                                              ; preds = %270
  %279 = landingpad { ptr, i32 }
          cleanup
  br label %282

280:                                              ; preds = %271
  %281 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %25) #7
  br label %282

282:                                              ; preds = %280, %278
  %.pn197 = phi { ptr, i32 } [ %281, %280 ], [ %279, %278 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %25) #7
  br label %1112

283:                                              ; preds = %269
  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.2, i1 noundef zeroext true)
          to label %284 unwind label %287

284:                                              ; preds = %283
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %26)
          to label %285 unwind label %289

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

.invoke:                                          ; preds = %160, %185, %210, %235, %260, %285
  %286 = call ptr @__cxa_allocate_exception(i64 4) #7
  store i32 0, ptr %286, align 16, !tbaa !5
  invoke void @__cxa_throw(ptr nonnull %286, ptr nonnull @_ZTIi, ptr null) #8
          to label %.cont unwind label %146

.cont:                                            ; preds = %.invoke
  unreachable

287:                                              ; preds = %283
  %288 = landingpad { ptr, i32 }
          cleanup
  br label %291

289:                                              ; preds = %284
  %290 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %26) #7
  br label %291

291:                                              ; preds = %289, %287
  %.pn195 = phi { ptr, i32 } [ %290, %289 ], [ %288, %287 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %26) #7
  br label %1112

292:                                              ; preds = %272
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #7
  call void @_ZN2vl8database10LockResultC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %29) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) #7
  %.sroa.030.0.copyload = load i32, ptr %3, align 4, !tbaa !5
  call void @_ZN2vl8database10LockTargetC2ENS0_16LockTargetAccessENS0_8IdObjectIiLl4EEE(ptr noundef nonnull align 8 dereferenceable(24) %30, i32 noundef 1, i32 %.sroa.030.0.copyload)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %31) #7
  %.sroa.029.0.copyload = load i32, ptr %3, align 4, !tbaa !5
  call void @_ZN2vl8database10LockTargetC2ENS0_16LockTargetAccessENS0_8IdObjectIiLl4EEE(ptr noundef nonnull align 8 dereferenceable(24) %31, i32 noundef 5, i32 %.sroa.029.0.copyload)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %32) #7
  %.sroa.028.0.copyload = load i32, ptr %4, align 4, !tbaa !5
  call void @_ZN2vl8database10LockTargetC2ENS0_16LockTargetAccessENS0_8IdObjectIiLl4EEE(ptr noundef nonnull align 8 dereferenceable(24) %32, i32 noundef 1, i32 %.sroa.028.0.copyload)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %33) #7
  %.sroa.027.0.copyload = load i32, ptr %4, align 4, !tbaa !5
  call void @_ZN2vl8database10LockTargetC2ENS0_16LockTargetAccessENS0_8IdObjectIiLl4EEE(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 5, i32 %.sroa.027.0.copyload)
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %34) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %34, ptr noundef nonnull @.str.39, i1 noundef zeroext true)
          to label %293 unwind label %304

293:                                              ; preds = %292
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %34)
          to label %294 unwind label %306

294:                                              ; preds = %293
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %34) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %34) #7
  %.sroa.026.0.copyload = load i64, ptr %5, align 8, !tbaa !9
  %295 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager11AcquireLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetERNS0_10LockResultE(ptr noundef nonnull align 8 dereferenceable(400) %2, i64 %.sroa.026.0.copyload, ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(16) %29)
          to label %296 unwind label %302

296:                                              ; preds = %294
  br i1 %295, label %297, label %314

297:                                              ; preds = %296
  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.1, i1 noundef zeroext true)
          to label %298 unwind label %309

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

299:                                              ; preds = %298
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %35) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %37) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %37, ptr noundef nonnull @.str.40, i1 noundef zeroext true)
          to label %322 unwind label %329

300:                                              ; preds = %272
  %301 = landingpad { ptr, i32 }
          cleanup
  br label %1111

302:                                              ; preds = %.invoke388, %448, %398, %348, %294
  %303 = landingpad { ptr, i32 }
          cleanup
  br label %1110

304:                                              ; preds = %292
  %305 = landingpad { ptr, i32 }
          cleanup
  br label %308

306:                                              ; preds = %293
  %307 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %34) #7
  br label %308

308:                                              ; preds = %306, %304
  %.pn199 = phi { ptr, i32 } [ %307, %306 ], [ %305, %304 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %34) #7
  br label %1110

309:                                              ; preds = %297
  %310 = landingpad { ptr, i32 }
          cleanup
  br label %313

311:                                              ; preds = %298
  %312 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %35) #7
  br label %313

313:                                              ; preds = %311, %309
  %.pn203 = phi { ptr, i32 } [ %312, %311 ], [ %310, %309 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %35) #7
  br label %1110

314:                                              ; preds = %296
  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.2, i1 noundef zeroext true)
          to label %315 unwind label %317

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

316:                                              ; preds = %315
  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 %.invoke388

317:                                              ; preds = %314
  %318 = landingpad { ptr, i32 }
          cleanup
  br label %321

319:                                              ; preds = %315
  %320 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %36) #7
  br label %321

321:                                              ; preds = %319, %317
  %.pn201 = phi { ptr, i32 } [ %320, %319 ], [ %318, %317 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %36) #7
  br label %1110

322:                                              ; preds = %299
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %37)
          to label %323 unwind label %331

323:                                              ; preds = %322
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %37) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %37) #7
  %324 = load i8, ptr %29, align 8, !tbaa !11, !range !15, !noundef !16
  %325 = icmp eq i8 %324, 0
  br i1 %325, label %326, label %339

326:                                              ; preds = %323
  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.1, i1 noundef zeroext true)
          to label %327 unwind label %334

327:                                              ; preds = %326
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %38)
          to label %328 unwind label %336

328:                                              ; preds = %327
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %38) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %38) #7
  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.50, i1 noundef zeroext true)
          to label %347 unwind label %354

329:                                              ; preds = %299
  %330 = landingpad { ptr, i32 }
          cleanup
  br label %333

331:                                              ; preds = %322
  %332 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %37) #7
  br label %333

333:                                              ; preds = %331, %329
  %.pn205 = phi { ptr, i32 } [ %332, %331 ], [ %330, %329 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %37) #7
  br label %1110

334:                                              ; preds = %326
  %335 = landingpad { ptr, i32 }
          cleanup
  br label %338

336:                                              ; preds = %327
  %337 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %38) #7
  br label %338

338:                                              ; preds = %336, %334
  %.pn209 = phi { ptr, i32 } [ %337, %336 ], [ %335, %334 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %38) #7
  br label %1110

339:                                              ; preds = %323
  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 %340 unwind label %342

340:                                              ; preds = %339
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %39)
          to label %341 unwind label %344

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

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

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

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

347:                                              ; preds = %328
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %40)
          to label %348 unwind label %356

348:                                              ; preds = %347
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %40) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %40) #7
  %.sroa.025.0.copyload = load i64, ptr %6, align 8, !tbaa !9
  %349 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager11AcquireLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetERNS0_10LockResultE(ptr noundef nonnull align 8 dereferenceable(400) %2, i64 %.sroa.025.0.copyload, ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull align 8 dereferenceable(16) %29)
          to label %350 unwind label %302

350:                                              ; preds = %348
  br i1 %349, label %351, label %364

351:                                              ; preds = %350
  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.1, i1 noundef zeroext true)
          to label %352 unwind label %359

352:                                              ; preds = %351
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %41)
          to label %353 unwind label %361

353:                                              ; preds = %352
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %41) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %41) #7
  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.40, i1 noundef zeroext true)
          to label %372 unwind label %379

354:                                              ; preds = %328
  %355 = landingpad { ptr, i32 }
          cleanup
  br label %358

356:                                              ; preds = %347
  %357 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %40) #7
  br label %358

358:                                              ; preds = %356, %354
  %.pn211 = phi { ptr, i32 } [ %357, %356 ], [ %355, %354 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %40) #7
  br label %1110

359:                                              ; preds = %351
  %360 = landingpad { ptr, i32 }
          cleanup
  br label %363

361:                                              ; preds = %352
  %362 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %41) #7
  br label %363

363:                                              ; preds = %361, %359
  %.pn215 = phi { ptr, i32 } [ %362, %361 ], [ %360, %359 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %41) #7
  br label %1110

364:                                              ; preds = %350
  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 %365 unwind label %367

365:                                              ; preds = %364
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %42)
          to label %366 unwind label %369

366:                                              ; preds = %365
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %42) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %42) #7
  br label %.invoke388

367:                                              ; preds = %364
  %368 = landingpad { ptr, i32 }
          cleanup
  br label %371

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

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

372:                                              ; preds = %353
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %43)
          to label %373 unwind label %381

373:                                              ; preds = %372
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %43) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %43) #7
  %374 = load i8, ptr %29, align 8, !tbaa !11, !range !15, !noundef !16
  %375 = icmp eq i8 %374, 0
  br i1 %375, label %376, label %389

376:                                              ; preds = %373
  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.1, i1 noundef zeroext true)
          to label %377 unwind label %384

377:                                              ; preds = %376
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %44)
          to label %378 unwind label %386

378:                                              ; preds = %377
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %44) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %44) #7
  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.51, i1 noundef zeroext true)
          to label %397 unwind label %404

379:                                              ; preds = %353
  %380 = landingpad { ptr, i32 }
          cleanup
  br label %383

381:                                              ; preds = %372
  %382 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %43) #7
  br label %383

383:                                              ; preds = %381, %379
  %.pn217 = phi { ptr, i32 } [ %382, %381 ], [ %380, %379 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %43) #7
  br label %1110

384:                                              ; preds = %376
  %385 = landingpad { ptr, i32 }
          cleanup
  br label %388

386:                                              ; preds = %377
  %387 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %44) #7
  br label %388

388:                                              ; preds = %386, %384
  %.pn221 = phi { ptr, i32 } [ %387, %386 ], [ %385, %384 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %44) #7
  br label %1110

389:                                              ; preds = %373
  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 %390 unwind label %392

390:                                              ; preds = %389
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %45)
          to label %391 unwind label %394

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

392:                                              ; preds = %389
  %393 = landingpad { ptr, i32 }
          cleanup
  br label %396

394:                                              ; preds = %390
  %395 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %45) #7
  br label %396

396:                                              ; preds = %394, %392
  %.pn219 = phi { ptr, i32 } [ %395, %394 ], [ %393, %392 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %45) #7
  br label %1110

397:                                              ; preds = %378
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %46)
          to label %398 unwind label %406

398:                                              ; preds = %397
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %46) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %46) #7
  %.sroa.024.0.copyload = load i64, ptr %5, align 8, !tbaa !9
  %399 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager11AcquireLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetERNS0_10LockResultE(ptr noundef nonnull align 8 dereferenceable(400) %2, i64 %.sroa.024.0.copyload, ptr noundef nonnull align 8 dereferenceable(24) %33, ptr noundef nonnull align 8 dereferenceable(16) %29)
          to label %400 unwind label %302

400:                                              ; preds = %398
  br i1 %399, label %401, label %414

401:                                              ; preds = %400
  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.1, i1 noundef zeroext true)
          to label %402 unwind label %409

402:                                              ; preds = %401
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %47)
          to label %403 unwind label %411

403:                                              ; preds = %402
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %47) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %47) #7
  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.42, i1 noundef zeroext true)
          to label %422 unwind label %429

404:                                              ; preds = %378
  %405 = landingpad { ptr, i32 }
          cleanup
  br label %408

406:                                              ; preds = %397
  %407 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %46) #7
  br label %408

408:                                              ; preds = %406, %404
  %.pn223 = phi { ptr, i32 } [ %407, %406 ], [ %405, %404 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %46) #7
  br label %1110

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

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

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

414:                                              ; preds = %400
  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 %415 unwind label %417

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

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

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) %48) #7
  br label %421

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

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

423:                                              ; preds = %422
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %49) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %49) #7
  %424 = load i8, ptr %29, align 8, !tbaa !11, !range !15, !noundef !16
  %425 = trunc nuw i8 %424 to i1
  br i1 %425, label %426, label %439

426:                                              ; preds = %423
  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.1, i1 noundef zeroext true)
          to label %427 unwind label %434

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

428:                                              ; preds = %427
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %50) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %50) #7
  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.41, i1 noundef zeroext true)
          to label %447 unwind label %454

429:                                              ; preds = %403
  %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) %49) #7
  br label %433

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

434:                                              ; preds = %426
  %435 = landingpad { ptr, i32 }
          cleanup
  br label %438

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

438:                                              ; preds = %436, %434
  %.pn233 = phi { ptr, i32 } [ %437, %436 ], [ %435, %434 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %50) #7
  br label %1110

439:                                              ; preds = %423
  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 %440 unwind label %442

440:                                              ; preds = %439
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %51)
          to label %441 unwind label %444

441:                                              ; preds = %440
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %51) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %51) #7
  br label %.invoke388

442:                                              ; preds = %439
  %443 = landingpad { ptr, i32 }
          cleanup
  br label %446

444:                                              ; preds = %440
  %445 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %51) #7
  br label %446

446:                                              ; preds = %444, %442
  %.pn231 = phi { ptr, i32 } [ %445, %444 ], [ %443, %442 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %51) #7
  br label %1110

447:                                              ; preds = %428
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %52)
          to label %448 unwind label %456

448:                                              ; preds = %447
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %52) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %52) #7
  %.sroa.023.0.copyload = load i64, ptr %6, align 8, !tbaa !9
  %449 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager11AcquireLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetERNS0_10LockResultE(ptr noundef nonnull align 8 dereferenceable(400) %2, i64 %.sroa.023.0.copyload, ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 8 dereferenceable(16) %29)
          to label %450 unwind label %302

450:                                              ; preds = %448
  br i1 %449, label %451, label %464

451:                                              ; preds = %450
  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.1, i1 noundef zeroext true)
          to label %452 unwind label %459

452:                                              ; preds = %451
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %53)
          to label %453 unwind label %461

453:                                              ; preds = %452
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %53) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %53) #7
  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.42, i1 noundef zeroext true)
          to label %472 unwind label %479

454:                                              ; preds = %428
  %455 = landingpad { ptr, i32 }
          cleanup
  br label %458

456:                                              ; preds = %447
  %457 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %52) #7
  br label %458

458:                                              ; preds = %456, %454
  %.pn235 = phi { ptr, i32 } [ %457, %456 ], [ %455, %454 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %52) #7
  br label %1110

459:                                              ; preds = %451
  %460 = landingpad { ptr, i32 }
          cleanup
  br label %463

461:                                              ; preds = %452
  %462 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %53) #7
  br label %463

463:                                              ; preds = %461, %459
  %.pn239 = phi { ptr, i32 } [ %462, %461 ], [ %460, %459 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %53) #7
  br label %1110

464:                                              ; preds = %450
  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 %465 unwind label %467

465:                                              ; preds = %464
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %54)
          to label %466 unwind label %469

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

467:                                              ; preds = %464
  %468 = landingpad { ptr, i32 }
          cleanup
  br label %471

469:                                              ; preds = %465
  %470 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %54) #7
  br label %471

471:                                              ; preds = %469, %467
  %.pn237 = phi { ptr, i32 } [ %470, %469 ], [ %468, %467 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %54) #7
  br label %1110

472:                                              ; preds = %453
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %55)
          to label %473 unwind label %481

473:                                              ; preds = %472
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %55) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %55) #7
  %474 = load i8, ptr %29, align 8, !tbaa !11, !range !15, !noundef !16
  %475 = trunc nuw i8 %474 to i1
  br i1 %475, label %476, label %489

476:                                              ; preds = %473
  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.1, i1 noundef zeroext true)
          to label %477 unwind label %484

477:                                              ; preds = %476
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %56)
          to label %478 unwind label %486

478:                                              ; preds = %477
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %56) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %56) #7
  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.44, i1 noundef zeroext true)
          to label %497 unwind label %507

479:                                              ; preds = %453
  %480 = landingpad { ptr, i32 }
          cleanup
  br label %483

481:                                              ; preds = %472
  %482 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %55) #7
  br label %483

483:                                              ; preds = %481, %479
  %.pn241 = phi { ptr, i32 } [ %482, %481 ], [ %480, %479 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %55) #7
  br label %1110

484:                                              ; preds = %476
  %485 = landingpad { ptr, i32 }
          cleanup
  br label %488

486:                                              ; preds = %477
  %487 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %56) #7
  br label %488

488:                                              ; preds = %486, %484
  %.pn245 = phi { ptr, i32 } [ %487, %486 ], [ %485, %484 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %56) #7
  br label %1110

489:                                              ; preds = %473
  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 %490 unwind label %492

490:                                              ; preds = %489
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %57)
          to label %491 unwind label %494

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

492:                                              ; preds = %489
  %493 = landingpad { ptr, i32 }
          cleanup
  br label %496

494:                                              ; preds = %490
  %495 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %57) #7
  br label %496

496:                                              ; preds = %494, %492
  %.pn243 = phi { ptr, i32 } [ %495, %494 ], [ %493, %492 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %57) #7
  br label %1110

497:                                              ; preds = %478
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %58)
          to label %498 unwind label %509

498:                                              ; preds = %497
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %58) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %58) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #7
  %499 = invoke i64 @_ZN2vl8database11LockManager15PickTransactionERNS0_10LockResultE(ptr noundef nonnull align 8 dereferenceable(400) %2, ptr noundef nonnull align 8 dereferenceable(16) %29)
          to label %500 unwind label %512

500:                                              ; preds = %498
  store i64 %499, ptr %59, align 8
  %501 = invoke i64 @_ZN2vl8database8IdObjectImLl3EE7InvalidEv()
          to label %502 unwind label %512

502:                                              ; preds = %500
  %503 = call noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8) %59, i64 %501)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #7
  br i1 %503, label %504, label %519

504:                                              ; preds = %502
  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.1, i1 noundef zeroext true)
          to label %505 unwind label %514

505:                                              ; preds = %504
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %60)
          to label %506 unwind label %516

506:                                              ; preds = %505
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %60) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %60) #7
  call void @llvm.lifetime.start.p0(i64 272, ptr nonnull %62) #7
  invoke void @_ZN2vl8database12DeadlockInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(272) %62)
          to label %528 unwind label %538

507:                                              ; preds = %478
  %508 = landingpad { ptr, i32 }
          cleanup
  br label %511

509:                                              ; preds = %497
  %510 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %58) #7
  br label %511

511:                                              ; preds = %509, %507
  %.pn247 = phi { ptr, i32 } [ %510, %509 ], [ %508, %507 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %58) #7
  br label %1110

512:                                              ; preds = %500, %498
  %513 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #7
  br label %1110

514:                                              ; preds = %504
  %515 = landingpad { ptr, i32 }
          cleanup
  br label %518

516:                                              ; preds = %505
  %517 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %60) #7
  br label %518

518:                                              ; preds = %516, %514
  %.pn251 = phi { ptr, i32 } [ %517, %516 ], [ %515, %514 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %60) #7
  br label %1110

519:                                              ; preds = %502
  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 %520 unwind label %523

520:                                              ; preds = %519
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %61)
          to label %521 unwind label %525

521:                                              ; preds = %520
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %61) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %61) #7
  br label %.invoke388

.invoke388:                                       ; preds = %316, %341, %366, %391, %416, %441, %466, %491, %521
  %522 = call ptr @__cxa_allocate_exception(i64 4) #7
  store i32 0, ptr %522, align 16, !tbaa !5
  invoke void @__cxa_throw(ptr nonnull %522, ptr nonnull @_ZTIi, ptr null) #8
          to label %.cont389 unwind label %302

.cont389:                                         ; preds = %.invoke388
  unreachable

523:                                              ; preds = %519
  %524 = landingpad { ptr, i32 }
          cleanup
  br label %527

525:                                              ; preds = %520
  %526 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %61) #7
  br label %527

527:                                              ; preds = %525, %523
  %.pn249 = phi { ptr, i32 } [ %526, %525 ], [ %524, %523 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %61) #7
  br label %1110

528:                                              ; preds = %506
  invoke void @_ZN2vl8database11LockManager14DetectDeadlockERNS0_12DeadlockInfoE(ptr noundef nonnull align 8 dereferenceable(400) %2, ptr noundef nonnull align 8 dereferenceable(272) %62)
          to label %529 unwind label %540

529:                                              ; preds = %528
  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.55, i1 noundef zeroext true)
          to label %530 unwind label %542

530:                                              ; preds = %529
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %63)
          to label %531 unwind label %544

531:                                              ; preds = %530
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %63) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %63) #7
  %532 = invoke noundef i64 @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E5CountEv(ptr noundef nonnull align 8 dereferenceable(104) %62)
          to label %533 unwind label %540

533:                                              ; preds = %531
  %534 = icmp eq i64 %532, 2
  br i1 %534, label %535, label %552

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

536:                                              ; preds = %535
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %64)
          to label %537 unwind label %549

537:                                              ; preds = %536
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %64) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %64) #7
  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.56, i1 noundef zeroext true)
          to label %560 unwind label %569

538:                                              ; preds = %506
  %539 = landingpad { ptr, i32 }
          cleanup
  br label %1109

540:                                              ; preds = %.invoke390, %894, %890, %839, %836, %809, %784, %781, %754, %727, %702, %700, %698, %671, %644, %619, %617, %615, %588, %561, %531, %528
  %541 = landingpad { ptr, i32 }
          cleanup
  br label %1108

542:                                              ; preds = %529
  %543 = landingpad { ptr, i32 }
          cleanup
  br label %546

544:                                              ; preds = %530
  %545 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %63) #7
  br label %546

546:                                              ; preds = %544, %542
  %.pn253 = phi { ptr, i32 } [ %545, %544 ], [ %543, %542 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %63) #7
  br label %1108

547:                                              ; preds = %535
  %548 = landingpad { ptr, i32 }
          cleanup
  br label %551

549:                                              ; preds = %536
  %550 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %64) #7
  br label %551

551:                                              ; preds = %549, %547
  %.pn257 = phi { ptr, i32 } [ %550, %549 ], [ %548, %547 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %64) #7
  br label %1108

552:                                              ; preds = %533
  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 %553 unwind label %555

553:                                              ; preds = %552
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %65)
          to label %554 unwind label %557

554:                                              ; preds = %553
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %65) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %65) #7
  br label %.invoke390

555:                                              ; preds = %552
  %556 = landingpad { ptr, i32 }
          cleanup
  br label %559

557:                                              ; preds = %553
  %558 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %65) #7
  br label %559

559:                                              ; preds = %557, %555
  %.pn255 = phi { ptr, i32 } [ %558, %557 ], [ %556, %555 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %65) #7
  br label %1108

560:                                              ; preds = %537
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %66)
          to label %561 unwind label %571

561:                                              ; preds = %560
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %66) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %66) #7
  %562 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %62)
  %563 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections9ArrayBaseINS_8database8IdObjectImLl3EEEEixEl(ptr noundef nonnull align 8 dereferenceable(24) %562, i64 noundef 0)
          to label %564 unwind label %540

564:                                              ; preds = %561
  %.sroa.021.0.copyload = load i64, ptr %5, align 8, !tbaa !9
  %565 = call noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8) %563, i64 %.sroa.021.0.copyload)
  br i1 %565, label %566, label %579

566:                                              ; preds = %564
  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.1, i1 noundef zeroext true)
          to label %567 unwind label %574

567:                                              ; preds = %566
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %67)
          to label %568 unwind label %576

568:                                              ; preds = %567
  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 48, ptr nonnull %69) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %69, ptr noundef nonnull @.str.57, i1 noundef zeroext true)
          to label %587 unwind label %596

569:                                              ; preds = %537
  %570 = landingpad { ptr, i32 }
          cleanup
  br label %573

571:                                              ; preds = %560
  %572 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %66) #7
  br label %573

573:                                              ; preds = %571, %569
  %.pn259 = phi { ptr, i32 } [ %572, %571 ], [ %570, %569 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %66) #7
  br label %1108

574:                                              ; preds = %566
  %575 = landingpad { ptr, i32 }
          cleanup
  br label %578

576:                                              ; preds = %567
  %577 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %67) #7
  br label %578

578:                                              ; preds = %576, %574
  %.pn263 = phi { ptr, i32 } [ %577, %576 ], [ %575, %574 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %67) #7
  br label %1108

579:                                              ; preds = %564
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %68) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %68, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %580 unwind label %582

580:                                              ; preds = %579
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %68)
          to label %581 unwind label %584

581:                                              ; preds = %580
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %68) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %68) #7
  br label %.invoke390

582:                                              ; preds = %579
  %583 = landingpad { ptr, i32 }
          cleanup
  br label %586

584:                                              ; preds = %580
  %585 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %68) #7
  br label %586

586:                                              ; preds = %584, %582
  %.pn261 = phi { ptr, i32 } [ %585, %584 ], [ %583, %582 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %68) #7
  br label %1108

587:                                              ; preds = %568
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %69)
          to label %588 unwind label %598

588:                                              ; preds = %587
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %69) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %69) #7
  %589 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E10GetByIndexEl(ptr noundef nonnull align 8 dereferenceable(104) %62, i64 noundef 0)
          to label %590 unwind label %540

590:                                              ; preds = %588
  %591 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_8database10LockTargetEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %589)
  %592 = icmp eq i64 %591, 1
  br i1 %592, label %593, label %606

593:                                              ; preds = %590
  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.1, i1 noundef zeroext true)
          to label %594 unwind label %601

594:                                              ; preds = %593
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %70)
          to label %595 unwind label %603

595:                                              ; preds = %594
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %70) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %70) #7
  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.58, i1 noundef zeroext true)
          to label %614 unwind label %625

596:                                              ; preds = %568
  %597 = landingpad { ptr, i32 }
          cleanup
  br label %600

598:                                              ; preds = %587
  %599 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %69) #7
  br label %600

600:                                              ; preds = %598, %596
  %.pn265 = phi { ptr, i32 } [ %599, %598 ], [ %597, %596 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %69) #7
  br label %1108

601:                                              ; preds = %593
  %602 = landingpad { ptr, i32 }
          cleanup
  br label %605

603:                                              ; preds = %594
  %604 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %70) #7
  br label %605

605:                                              ; preds = %603, %601
  %.pn269 = phi { ptr, i32 } [ %604, %603 ], [ %602, %601 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %70) #7
  br label %1108

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

607:                                              ; preds = %606
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %71)
          to label %608 unwind label %611

608:                                              ; preds = %607
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %71) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %71) #7
  br label %.invoke390

609:                                              ; preds = %606
  %610 = landingpad { ptr, i32 }
          cleanup
  br label %613

611:                                              ; preds = %607
  %612 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %71) #7
  br label %613

613:                                              ; preds = %611, %609
  %.pn267 = phi { ptr, i32 } [ %612, %611 ], [ %610, %609 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %71) #7
  br label %1108

614:                                              ; preds = %595
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %72)
          to label %615 unwind label %627

615:                                              ; preds = %614
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %72) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %72) #7
  %616 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E10GetByIndexEl(ptr noundef nonnull align 8 dereferenceable(104) %62, i64 noundef 0)
          to label %617 unwind label %540

617:                                              ; preds = %615
  %618 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK2vl11collections9ArrayBaseINS_8database10LockTargetEEixEl(ptr noundef nonnull align 8 dereferenceable(24) %616, i64 noundef 0)
          to label %619 unwind label %540

619:                                              ; preds = %617
  %620 = invoke noundef zeroext i1 @_ZNK2vl8database10LockTargeteqERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %618, ptr noundef nonnull align 8 dereferenceable(24) %30)
          to label %621 unwind label %540

621:                                              ; preds = %619
  br i1 %620, label %622, label %635

622:                                              ; preds = %621
  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.1, i1 noundef zeroext true)
          to label %623 unwind label %630

623:                                              ; preds = %622
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %73)
          to label %624 unwind label %632

624:                                              ; preds = %623
  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.59, i1 noundef zeroext true)
          to label %643 unwind label %652

625:                                              ; preds = %595
  %626 = landingpad { ptr, i32 }
          cleanup
  br label %629

627:                                              ; preds = %614
  %628 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %72) #7
  br label %629

629:                                              ; preds = %627, %625
  %.pn271 = phi { ptr, i32 } [ %628, %627 ], [ %626, %625 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %72) #7
  br label %1108

630:                                              ; preds = %622
  %631 = landingpad { ptr, i32 }
          cleanup
  br label %634

632:                                              ; preds = %623
  %633 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %73) #7
  br label %634

634:                                              ; preds = %632, %630
  %.pn275 = phi { ptr, i32 } [ %633, %632 ], [ %631, %630 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %73) #7
  br label %1108

635:                                              ; preds = %621
  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.2, i1 noundef zeroext true)
          to label %636 unwind label %638

636:                                              ; preds = %635
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %74)
          to label %637 unwind label %640

637:                                              ; preds = %636
  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 %.invoke390

638:                                              ; preds = %635
  %639 = landingpad { ptr, i32 }
          cleanup
  br label %642

640:                                              ; preds = %636
  %641 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %74) #7
  br label %642

642:                                              ; preds = %640, %638
  %.pn273 = phi { ptr, i32 } [ %641, %640 ], [ %639, %638 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %74) #7
  br label %1108

643:                                              ; preds = %624
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %75)
          to label %644 unwind label %654

644:                                              ; preds = %643
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %75) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %75) #7
  %645 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %62)
  %646 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections9ArrayBaseINS_8database8IdObjectImLl3EEEEixEl(ptr noundef nonnull align 8 dereferenceable(24) %645, i64 noundef 1)
          to label %647 unwind label %540

647:                                              ; preds = %644
  %.sroa.020.0.copyload = load i64, ptr %6, align 8, !tbaa !9
  %648 = call noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8) %646, i64 %.sroa.020.0.copyload)
  br i1 %648, label %649, label %662

649:                                              ; preds = %647
  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.1, i1 noundef zeroext true)
          to label %650 unwind label %657

650:                                              ; preds = %649
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %76)
          to label %651 unwind label %659

651:                                              ; preds = %650
  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.60, i1 noundef zeroext true)
          to label %670 unwind label %679

652:                                              ; preds = %624
  %653 = landingpad { ptr, i32 }
          cleanup
  br label %656

654:                                              ; preds = %643
  %655 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %75) #7
  br label %656

656:                                              ; preds = %654, %652
  %.pn277 = phi { ptr, i32 } [ %655, %654 ], [ %653, %652 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %75) #7
  br label %1108

657:                                              ; preds = %649
  %658 = landingpad { ptr, i32 }
          cleanup
  br label %661

659:                                              ; preds = %650
  %660 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %76) #7
  br label %661

661:                                              ; preds = %659, %657
  %.pn281 = phi { ptr, i32 } [ %660, %659 ], [ %658, %657 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %76) #7
  br label %1108

662:                                              ; preds = %647
  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.2, i1 noundef zeroext true)
          to label %663 unwind label %665

663:                                              ; preds = %662
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %77)
          to label %664 unwind label %667

664:                                              ; preds = %663
  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 %.invoke390

665:                                              ; preds = %662
  %666 = landingpad { ptr, i32 }
          cleanup
  br label %669

667:                                              ; preds = %663
  %668 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %77) #7
  br label %669

669:                                              ; preds = %667, %665
  %.pn279 = phi { ptr, i32 } [ %668, %667 ], [ %666, %665 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %77) #7
  br label %1108

670:                                              ; preds = %651
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %78)
          to label %671 unwind label %681

671:                                              ; preds = %670
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %78) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %78) #7
  %672 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E10GetByIndexEl(ptr noundef nonnull align 8 dereferenceable(104) %62, i64 noundef 1)
          to label %673 unwind label %540

673:                                              ; preds = %671
  %674 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_8database10LockTargetEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %672)
  %675 = icmp eq i64 %674, 1
  br i1 %675, label %676, label %689

676:                                              ; preds = %673
  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.1, i1 noundef zeroext true)
          to label %677 unwind label %684

677:                                              ; preds = %676
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %79)
          to label %678 unwind label %686

678:                                              ; preds = %677
  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.61, i1 noundef zeroext true)
          to label %697 unwind label %708

679:                                              ; preds = %651
  %680 = landingpad { ptr, i32 }
          cleanup
  br label %683

681:                                              ; preds = %670
  %682 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %78) #7
  br label %683

683:                                              ; preds = %681, %679
  %.pn283 = phi { ptr, i32 } [ %682, %681 ], [ %680, %679 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %78) #7
  br label %1108

684:                                              ; preds = %676
  %685 = landingpad { ptr, i32 }
          cleanup
  br label %688

686:                                              ; preds = %677
  %687 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %79) #7
  br label %688

688:                                              ; preds = %686, %684
  %.pn287 = phi { ptr, i32 } [ %687, %686 ], [ %685, %684 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %79) #7
  br label %1108

689:                                              ; preds = %673
  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.2, i1 noundef zeroext true)
          to label %690 unwind label %692

690:                                              ; preds = %689
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %80)
          to label %691 unwind label %694

691:                                              ; preds = %690
  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 %.invoke390

692:                                              ; preds = %689
  %693 = landingpad { ptr, i32 }
          cleanup
  br label %696

694:                                              ; preds = %690
  %695 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %80) #7
  br label %696

696:                                              ; preds = %694, %692
  %.pn285 = phi { ptr, i32 } [ %695, %694 ], [ %693, %692 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %80) #7
  br label %1108

697:                                              ; preds = %678
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %81)
          to label %698 unwind label %710

698:                                              ; preds = %697
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %81) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %81) #7
  %699 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E10GetByIndexEl(ptr noundef nonnull align 8 dereferenceable(104) %62, i64 noundef 1)
          to label %700 unwind label %540

700:                                              ; preds = %698
  %701 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK2vl11collections9ArrayBaseINS_8database10LockTargetEEixEl(ptr noundef nonnull align 8 dereferenceable(24) %699, i64 noundef 0)
          to label %702 unwind label %540

702:                                              ; preds = %700
  %703 = invoke noundef zeroext i1 @_ZNK2vl8database10LockTargeteqERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %701, ptr noundef nonnull align 8 dereferenceable(24) %32)
          to label %704 unwind label %540

704:                                              ; preds = %702
  br i1 %703, label %705, label %718

705:                                              ; preds = %704
  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.1, i1 noundef zeroext true)
          to label %706 unwind label %713

706:                                              ; preds = %705
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %82)
          to label %707 unwind label %715

707:                                              ; preds = %706
  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.start.p0(i64 48, ptr nonnull %84) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %84, ptr noundef nonnull @.str.62, i1 noundef zeroext true)
          to label %726 unwind label %735

708:                                              ; preds = %678
  %709 = landingpad { ptr, i32 }
          cleanup
  br label %712

710:                                              ; preds = %697
  %711 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %81) #7
  br label %712

712:                                              ; preds = %710, %708
  %.pn289 = phi { ptr, i32 } [ %711, %710 ], [ %709, %708 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %81) #7
  br label %1108

713:                                              ; preds = %705
  %714 = landingpad { ptr, i32 }
          cleanup
  br label %717

715:                                              ; preds = %706
  %716 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %82) #7
  br label %717

717:                                              ; preds = %715, %713
  %.pn293 = phi { ptr, i32 } [ %716, %715 ], [ %714, %713 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %82) #7
  br label %1108

718:                                              ; preds = %704
  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.2, i1 noundef zeroext true)
          to label %719 unwind label %721

719:                                              ; preds = %718
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %83)
          to label %720 unwind label %723

720:                                              ; preds = %719
  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 %.invoke390

721:                                              ; preds = %718
  %722 = landingpad { ptr, i32 }
          cleanup
  br label %725

723:                                              ; preds = %719
  %724 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %83) #7
  br label %725

725:                                              ; preds = %723, %721
  %.pn291 = phi { ptr, i32 } [ %724, %723 ], [ %722, %721 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %83) #7
  br label %1108

726:                                              ; preds = %707
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %84)
          to label %727 unwind label %737

727:                                              ; preds = %726
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %84) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %84) #7
  %728 = getelementptr inbounds i8, ptr %62, i64 112
  %729 = invoke noundef i64 @_ZNK2vl11collections10DictionaryINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E5CountEv(ptr noundef nonnull align 8 dereferenceable(104) %728)
          to label %730 unwind label %540

730:                                              ; preds = %727
  %731 = icmp eq i64 %729, 2
  br i1 %731, label %732, label %745

732:                                              ; preds = %730
  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.1, i1 noundef zeroext true)
          to label %733 unwind label %740

733:                                              ; preds = %732
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %85)
          to label %734 unwind label %742

734:                                              ; preds = %733
  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 @llvm.lifetime.start.p0(i64 48, ptr nonnull %87) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %87, ptr noundef nonnull @.str.63, i1 noundef zeroext true)
          to label %753 unwind label %762

735:                                              ; preds = %707
  %736 = landingpad { ptr, i32 }
          cleanup
  br label %739

737:                                              ; preds = %726
  %738 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %84) #7
  br label %739

739:                                              ; preds = %737, %735
  %.pn295 = phi { ptr, i32 } [ %738, %737 ], [ %736, %735 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %84) #7
  br label %1108

740:                                              ; preds = %732
  %741 = landingpad { ptr, i32 }
          cleanup
  br label %744

742:                                              ; preds = %733
  %743 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %85) #7
  br label %744

744:                                              ; preds = %742, %740
  %.pn299 = phi { ptr, i32 } [ %743, %742 ], [ %741, %740 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %85) #7
  br label %1108

745:                                              ; preds = %730
  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.2, i1 noundef zeroext true)
          to label %746 unwind label %748

746:                                              ; preds = %745
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %86)
          to label %747 unwind label %750

747:                                              ; preds = %746
  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 %.invoke390

748:                                              ; preds = %745
  %749 = landingpad { ptr, i32 }
          cleanup
  br label %752

750:                                              ; preds = %746
  %751 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %86) #7
  br label %752

752:                                              ; preds = %750, %748
  %.pn297 = phi { ptr, i32 } [ %751, %750 ], [ %749, %748 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %86) #7
  br label %1108

753:                                              ; preds = %734
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %87)
          to label %754 unwind label %764

754:                                              ; preds = %753
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %87) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %87) #7
  %755 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %728)
  %756 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections9ArrayBaseINS_8database8IdObjectImLl3EEEEixEl(ptr noundef nonnull align 8 dereferenceable(24) %755, i64 noundef 0)
          to label %757 unwind label %540

757:                                              ; preds = %754
  %.sroa.019.0.copyload = load i64, ptr %5, align 8, !tbaa !9
  %758 = call noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8) %756, i64 %.sroa.019.0.copyload)
  br i1 %758, label %759, label %772

759:                                              ; preds = %757
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %88) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %88, ptr noundef nonnull @.str.1, i1 noundef zeroext true)
          to label %760 unwind label %767

760:                                              ; preds = %759
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %88)
          to label %761 unwind label %769

761:                                              ; preds = %760
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %88) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %88) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %90) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %90, ptr noundef nonnull @.str.64, i1 noundef zeroext true)
          to label %780 unwind label %790

762:                                              ; preds = %734
  %763 = landingpad { ptr, i32 }
          cleanup
  br label %766

764:                                              ; preds = %753
  %765 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %87) #7
  br label %766

766:                                              ; preds = %764, %762
  %.pn301 = phi { ptr, i32 } [ %765, %764 ], [ %763, %762 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %87) #7
  br label %1108

767:                                              ; preds = %759
  %768 = landingpad { ptr, i32 }
          cleanup
  br label %771

769:                                              ; preds = %760
  %770 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %88) #7
  br label %771

771:                                              ; preds = %769, %767
  %.pn305 = phi { ptr, i32 } [ %770, %769 ], [ %768, %767 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %88) #7
  br label %1108

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

773:                                              ; preds = %772
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %89)
          to label %774 unwind label %777

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

775:                                              ; preds = %772
  %776 = landingpad { ptr, i32 }
          cleanup
  br label %779

777:                                              ; preds = %773
  %778 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %89) #7
  br label %779

779:                                              ; preds = %777, %775
  %.pn303 = phi { ptr, i32 } [ %778, %777 ], [ %776, %775 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %89) #7
  br label %1108

780:                                              ; preds = %761
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %90)
          to label %781 unwind label %792

781:                                              ; preds = %780
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %90) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %90) #7
  %782 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104) %728)
  %783 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK2vl11collections9ArrayBaseINS_8database10LockTargetEEixEl(ptr noundef nonnull align 8 dereferenceable(24) %782, i64 noundef 0)
          to label %784 unwind label %540

784:                                              ; preds = %781
  %785 = invoke noundef zeroext i1 @_ZNK2vl8database10LockTargeteqERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %783, ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %786 unwind label %540

786:                                              ; preds = %784
  br i1 %785, label %787, label %800

787:                                              ; preds = %786
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %91) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %91, ptr noundef nonnull @.str.1, i1 noundef zeroext true)
          to label %788 unwind label %795

788:                                              ; preds = %787
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %91)
          to label %789 unwind label %797

789:                                              ; preds = %788
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %91) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %91) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %93) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %93, ptr noundef nonnull @.str.65, i1 noundef zeroext true)
          to label %808 unwind label %817

790:                                              ; preds = %761
  %791 = landingpad { ptr, i32 }
          cleanup
  br label %794

792:                                              ; preds = %780
  %793 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %90) #7
  br label %794

794:                                              ; preds = %792, %790
  %.pn307 = phi { ptr, i32 } [ %793, %792 ], [ %791, %790 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %90) #7
  br label %1108

795:                                              ; preds = %787
  %796 = landingpad { ptr, i32 }
          cleanup
  br label %799

797:                                              ; preds = %788
  %798 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %91) #7
  br label %799

799:                                              ; preds = %797, %795
  %.pn311 = phi { ptr, i32 } [ %798, %797 ], [ %796, %795 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %91) #7
  br label %1108

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

801:                                              ; preds = %800
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %92)
          to label %802 unwind label %805

802:                                              ; preds = %801
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %92) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %92) #7
  br label %.invoke390

803:                                              ; preds = %800
  %804 = landingpad { ptr, i32 }
          cleanup
  br label %807

805:                                              ; preds = %801
  %806 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %92) #7
  br label %807

807:                                              ; preds = %805, %803
  %.pn309 = phi { ptr, i32 } [ %806, %805 ], [ %804, %803 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %92) #7
  br label %1108

808:                                              ; preds = %789
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %93)
          to label %809 unwind label %819

809:                                              ; preds = %808
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %93) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %93) #7
  %810 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %728)
  %811 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections9ArrayBaseINS_8database8IdObjectImLl3EEEEixEl(ptr noundef nonnull align 8 dereferenceable(24) %810, i64 noundef 1)
          to label %812 unwind label %540

812:                                              ; preds = %809
  %.sroa.018.0.copyload = load i64, ptr %6, align 8, !tbaa !9
  %813 = call noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8) %811, i64 %.sroa.018.0.copyload)
  br i1 %813, label %814, label %827

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

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

816:                                              ; preds = %815
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %94) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %94) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %96) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %96, ptr noundef nonnull @.str.66, i1 noundef zeroext true)
          to label %835 unwind label %845

817:                                              ; preds = %789
  %818 = landingpad { ptr, i32 }
          cleanup
  br label %821

819:                                              ; preds = %808
  %820 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %93) #7
  br label %821

821:                                              ; preds = %819, %817
  %.pn313 = phi { ptr, i32 } [ %820, %819 ], [ %818, %817 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %93) #7
  br label %1108

822:                                              ; preds = %814
  %823 = landingpad { ptr, i32 }
          cleanup
  br label %826

824:                                              ; preds = %815
  %825 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %94) #7
  br label %826

826:                                              ; preds = %824, %822
  %.pn317 = phi { ptr, i32 } [ %825, %824 ], [ %823, %822 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %94) #7
  br label %1108

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

828:                                              ; preds = %827
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %95)
          to label %829 unwind label %832

829:                                              ; preds = %828
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %95) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %95) #7
  br label %.invoke390

830:                                              ; preds = %827
  %831 = landingpad { ptr, i32 }
          cleanup
  br label %834

832:                                              ; preds = %828
  %833 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %95) #7
  br label %834

834:                                              ; preds = %832, %830
  %.pn315 = phi { ptr, i32 } [ %833, %832 ], [ %831, %830 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %95) #7
  br label %1108

835:                                              ; preds = %816
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %96)
          to label %836 unwind label %847

836:                                              ; preds = %835
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %96) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %96) #7
  %837 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104) %728)
  %838 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK2vl11collections9ArrayBaseINS_8database10LockTargetEEixEl(ptr noundef nonnull align 8 dereferenceable(24) %837, i64 noundef 1)
          to label %839 unwind label %540

839:                                              ; preds = %836
  %840 = invoke noundef zeroext i1 @_ZNK2vl8database10LockTargeteqERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %838, ptr noundef nonnull align 8 dereferenceable(24) %31)
          to label %841 unwind label %540

841:                                              ; preds = %839
  br i1 %840, label %842, label %855

842:                                              ; preds = %841
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %97) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %97, ptr noundef nonnull @.str.1, i1 noundef zeroext true)
          to label %843 unwind label %850

843:                                              ; preds = %842
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %97)
          to label %844 unwind label %852

844:                                              ; preds = %843
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %97) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %97) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %99) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %99, ptr noundef nonnull @.str.67, i1 noundef zeroext true)
          to label %863 unwind label %871

845:                                              ; preds = %816
  %846 = landingpad { ptr, i32 }
          cleanup
  br label %849

847:                                              ; preds = %835
  %848 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %96) #7
  br label %849

849:                                              ; preds = %847, %845
  %.pn319 = phi { ptr, i32 } [ %848, %847 ], [ %846, %845 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %96) #7
  br label %1108

850:                                              ; preds = %842
  %851 = landingpad { ptr, i32 }
          cleanup
  br label %854

852:                                              ; preds = %843
  %853 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %97) #7
  br label %854

854:                                              ; preds = %852, %850
  %.pn323 = phi { ptr, i32 } [ %853, %852 ], [ %851, %850 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %97) #7
  br label %1108

855:                                              ; preds = %841
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %98) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %98, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %856 unwind label %858

856:                                              ; preds = %855
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %98)
          to label %857 unwind label %860

857:                                              ; preds = %856
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %98) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %98) #7
  br label %.invoke390

858:                                              ; preds = %855
  %859 = landingpad { ptr, i32 }
          cleanup
  br label %862

860:                                              ; preds = %856
  %861 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %98) #7
  br label %862

862:                                              ; preds = %860, %858
  %.pn321 = phi { ptr, i32 } [ %861, %860 ], [ %859, %858 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %98) #7
  br label %1108

863:                                              ; preds = %844
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %99)
          to label %864 unwind label %873

864:                                              ; preds = %863
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %99) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %99) #7
  %865 = getelementptr inbounds i8, ptr %62, i64 224
  %866 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_8database8IdObjectImLl3EEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %865)
  %867 = icmp eq i64 %866, 1
  br i1 %867, label %868, label %881

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

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

870:                                              ; preds = %869
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %100) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %100) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %102) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %102, ptr noundef nonnull @.str.68, i1 noundef zeroext true)
          to label %889 unwind label %902

871:                                              ; preds = %844
  %872 = landingpad { ptr, i32 }
          cleanup
  br label %875

873:                                              ; preds = %863
  %874 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %99) #7
  br label %875

875:                                              ; preds = %873, %871
  %.pn325 = phi { ptr, i32 } [ %874, %873 ], [ %872, %871 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %99) #7
  br label %1108

876:                                              ; preds = %868
  %877 = landingpad { ptr, i32 }
          cleanup
  br label %880

878:                                              ; preds = %869
  %879 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %100) #7
  br label %880

880:                                              ; preds = %878, %876
  %.pn329 = phi { ptr, i32 } [ %879, %878 ], [ %877, %876 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %100) #7
  br label %1108

881:                                              ; preds = %864
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %101) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %101, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %882 unwind label %884

882:                                              ; preds = %881
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %101)
          to label %883 unwind label %886

883:                                              ; preds = %882
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %101) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %101) #7
  br label %.invoke390

884:                                              ; preds = %881
  %885 = landingpad { ptr, i32 }
          cleanup
  br label %888

886:                                              ; preds = %882
  %887 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %101) #7
  br label %888

888:                                              ; preds = %886, %884
  %.pn327 = phi { ptr, i32 } [ %887, %886 ], [ %885, %884 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %101) #7
  br label %1108

889:                                              ; preds = %870
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %102)
          to label %890 unwind label %904

890:                                              ; preds = %889
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %102) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %102) #7
  %891 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListINS_8database8IdObjectImLl3EEES4_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %865, i64 noundef 0)
          to label %892 unwind label %540

892:                                              ; preds = %890
  %.sroa.017.0.copyload = load i64, ptr %5, align 8, !tbaa !9
  %893 = call noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8) %891, i64 %.sroa.017.0.copyload)
  br i1 %893, label %898, label %894

894:                                              ; preds = %892
  %895 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListINS_8database8IdObjectImLl3EEES4_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %865, i64 noundef 0)
          to label %896 unwind label %540

896:                                              ; preds = %894
  %.sroa.016.0.copyload = load i64, ptr %6, align 8, !tbaa !9
  %897 = call noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEeqES2_(ptr noundef nonnull align 8 dereferenceable(8) %895, i64 %.sroa.016.0.copyload)
  br i1 %897, label %898, label %912

898:                                              ; preds = %896, %892
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %103) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %103, ptr noundef nonnull @.str.1, i1 noundef zeroext true)
          to label %899 unwind label %907

899:                                              ; preds = %898
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %103)
          to label %900 unwind label %909

900:                                              ; preds = %899
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %103) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %103) #7
  %901 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListINS_8database8IdObjectImLl3EEES4_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %865, i64 noundef 0)
          to label %921 unwind label %929

902:                                              ; preds = %870
  %903 = landingpad { ptr, i32 }
          cleanup
  br label %906

904:                                              ; preds = %889
  %905 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %102) #7
  br label %906

906:                                              ; preds = %904, %902
  %.pn331 = phi { ptr, i32 } [ %905, %904 ], [ %903, %902 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %102) #7
  br label %1108

907:                                              ; preds = %898
  %908 = landingpad { ptr, i32 }
          cleanup
  br label %911

909:                                              ; preds = %899
  %910 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %103) #7
  br label %911

911:                                              ; preds = %909, %907
  %.pn335 = phi { ptr, i32 } [ %910, %909 ], [ %908, %907 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %103) #7
  br label %1108

912:                                              ; preds = %896
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %104) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %104, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %913 unwind label %916

913:                                              ; preds = %912
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %104)
          to label %914 unwind label %918

914:                                              ; preds = %913
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %104) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %104) #7
  br label %.invoke390

.invoke390:                                       ; preds = %554, %581, %608, %637, %664, %691, %720, %747, %774, %802, %829, %857, %883, %914
  %915 = call ptr @__cxa_allocate_exception(i64 4) #7
  store i32 0, ptr %915, align 16, !tbaa !5
  invoke void @__cxa_throw(ptr nonnull %915, ptr nonnull @_ZTIi, ptr null) #8
          to label %.cont391 unwind label %540

.cont391:                                         ; preds = %.invoke390
  unreachable

916:                                              ; preds = %912
  %917 = landingpad { ptr, i32 }
          cleanup
  br label %920

918:                                              ; preds = %913
  %919 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %104) #7
  br label %920

920:                                              ; preds = %918, %916
  %.pn333 = phi { ptr, i32 } [ %919, %918 ], [ %917, %916 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %104) #7
  br label %1108

921:                                              ; preds = %900
  %.sroa.011.0.copyload = load i64, ptr %901, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %105) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %105, ptr noundef nonnull @.str.69, i1 noundef zeroext true)
          to label %922 unwind label %931

922:                                              ; preds = %921
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %105)
          to label %923 unwind label %933

923:                                              ; preds = %922
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %105) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %105) #7
  %924 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager8RollbackENS0_8IdObjectImLl3EEE(ptr noundef nonnull align 8 dereferenceable(400) %2, i64 %.sroa.011.0.copyload)
          to label %925 unwind label %929

925:                                              ; preds = %923
  br i1 %924, label %926, label %941

926:                                              ; preds = %925
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %106) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %106, ptr noundef nonnull @.str.1, i1 noundef zeroext true)
          to label %927 unwind label %936

927:                                              ; preds = %926
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %106)
          to label %928 unwind label %938

928:                                              ; preds = %927
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %106) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %106) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %108) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %108, ptr noundef nonnull @.str.70, i1 noundef zeroext true)
          to label %949 unwind label %958

929:                                              ; preds = %.invoke392, %1083, %1058, %1031, %1004, %977, %950, %923, %900
  %930 = landingpad { ptr, i32 }
          cleanup
  br label %1108

931:                                              ; preds = %921
  %932 = landingpad { ptr, i32 }
          cleanup
  br label %935

933:                                              ; preds = %922
  %934 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %105) #7
  br label %935

935:                                              ; preds = %933, %931
  %.pn337 = phi { ptr, i32 } [ %934, %933 ], [ %932, %931 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %105) #7
  br label %1108

936:                                              ; preds = %926
  %937 = landingpad { ptr, i32 }
          cleanup
  br label %940

938:                                              ; preds = %927
  %939 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %106) #7
  br label %940

940:                                              ; preds = %938, %936
  %.pn341 = phi { ptr, i32 } [ %939, %938 ], [ %937, %936 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %106) #7
  br label %1108

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

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

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

944:                                              ; preds = %941
  %945 = landingpad { ptr, i32 }
          cleanup
  br label %948

946:                                              ; preds = %942
  %947 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %107) #7
  br label %948

948:                                              ; preds = %946, %944
  %.pn339 = phi { ptr, i32 } [ %947, %946 ], [ %945, %944 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %107) #7
  br label %1108

949:                                              ; preds = %928
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %108)
          to label %950 unwind label %960

950:                                              ; preds = %949
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %108) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %108) #7
  %.sroa.09.0.copyload = load i64, ptr %5, align 8, !tbaa !9
  %951 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager11ReleaseLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetE(ptr noundef nonnull align 8 dereferenceable(400) %2, i64 %.sroa.09.0.copyload, ptr noundef nonnull align 8 dereferenceable(24) %30)
          to label %952 unwind label %929

952:                                              ; preds = %950
  %953 = call noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEneES2_(ptr noundef nonnull align 8 dereferenceable(8) %5, i64 %.sroa.011.0.copyload)
  %954 = xor i1 %951, %953
  br i1 %954, label %968, label %955

955:                                              ; preds = %952
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %109) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %109, ptr noundef nonnull @.str.1, i1 noundef zeroext true)
          to label %956 unwind label %963

956:                                              ; preds = %955
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %109)
          to label %957 unwind label %965

957:                                              ; preds = %956
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %109) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %109) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %111) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %111, ptr noundef nonnull @.str.71, i1 noundef zeroext true)
          to label %976 unwind label %985

958:                                              ; preds = %928
  %959 = landingpad { ptr, i32 }
          cleanup
  br label %962

960:                                              ; preds = %949
  %961 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %108) #7
  br label %962

962:                                              ; preds = %960, %958
  %.pn343 = phi { ptr, i32 } [ %961, %960 ], [ %959, %958 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %108) #7
  br label %1108

963:                                              ; preds = %955
  %964 = landingpad { ptr, i32 }
          cleanup
  br label %967

965:                                              ; preds = %956
  %966 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %109) #7
  br label %967

967:                                              ; preds = %965, %963
  %.pn347 = phi { ptr, i32 } [ %966, %965 ], [ %964, %963 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %109) #7
  br label %1108

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

969:                                              ; preds = %968
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %110)
          to label %970 unwind label %973

970:                                              ; preds = %969
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %110) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %110) #7
  br label %.invoke392

971:                                              ; preds = %968
  %972 = landingpad { ptr, i32 }
          cleanup
  br label %975

973:                                              ; preds = %969
  %974 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %110) #7
  br label %975

975:                                              ; preds = %973, %971
  %.pn345 = phi { ptr, i32 } [ %974, %973 ], [ %972, %971 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %110) #7
  br label %1108

976:                                              ; preds = %957
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %111)
          to label %977 unwind label %987

977:                                              ; preds = %976
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %111) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %111) #7
  %.sroa.07.0.copyload = load i64, ptr %5, align 8, !tbaa !9
  %978 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager11ReleaseLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetE(ptr noundef nonnull align 8 dereferenceable(400) %2, i64 %.sroa.07.0.copyload, ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %979 unwind label %929

979:                                              ; preds = %977
  %980 = call noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEneES2_(ptr noundef nonnull align 8 dereferenceable(8) %5, i64 %.sroa.011.0.copyload)
  %981 = xor i1 %978, %980
  br i1 %981, label %995, label %982

982:                                              ; preds = %979
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %112) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %112, ptr noundef nonnull @.str.1, i1 noundef zeroext true)
          to label %983 unwind label %990

983:                                              ; preds = %982
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %112)
          to label %984 unwind label %992

984:                                              ; preds = %983
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %112) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %112) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %114) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %114, ptr noundef nonnull @.str.72, i1 noundef zeroext true)
          to label %1003 unwind label %1012

985:                                              ; preds = %957
  %986 = landingpad { ptr, i32 }
          cleanup
  br label %989

987:                                              ; preds = %976
  %988 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %111) #7
  br label %989

989:                                              ; preds = %987, %985
  %.pn349 = phi { ptr, i32 } [ %988, %987 ], [ %986, %985 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %111) #7
  br label %1108

990:                                              ; preds = %982
  %991 = landingpad { ptr, i32 }
          cleanup
  br label %994

992:                                              ; preds = %983
  %993 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %112) #7
  br label %994

994:                                              ; preds = %992, %990
  %.pn353 = phi { ptr, i32 } [ %993, %992 ], [ %991, %990 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %112) #7
  br label %1108

995:                                              ; preds = %979
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %113) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %113, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %996 unwind label %998

996:                                              ; preds = %995
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %113)
          to label %997 unwind label %1000

997:                                              ; preds = %996
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %113) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %113) #7
  br label %.invoke392

998:                                              ; preds = %995
  %999 = landingpad { ptr, i32 }
          cleanup
  br label %1002

1000:                                             ; preds = %996
  %1001 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %113) #7
  br label %1002

1002:                                             ; preds = %1000, %998
  %.pn351 = phi { ptr, i32 } [ %1001, %1000 ], [ %999, %998 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %113) #7
  br label %1108

1003:                                             ; preds = %984
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %114)
          to label %1004 unwind label %1014

1004:                                             ; preds = %1003
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %114) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %114) #7
  %.sroa.05.0.copyload = load i64, ptr %6, align 8, !tbaa !9
  %1005 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager11ReleaseLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetE(ptr noundef nonnull align 8 dereferenceable(400) %2, i64 %.sroa.05.0.copyload, ptr noundef nonnull align 8 dereferenceable(24) %32)
          to label %1006 unwind label %929

1006:                                             ; preds = %1004
  %1007 = call noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEneES2_(ptr noundef nonnull align 8 dereferenceable(8) %6, i64 %.sroa.011.0.copyload)
  %1008 = xor i1 %1005, %1007
  br i1 %1008, label %1022, label %1009

1009:                                             ; preds = %1006
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %115) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %115, ptr noundef nonnull @.str.1, i1 noundef zeroext true)
          to label %1010 unwind label %1017

1010:                                             ; preds = %1009
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %115)
          to label %1011 unwind label %1019

1011:                                             ; preds = %1010
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %115) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %115) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %117) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %117, ptr noundef nonnull @.str.73, i1 noundef zeroext true)
          to label %1030 unwind label %1039

1012:                                             ; preds = %984
  %1013 = landingpad { ptr, i32 }
          cleanup
  br label %1016

1014:                                             ; preds = %1003
  %1015 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %114) #7
  br label %1016

1016:                                             ; preds = %1014, %1012
  %.pn355 = phi { ptr, i32 } [ %1015, %1014 ], [ %1013, %1012 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %114) #7
  br label %1108

1017:                                             ; preds = %1009
  %1018 = landingpad { ptr, i32 }
          cleanup
  br label %1021

1019:                                             ; preds = %1010
  %1020 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %115) #7
  br label %1021

1021:                                             ; preds = %1019, %1017
  %.pn359 = phi { ptr, i32 } [ %1020, %1019 ], [ %1018, %1017 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %115) #7
  br label %1108

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

1023:                                             ; preds = %1022
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %116)
          to label %1024 unwind label %1027

1024:                                             ; preds = %1023
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %116) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %116) #7
  br label %.invoke392

1025:                                             ; preds = %1022
  %1026 = landingpad { ptr, i32 }
          cleanup
  br label %1029

1027:                                             ; preds = %1023
  %1028 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %116) #7
  br label %1029

1029:                                             ; preds = %1027, %1025
  %.pn357 = phi { ptr, i32 } [ %1028, %1027 ], [ %1026, %1025 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %116) #7
  br label %1108

1030:                                             ; preds = %1011
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %117)
          to label %1031 unwind label %1041

1031:                                             ; preds = %1030
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %117) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %117) #7
  %.sroa.03.0.copyload = load i64, ptr %6, align 8, !tbaa !9
  %1032 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager11ReleaseLockENS0_8IdObjectImLl3EEERKNS0_10LockTargetE(ptr noundef nonnull align 8 dereferenceable(400) %2, i64 %.sroa.03.0.copyload, ptr noundef nonnull align 8 dereferenceable(24) %31)
          to label %1033 unwind label %929

1033:                                             ; preds = %1031
  %1034 = call noundef zeroext i1 @_ZNK2vl8database8IdObjectImLl3EEneES2_(ptr noundef nonnull align 8 dereferenceable(8) %6, i64 %.sroa.011.0.copyload)
  %1035 = xor i1 %1032, %1034
  br i1 %1035, label %1049, label %1036

1036:                                             ; preds = %1033
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %118) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %118, ptr noundef nonnull @.str.1, i1 noundef zeroext true)
          to label %1037 unwind label %1044

1037:                                             ; preds = %1036
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %118)
          to label %1038 unwind label %1046

1038:                                             ; preds = %1037
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %118) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %118) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %120) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %120, ptr noundef nonnull @.str.32, i1 noundef zeroext true)
          to label %1057 unwind label %1064

1039:                                             ; preds = %1011
  %1040 = landingpad { ptr, i32 }
          cleanup
  br label %1043

1041:                                             ; preds = %1030
  %1042 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %117) #7
  br label %1043

1043:                                             ; preds = %1041, %1039
  %.pn361 = phi { ptr, i32 } [ %1042, %1041 ], [ %1040, %1039 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %117) #7
  br label %1108

1044:                                             ; preds = %1036
  %1045 = landingpad { ptr, i32 }
          cleanup
  br label %1048

1046:                                             ; preds = %1037
  %1047 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %118) #7
  br label %1048

1048:                                             ; preds = %1046, %1044
  %.pn365 = phi { ptr, i32 } [ %1047, %1046 ], [ %1045, %1044 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %118) #7
  br label %1108

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

1050:                                             ; preds = %1049
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %119)
          to label %1051 unwind label %1054

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

1052:                                             ; preds = %1049
  %1053 = landingpad { ptr, i32 }
          cleanup
  br label %1056

1054:                                             ; preds = %1050
  %1055 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %119) #7
  br label %1056

1056:                                             ; preds = %1054, %1052
  %.pn363 = phi { ptr, i32 } [ %1055, %1054 ], [ %1053, %1052 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %119) #7
  br label %1108

1057:                                             ; preds = %1038
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %120)
          to label %1058 unwind label %1066

1058:                                             ; preds = %1057
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %120) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %120) #7
  %.sroa.01.0.copyload = load i32, ptr %3, align 4, !tbaa !5
  %1059 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager13TableHasLocksENS0_8IdObjectIiLl4EEE(ptr noundef nonnull align 8 dereferenceable(400) %2, i32 %.sroa.01.0.copyload)
          to label %1060 unwind label %929

1060:                                             ; preds = %1058
  br i1 %1059, label %1074, label %1061

1061:                                             ; preds = %1060
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %121) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %121, ptr noundef nonnull @.str.1, i1 noundef zeroext true)
          to label %1062 unwind label %1069

1062:                                             ; preds = %1061
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %121)
          to label %1063 unwind label %1071

1063:                                             ; preds = %1062
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %121) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %121) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %123) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %123, ptr noundef nonnull @.str.33, i1 noundef zeroext true)
          to label %1082 unwind label %1089

1064:                                             ; preds = %1038
  %1065 = landingpad { ptr, i32 }
          cleanup
  br label %1068

1066:                                             ; preds = %1057
  %1067 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %120) #7
  br label %1068

1068:                                             ; preds = %1066, %1064
  %.pn367 = phi { ptr, i32 } [ %1067, %1066 ], [ %1065, %1064 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %120) #7
  br label %1108

1069:                                             ; preds = %1061
  %1070 = landingpad { ptr, i32 }
          cleanup
  br label %1073

1071:                                             ; preds = %1062
  %1072 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %121) #7
  br label %1073

1073:                                             ; preds = %1071, %1069
  %.pn371 = phi { ptr, i32 } [ %1072, %1071 ], [ %1070, %1069 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %121) #7
  br label %1108

1074:                                             ; preds = %1060
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %122) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %122, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %1075 unwind label %1077

1075:                                             ; preds = %1074
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %122)
          to label %1076 unwind label %1079

1076:                                             ; preds = %1075
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %122) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %122) #7
  br label %.invoke392

1077:                                             ; preds = %1074
  %1078 = landingpad { ptr, i32 }
          cleanup
  br label %1081

1079:                                             ; preds = %1075
  %1080 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %122) #7
  br label %1081

1081:                                             ; preds = %1079, %1077
  %.pn369 = phi { ptr, i32 } [ %1080, %1079 ], [ %1078, %1077 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %122) #7
  br label %1108

1082:                                             ; preds = %1063
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %123)
          to label %1083 unwind label %1091

1083:                                             ; preds = %1082
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %123) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %123) #7
  %.sroa.0.0.copyload = load i32, ptr %4, align 4, !tbaa !5
  %1084 = invoke noundef zeroext i1 @_ZN2vl8database11LockManager13TableHasLocksENS0_8IdObjectIiLl4EEE(ptr noundef nonnull align 8 dereferenceable(400) %2, i32 %.sroa.0.0.copyload)
          to label %1085 unwind label %929

1085:                                             ; preds = %1083
  br i1 %1084, label %1099, label %1086

1086:                                             ; preds = %1085
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %124) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %124, ptr noundef nonnull @.str.1, i1 noundef zeroext true)
          to label %1087 unwind label %1094

1087:                                             ; preds = %1086
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %124)
          to label %1088 unwind label %1096

1088:                                             ; preds = %1087
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %124) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %124) #7
  call void @_ZN2vl8database12DeadlockInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(272) %62) #7
  call void @llvm.lifetime.end.p0(i64 272, ptr nonnull %62) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #7
  call void @_ZN2vl8database11LockManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(400) %2) #7
  call void @llvm.lifetime.end.p0(i64 400, ptr nonnull %2) #7
  call void @_ZN2vl8database13BufferManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(168) %1) #7
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %1) #7
  ret void

1089:                                             ; preds = %1063
  %1090 = landingpad { ptr, i32 }
          cleanup
  br label %1093

1091:                                             ; preds = %1082
  %1092 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %123) #7
  br label %1093

1093:                                             ; preds = %1091, %1089
  %.pn373 = phi { ptr, i32 } [ %1092, %1091 ], [ %1090, %1089 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %123) #7
  br label %1108

1094:                                             ; preds = %1086
  %1095 = landingpad { ptr, i32 }
          cleanup
  br label %1098

1096:                                             ; preds = %1087
  %1097 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %124) #7
  br label %1098

1098:                                             ; preds = %1096, %1094
  %.pn377 = phi { ptr, i32 } [ %1097, %1096 ], [ %1095, %1094 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %124) #7
  br label %1108

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

1100:                                             ; preds = %1099
  invoke void @_ZN2vl7console7Console9WriteLineERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(48) %125)
          to label %1101 unwind label %1105

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

.invoke392:                                       ; preds = %943, %970, %997, %1024, %1051, %1076, %1101
  %1102 = call ptr @__cxa_allocate_exception(i64 4) #7
  store i32 0, ptr %1102, align 16, !tbaa !5
  invoke void @__cxa_throw(ptr nonnull %1102, ptr nonnull @_ZTIi, ptr null) #8
          to label %.cont393 unwind label %929

.cont393:                                         ; preds = %.invoke392
  unreachable

1103:                                             ; preds = %1099
  %1104 = landingpad { ptr, i32 }
          cleanup
  br label %1107

1105:                                             ; preds = %1100
  %1106 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %125) #7
  br label %1107

1107:                                             ; preds = %1105, %1103
  %.pn375 = phi { ptr, i32 } [ %1106, %1105 ], [ %1104, %1103 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %125) #7
  br label %1108

1108:                                             ; preds = %929, %935, %940, %948, %962, %967, %975, %989, %994, %1002, %1016, %1021, %1029, %1043, %1048, %1056, %1068, %1073, %1081, %1093, %1098, %1107, %920, %911, %906, %888, %880, %875, %862, %854, %849, %834, %826, %821, %807, %799, %794, %779, %771, %766, %752, %744, %739, %725, %717, %712, %696, %688, %683, %669, %661, %656, %642, %634, %629, %613, %605, %600, %586, %578, %573, %559, %551, %546, %540
  %.pn377.pn.pn = phi { ptr, i32 } [ %.pn335, %911 ], [ %541, %540 ], [ %.pn333, %920 ], [ %.pn331, %906 ], [ %.pn329, %880 ], [ %.pn327, %888 ], [ %.pn325, %875 ], [ %.pn323, %854 ], [ %.pn321, %862 ], [ %.pn319, %849 ], [ %.pn317, %826 ], [ %.pn315, %834 ], [ %.pn313, %821 ], [ %.pn311, %799 ], [ %.pn309, %807 ], [ %.pn307, %794 ], [ %.pn305, %771 ], [ %.pn303, %779 ], [ %.pn301, %766 ], [ %.pn299, %744 ], [ %.pn297, %752 ], [ %.pn295, %739 ], [ %.pn293, %717 ], [ %.pn291, %725 ], [ %.pn289, %712 ], [ %.pn287, %688 ], [ %.pn285, %696 ], [ %.pn283, %683 ], [ %.pn281, %661 ], [ %.pn279, %669 ], [ %.pn277, %656 ], [ %.pn275, %634 ], [ %.pn273, %642 ], [ %.pn271, %629 ], [ %.pn269, %605 ], [ %.pn267, %613 ], [ %.pn265, %600 ], [ %.pn263, %578 ], [ %.pn261, %586 ], [ %.pn259, %573 ], [ %.pn257, %551 ], [ %.pn255, %559 ], [ %.pn253, %546 ], [ %.pn377, %1098 ], [ %930, %929 ], [ %.pn375, %1107 ], [ %.pn373, %1093 ], [ %.pn371, %1073 ], [ %.pn369, %1081 ], [ %.pn367, %1068 ], [ %.pn365, %1048 ], [ %.pn363, %1056 ], [ %.pn361, %1043 ], [ %.pn359, %1021 ], [ %.pn357, %1029 ], [ %.pn355, %1016 ], [ %.pn353, %994 ], [ %.pn351, %1002 ], [ %.pn349, %989 ], [ %.pn347, %967 ], [ %.pn345, %975 ], [ %.pn343, %962 ], [ %.pn341, %940 ], [ %.pn339, %948 ], [ %.pn337, %935 ]
  call void @_ZN2vl8database12DeadlockInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(272) %62) #7
  br label %1109

1109:                                             ; preds = %1108, %538
  %.pn377.pn.pn.pn = phi { ptr, i32 } [ %.pn377.pn.pn, %1108 ], [ %539, %538 ]
  call void @llvm.lifetime.end.p0(i64 272, ptr nonnull %62) #7
  br label %1110

1110:                                             ; preds = %1109, %527, %518, %512, %511, %496, %488, %483, %471, %463, %458, %446, %438, %433, %421, %413, %408, %396, %388, %383, %371, %363, %358, %346, %338, %333, %321, %313, %308, %302
  %.pn377.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn377.pn.pn.pn, %1109 ], [ %.pn251, %518 ], [ %303, %302 ], [ %.pn249, %527 ], [ %513, %512 ], [ %.pn247, %511 ], [ %.pn245, %488 ], [ %.pn243, %496 ], [ %.pn241, %483 ], [ %.pn239, %463 ], [ %.pn237, %471 ], [ %.pn235, %458 ], [ %.pn233, %438 ], [ %.pn231, %446 ], [ %.pn229, %433 ], [ %.pn227, %413 ], [ %.pn225, %421 ], [ %.pn223, %408 ], [ %.pn221, %388 ], [ %.pn219, %396 ], [ %.pn217, %383 ], [ %.pn215, %363 ], [ %.pn213, %371 ], [ %.pn211, %358 ], [ %.pn209, %338 ], [ %.pn207, %346 ], [ %.pn205, %333 ], [ %.pn203, %313 ], [ %.pn201, %321 ], [ %.pn199, %308 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #7
  br label %1111

1111:                                             ; preds = %1110, %300
  %.pn377.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn377.pn.pn.pn.pn, %1110 ], [ %301, %300 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #7
  br label %1112

1112:                                             ; preds = %146, %152, %157, %165, %177, %182, %190, %202, %207, %215, %227, %232, %240, %252, %257, %265, %277, %282, %291, %1111, %144
  %.pn377.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %145, %144 ], [ %.pn377.pn.pn.pn.pn.pn, %1111 ], [ %.pn197, %282 ], [ %147, %146 ], [ %.pn195, %291 ], [ %.pn193, %277 ], [ %.pn191, %257 ], [ %.pn189, %265 ], [ %.pn187, %252 ], [ %.pn185, %232 ], [ %.pn183, %240 ], [ %.pn181, %227 ], [ %.pn179, %207 ], [ %.pn177, %215 ], [ %.pn175, %202 ], [ %.pn173, %182 ], [ %.pn171, %190 ], [ %.pn169, %177 ], [ %.pn167, %157 ], [ %.pn165, %165 ], [ %.pn, %152 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #7
  call void @_ZN2vl8database11LockManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(400) %2) #7
  br label %1113

1113:                                             ; preds = %1112, %142
  %.pn377.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn377.pn.pn.pn.pn.pn.pn.pn, %1112 ], [ %143, %142 ]
  call void @llvm.lifetime.end.p0(i64 400, ptr nonnull %2) #7
  br label %1114

1114:                                             ; preds = %1113, %140
  %.pn377.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn377.pn.pn.pn.pn.pn.pn.pn.pn, %1113 ], [ %141, %140 ]
  call void @_ZN2vl8database13BufferManagerD1Ev(ptr noundef nonnull align 8 dereferenceable(168) %1) #7
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %1) #7
  resume { ptr, i32 } %.pn377.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN2vl8database12DeadlockInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(272)) unnamed_addr #6 align 2

declare void @_ZN2vl8database11LockManager14DetectDeadlockERNS0_12DeadlockInfoE(ptr noundef nonnull align 8 dereferenceable(400), ptr noundef nonnull align 8 dereferenceable(272)) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E5CountEv(ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections9ArrayBaseINS_8database8IdObjectImLl3EEEEixEl(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections5GroupINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E10GetByIndexEl(ptr noundef nonnull align 8 dereferenceable(104), i64 noundef) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK2vl11collections9ArrayBaseINS_8database10LockTargetEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZNK2vl11collections9ArrayBaseINS_8database10LockTargetEEixEl(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZNK2vl11collections10DictionaryINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E5CountEv(ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_8database8IdObjectImLl3EEENS2_10LockTargetES4_S5_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK2vl11collections9ArrayBaseINS_8database8IdObjectImLl3EEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListINS_8database8IdObjectImLl3EEES4_EixEl(ptr noundef nonnull align 8 dereferenceable(33), i64 noundef) local_unnamed_addr #3 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN2vl8database12DeadlockInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(272)) unnamed_addr #5 align 2

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 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 #3 = { 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 #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 = { inlinehint 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 #6 = { inlinehint 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 #7 = { nounwind }
attributes #8 = { 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 = !{!"int", !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, !13, i64 0}
!12 = !{!"_ZTSN2vl8database10LockResultE", !13, i64 0, !14, i64 8}
!13 = !{!"bool", !7, i64 0}
!14 = !{!"any pointer", !7, i64 0}
!15 = !{i8 0, i8 2}
!16 = !{}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,SROAPass,SimplifyCFGPass