; LLVM IR from NVIDIA/DALI :: dali/operators/numba_function (numba_func)

; 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.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%"class.dali::CPUBackend" = type { i8 }
%"class.dali::span" = type { ptr, i64 }
%"struct.dali::OutputDesc" = type { %"struct.dali::TensorListShape", i32, [4 x i8] }
%"struct.dali::TensorListShape" = type { %"struct.dali::TensorListShapeBase.base", i32 }
%"struct.dali::TensorListShapeBase.base" = type <{ %"class.std::vector.152", i32 }>
%"class.std::vector.152" = type { %"struct.std::_Vector_base.153" }
%"struct.std::_Vector_base.153" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.dali::NumbaFuncImpl" = type { %"class.dali::StatelessOperator", %"class.std::vector.65", %"class.std::vector.65", %"class.std::vector.70", %"class.std::vector.70", %"class.dali::SmallVector", %"class.dali::SmallVector", i64, i64, i8, %"class.dali::SmallVector.76", %"class.dali::SmallVector.76", %"class.dali::SmallVector.81", %"class.dali::SmallVector.81", %"class.std::vector.84", %"class.std::vector.84", %"class.std::vector.89", %"class.std::vector.89", %"class.std::vector.94", %"class.std::vector.94", %"class.std::vector.99", %"class.std::vector.99" }
%"class.dali::StatelessOperator" = type { %"class.dali::Operator" }
%"class.dali::Operator" = type { %"class.dali::OperatorBase" }
%"class.dali::OperatorBase" = type { ptr, %"class.dali::OpSpec", i32, i32, %"class.std::unordered_map" }
%"class.dali::OpSpec" = type { %"class.std::__cxx11::basic_string", ptr, %"class.std::vector.30", %"class.std::map.35", %"class.std::vector.40", %"class.std::map.35", %"class.std::map.45", %"class.std::vector.50", %"class.std::vector.50", %"class.std::map.55" }
%"class.std::vector.30" = type { %"struct.std::_Vector_base.31" }
%"struct.std::_Vector_base.31" = type { %"struct.std::_Vector_base<std::shared_ptr<dali::Argument>, std::allocator<std::shared_ptr<dali::Argument>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<dali::Argument>, std::allocator<std::shared_ptr<dali::Argument>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<dali::Argument>, std::allocator<std::shared_ptr<dali::Argument>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<dali::Argument>, std::allocator<std::shared_ptr<dali::Argument>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.40" = type { %"struct.std::_Vector_base.41" }
%"struct.std::_Vector_base.41" = type { %"struct.std::_Vector_base<std::pair<std::__cxx11::basic_string<char>, int>, std::allocator<std::pair<std::__cxx11::basic_string<char>, int>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<std::__cxx11::basic_string<char>, int>, std::allocator<std::pair<std::__cxx11::basic_string<char>, int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<std::__cxx11::basic_string<char>, int>, std::allocator<std::pair<std::__cxx11::basic_string<char>, int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<std::__cxx11::basic_string<char>, int>, std::allocator<std::pair<std::__cxx11::basic_string<char>, int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map.35" = type { %"class.std::_Rb_tree.36" }
%"class.std::_Rb_tree.36" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, int>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, int>>, std::less<void>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, int>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, int>>, std::less<void>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::map.45" = type { %"class.std::_Rb_tree.46" }
%"class.std::_Rb_tree.46" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>, std::less<void>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>, std::less<void>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::vector.50" = type { %"struct.std::_Vector_base.51" }
%"struct.std::_Vector_base.51" = type { %"struct.std::_Vector_base<dali::OpSpec::InOutDeviceDesc, std::allocator<dali::OpSpec::InOutDeviceDesc>>::_Vector_impl" }
%"struct.std::_Vector_base<dali::OpSpec::InOutDeviceDesc, std::allocator<dali::OpSpec::InOutDeviceDesc>>::_Vector_impl" = type { %"struct.std::_Vector_base<dali::OpSpec::InOutDeviceDesc, std::allocator<dali::OpSpec::InOutDeviceDesc>>::_Vector_impl_data" }
%"struct.std::_Vector_base<dali::OpSpec::InOutDeviceDesc, std::allocator<dali::OpSpec::InOutDeviceDesc>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map.55" = type { %"class.std::_Rb_tree.56" }
%"class.std::_Rb_tree.56" = type { %"struct.std::_Rb_tree<dali::OpSpec::InOutDeviceDesc, std::pair<const dali::OpSpec::InOutDeviceDesc, int>, std::_Select1st<std::pair<const dali::OpSpec::InOutDeviceDesc, int>>, std::less<void>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<dali::OpSpec::InOutDeviceDesc, std::pair<const dali::OpSpec::InOutDeviceDesc, int>, std::_Select1st<std::pair<const dali::OpSpec::InOutDeviceDesc, int>>, std::less<void>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::vector.65" = type { %"struct.std::_Vector_base.66" }
%"struct.std::_Vector_base.66" = type { %"struct.std::_Vector_base<std::vector<long>, std::allocator<std::vector<long>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<long>, std::allocator<std::vector<long>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<long>, std::allocator<std::vector<long>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<long>, std::allocator<std::vector<long>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.70" = type { %"struct.std::_Vector_base.71" }
%"struct.std::_Vector_base.71" = type { %"struct.std::_Vector_base<std::vector<void *>, std::allocator<std::vector<void *>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<void *>, std::allocator<std::vector<void *>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<void *>, std::allocator<std::vector<void *>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<void *>, std::allocator<std::vector<void *>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.dali::SmallVector" = type { %union.anon.75, i64 }
%union.anon.75 = type { %struct.anon }
%struct.anon = type { ptr, i64 }
%"class.dali::SmallVector.76" = type { %union.anon.79, i64 }
%union.anon.79 = type { %struct.anon.80, [8 x i8] }
%struct.anon.80 = type { ptr, i64 }
%"class.dali::SmallVector.81" = type { %union.anon.82, i64 }
%union.anon.82 = type { %struct.anon.83, [8 x i8] }
%struct.anon.83 = type { ptr, i64 }
%"class.std::vector.84" = type { %"struct.std::_Vector_base.85" }
%"struct.std::_Vector_base.85" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.89" = type { %"struct.std::_Vector_base.90" }
%"struct.std::_Vector_base.90" = type { %"struct.std::_Vector_base<dali::TensorListShape<DynamicDimensions>, std::allocator<dali::TensorListShape<DynamicDimensions>>>::_Vector_impl" }
%"struct.std::_Vector_base<dali::TensorListShape<DynamicDimensions>, std::allocator<dali::TensorListShape<DynamicDimensions>>>::_Vector_impl" = type { %"struct.std::_Vector_base<dali::TensorListShape<DynamicDimensions>, std::allocator<dali::TensorListShape<DynamicDimensions>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<dali::TensorListShape<DynamicDimensions>, std::allocator<dali::TensorListShape<DynamicDimensions>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.94" = type { %"struct.std::_Vector_base.95" }
%"struct.std::_Vector_base.95" = type { %"struct.std::_Vector_base<dali::TensorShape<DynamicDimensions>, std::allocator<dali::TensorShape<DynamicDimensions>>>::_Vector_impl" }
%"struct.std::_Vector_base<dali::TensorShape<DynamicDimensions>, std::allocator<dali::TensorShape<DynamicDimensions>>>::_Vector_impl" = type { %"struct.std::_Vector_base<dali::TensorShape<DynamicDimensions>, std::allocator<dali::TensorShape<DynamicDimensions>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<dali::TensorShape<DynamicDimensions>, std::allocator<dali::TensorShape<DynamicDimensions>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.99" = type { %"struct.std::_Vector_base.100" }
%"struct.std::_Vector_base.100" = type { %"struct.std::_Vector_base<dali::NumbaDevArray, std::allocator<dali::NumbaDevArray>>::_Vector_impl" }
%"struct.std::_Vector_base<dali::NumbaDevArray, std::allocator<dali::NumbaDevArray>>::_Vector_impl" = type { %"struct.std::_Vector_base<dali::NumbaDevArray, std::allocator<dali::NumbaDevArray>>::_Vector_impl_data" }
%"struct.std::_Vector_base<dali::NumbaDevArray, std::allocator<dali::NumbaDevArray>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@.str.35 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [3 x i8], align 1
@_ZTIN4dali13DALIExceptionE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.50 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [96 x i8], align 1

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

declare i32 @__gxx_personality_v0(...)

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) #2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #2 align 2

declare ptr @__cxa_allocate_exception(i64)

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32)) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8) #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2 align 2

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

declare void @__cxa_throw(ptr, ptr, ptr)

declare void @__cxa_free_exception(ptr)

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorIiLm6ESaIiEEixEl(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) #4 align 2

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN4dali13NumbaFuncImplINS_10CPUBackendEE9SetupImplERSt6vectorINS_10OutputDescESaIS4_EERKNS_9WorkspaceE(ptr noundef nonnull align 8 dereferenceable(888) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(664) %2) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca i1, align 1
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::allocator", align 1
  %14 = alloca ptr, align 8
  %15 = alloca i32, align 4
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca i64, align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::allocator", align 1
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca i1, align 1
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::allocator", align 1
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca i64, align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::allocator", align 1
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca i1, align 1
  %36 = alloca i32, align 4
  %37 = alloca ptr, align 8
  %38 = alloca %"class.dali::CPUBackend", align 1
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::allocator", align 1
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca i32, align 4
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::allocator", align 1
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca i1, align 1
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::allocator", align 1
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca i32, align 4
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::allocator", align 1
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca i1, align 1
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca %"class.dali::span", align 8
  %68 = alloca i32, align 4
  %69 = alloca ptr, align 8
  %70 = alloca %"class.dali::CPUBackend", align 1
  %71 = alloca %"struct.dali::OutputDesc", align 8
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca %"class.dali::span", align 8
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca %"class.dali::span", align 8
  %79 = alloca i32, align 4
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca %"class.std::allocator", align 1
  %84 = alloca %"class.std::__cxx11::basic_string", align 8
  %85 = alloca %"class.std::__cxx11::basic_string", align 8
  %86 = alloca %"class.std::__cxx11::basic_string", align 8
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca %"class.std::allocator", align 1
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca i1, align 1
  store ptr %0, ptr %5, align 8, !tbaa !5
  store ptr %1, ptr %6, align 8, !tbaa !5
  store ptr %2, ptr %7, align 8, !tbaa !5
  %91 = load ptr, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #5
  %92 = load ptr, ptr %7, align 8, !tbaa !5
  %93 = call noundef i32 @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE8NumInputEv(ptr noundef nonnull align 8 dereferenceable(664) %92)
  store i32 %93, ptr %8, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #5
  %94 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 10
  %95 = call noundef i64 @_ZNK4dali11SmallVectorI13_DALIDataTypeLm6ESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %94)
  %96 = trunc i64 %95 to i32
  store i32 %96, ptr %9, align 4, !tbaa !9
  br label %97

97:                                               ; preds = %3
  %98 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 11
  %99 = call noundef i64 @_ZNK4dali11SmallVectorI13_DALIDataTypeLm6ESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %98)
  %100 = load i32, ptr %8, align 4, !tbaa !9
  %101 = sext i32 %100 to i64
  %102 = icmp eq i64 %99, %101
  br i1 %102, label %171, label %103

103:                                              ; preds = %97
  call void @llvm.lifetime.start.p0(i64 32, ptr %10) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %12) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %13) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %13)
          to label %104 unwind label %119

104:                                              ; preds = %103
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef @.str.61)
          to label %105 unwind label %123

105:                                              ; preds = %104
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef @.str.37)
          to label %106 unwind label %127

106:                                              ; preds = %105
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %13) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #5
  %107 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 11
  %108 = invoke noundef i64 @_ZNK4dali11SmallVectorI13_DALIDataTypeLm6ESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %107)
          to label %109 unwind label %133

109:                                              ; preds = %106
  store i64 %108, ptr %17, align 8, !tbaa !11
  invoke void @_ZN4dali11make_stringIJA10_cmA41_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 1 dereferenceable(10) @.str.62, ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 1 dereferenceable(41) @.str.63, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %110 unwind label %133

110:                                              ; preds = %109
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef @.str.40, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %111 unwind label %137

111:                                              ; preds = %110
  %112 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %113 unwind label %141

113:                                              ; preds = %111
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #5
  store i1 true, ptr %23, align 1
  %114 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %19) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %115 unwind label %146

115:                                              ; preds = %113
  call void @llvm.lifetime.start.p0(i64 1, ptr %21) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef @.str.64, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %116 unwind label %150

116:                                              ; preds = %115
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %22)
          to label %117 unwind label %154

117:                                              ; preds = %116
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %114, ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef %20, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %118 unwind label %158

118:                                              ; preds = %117
  store i1 false, ptr %23, align 1
  invoke void @__cxa_throw(ptr %114, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #6
          to label %775 unwind label %158

119:                                              ; preds = %103
  %120 = landingpad { ptr, i32 }
          cleanup
  %121 = extractvalue { ptr, i32 } %120, 0
  store ptr %121, ptr %14, align 8
  %122 = extractvalue { ptr, i32 } %120, 1
  store i32 %122, ptr %15, align 4
  br label %132

123:                                              ; preds = %104
  %124 = landingpad { ptr, i32 }
          cleanup
  %125 = extractvalue { ptr, i32 } %124, 0
  store ptr %125, ptr %14, align 8
  %126 = extractvalue { ptr, i32 } %124, 1
  store i32 %126, ptr %15, align 4
  br label %131

127:                                              ; preds = %105
  %128 = landingpad { ptr, i32 }
          cleanup
  %129 = extractvalue { ptr, i32 } %128, 0
  store ptr %129, ptr %14, align 8
  %130 = extractvalue { ptr, i32 } %128, 1
  store i32 %130, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #5
  br label %131

131:                                              ; preds = %127, %123
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #5
  br label %132

132:                                              ; preds = %131, %119
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %13) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #5
  br label %170

133:                                              ; preds = %109, %106
  %134 = landingpad { ptr, i32 }
          cleanup
  %135 = extractvalue { ptr, i32 } %134, 0
  store ptr %135, ptr %14, align 8
  %136 = extractvalue { ptr, i32 } %134, 1
  store i32 %136, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #5
  br label %169

137:                                              ; preds = %110
  %138 = landingpad { ptr, i32 }
          cleanup
  %139 = extractvalue { ptr, i32 } %138, 0
  store ptr %139, ptr %14, align 8
  %140 = extractvalue { ptr, i32 } %138, 1
  store i32 %140, ptr %15, align 4
  br label %145

141:                                              ; preds = %111
  %142 = landingpad { ptr, i32 }
          cleanup
  %143 = extractvalue { ptr, i32 } %142, 0
  store ptr %143, ptr %14, align 8
  %144 = extractvalue { ptr, i32 } %142, 1
  store i32 %144, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  br label %145

145:                                              ; preds = %141, %137
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #5
  br label %168

146:                                              ; preds = %113
  %147 = landingpad { ptr, i32 }
          cleanup
  %148 = extractvalue { ptr, i32 } %147, 0
  store ptr %148, ptr %14, align 8
  %149 = extractvalue { ptr, i32 } %147, 1
  store i32 %149, ptr %15, align 4
  br label %164

150:                                              ; preds = %115
  %151 = landingpad { ptr, i32 }
          cleanup
  %152 = extractvalue { ptr, i32 } %151, 0
  store ptr %152, ptr %14, align 8
  %153 = extractvalue { ptr, i32 } %151, 1
  store i32 %153, ptr %15, align 4
  br label %163

154:                                              ; preds = %116
  %155 = landingpad { ptr, i32 }
          cleanup
  %156 = extractvalue { ptr, i32 } %155, 0
  store ptr %156, ptr %14, align 8
  %157 = extractvalue { ptr, i32 } %155, 1
  store i32 %157, ptr %15, align 4
  br label %162

158:                                              ; preds = %118, %117
  %159 = landingpad { ptr, i32 }
          cleanup
  %160 = extractvalue { ptr, i32 } %159, 0
  store ptr %160, ptr %14, align 8
  %161 = extractvalue { ptr, i32 } %159, 1
  store i32 %161, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  br label %162

162:                                              ; preds = %158, %154
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #5
  br label %163

163:                                              ; preds = %162, %150
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #5
  br label %164

164:                                              ; preds = %163, %146
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #5
  %165 = load i1, ptr %23, align 1
  br i1 %165, label %166, label %167

166:                                              ; preds = %164
  call void @__cxa_free_exception(ptr %114) #5
  br label %167

167:                                              ; preds = %166, %164
  br label %168

168:                                              ; preds = %167, %145
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  br label %169

169:                                              ; preds = %168, %133
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #5
  br label %170

170:                                              ; preds = %169, %132
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #5
  br label %769

171:                                              ; preds = %97
  br label %172

172:                                              ; preds = %171
  br label %173

173:                                              ; preds = %172
  br label %174

174:                                              ; preds = %173
  %175 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 13
  %176 = call noundef i64 @_ZNK4dali11SmallVectorIiLm6ESaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %175)
  %177 = load i32, ptr %8, align 4, !tbaa !9
  %178 = sext i32 %177 to i64
  %179 = icmp eq i64 %176, %178
  br i1 %179, label %248, label %180

180:                                              ; preds = %174
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %27) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %27)
          to label %181 unwind label %196

181:                                              ; preds = %180
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef @.str.65)
          to label %182 unwind label %200

182:                                              ; preds = %181
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef @.str.37)
          to label %183 unwind label %204

183:                                              ; preds = %182
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #5
  %184 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 13
  %185 = invoke noundef i64 @_ZNK4dali11SmallVectorIiLm6ESaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %184)
          to label %186 unwind label %210

186:                                              ; preds = %183
  store i64 %185, ptr %29, align 8, !tbaa !11
  invoke void @_ZN4dali11make_stringIJA10_cmA41_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef nonnull align 1 dereferenceable(10) @.str.62, ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull align 1 dereferenceable(41) @.str.66, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %187 unwind label %210

187:                                              ; preds = %186
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef @.str.40, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %188 unwind label %214

188:                                              ; preds = %187
  %189 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %190 unwind label %218

190:                                              ; preds = %188
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #5
  store i1 true, ptr %35, align 1
  %191 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %192 unwind label %223

192:                                              ; preds = %190
  call void @llvm.lifetime.start.p0(i64 1, ptr %33) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef @.str.67, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %193 unwind label %227

193:                                              ; preds = %192
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %34)
          to label %194 unwind label %231

194:                                              ; preds = %193
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %191, ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef %32, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %195 unwind label %235

195:                                              ; preds = %194
  store i1 false, ptr %35, align 1
  invoke void @__cxa_throw(ptr %191, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #6
          to label %775 unwind label %235

196:                                              ; preds = %180
  %197 = landingpad { ptr, i32 }
          cleanup
  %198 = extractvalue { ptr, i32 } %197, 0
  store ptr %198, ptr %14, align 8
  %199 = extractvalue { ptr, i32 } %197, 1
  store i32 %199, ptr %15, align 4
  br label %209

200:                                              ; preds = %181
  %201 = landingpad { ptr, i32 }
          cleanup
  %202 = extractvalue { ptr, i32 } %201, 0
  store ptr %202, ptr %14, align 8
  %203 = extractvalue { ptr, i32 } %201, 1
  store i32 %203, ptr %15, align 4
  br label %208

204:                                              ; preds = %182
  %205 = landingpad { ptr, i32 }
          cleanup
  %206 = extractvalue { ptr, i32 } %205, 0
  store ptr %206, ptr %14, align 8
  %207 = extractvalue { ptr, i32 } %205, 1
  store i32 %207, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #5
  br label %208

208:                                              ; preds = %204, %200
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  br label %209

209:                                              ; preds = %208, %196
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #5
  br label %247

210:                                              ; preds = %186, %183
  %211 = landingpad { ptr, i32 }
          cleanup
  %212 = extractvalue { ptr, i32 } %211, 0
  store ptr %212, ptr %14, align 8
  %213 = extractvalue { ptr, i32 } %211, 1
  store i32 %213, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #5
  br label %246

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

218:                                              ; preds = %188
  %219 = landingpad { ptr, i32 }
          cleanup
  %220 = extractvalue { ptr, i32 } %219, 0
  store ptr %220, ptr %14, align 8
  %221 = extractvalue { ptr, i32 } %219, 1
  store i32 %221, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  br label %222

222:                                              ; preds = %218, %214
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #5
  br label %245

223:                                              ; preds = %190
  %224 = landingpad { ptr, i32 }
          cleanup
  %225 = extractvalue { ptr, i32 } %224, 0
  store ptr %225, ptr %14, align 8
  %226 = extractvalue { ptr, i32 } %224, 1
  store i32 %226, ptr %15, align 4
  br label %241

227:                                              ; preds = %192
  %228 = landingpad { ptr, i32 }
          cleanup
  %229 = extractvalue { ptr, i32 } %228, 0
  store ptr %229, ptr %14, align 8
  %230 = extractvalue { ptr, i32 } %228, 1
  store i32 %230, ptr %15, align 4
  br label %240

231:                                              ; preds = %193
  %232 = landingpad { ptr, i32 }
          cleanup
  %233 = extractvalue { ptr, i32 } %232, 0
  store ptr %233, ptr %14, align 8
  %234 = extractvalue { ptr, i32 } %232, 1
  store i32 %234, ptr %15, align 4
  br label %239

235:                                              ; preds = %195, %194
  %236 = landingpad { ptr, i32 }
          cleanup
  %237 = extractvalue { ptr, i32 } %236, 0
  store ptr %237, ptr %14, align 8
  %238 = extractvalue { ptr, i32 } %236, 1
  store i32 %238, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #5
  br label %239

239:                                              ; preds = %235, %231
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  br label %240

240:                                              ; preds = %239, %227
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #5
  br label %241

241:                                              ; preds = %240, %223
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #5
  %242 = load i1, ptr %35, align 1
  br i1 %242, label %243, label %244

243:                                              ; preds = %241
  call void @__cxa_free_exception(ptr %191) #5
  br label %244

244:                                              ; preds = %243, %241
  br label %245

245:                                              ; preds = %244, %222
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #5
  br label %246

246:                                              ; preds = %245, %210
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  br label %247

247:                                              ; preds = %246, %209
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #5
  br label %769

248:                                              ; preds = %174
  br label %249

249:                                              ; preds = %248
  br label %250

250:                                              ; preds = %249
  %251 = load ptr, ptr %6, align 8, !tbaa !5
  %252 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 10
  %253 = call noundef i64 @_ZNK4dali11SmallVectorI13_DALIDataTypeLm6ESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %252)
  call void @_ZNSt6vectorIN4dali10OutputDescESaIS1_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %251, i64 noundef %253)
  %254 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 16
  %255 = load i32, ptr %8, align 4, !tbaa !9
  %256 = sext i32 %255 to i64
  call void @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %254, i64 noundef %256)
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #5
  store i32 0, ptr %36, align 4, !tbaa !9
  br label %257

257:                                              ; preds = %449, %250
  %258 = load i32, ptr %36, align 4, !tbaa !9
  %259 = load i32, ptr %8, align 4, !tbaa !9
  %260 = icmp slt i32 %258, %259
  br i1 %260, label %262, label %261

261:                                              ; preds = %257
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #5
  br label %453

262:                                              ; preds = %257
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #5
  %263 = load ptr, ptr %7, align 8, !tbaa !5
  %264 = load i32, ptr %36, align 4, !tbaa !9
  %265 = call noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE5InputINS_10CPUBackendEEERKDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %263, i32 noundef %264)
  store ptr %265, ptr %37, align 8, !tbaa !5
  %266 = load ptr, ptr %37, align 8, !tbaa !5
  %267 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE5shapeEv(ptr noundef nonnull align 8 dereferenceable(304) %266)
  %268 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 16
  %269 = load i32, ptr %36, align 4, !tbaa !9
  %270 = sext i32 %269 to i64
  %271 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %268, i64 noundef %270) #5
  %272 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN4dali15TensorListShapeILin1EEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %271, ptr noundef nonnull align 8 dereferenceable(32) %267)
  br label %273

273:                                              ; preds = %262
  %274 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 16
  %275 = load i32, ptr %36, align 4, !tbaa !9
  %276 = sext i32 %275 to i64
  %277 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %274, i64 noundef %276) #5
  %278 = call noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %277)
  %279 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 13
  %280 = load i32, ptr %36, align 4, !tbaa !9
  %281 = sext i32 %280 to i64
  %282 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorIiLm6ESaIiEEixEl(ptr noundef nonnull align 8 dereferenceable(32) %279, i64 noundef %281)
  %283 = load i32, ptr %282, align 4, !tbaa !9
  %284 = icmp eq i32 %278, %283
  br i1 %284, label %361, label %285

285:                                              ; preds = %273
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %42) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %286 unwind label %309

286:                                              ; preds = %285
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef @.str.68)
          to label %287 unwind label %313

287:                                              ; preds = %286
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef @.str.37)
          to label %288 unwind label %317

288:                                              ; preds = %287
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #5
  %289 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 16
  %290 = load i32, ptr %36, align 4, !tbaa !9
  %291 = sext i32 %290 to i64
  %292 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %289, i64 noundef %291) #5
  %293 = invoke noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %292)
          to label %294 unwind label %323

294:                                              ; preds = %288
  store i32 %293, ptr %44, align 4, !tbaa !9
  %295 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 13
  %296 = load i32, ptr %36, align 4, !tbaa !9
  %297 = sext i32 %296 to i64
  %298 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorIiLm6ESaIiEEixEl(ptr noundef nonnull align 8 dereferenceable(32) %295, i64 noundef %297)
          to label %299 unwind label %323

299:                                              ; preds = %294
  invoke void @_ZN4dali11make_stringIJA52_ciA60_ciA5_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 1 dereferenceable(52) @.str.69, ptr noundef nonnull align 4 dereferenceable(4) %36, ptr noundef nonnull align 1 dereferenceable(60) @.str.70, ptr noundef nonnull align 4 dereferenceable(4) %44, ptr noundef nonnull align 1 dereferenceable(5) @.str.71, ptr noundef nonnull align 4 dereferenceable(4) %298)
          to label %300 unwind label %323

300:                                              ; preds = %299
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef @.str.40, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %301 unwind label %327

301:                                              ; preds = %300
  %302 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %303 unwind label %331

303:                                              ; preds = %301
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #5
  store i1 true, ptr %50, align 1
  %304 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %305 unwind label %336

305:                                              ; preds = %303
  call void @llvm.lifetime.start.p0(i64 1, ptr %48) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef @.str.72, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %306 unwind label %340

306:                                              ; preds = %305
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %49)
          to label %307 unwind label %344

307:                                              ; preds = %306
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %304, ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef %47, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %308 unwind label %348

308:                                              ; preds = %307
  store i1 false, ptr %50, align 1
  invoke void @__cxa_throw(ptr %304, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #6
          to label %775 unwind label %348

309:                                              ; preds = %285
  %310 = landingpad { ptr, i32 }
          cleanup
  %311 = extractvalue { ptr, i32 } %310, 0
  store ptr %311, ptr %14, align 8
  %312 = extractvalue { ptr, i32 } %310, 1
  store i32 %312, ptr %15, align 4
  br label %322

313:                                              ; preds = %286
  %314 = landingpad { ptr, i32 }
          cleanup
  %315 = extractvalue { ptr, i32 } %314, 0
  store ptr %315, ptr %14, align 8
  %316 = extractvalue { ptr, i32 } %314, 1
  store i32 %316, ptr %15, align 4
  br label %321

317:                                              ; preds = %287
  %318 = landingpad { ptr, i32 }
          cleanup
  %319 = extractvalue { ptr, i32 } %318, 0
  store ptr %319, ptr %14, align 8
  %320 = extractvalue { ptr, i32 } %318, 1
  store i32 %320, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #5
  br label %321

321:                                              ; preds = %317, %313
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #5
  br label %322

322:                                              ; preds = %321, %309
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #5
  br label %360

323:                                              ; preds = %299, %294, %288
  %324 = landingpad { ptr, i32 }
          cleanup
  %325 = extractvalue { ptr, i32 } %324, 0
  store ptr %325, ptr %14, align 8
  %326 = extractvalue { ptr, i32 } %324, 1
  store i32 %326, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #5
  br label %359

327:                                              ; preds = %300
  %328 = landingpad { ptr, i32 }
          cleanup
  %329 = extractvalue { ptr, i32 } %328, 0
  store ptr %329, ptr %14, align 8
  %330 = extractvalue { ptr, i32 } %328, 1
  store i32 %330, ptr %15, align 4
  br label %335

331:                                              ; preds = %301
  %332 = landingpad { ptr, i32 }
          cleanup
  %333 = extractvalue { ptr, i32 } %332, 0
  store ptr %333, ptr %14, align 8
  %334 = extractvalue { ptr, i32 } %332, 1
  store i32 %334, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #5
  br label %335

335:                                              ; preds = %331, %327
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #5
  br label %358

336:                                              ; preds = %303
  %337 = landingpad { ptr, i32 }
          cleanup
  %338 = extractvalue { ptr, i32 } %337, 0
  store ptr %338, ptr %14, align 8
  %339 = extractvalue { ptr, i32 } %337, 1
  store i32 %339, ptr %15, align 4
  br label %354

340:                                              ; preds = %305
  %341 = landingpad { ptr, i32 }
          cleanup
  %342 = extractvalue { ptr, i32 } %341, 0
  store ptr %342, ptr %14, align 8
  %343 = extractvalue { ptr, i32 } %341, 1
  store i32 %343, ptr %15, align 4
  br label %353

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

348:                                              ; preds = %308, %307
  %349 = landingpad { ptr, i32 }
          cleanup
  %350 = extractvalue { ptr, i32 } %349, 0
  store ptr %350, ptr %14, align 8
  %351 = extractvalue { ptr, i32 } %349, 1
  store i32 %351, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #5
  br label %352

352:                                              ; preds = %348, %344
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #5
  br label %353

353:                                              ; preds = %352, %340
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #5
  br label %354

354:                                              ; preds = %353, %336
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #5
  %355 = load i1, ptr %50, align 1
  br i1 %355, label %356, label %357

356:                                              ; preds = %354
  call void @__cxa_free_exception(ptr %304) #5
  br label %357

357:                                              ; preds = %356, %354
  br label %358

358:                                              ; preds = %357, %335
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #5
  br label %359

359:                                              ; preds = %358, %323
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #5
  br label %360

360:                                              ; preds = %359, %322
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #5
  br label %452

361:                                              ; preds = %273
  br label %362

362:                                              ; preds = %361
  br label %363

363:                                              ; preds = %362
  br label %364

364:                                              ; preds = %363
  %365 = load ptr, ptr %37, align 8, !tbaa !5
  %366 = call noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %365)
  %367 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 11
  %368 = load i32, ptr %36, align 4, !tbaa !9
  %369 = sext i32 %368 to i64
  %370 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorI13_DALIDataTypeLm6ESaIS1_EEixEl(ptr noundef nonnull align 8 dereferenceable(32) %367, i64 noundef %369)
  %371 = load i32, ptr %370, align 4, !tbaa !13
  %372 = icmp eq i32 %366, %371
  br i1 %372, label %446, label %373

373:                                              ; preds = %364
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %374 unwind label %394

374:                                              ; preds = %373
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.73)
          to label %375 unwind label %398

375:                                              ; preds = %374
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef @.str.37)
          to label %376 unwind label %402

376:                                              ; preds = %375
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #5
  %377 = load ptr, ptr %37, align 8, !tbaa !5
  %378 = invoke noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %377)
          to label %379 unwind label %408

379:                                              ; preds = %376
  store i32 %378, ptr %56, align 4, !tbaa !13
  %380 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 11
  %381 = load i32, ptr %36, align 4, !tbaa !9
  %382 = sext i32 %381 to i64
  %383 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorI13_DALIDataTypeLm6ESaIS1_EEixEl(ptr noundef nonnull align 8 dereferenceable(32) %380, i64 noundef %382)
          to label %384 unwind label %408

384:                                              ; preds = %379
  invoke void @_ZN4dali11make_stringIJA41_ciA40_c13_DALIDataTypeA5_cS3_EEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %55, ptr noundef nonnull align 1 dereferenceable(41) @.str.74, ptr noundef nonnull align 4 dereferenceable(4) %36, ptr noundef nonnull align 1 dereferenceable(40) @.str.75, ptr noundef nonnull align 4 dereferenceable(4) %56, ptr noundef nonnull align 1 dereferenceable(5) @.str.71, ptr noundef nonnull align 4 dereferenceable(4) %383)
          to label %385 unwind label %408

385:                                              ; preds = %384
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef @.str.40, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %386 unwind label %412

386:                                              ; preds = %385
  %387 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %388 unwind label %416

388:                                              ; preds = %386
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #5
  store i1 true, ptr %62, align 1
  %389 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %390 unwind label %421

390:                                              ; preds = %388
  call void @llvm.lifetime.start.p0(i64 1, ptr %60) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef @.str.76, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %391 unwind label %425

391:                                              ; preds = %390
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %61)
          to label %392 unwind label %429

392:                                              ; preds = %391
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %389, ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef %59, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %393 unwind label %433

393:                                              ; preds = %392
  store i1 false, ptr %62, align 1
  invoke void @__cxa_throw(ptr %389, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #6
          to label %775 unwind label %433

394:                                              ; preds = %373
  %395 = landingpad { ptr, i32 }
          cleanup
  %396 = extractvalue { ptr, i32 } %395, 0
  store ptr %396, ptr %14, align 8
  %397 = extractvalue { ptr, i32 } %395, 1
  store i32 %397, ptr %15, align 4
  br label %407

398:                                              ; preds = %374
  %399 = landingpad { ptr, i32 }
          cleanup
  %400 = extractvalue { ptr, i32 } %399, 0
  store ptr %400, ptr %14, align 8
  %401 = extractvalue { ptr, i32 } %399, 1
  store i32 %401, ptr %15, align 4
  br label %406

402:                                              ; preds = %375
  %403 = landingpad { ptr, i32 }
          cleanup
  %404 = extractvalue { ptr, i32 } %403, 0
  store ptr %404, ptr %14, align 8
  %405 = extractvalue { ptr, i32 } %403, 1
  store i32 %405, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #5
  br label %406

406:                                              ; preds = %402, %398
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #5
  br label %407

407:                                              ; preds = %406, %394
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #5
  br label %445

408:                                              ; preds = %384, %379, %376
  %409 = landingpad { ptr, i32 }
          cleanup
  %410 = extractvalue { ptr, i32 } %409, 0
  store ptr %410, ptr %14, align 8
  %411 = extractvalue { ptr, i32 } %409, 1
  store i32 %411, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #5
  br label %444

412:                                              ; preds = %385
  %413 = landingpad { ptr, i32 }
          cleanup
  %414 = extractvalue { ptr, i32 } %413, 0
  store ptr %414, ptr %14, align 8
  %415 = extractvalue { ptr, i32 } %413, 1
  store i32 %415, ptr %15, align 4
  br label %420

416:                                              ; preds = %386
  %417 = landingpad { ptr, i32 }
          cleanup
  %418 = extractvalue { ptr, i32 } %417, 0
  store ptr %418, ptr %14, align 8
  %419 = extractvalue { ptr, i32 } %417, 1
  store i32 %419, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  br label %420

420:                                              ; preds = %416, %412
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #5
  br label %443

421:                                              ; preds = %388
  %422 = landingpad { ptr, i32 }
          cleanup
  %423 = extractvalue { ptr, i32 } %422, 0
  store ptr %423, ptr %14, align 8
  %424 = extractvalue { ptr, i32 } %422, 1
  store i32 %424, ptr %15, align 4
  br label %439

425:                                              ; preds = %390
  %426 = landingpad { ptr, i32 }
          cleanup
  %427 = extractvalue { ptr, i32 } %426, 0
  store ptr %427, ptr %14, align 8
  %428 = extractvalue { ptr, i32 } %426, 1
  store i32 %428, ptr %15, align 4
  br label %438

429:                                              ; preds = %391
  %430 = landingpad { ptr, i32 }
          cleanup
  %431 = extractvalue { ptr, i32 } %430, 0
  store ptr %431, ptr %14, align 8
  %432 = extractvalue { ptr, i32 } %430, 1
  store i32 %432, ptr %15, align 4
  br label %437

433:                                              ; preds = %393, %392
  %434 = landingpad { ptr, i32 }
          cleanup
  %435 = extractvalue { ptr, i32 } %434, 0
  store ptr %435, ptr %14, align 8
  %436 = extractvalue { ptr, i32 } %434, 1
  store i32 %436, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #5
  br label %437

437:                                              ; preds = %433, %429
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #5
  br label %438

438:                                              ; preds = %437, %425
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %60) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #5
  br label %439

439:                                              ; preds = %438, %421
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #5
  %440 = load i1, ptr %62, align 1
  br i1 %440, label %441, label %442

441:                                              ; preds = %439
  call void @__cxa_free_exception(ptr %389) #5
  br label %442

442:                                              ; preds = %441, %439
  br label %443

443:                                              ; preds = %442, %420
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #5
  br label %444

444:                                              ; preds = %443, %408
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #5
  br label %445

445:                                              ; preds = %444, %407
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #5
  br label %452

446:                                              ; preds = %364
  br label %447

447:                                              ; preds = %446
  br label %448

448:                                              ; preds = %447
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #5
  br label %449

449:                                              ; preds = %448
  %450 = load i32, ptr %36, align 4, !tbaa !9
  %451 = add nsw i32 %450, 1
  store i32 %451, ptr %36, align 4, !tbaa !9
  br label %257, !llvm.loop !15

452:                                              ; preds = %445, %360
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #5
  br label %769

453:                                              ; preds = %261
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #5
  %454 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 16
  %455 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %454, i64 noundef 0) #5
  %456 = call noundef i32 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11num_samplesEv(ptr noundef nonnull align 8 dereferenceable(28) %455)
  store i32 %456, ptr %63, align 4, !tbaa !9
  %457 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 15
  %458 = load i32, ptr %63, align 4, !tbaa !9
  %459 = load i32, ptr %8, align 4, !tbaa !9
  %460 = mul nsw i32 %458, %459
  %461 = sext i32 %460 to i64
  call void @_ZNSt6vectorImSaImEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %457, i64 noundef %461)
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #5
  store i32 0, ptr %64, align 4, !tbaa !9
  br label %462

462:                                              ; preds = %499, %453
  %463 = load i32, ptr %64, align 4, !tbaa !9
  %464 = load i32, ptr %8, align 4, !tbaa !9
  %465 = icmp slt i32 %463, %464
  br i1 %465, label %467, label %466

466:                                              ; preds = %462
  store i32 13, ptr %65, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #5
  br label %502

467:                                              ; preds = %462
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #5
  store i32 0, ptr %66, align 4, !tbaa !9
  br label %468

468:                                              ; preds = %495, %467
  %469 = load i32, ptr %66, align 4, !tbaa !9
  %470 = load i32, ptr %63, align 4, !tbaa !9
  %471 = icmp slt i32 %469, %470
  br i1 %471, label %473, label %472

472:                                              ; preds = %468
  store i32 16, ptr %65, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #5
  br label %498

473:                                              ; preds = %468
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #5
  %474 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 16
  %475 = load i32, ptr %64, align 4, !tbaa !9
  %476 = sext i32 %475 to i64
  %477 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %474, i64 noundef %476) #5
  %478 = load i32, ptr %66, align 4, !tbaa !9
  %479 = sext i32 %478 to i64
  %480 = call { ptr, i64 } @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE17tensor_shape_spanEl(ptr noundef nonnull align 8 dereferenceable(28) %477, i64 noundef %479)
  %481 = getelementptr inbounds { ptr, i64 }, ptr %67, i32 0, i32 0
  %482 = extractvalue { ptr, i64 } %480, 0
  store ptr %482, ptr %481, align 8
  %483 = getelementptr inbounds { ptr, i64 }, ptr %67, i32 0, i32 1
  %484 = extractvalue { ptr, i64 } %480, 1
  store i64 %484, ptr %483, align 8
  %485 = call noundef ptr @_ZNK4dali4spanIlLln1EE4dataEv(ptr noundef nonnull align 8 dereferenceable(16) %67) #5
  %486 = ptrtoint ptr %485 to i64
  %487 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 15
  %488 = load i32, ptr %63, align 4, !tbaa !9
  %489 = load i32, ptr %64, align 4, !tbaa !9
  %490 = mul nsw i32 %488, %489
  %491 = load i32, ptr %66, align 4, !tbaa !9
  %492 = add nsw i32 %490, %491
  %493 = sext i32 %492 to i64
  %494 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %487, i64 noundef %493) #5
  store i64 %486, ptr %494, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 16, ptr %67) #5
  br label %495

495:                                              ; preds = %473
  %496 = load i32, ptr %66, align 4, !tbaa !9
  %497 = add nsw i32 %496, 1
  store i32 %497, ptr %66, align 4, !tbaa !9
  br label %468, !llvm.loop !17

498:                                              ; preds = %472
  br label %499

499:                                              ; preds = %498
  %500 = load i32, ptr %64, align 4, !tbaa !9
  %501 = add nsw i32 %500, 1
  store i32 %501, ptr %64, align 4, !tbaa !9
  br label %462, !llvm.loop !18

502:                                              ; preds = %466
  %503 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 8
  %504 = load i64, ptr %503, align 8, !tbaa !19
  %505 = icmp ne i64 %504, 0
  br i1 %505, label %542, label %506

506:                                              ; preds = %502
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #5
  store i32 0, ptr %68, align 4, !tbaa !9
  br label %507

507:                                              ; preds = %529, %506
  %508 = load i32, ptr %68, align 4, !tbaa !9
  %509 = load i32, ptr %9, align 4, !tbaa !9
  %510 = icmp slt i32 %508, %509
  br i1 %510, label %512, label %511

511:                                              ; preds = %507
  store i32 19, ptr %65, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #5
  br label %541

512:                                              ; preds = %507
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #5
  %513 = load ptr, ptr %7, align 8, !tbaa !5
  %514 = load i32, ptr %68, align 4, !tbaa !9
  %515 = call noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE5InputINS_10CPUBackendEEERKDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %513, i32 noundef %514)
  store ptr %515, ptr %69, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr %71) #5
  %516 = getelementptr inbounds %"struct.dali::OutputDesc", ptr %71, i32 0, i32 0
  %517 = load ptr, ptr %69, align 8, !tbaa !5
  %518 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE5shapeEv(ptr noundef nonnull align 8 dereferenceable(304) %517)
  call void @_ZN4dali15TensorListShapeILin1EEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %516, ptr noundef nonnull align 8 dereferenceable(32) %518)
  %519 = getelementptr inbounds %"struct.dali::OutputDesc", ptr %71, i32 0, i32 1
  %520 = load ptr, ptr %69, align 8, !tbaa !5
  %521 = invoke noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %520)
          to label %522 unwind label %532

522:                                              ; preds = %512
  store i32 %521, ptr %519, align 8, !tbaa !86
  %523 = load ptr, ptr %6, align 8, !tbaa !5
  %524 = load i32, ptr %68, align 4, !tbaa !9
  %525 = sext i32 %524 to i64
  %526 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNSt6vectorIN4dali10OutputDescESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %523, i64 noundef %525) #5
  %527 = invoke noundef nonnull align 8 dereferenceable(36) ptr @_ZN4dali10OutputDescaSEOS0_(ptr noundef nonnull align 8 dereferenceable(36) %526, ptr noundef nonnull align 8 dereferenceable(36) %71)
          to label %528 unwind label %536

528:                                              ; preds = %522
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %71) #5
  call void @llvm.lifetime.end.p0(i64 40, ptr %71) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #5
  br label %529

529:                                              ; preds = %528
  %530 = load i32, ptr %68, align 4, !tbaa !9
  %531 = add nsw i32 %530, 1
  store i32 %531, ptr %68, align 4, !tbaa !9
  br label %507, !llvm.loop !94

532:                                              ; preds = %512
  %533 = landingpad { ptr, i32 }
          cleanup
  %534 = extractvalue { ptr, i32 } %533, 0
  store ptr %534, ptr %14, align 8
  %535 = extractvalue { ptr, i32 } %533, 1
  store i32 %535, ptr %15, align 4
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %516) #5
  br label %540

536:                                              ; preds = %522
  %537 = landingpad { ptr, i32 }
          cleanup
  %538 = extractvalue { ptr, i32 } %537, 0
  store ptr %538, ptr %14, align 8
  %539 = extractvalue { ptr, i32 } %537, 1
  store i32 %539, ptr %15, align 4
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %71) #5
  br label %540

540:                                              ; preds = %536, %532
  call void @llvm.lifetime.end.p0(i64 40, ptr %71) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #5
  br label %768

541:                                              ; preds = %511
  store i1 true, ptr %4, align 1
  store i32 1, ptr %65, align 4
  br label %766

542:                                              ; preds = %502
  %543 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 17
  %544 = load i32, ptr %9, align 4, !tbaa !9
  %545 = sext i32 %544 to i64
  call void @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %543, i64 noundef %545)
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #5
  store i32 0, ptr %72, align 4, !tbaa !9
  br label %546

546:                                              ; preds = %572, %542
  %547 = load i32, ptr %72, align 4, !tbaa !9
  %548 = load i32, ptr %9, align 4, !tbaa !9
  %549 = icmp slt i32 %547, %548
  br i1 %549, label %551, label %550

550:                                              ; preds = %546
  store i32 22, ptr %65, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #5
  br label %575

551:                                              ; preds = %546
  %552 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 17
  %553 = load i32, ptr %72, align 4, !tbaa !9
  %554 = sext i32 %553 to i64
  %555 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %552, i64 noundef %554) #5
  %556 = load i32, ptr %63, align 4, !tbaa !9
  %557 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 12
  %558 = load i32, ptr %72, align 4, !tbaa !9
  %559 = sext i32 %558 to i64
  %560 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorIiLm6ESaIiEEixEl(ptr noundef nonnull align 8 dereferenceable(32) %557, i64 noundef %559)
  %561 = load i32, ptr %560, align 4, !tbaa !9
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE6resizeEii(ptr noundef nonnull align 8 dereferenceable(28) %555, i32 noundef %556, i32 noundef %561)
  %562 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 10
  %563 = load i32, ptr %72, align 4, !tbaa !9
  %564 = sext i32 %563 to i64
  %565 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorI13_DALIDataTypeLm6ESaIS1_EEixEl(ptr noundef nonnull align 8 dereferenceable(32) %562, i64 noundef %564)
  %566 = load i32, ptr %565, align 4, !tbaa !13
  %567 = load ptr, ptr %6, align 8, !tbaa !5
  %568 = load i32, ptr %72, align 4, !tbaa !9
  %569 = sext i32 %568 to i64
  %570 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNSt6vectorIN4dali10OutputDescESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %567, i64 noundef %569) #5
  %571 = getelementptr inbounds %"struct.dali::OutputDesc", ptr %570, i32 0, i32 1
  store i32 %566, ptr %571, align 8, !tbaa !86
  br label %572

572:                                              ; preds = %551
  %573 = load i32, ptr %72, align 4, !tbaa !9
  %574 = add nsw i32 %573, 1
  store i32 %574, ptr %72, align 4, !tbaa !9
  br label %546, !llvm.loop !95

575:                                              ; preds = %550
  %576 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 14
  %577 = load i32, ptr %63, align 4, !tbaa !9
  %578 = load i32, ptr %9, align 4, !tbaa !9
  %579 = mul nsw i32 %577, %578
  %580 = sext i32 %579 to i64
  call void @_ZNSt6vectorImSaImEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %576, i64 noundef %580)
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #5
  store i32 0, ptr %73, align 4, !tbaa !9
  br label %581

581:                                              ; preds = %618, %575
  %582 = load i32, ptr %73, align 4, !tbaa !9
  %583 = load i32, ptr %9, align 4, !tbaa !9
  %584 = icmp slt i32 %582, %583
  br i1 %584, label %586, label %585

585:                                              ; preds = %581
  store i32 25, ptr %65, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #5
  br label %621

586:                                              ; preds = %581
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #5
  store i32 0, ptr %74, align 4, !tbaa !9
  br label %587

587:                                              ; preds = %614, %586
  %588 = load i32, ptr %74, align 4, !tbaa !9
  %589 = load i32, ptr %63, align 4, !tbaa !9
  %590 = icmp slt i32 %588, %589
  br i1 %590, label %592, label %591

591:                                              ; preds = %587
  store i32 28, ptr %65, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #5
  br label %617

592:                                              ; preds = %587
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #5
  %593 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 17
  %594 = load i32, ptr %73, align 4, !tbaa !9
  %595 = sext i32 %594 to i64
  %596 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %593, i64 noundef %595) #5
  %597 = load i32, ptr %74, align 4, !tbaa !9
  %598 = sext i32 %597 to i64
  %599 = call { ptr, i64 } @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE17tensor_shape_spanEl(ptr noundef nonnull align 8 dereferenceable(28) %596, i64 noundef %598)
  %600 = getelementptr inbounds { ptr, i64 }, ptr %75, i32 0, i32 0
  %601 = extractvalue { ptr, i64 } %599, 0
  store ptr %601, ptr %600, align 8
  %602 = getelementptr inbounds { ptr, i64 }, ptr %75, i32 0, i32 1
  %603 = extractvalue { ptr, i64 } %599, 1
  store i64 %603, ptr %602, align 8
  %604 = call noundef ptr @_ZNK4dali4spanIlLln1EE4dataEv(ptr noundef nonnull align 8 dereferenceable(16) %75) #5
  %605 = ptrtoint ptr %604 to i64
  %606 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 14
  %607 = load i32, ptr %63, align 4, !tbaa !9
  %608 = load i32, ptr %73, align 4, !tbaa !9
  %609 = mul nsw i32 %607, %608
  %610 = load i32, ptr %74, align 4, !tbaa !9
  %611 = add nsw i32 %609, %610
  %612 = sext i32 %611 to i64
  %613 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %606, i64 noundef %612) #5
  store i64 %605, ptr %613, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 16, ptr %75) #5
  br label %614

614:                                              ; preds = %592
  %615 = load i32, ptr %74, align 4, !tbaa !9
  %616 = add nsw i32 %615, 1
  store i32 %616, ptr %74, align 4, !tbaa !9
  br label %587, !llvm.loop !96

617:                                              ; preds = %591
  br label %618

618:                                              ; preds = %617
  %619 = load i32, ptr %73, align 4, !tbaa !9
  %620 = add nsw i32 %619, 1
  store i32 %620, ptr %73, align 4, !tbaa !9
  br label %581, !llvm.loop !97

621:                                              ; preds = %585
  %622 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 8
  %623 = load i64, ptr %622, align 8, !tbaa !19
  %624 = inttoptr i64 %623 to ptr
  %625 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 14
  %626 = call noundef ptr @_ZNSt6vectorImSaImEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %625) #5
  %627 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 12
  %628 = call noundef ptr @_ZN4dali11SmallVectorIiLm6ESaIiEE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %627)
  %629 = load i32, ptr %9, align 4, !tbaa !9
  %630 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 15
  %631 = call noundef ptr @_ZNSt6vectorImSaImEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %630) #5
  %632 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 13
  %633 = call noundef ptr @_ZN4dali11SmallVectorIiLm6ESaIiEE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %632)
  %634 = load i32, ptr %8, align 4, !tbaa !9
  %635 = load i32, ptr %63, align 4, !tbaa !9
  call void %624(ptr noundef %626, ptr noundef %628, i32 noundef %629, ptr noundef %631, ptr noundef %633, i32 noundef %634, i32 noundef %635)
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #5
  store i32 0, ptr %76, align 4, !tbaa !9
  br label %636

636:                                              ; preds = %762, %621
  %637 = load i32, ptr %76, align 4, !tbaa !9
  %638 = load i32, ptr %9, align 4, !tbaa !9
  %639 = icmp slt i32 %637, %638
  br i1 %639, label %641, label %640

640:                                              ; preds = %636
  store i32 31, ptr %65, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #5
  br label %765

641:                                              ; preds = %636
  %642 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 17
  %643 = load i32, ptr %76, align 4, !tbaa !9
  %644 = sext i32 %643 to i64
  %645 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %642, i64 noundef %644) #5
  %646 = load ptr, ptr %6, align 8, !tbaa !5
  %647 = load i32, ptr %76, align 4, !tbaa !9
  %648 = sext i32 %647 to i64
  %649 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNSt6vectorIN4dali10OutputDescESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %646, i64 noundef %648) #5
  %650 = getelementptr inbounds %"struct.dali::OutputDesc", ptr %649, i32 0, i32 0
  %651 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN4dali15TensorListShapeILin1EEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %650, ptr noundef nonnull align 8 dereferenceable(32) %645)
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #5
  store i32 0, ptr %77, align 4, !tbaa !9
  br label %652

652:                                              ; preds = %758, %641
  %653 = load i32, ptr %77, align 4, !tbaa !9
  %654 = load i32, ptr %63, align 4, !tbaa !9
  %655 = icmp slt i32 %653, %654
  br i1 %655, label %657, label %656

656:                                              ; preds = %652
  store i32 34, ptr %65, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #5
  br label %761

657:                                              ; preds = %652
  call void @llvm.lifetime.start.p0(i64 16, ptr %78) #5
  %658 = load ptr, ptr %6, align 8, !tbaa !5
  %659 = load i32, ptr %76, align 4, !tbaa !9
  %660 = sext i32 %659 to i64
  %661 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNSt6vectorIN4dali10OutputDescESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %658, i64 noundef %660) #5
  %662 = getelementptr inbounds %"struct.dali::OutputDesc", ptr %661, i32 0, i32 0
  %663 = load i32, ptr %77, align 4, !tbaa !9
  %664 = sext i32 %663 to i64
  %665 = call { ptr, i64 } @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE17tensor_shape_spanEl(ptr noundef nonnull align 8 dereferenceable(28) %662, i64 noundef %664)
  %666 = getelementptr inbounds { ptr, i64 }, ptr %78, i32 0, i32 0
  %667 = extractvalue { ptr, i64 } %665, 0
  store ptr %667, ptr %666, align 8
  %668 = getelementptr inbounds { ptr, i64 }, ptr %78, i32 0, i32 1
  %669 = extractvalue { ptr, i64 } %665, 1
  store i64 %669, ptr %668, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #5
  store i32 0, ptr %79, align 4, !tbaa !9
  br label %670

670:                                              ; preds = %754, %657
  %671 = load i32, ptr %79, align 4, !tbaa !9
  %672 = getelementptr inbounds %"class.dali::NumbaFuncImpl", ptr %91, i32 0, i32 12
  %673 = load i32, ptr %76, align 4, !tbaa !9
  %674 = sext i32 %673 to i64
  %675 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorIiLm6ESaIiEEixEl(ptr noundef nonnull align 8 dereferenceable(32) %672, i64 noundef %674)
  %676 = load i32, ptr %675, align 4, !tbaa !9
  %677 = icmp slt i32 %671, %676
  br i1 %677, label %679, label %678

678:                                              ; preds = %670
  store i32 37, ptr %65, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #5
  br label %757

679:                                              ; preds = %670
  br label %680

680:                                              ; preds = %679
  %681 = load i32, ptr %79, align 4, !tbaa !9
  %682 = sext i32 %681 to i64
  %683 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4dali4spanIlLln1EEixEl(ptr noundef nonnull align 8 dereferenceable(16) %78, i64 noundef %682)
  %684 = load i64, ptr %683, align 8, !tbaa !11
  %685 = icmp sge i64 %684, 0
  br i1 %685, label %751, label %686

686:                                              ; preds = %680
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %82) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %83) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %83)
          to label %687 unwind label %699

687:                                              ; preds = %686
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %81, ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef @.str.77)
          to label %688 unwind label %703

688:                                              ; preds = %687
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %80, ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef @.str.37)
          to label %689 unwind label %707

689:                                              ; preds = %688
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %84) #5
  invoke void @_ZN4dali11make_stringIJA39_cA46_ciA12_ciA15_ciA14_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %84, ptr noundef nonnull align 1 dereferenceable(39) @.str.78, ptr noundef nonnull align 1 dereferenceable(46) @.str.79, ptr noundef nonnull align 4 dereferenceable(4) %76, ptr noundef nonnull align 1 dereferenceable(12) @.str.80, ptr noundef nonnull align 4 dereferenceable(4) %77, ptr noundef nonnull align 1 dereferenceable(15) @.str.81, ptr noundef nonnull align 4 dereferenceable(4) %79, ptr noundef nonnull align 1 dereferenceable(14) @.str.50)
          to label %690 unwind label %713

690:                                              ; preds = %689
  call void @llvm.lifetime.start.p0(i64 32, ptr %85) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %85, ptr noundef @.str.40, ptr noundef nonnull align 8 dereferenceable(32) %84)
          to label %691 unwind label %717

691:                                              ; preds = %690
  %692 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull align 8 dereferenceable(32) %85)
          to label %693 unwind label %721

693:                                              ; preds = %691
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #5
  store i1 true, ptr %90, align 1
  %694 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %86, ptr noundef nonnull align 8 dereferenceable(32) %80)
          to label %695 unwind label %726

695:                                              ; preds = %693
  call void @llvm.lifetime.start.p0(i64 1, ptr %88) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef @.str.82, ptr noundef nonnull align 1 dereferenceable(1) %88)
          to label %696 unwind label %730

696:                                              ; preds = %695
  call void @llvm.lifetime.start.p0(i64 32, ptr %89) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %89)
          to label %697 unwind label %734

697:                                              ; preds = %696
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %694, ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef %87, ptr noundef nonnull align 8 dereferenceable(32) %89)
          to label %698 unwind label %738

698:                                              ; preds = %697
  store i1 false, ptr %90, align 1
  invoke void @__cxa_throw(ptr %694, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #6
          to label %775 unwind label %738

699:                                              ; preds = %686
  %700 = landingpad { ptr, i32 }
          cleanup
  %701 = extractvalue { ptr, i32 } %700, 0
  store ptr %701, ptr %14, align 8
  %702 = extractvalue { ptr, i32 } %700, 1
  store i32 %702, ptr %15, align 4
  br label %712

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

707:                                              ; preds = %688
  %708 = landingpad { ptr, i32 }
          cleanup
  %709 = extractvalue { ptr, i32 } %708, 0
  store ptr %709, ptr %14, align 8
  %710 = extractvalue { ptr, i32 } %708, 1
  store i32 %710, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #5
  br label %711

711:                                              ; preds = %707, %703
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #5
  br label %712

712:                                              ; preds = %711, %699
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #5
  br label %750

713:                                              ; preds = %689
  %714 = landingpad { ptr, i32 }
          cleanup
  %715 = extractvalue { ptr, i32 } %714, 0
  store ptr %715, ptr %14, align 8
  %716 = extractvalue { ptr, i32 } %714, 1
  store i32 %716, ptr %15, align 4
  br label %749

717:                                              ; preds = %690
  %718 = landingpad { ptr, i32 }
          cleanup
  %719 = extractvalue { ptr, i32 } %718, 0
  store ptr %719, ptr %14, align 8
  %720 = extractvalue { ptr, i32 } %718, 1
  store i32 %720, ptr %15, align 4
  br label %725

721:                                              ; preds = %691
  %722 = landingpad { ptr, i32 }
          cleanup
  %723 = extractvalue { ptr, i32 } %722, 0
  store ptr %723, ptr %14, align 8
  %724 = extractvalue { ptr, i32 } %722, 1
  store i32 %724, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #5
  br label %725

725:                                              ; preds = %721, %717
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #5
  br label %748

726:                                              ; preds = %693
  %727 = landingpad { ptr, i32 }
          cleanup
  %728 = extractvalue { ptr, i32 } %727, 0
  store ptr %728, ptr %14, align 8
  %729 = extractvalue { ptr, i32 } %727, 1
  store i32 %729, ptr %15, align 4
  br label %744

730:                                              ; preds = %695
  %731 = landingpad { ptr, i32 }
          cleanup
  %732 = extractvalue { ptr, i32 } %731, 0
  store ptr %732, ptr %14, align 8
  %733 = extractvalue { ptr, i32 } %731, 1
  store i32 %733, ptr %15, align 4
  br label %743

734:                                              ; preds = %696
  %735 = landingpad { ptr, i32 }
          cleanup
  %736 = extractvalue { ptr, i32 } %735, 0
  store ptr %736, ptr %14, align 8
  %737 = extractvalue { ptr, i32 } %735, 1
  store i32 %737, ptr %15, align 4
  br label %742

738:                                              ; preds = %698, %697
  %739 = landingpad { ptr, i32 }
          cleanup
  %740 = extractvalue { ptr, i32 } %739, 0
  store ptr %740, ptr %14, align 8
  %741 = extractvalue { ptr, i32 } %739, 1
  store i32 %741, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #5
  br label %742

742:                                              ; preds = %738, %734
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #5
  br label %743

743:                                              ; preds = %742, %730
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %88) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #5
  br label %744

744:                                              ; preds = %743, %726
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #5
  %745 = load i1, ptr %90, align 1
  br i1 %745, label %746, label %747

746:                                              ; preds = %744
  call void @__cxa_free_exception(ptr %694) #5
  br label %747

747:                                              ; preds = %746, %744
  br label %748

748:                                              ; preds = %747, %725
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #5
  br label %749

749:                                              ; preds = %748, %713
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #5
  br label %750

750:                                              ; preds = %749, %712
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr %78) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #5
  br label %768

751:                                              ; preds = %680
  br label %752

752:                                              ; preds = %751
  br label %753

753:                                              ; preds = %752
  br label %754

754:                                              ; preds = %753
  %755 = load i32, ptr %79, align 4, !tbaa !9
  %756 = add nsw i32 %755, 1
  store i32 %756, ptr %79, align 4, !tbaa !9
  br label %670, !llvm.loop !98

757:                                              ; preds = %678
  call void @llvm.lifetime.end.p0(i64 16, ptr %78) #5
  br label %758

758:                                              ; preds = %757
  %759 = load i32, ptr %77, align 4, !tbaa !9
  %760 = add nsw i32 %759, 1
  store i32 %760, ptr %77, align 4, !tbaa !9
  br label %652, !llvm.loop !99

761:                                              ; preds = %656
  br label %762

762:                                              ; preds = %761
  %763 = load i32, ptr %76, align 4, !tbaa !9
  %764 = add nsw i32 %763, 1
  store i32 %764, ptr %76, align 4, !tbaa !9
  br label %636, !llvm.loop !100

765:                                              ; preds = %640
  store i1 true, ptr %4, align 1
  store i32 1, ptr %65, align 4
  br label %766

766:                                              ; preds = %765, %541
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #5
  %767 = load i1, ptr %4, align 1
  ret i1 %767

768:                                              ; preds = %750, %540
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #5
  br label %769

769:                                              ; preds = %768, %452, %247, %170
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #5
  br label %770

770:                                              ; preds = %769
  %771 = load ptr, ptr %14, align 8
  %772 = load i32, ptr %15, align 4
  %773 = insertvalue { ptr, i32 } poison, ptr %771, 0
  %774 = insertvalue { ptr, i32 } %773, i32 %772, 1
  resume { ptr, i32 } %774

775:                                              ; preds = %698, %393, %308, %195, %118
  unreachable
}

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE8NumInputEv(ptr noundef nonnull align 8 dereferenceable(664)) #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali11make_stringIJA10_cmA41_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 1 dereferenceable(10), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(41), ptr noundef nonnull align 4 dereferenceable(4)) #2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE5InputINS_10CPUBackendEEERKDaiT_(ptr noundef nonnull align 8 dereferenceable(664), i32 noundef) #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali11make_stringIJA52_ciA60_ciA5_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 1 dereferenceable(52), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(60), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(5), ptr noundef nonnull align 4 dereferenceable(4)) #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304)) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorI13_DALIDataTypeLm6ESaIS1_EEixEl(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali11make_stringIJA41_ciA40_c13_DALIDataTypeA5_cS3_EEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 1 dereferenceable(41), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(40), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(5), ptr noundef nonnull align 4 dereferenceable(4)) #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11num_samplesEv(ptr noundef nonnull align 8 dereferenceable(28)) #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i64 } @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE17tensor_shape_spanEl(ptr noundef nonnull align 8 dereferenceable(28), i64 noundef) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK4dali4spanIlLln1EE4dataEv(ptr noundef nonnull align 8 dereferenceable(16)) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #1 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(36) ptr @_ZNSt6vectorIN4dali10OutputDescESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(36) ptr @_ZN4dali10OutputDescaSEOS0_(ptr noundef nonnull align 8 dereferenceable(36), ptr noundef nonnull align 8 dereferenceable(36)) #4 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE6resizeEii(ptr noundef nonnull align 8 dereferenceable(28), i32 noundef, i32 noundef) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNSt6vectorImSaImEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24)) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZN4dali11SmallVectorIiLm6ESaIiEE4dataEv(ptr noundef nonnull align 8 dereferenceable(32)) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4dali4spanIlLln1EEixEl(ptr noundef nonnull align 8 dereferenceable(16), i64 noundef) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali11make_stringIJA39_cA46_ciA12_ciA15_ciA14_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 1 dereferenceable(39), ptr noundef nonnull align 1 dereferenceable(46), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(12), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(15), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(14)) #2

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"long", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"_ZTS13_DALIDataType", !7, i64 0}
!15 = distinct !{!15, !16}
!16 = !{!"llvm.loop.mustprogress"}
!17 = distinct !{!17, !16}
!18 = distinct !{!18, !16}
!19 = !{!20, !12, i64 552}
!20 = !{!"_ZTSN4dali13NumbaFuncImplINS_10CPUBackendEEE", !21, i64 0, !58, i64 400, !58, i64 424, !62, i64 448, !62, i64 472, !66, i64 496, !66, i64 520, !12, i64 544, !12, i64 552, !67, i64 560, !68, i64 568, !68, i64 600, !69, i64 632, !69, i64 664, !70, i64 696, !70, i64 720, !74, i64 744, !74, i64 768, !78, i64 792, !78, i64 816, !82, i64 840, !82, i64 864}
!21 = !{!"_ZTSN4dali17StatelessOperatorINS_10CPUBackendEEE", !22, i64 0}
!22 = !{!"_ZTSN4dali8OperatorINS_10CPUBackendEEE", !23, i64 0}
!23 = !{!"_ZTSN4dali12OperatorBaseE", !24, i64 8, !10, i64 336, !10, i64 340, !53, i64 344}
!24 = !{!"_ZTSN4dali6OpSpecE", !25, i64 0, !6, i64 32, !27, i64 40, !31, i64 64, !39, i64 112, !31, i64 136, !43, i64 184, !46, i64 232, !46, i64 256, !50, i64 280}
!25 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !26, i64 0, !12, i64 8, !7, i64 16}
!26 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!27 = !{!"_ZTSSt6vectorISt10shared_ptrIN4dali8ArgumentEESaIS3_EE", !28, i64 0}
!28 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE12_Vector_implE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!31 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIvESaISt4pairIKS5_iEEE", !32, i64 0}
!32 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIvESaIS8_EE", !33, i64 0}
!33 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIvESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !34, i64 0, !36, i64 8}
!34 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIvEE", !35, i64 0}
!35 = !{!"_ZTSSt4lessIvE"}
!36 = !{!"_ZTSSt15_Rb_tree_header", !37, i64 0, !12, i64 32}
!37 = !{!"_ZTSSt18_Rb_tree_node_base", !38, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!38 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!39 = !{!"_ZTSSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE", !40, i64 0}
!40 = !{!"_ZTSSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE", !41, i64 0}
!41 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE12_Vector_implE", !42, i64 0}
!42 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!43 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIvESaISt4pairIKS5_S5_EEE", !44, i64 0}
!44 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIvESaIS8_EE", !45, i64 0}
!45 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIvESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !34, i64 0, !36, i64 8}
!46 = !{!"_ZTSSt6vectorIN4dali6OpSpec15InOutDeviceDescESaIS2_EE", !47, i64 0}
!47 = !{!"_ZTSSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE", !48, i64 0}
!48 = !{!"_ZTSNSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE12_Vector_implE", !49, i64 0}
!49 = !{!"_ZTSNSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!50 = !{!"_ZTSSt3mapIN4dali6OpSpec15InOutDeviceDescEiSt4lessIvESaISt4pairIKS2_iEEE", !51, i64 0}
!51 = !{!"_ZTSSt8_Rb_treeIN4dali6OpSpec15InOutDeviceDescESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIvESaIS5_EE", !52, i64 0}
!52 = !{!"_ZTSNSt8_Rb_treeIN4dali6OpSpec15InOutDeviceDescESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIvESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !34, i64 0, !36, i64 8}
!53 = !{!"_ZTSSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3anySt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S6_EEE", !54, i64 0}
!54 = !{!"_ZTSSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St3anyESaIS9_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSB_18_Mod_range_hashingENSB_20_Default_ranged_hashENSB_20_Prime_rehash_policyENSB_17_Hashtable_traitsILb1ELb0ELb1EEEE", !6, i64 0, !12, i64 8, !55, i64 16, !12, i64 24, !56, i64 32, !6, i64 48}
!55 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!56 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !57, i64 0, !12, i64 8}
!57 = !{!"float", !7, i64 0}
!58 = !{!"_ZTSSt6vectorIS_IlSaIlEESaIS1_EE", !59, i64 0}
!59 = !{!"_ZTSSt12_Vector_baseISt6vectorIlSaIlEESaIS2_EE", !60, i64 0}
!60 = !{!"_ZTSNSt12_Vector_baseISt6vectorIlSaIlEESaIS2_EE12_Vector_implE", !61, i64 0}
!61 = !{!"_ZTSNSt12_Vector_baseISt6vectorIlSaIlEESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!62 = !{!"_ZTSSt6vectorIS_IPvSaIS0_EESaIS2_EE", !63, i64 0}
!63 = !{!"_ZTSSt12_Vector_baseISt6vectorIPvSaIS1_EESaIS3_EE", !64, i64 0}
!64 = !{!"_ZTSNSt12_Vector_baseISt6vectorIPvSaIS1_EESaIS3_EE12_Vector_implE", !65, i64 0}
!65 = !{!"_ZTSNSt12_Vector_baseISt6vectorIPvSaIS1_EESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!66 = !{!"_ZTSN4dali11SmallVectorIiLm3ESaIiEEE", !7, i64 0, !12, i64 16}
!67 = !{!"bool", !7, i64 0}
!68 = !{!"_ZTSN4dali11SmallVectorI13_DALIDataTypeLm6ESaIS1_EEE", !7, i64 0, !12, i64 24}
!69 = !{!"_ZTSN4dali11SmallVectorIiLm6ESaIiEEE", !7, i64 0, !12, i64 24}
!70 = !{!"_ZTSSt6vectorImSaImEE", !71, i64 0}
!71 = !{!"_ZTSSt12_Vector_baseImSaImEE", !72, i64 0}
!72 = !{!"_ZTSNSt12_Vector_baseImSaImEE12_Vector_implE", !73, i64 0}
!73 = !{!"_ZTSNSt12_Vector_baseImSaImEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!74 = !{!"_ZTSSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EE", !75, i64 0}
!75 = !{!"_ZTSSt12_Vector_baseIN4dali15TensorListShapeILin1EEESaIS2_EE", !76, i64 0}
!76 = !{!"_ZTSNSt12_Vector_baseIN4dali15TensorListShapeILin1EEESaIS2_EE12_Vector_implE", !77, i64 0}
!77 = !{!"_ZTSNSt12_Vector_baseIN4dali15TensorListShapeILin1EEESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!78 = !{!"_ZTSSt6vectorIN4dali11TensorShapeILin1EEESaIS2_EE", !79, i64 0}
!79 = !{!"_ZTSSt12_Vector_baseIN4dali11TensorShapeILin1EEESaIS2_EE", !80, i64 0}
!80 = !{!"_ZTSNSt12_Vector_baseIN4dali11TensorShapeILin1EEESaIS2_EE12_Vector_implE", !81, i64 0}
!81 = !{!"_ZTSNSt12_Vector_baseIN4dali11TensorShapeILin1EEESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!82 = !{!"_ZTSSt6vectorIN4dali13NumbaDevArrayESaIS1_EE", !83, i64 0}
!83 = !{!"_ZTSSt12_Vector_baseIN4dali13NumbaDevArrayESaIS1_EE", !84, i64 0}
!84 = !{!"_ZTSNSt12_Vector_baseIN4dali13NumbaDevArrayESaIS1_EE12_Vector_implE", !85, i64 0}
!85 = !{!"_ZTSNSt12_Vector_baseIN4dali13NumbaDevArrayESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!86 = !{!87, !14, i64 32}
!87 = !{!"_ZTSN4dali10OutputDescE", !88, i64 0, !14, i64 32}
!88 = !{!"_ZTSN4dali15TensorListShapeILin1EEE", !89, i64 0, !10, i64 28}
!89 = !{!"_ZTSN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EEE", !90, i64 0, !10, i64 24}
!90 = !{!"_ZTSSt6vectorIlSaIlEE", !91, i64 0}
!91 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !92, i64 0}
!92 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !93, i64 0}
!93 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!94 = distinct !{!94, !16}
!95 = distinct !{!95, !16}
!96 = distinct !{!96, !16}
!97 = distinct !{!97, !16}
!98 = distinct !{!98, !16}
!99 = distinct !{!99, !16}
!100 = distinct !{!100, !16}


; 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.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%"class.dali::span" = type { ptr, i64 }
%"struct.dali::OutputDesc" = type { %"struct.dali::TensorListShape", i32, [4 x i8] }
%"struct.dali::TensorListShape" = type { %"struct.dali::TensorListShapeBase.base", i32 }
%"struct.dali::TensorListShapeBase.base" = type <{ %"class.std::vector.152", i32 }>
%"class.std::vector.152" = type { %"struct.std::_Vector_base.153" }
%"struct.std::_Vector_base.153" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@.str.35 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [3 x i8], align 1
@_ZTIN4dali13DALIExceptionE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.50 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [96 x i8], align 1

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

declare i32 @__gxx_personality_v0(...)

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 align 2

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2 align 2

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

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

declare void @__cxa_free_exception(ptr) local_unnamed_addr

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorIiLm6ESaIiEEixEl(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN4dali13NumbaFuncImplINS_10CPUBackendEE9SetupImplERSt6vectorINS_10OutputDescESaIS4_EERKNS_9WorkspaceE(ptr noundef nonnull align 8 dereferenceable(888) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(664) %2) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca i32, align 4
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::allocator", align 1
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca i64, align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator", align 1
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator", align 1
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca i64, align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator", align 1
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca i32, align 4
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator", align 1
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca i32, align 4
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::allocator", align 1
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::allocator", align 1
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca i32, align 4
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::allocator", align 1
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.dali::span", align 8
  %51 = alloca %"struct.dali::OutputDesc", align 8
  %52 = alloca %"class.dali::span", align 8
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca %"class.dali::span", align 8
  %56 = alloca i32, align 4
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::allocator", align 1
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::allocator", align 1
  %66 = alloca %"class.std::__cxx11::basic_string", align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #5
  %67 = tail call noundef i32 @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE8NumInputEv(ptr noundef nonnull align 8 dereferenceable(664) %2)
  store i32 %67, ptr %4, align 4, !tbaa !5
  %68 = getelementptr inbounds i8, ptr %0, i64 568
  %69 = tail call noundef i64 @_ZNK4dali11SmallVectorI13_DALIDataTypeLm6ESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %68)
  %70 = trunc i64 %69 to i32
  %71 = getelementptr inbounds i8, ptr %0, i64 600
  %72 = tail call noundef i64 @_ZNK4dali11SmallVectorI13_DALIDataTypeLm6ESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %71)
  %73 = sext i32 %67 to i64
  %74 = icmp eq i64 %72, %73
  br i1 %74, label %117, label %75

75:                                               ; preds = %3
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %8) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %76 unwind label %89

76:                                               ; preds = %75
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %6, ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @.str.61)
          to label %77 unwind label %91

77:                                               ; preds = %76
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %5, ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull @.str.37)
          to label %78 unwind label %93

78:                                               ; preds = %77
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #5
  %79 = call noundef i64 @_ZNK4dali11SmallVectorI13_DALIDataTypeLm6ESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %71)
  store i64 %79, ptr %10, align 8, !tbaa !9
  invoke void @_ZN4dali11make_stringIJA10_cmA41_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %9, ptr noundef nonnull align 1 dereferenceable(10) @.str.62, ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 1 dereferenceable(41) @.str.63, ptr noundef nonnull align 4 dereferenceable(4) %4)
          to label %80 unwind label %97

80:                                               ; preds = %78
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull @.str.40, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %81 unwind label %99

81:                                               ; preds = %80
  %82 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %83 unwind label %101

83:                                               ; preds = %81
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #5
  %84 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %12, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %85 unwind label %.thread

85:                                               ; preds = %83
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.64, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %86 unwind label %105

86:                                               ; preds = %85
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %15)
          to label %87 unwind label %107

87:                                               ; preds = %86
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %84, ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull %13, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %88 unwind label %109

88:                                               ; preds = %87
  invoke void @__cxa_throw(ptr nonnull %84, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %430 unwind label %109

89:                                               ; preds = %75
  %90 = landingpad { ptr, i32 }
          cleanup
  br label %96

91:                                               ; preds = %76
  %92 = landingpad { ptr, i32 }
          cleanup
  br label %95

93:                                               ; preds = %77
  %94 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #5
  br label %95

95:                                               ; preds = %93, %91
  %.pn = phi { ptr, i32 } [ %94, %93 ], [ %92, %91 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #5
  br label %96

96:                                               ; preds = %95, %89
  %.pn.pn = phi { ptr, i32 } [ %.pn, %95 ], [ %90, %89 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #5
  br label %116

97:                                               ; preds = %78
  %98 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #5
  br label %115

99:                                               ; preds = %80
  %100 = landingpad { ptr, i32 }
          cleanup
  br label %103

101:                                              ; preds = %81
  %102 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #5
  br label %103

103:                                              ; preds = %101, %99
  %.pn145 = phi { ptr, i32 } [ %102, %101 ], [ %100, %99 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #5
  br label %114

.thread:                                          ; preds = %83
  %104 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #5
  br label %113

105:                                              ; preds = %85
  %106 = landingpad { ptr, i32 }
          cleanup
  br label %112

107:                                              ; preds = %86
  %108 = landingpad { ptr, i32 }
          cleanup
  br label %111

109:                                              ; preds = %88, %87
  %.0134 = phi i1 [ false, %88 ], [ true, %87 ]
  %110 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #5
  br label %111

111:                                              ; preds = %109, %107
  %.1135 = phi i1 [ %.0134, %109 ], [ true, %107 ]
  %.pn147 = phi { ptr, i32 } [ %110, %109 ], [ %108, %107 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #5
  br label %112

112:                                              ; preds = %105, %111
  %.2136 = phi i1 [ %.1135, %111 ], [ true, %105 ]
  %.pn147.pn = phi { ptr, i32 } [ %.pn147, %111 ], [ %106, %105 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #5
  br i1 %.2136, label %113, label %114

113:                                              ; preds = %.thread, %112
  %.pn147.pn.pn210 = phi { ptr, i32 } [ %104, %.thread ], [ %.pn147.pn, %112 ]
  call void @__cxa_free_exception(ptr %84) #5
  br label %114

114:                                              ; preds = %112, %113, %103
  %.pn147.pn.pn.pn = phi { ptr, i32 } [ %.pn147.pn.pn210, %113 ], [ %.pn147.pn, %112 ], [ %.pn145, %103 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #5
  br label %115

115:                                              ; preds = %114, %97
  %.pn147.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn147.pn.pn.pn, %114 ], [ %98, %97 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #5
  br label %116

116:                                              ; preds = %115, %96
  %.pn147.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn147.pn.pn.pn.pn, %115 ], [ %.pn.pn, %96 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #5
  br label %429

117:                                              ; preds = %3
  %118 = getelementptr inbounds i8, ptr %0, i64 664
  %119 = tail call noundef i64 @_ZNK4dali11SmallVectorIiLm6ESaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %118)
  %120 = icmp eq i64 %119, %72
  br i1 %120, label %163, label %121

121:                                              ; preds = %117
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %122 unwind label %135

122:                                              ; preds = %121
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull @.str.65)
          to label %123 unwind label %137

123:                                              ; preds = %122
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.37)
          to label %124 unwind label %139

124:                                              ; preds = %123
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #5
  %125 = call noundef i64 @_ZNK4dali11SmallVectorIiLm6ESaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %118)
  store i64 %125, ptr %21, align 8, !tbaa !9
  invoke void @_ZN4dali11make_stringIJA10_cmA41_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 1 dereferenceable(10) @.str.62, ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 1 dereferenceable(41) @.str.66, ptr noundef nonnull align 4 dereferenceable(4) %4)
          to label %126 unwind label %143

126:                                              ; preds = %124
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull @.str.40, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %127 unwind label %145

127:                                              ; preds = %126
  %128 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %129 unwind label %147

129:                                              ; preds = %127
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #5
  %130 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %131 unwind label %.thread211

131:                                              ; preds = %129
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %25) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.67, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %132 unwind label %151

132:                                              ; preds = %131
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26)
          to label %133 unwind label %153

133:                                              ; preds = %132
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %130, ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull %24, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %134 unwind label %155

134:                                              ; preds = %133
  invoke void @__cxa_throw(ptr nonnull %130, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %430 unwind label %155

135:                                              ; preds = %121
  %136 = landingpad { ptr, i32 }
          cleanup
  br label %142

137:                                              ; preds = %122
  %138 = landingpad { ptr, i32 }
          cleanup
  br label %141

139:                                              ; preds = %123
  %140 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  br label %141

141:                                              ; preds = %139, %137
  %.pn154 = phi { ptr, i32 } [ %140, %139 ], [ %138, %137 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  br label %142

142:                                              ; preds = %141, %135
  %.pn154.pn = phi { ptr, i32 } [ %.pn154, %141 ], [ %136, %135 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #5
  br label %162

143:                                              ; preds = %124
  %144 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #5
  br label %161

145:                                              ; preds = %126
  %146 = landingpad { ptr, i32 }
          cleanup
  br label %149

147:                                              ; preds = %127
  %148 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  br label %149

149:                                              ; preds = %147, %145
  %.pn157 = phi { ptr, i32 } [ %148, %147 ], [ %146, %145 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #5
  br label %160

.thread211:                                       ; preds = %129
  %150 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #5
  br label %159

151:                                              ; preds = %131
  %152 = landingpad { ptr, i32 }
          cleanup
  br label %158

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

155:                                              ; preds = %134, %133
  %.0130 = phi i1 [ false, %134 ], [ true, %133 ]
  %156 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  br label %157

157:                                              ; preds = %155, %153
  %.1131 = phi i1 [ %.0130, %155 ], [ true, %153 ]
  %.pn159 = phi { ptr, i32 } [ %156, %155 ], [ %154, %153 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  br label %158

158:                                              ; preds = %151, %157
  %.2132 = phi i1 [ %.1131, %157 ], [ true, %151 ]
  %.pn159.pn = phi { ptr, i32 } [ %.pn159, %157 ], [ %152, %151 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #5
  br i1 %.2132, label %159, label %160

159:                                              ; preds = %.thread211, %158
  %.pn159.pn.pn214 = phi { ptr, i32 } [ %150, %.thread211 ], [ %.pn159.pn, %158 ]
  call void @__cxa_free_exception(ptr %130) #5
  br label %160

160:                                              ; preds = %158, %159, %149
  %.pn159.pn.pn.pn = phi { ptr, i32 } [ %.pn159.pn.pn214, %159 ], [ %.pn159.pn, %158 ], [ %.pn157, %149 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #5
  br label %161

161:                                              ; preds = %160, %143
  %.pn159.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn159.pn.pn.pn, %160 ], [ %144, %143 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  br label %162

162:                                              ; preds = %161, %142
  %.pn159.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn159.pn.pn.pn.pn, %161 ], [ %.pn154.pn, %142 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #5
  br label %429

163:                                              ; preds = %117
  %164 = tail call noundef i64 @_ZNK4dali11SmallVectorI13_DALIDataTypeLm6ESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %68)
  tail call void @_ZNSt6vectorIN4dali10OutputDescESaIS1_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef %164)
  %165 = getelementptr inbounds i8, ptr %0, i64 744
  tail call void @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %165, i64 noundef %72)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #5
  store i32 0, ptr %27, align 4, !tbaa !5
  %166 = icmp sgt i32 %67, 0
  br i1 %166, label %.lr.ph.preheader, label %._crit_edge

.lr.ph.preheader:                                 ; preds = %163
  %wide.trip.count = zext nneg i32 %67 to i64
  br label %.lr.ph

167:                                              ; preds = %249
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %168 = trunc nuw nsw i64 %indvars.iv.next to i32
  store i32 %168, ptr %27, align 4, !tbaa !5
  %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !11

._crit_edge:                                      ; preds = %167, %163
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #5
  %169 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %165, i64 noundef 0) #5
  %170 = tail call noundef i32 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11num_samplesEv(ptr noundef nonnull align 8 dereferenceable(28) %169)
  %171 = getelementptr inbounds i8, ptr %0, i64 720
  %172 = mul nsw i32 %67, %170
  %173 = sext i32 %172 to i64
  tail call void @_ZNSt6vectorImSaImEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %171, i64 noundef %173)
  br i1 %166, label %.preheader228.lr.ph, label %._crit_edge235

.preheader228.lr.ph:                              ; preds = %._crit_edge
  %174 = icmp sgt i32 %170, 0
  %175 = getelementptr inbounds i8, ptr %50, i64 8
  br i1 %174, label %.preheader228.us.preheader, label %._crit_edge235

.preheader228.us.preheader:                       ; preds = %.preheader228.lr.ph
  %176 = zext nneg i32 %170 to i64
  br label %.preheader228.us

.preheader228.us:                                 ; preds = %.preheader228.us.preheader, %._crit_edge233.us
  %indvars.iv267 = phi i64 [ 0, %.preheader228.us.preheader ], [ %indvars.iv.next268, %._crit_edge233.us ]
  %177 = mul nuw nsw i64 %indvars.iv267, %176
  br label %178

178:                                              ; preds = %.preheader228.us, %178
  %indvars.iv262 = phi i64 [ 0, %.preheader228.us ], [ %indvars.iv.next263, %178 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %50) #5
  %179 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %165, i64 noundef %indvars.iv267) #5
  %180 = call { ptr, i64 } @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE17tensor_shape_spanEl(ptr noundef nonnull align 8 dereferenceable(28) %179, i64 noundef %indvars.iv262)
  %181 = extractvalue { ptr, i64 } %180, 0
  store ptr %181, ptr %50, align 8
  %182 = extractvalue { ptr, i64 } %180, 1
  store i64 %182, ptr %175, align 8
  %183 = call noundef ptr @_ZNK4dali4spanIlLln1EE4dataEv(ptr noundef nonnull align 8 dereferenceable(16) %50) #5
  %184 = ptrtoint ptr %183 to i64
  %185 = add nuw nsw i64 %indvars.iv262, %177
  %186 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %171, i64 noundef %185) #5
  store i64 %184, ptr %186, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) #5
  %indvars.iv.next263 = add nuw nsw i64 %indvars.iv262, 1
  %exitcond266.not = icmp eq i64 %indvars.iv.next263, %176
  br i1 %exitcond266.not, label %._crit_edge233.us, label %178, !llvm.loop !13

._crit_edge233.us:                                ; preds = %178
  %indvars.iv.next268 = add nuw nsw i64 %indvars.iv267, 1
  %187 = load i32, ptr %4, align 4, !tbaa !5
  %188 = sext i32 %187 to i64
  %189 = icmp slt i64 %indvars.iv.next268, %188
  br i1 %189, label %.preheader228.us, label %._crit_edge235, !llvm.loop !14

.lr.ph:                                           ; preds = %.lr.ph.preheader, %167
  %indvars.iv = phi i64 [ 0, %.lr.ph.preheader ], [ %indvars.iv.next, %167 ]
  %190 = trunc nuw nsw i64 %indvars.iv to i32
  %191 = tail call noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE5InputINS_10CPUBackendEEERKDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %2, i32 noundef %190)
  %192 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE5shapeEv(ptr noundef nonnull align 8 dereferenceable(304) %191)
  %193 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %165, i64 noundef %indvars.iv) #5
  %194 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZN4dali15TensorListShapeILin1EEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %193, ptr noundef nonnull align 8 dereferenceable(32) %192)
  %195 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %165, i64 noundef %indvars.iv) #5
  %196 = tail call noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %195)
  %197 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorIiLm6ESaIiEEixEl(ptr noundef nonnull align 8 dereferenceable(32) %118, i64 noundef %indvars.iv)
  %198 = load i32, ptr %197, align 4, !tbaa !5
  %199 = icmp eq i32 %196, %198
  br i1 %199, label %249, label %200

200:                                              ; preds = %.lr.ph
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %201 unwind label %221

201:                                              ; preds = %200
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.68)
          to label %202 unwind label %223

202:                                              ; preds = %201
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull @.str.37)
          to label %203 unwind label %225

203:                                              ; preds = %202
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #5
  %204 = load i32, ptr %27, align 4, !tbaa !5
  %205 = sext i32 %204 to i64
  %206 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %165, i64 noundef %205) #5
  %207 = call noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %206)
  store i32 %207, ptr %33, align 4, !tbaa !5
  %208 = load i32, ptr %27, align 4, !tbaa !5
  %209 = sext i32 %208 to i64
  %210 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorIiLm6ESaIiEEixEl(ptr noundef nonnull align 8 dereferenceable(32) %118, i64 noundef %209)
          to label %211 unwind label %229

211:                                              ; preds = %203
  invoke void @_ZN4dali11make_stringIJA52_ciA60_ciA5_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 1 dereferenceable(52) @.str.69, ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull align 1 dereferenceable(60) @.str.70, ptr noundef nonnull align 4 dereferenceable(4) %33, ptr noundef nonnull align 1 dereferenceable(5) @.str.71, ptr noundef nonnull align 4 dereferenceable(4) %210)
          to label %212 unwind label %229

212:                                              ; preds = %211
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull @.str.40, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %213 unwind label %231

213:                                              ; preds = %212
  %214 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %215 unwind label %233

215:                                              ; preds = %213
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #5
  %216 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %217 unwind label %.thread215

217:                                              ; preds = %215
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull @.str.72, ptr noundef nonnull align 1 dereferenceable(1) %37)
          to label %218 unwind label %237

218:                                              ; preds = %217
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %38)
          to label %219 unwind label %239

219:                                              ; preds = %218
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %216, ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull %36, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %220 unwind label %241

220:                                              ; preds = %219
  invoke void @__cxa_throw(ptr nonnull %216, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %430 unwind label %241

221:                                              ; preds = %200
  %222 = landingpad { ptr, i32 }
          cleanup
  br label %228

223:                                              ; preds = %201
  %224 = landingpad { ptr, i32 }
          cleanup
  br label %227

225:                                              ; preds = %202
  %226 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  br label %227

227:                                              ; preds = %225, %223
  %.pn182 = phi { ptr, i32 } [ %226, %225 ], [ %224, %223 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  br label %228

228:                                              ; preds = %227, %221
  %.pn182.pn = phi { ptr, i32 } [ %.pn182, %227 ], [ %222, %221 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #5
  br label %248

229:                                              ; preds = %211, %203
  %230 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #5
  br label %247

231:                                              ; preds = %212
  %232 = landingpad { ptr, i32 }
          cleanup
  br label %235

233:                                              ; preds = %213
  %234 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #5
  br label %235

235:                                              ; preds = %233, %231
  %.pn185 = phi { ptr, i32 } [ %234, %233 ], [ %232, %231 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #5
  br label %246

.thread215:                                       ; preds = %215
  %236 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #5
  br label %245

237:                                              ; preds = %217
  %238 = landingpad { ptr, i32 }
          cleanup
  br label %244

239:                                              ; preds = %218
  %240 = landingpad { ptr, i32 }
          cleanup
  br label %243

241:                                              ; preds = %220, %219
  %.078 = phi i1 [ false, %220 ], [ true, %219 ]
  %242 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  br label %243

243:                                              ; preds = %241, %239
  %.pn187 = phi { ptr, i32 } [ %242, %241 ], [ %240, %239 ]
  %.179 = phi i1 [ %.078, %241 ], [ true, %239 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #5
  br label %244

244:                                              ; preds = %237, %243
  %.pn187.pn = phi { ptr, i32 } [ %.pn187, %243 ], [ %238, %237 ]
  %.280 = phi i1 [ %.179, %243 ], [ true, %237 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #5
  br i1 %.280, label %245, label %246

245:                                              ; preds = %.thread215, %244
  %.pn187.pn.pn218 = phi { ptr, i32 } [ %236, %.thread215 ], [ %.pn187.pn, %244 ]
  call void @__cxa_free_exception(ptr %216) #5
  br label %246

246:                                              ; preds = %244, %245, %235
  %.pn187.pn.pn.pn = phi { ptr, i32 } [ %.pn187.pn.pn218, %245 ], [ %.pn187.pn, %244 ], [ %.pn185, %235 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  br label %247

247:                                              ; preds = %246, %229
  %.pn187.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn187.pn.pn.pn, %246 ], [ %230, %229 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #5
  br label %248

248:                                              ; preds = %247, %228
  %.pn187.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn187.pn.pn.pn.pn, %247 ], [ %.pn182.pn, %228 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #5
  br label %300

249:                                              ; preds = %.lr.ph
  %250 = tail call noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %191)
  %251 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorI13_DALIDataTypeLm6ESaIS1_EEixEl(ptr noundef nonnull align 8 dereferenceable(32) %71, i64 noundef %indvars.iv)
  %252 = load i32, ptr %251, align 4, !tbaa !15
  %253 = icmp eq i32 %250, %252
  br i1 %253, label %167, label %254

254:                                              ; preds = %249
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %42) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %255 unwind label %272

255:                                              ; preds = %254
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull @.str.73)
          to label %256 unwind label %274

256:                                              ; preds = %255
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull @.str.37)
          to label %257 unwind label %276

257:                                              ; preds = %256
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #5
  %258 = call noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %191)
  store i32 %258, ptr %44, align 4, !tbaa !15
  %259 = load i32, ptr %27, align 4, !tbaa !5
  %260 = sext i32 %259 to i64
  %261 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorI13_DALIDataTypeLm6ESaIS1_EEixEl(ptr noundef nonnull align 8 dereferenceable(32) %71, i64 noundef %260)
          to label %262 unwind label %280

262:                                              ; preds = %257
  invoke void @_ZN4dali11make_stringIJA41_ciA40_c13_DALIDataTypeA5_cS3_EEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 1 dereferenceable(41) @.str.74, ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull align 1 dereferenceable(40) @.str.75, ptr noundef nonnull align 4 dereferenceable(4) %44, ptr noundef nonnull align 1 dereferenceable(5) @.str.71, ptr noundef nonnull align 4 dereferenceable(4) %261)
          to label %263 unwind label %280

263:                                              ; preds = %262
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull @.str.40, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %264 unwind label %282

264:                                              ; preds = %263
  %265 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %266 unwind label %284

266:                                              ; preds = %264
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #5
  %267 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %268 unwind label %.thread219

268:                                              ; preds = %266
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %48) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull @.str.76, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %269 unwind label %288

269:                                              ; preds = %268
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %49)
          to label %270 unwind label %290

270:                                              ; preds = %269
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %267, ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull %47, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %271 unwind label %292

271:                                              ; preds = %270
  invoke void @__cxa_throw(ptr nonnull %267, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %430 unwind label %292

272:                                              ; preds = %254
  %273 = landingpad { ptr, i32 }
          cleanup
  br label %279

274:                                              ; preds = %255
  %275 = landingpad { ptr, i32 }
          cleanup
  br label %278

276:                                              ; preds = %256
  %277 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #5
  br label %278

278:                                              ; preds = %276, %274
  %.pn194 = phi { ptr, i32 } [ %277, %276 ], [ %275, %274 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #5
  br label %279

279:                                              ; preds = %278, %272
  %.pn194.pn = phi { ptr, i32 } [ %.pn194, %278 ], [ %273, %272 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #5
  br label %299

280:                                              ; preds = %262, %257
  %281 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #5
  br label %298

282:                                              ; preds = %263
  %283 = landingpad { ptr, i32 }
          cleanup
  br label %286

284:                                              ; preds = %264
  %285 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #5
  br label %286

286:                                              ; preds = %284, %282
  %.pn197 = phi { ptr, i32 } [ %285, %284 ], [ %283, %282 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #5
  br label %297

.thread219:                                       ; preds = %266
  %287 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #5
  br label %296

288:                                              ; preds = %268
  %289 = landingpad { ptr, i32 }
          cleanup
  br label %295

290:                                              ; preds = %269
  %291 = landingpad { ptr, i32 }
          cleanup
  br label %294

292:                                              ; preds = %271, %270
  %.074 = phi i1 [ false, %271 ], [ true, %270 ]
  %293 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #5
  br label %294

294:                                              ; preds = %292, %290
  %.pn199 = phi { ptr, i32 } [ %293, %292 ], [ %291, %290 ]
  %.175 = phi i1 [ %.074, %292 ], [ true, %290 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #5
  br label %295

295:                                              ; preds = %288, %294
  %.pn199.pn = phi { ptr, i32 } [ %.pn199, %294 ], [ %289, %288 ]
  %.276 = phi i1 [ %.175, %294 ], [ true, %288 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #5
  br i1 %.276, label %296, label %297

296:                                              ; preds = %.thread219, %295
  %.pn199.pn.pn222 = phi { ptr, i32 } [ %287, %.thread219 ], [ %.pn199.pn, %295 ]
  call void @__cxa_free_exception(ptr %267) #5
  br label %297

297:                                              ; preds = %295, %296, %286
  %.pn199.pn.pn.pn = phi { ptr, i32 } [ %.pn199.pn.pn222, %296 ], [ %.pn199.pn, %295 ], [ %.pn197, %286 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #5
  br label %298

298:                                              ; preds = %297, %280
  %.pn199.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn199.pn.pn.pn, %297 ], [ %281, %280 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #5
  br label %299

299:                                              ; preds = %298, %279
  %.pn199.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn199.pn.pn.pn.pn, %298 ], [ %.pn194.pn, %279 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #5
  br label %300

300:                                              ; preds = %299, %248
  %.pn199.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn199.pn.pn.pn.pn.pn, %299 ], [ %.pn187.pn.pn.pn.pn.pn, %248 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #5
  br label %429

._crit_edge235:                                   ; preds = %._crit_edge233.us, %.preheader228.lr.ph, %._crit_edge
  %301 = getelementptr inbounds i8, ptr %0, i64 552
  %302 = load i64, ptr %301, align 8, !tbaa !17
  %.not = icmp eq i64 %302, 0
  br i1 %.not, label %.preheader, label %315

.preheader:                                       ; preds = %._crit_edge235
  %303 = icmp sgt i32 %70, 0
  br i1 %303, label %.lr.ph256, label %.loopexit

.lr.ph256:                                        ; preds = %.preheader
  %304 = getelementptr inbounds i8, ptr %51, i64 32
  %wide.trip.count288 = and i64 %69, 2147483647
  br label %305

305:                                              ; preds = %.lr.ph256, %312
  %indvars.iv285 = phi i64 [ 0, %.lr.ph256 ], [ %indvars.iv.next286, %312 ]
  %306 = trunc nuw nsw i64 %indvars.iv285 to i32
  %307 = call noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE5InputINS_10CPUBackendEEERKDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %2, i32 noundef %306)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %51) #5
  %308 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE5shapeEv(ptr noundef nonnull align 8 dereferenceable(304) %307)
  call void @_ZN4dali15TensorListShapeILin1EEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull align 8 dereferenceable(32) %308)
  %309 = call noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %307)
  store i32 %309, ptr %304, align 8, !tbaa !85
  %310 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNSt6vectorIN4dali10OutputDescESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef %indvars.iv285) #5
  %311 = invoke noundef nonnull align 8 dereferenceable(36) ptr @_ZN4dali10OutputDescaSEOS0_(ptr noundef nonnull align 8 dereferenceable(36) %310, ptr noundef nonnull align 8 dereferenceable(36) %51)
          to label %312 unwind label %313

312:                                              ; preds = %305
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %51) #5
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %51) #5
  %indvars.iv.next286 = add nuw nsw i64 %indvars.iv285, 1
  %exitcond289.not = icmp eq i64 %indvars.iv.next286, %wide.trip.count288
  br i1 %exitcond289.not, label %.loopexit, label %305, !llvm.loop !93

313:                                              ; preds = %305
  %314 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %51) #5
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %51) #5
  br label %429

315:                                              ; preds = %._crit_edge235
  %316 = getelementptr inbounds i8, ptr %0, i64 768
  %sext = shl i64 %69, 32
  %317 = ashr exact i64 %sext, 32
  call void @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %316, i64 noundef %317)
  %318 = icmp sgt i32 %70, 0
  br i1 %318, label %.lr.ph238, label %._crit_edge239.thread

._crit_edge239.thread:                            ; preds = %315
  %319 = getelementptr inbounds i8, ptr %0, i64 696
  %320 = mul nsw i32 %170, %70
  %321 = sext i32 %320 to i64
  call void @_ZNSt6vectorImSaImEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %319, i64 noundef %321)
  br label %._crit_edge244

.lr.ph238:                                        ; preds = %315
  %322 = getelementptr inbounds i8, ptr %0, i64 632
  %wide.trip.count273 = and i64 %69, 2147483647
  br label %339

._crit_edge239:                                   ; preds = %339
  %323 = getelementptr inbounds i8, ptr %0, i64 696
  %324 = mul nsw i32 %170, %70
  %325 = sext i32 %324 to i64
  call void @_ZNSt6vectorImSaImEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %323, i64 noundef %325)
  br i1 %318, label %.preheader227.lr.ph, label %._crit_edge244

.preheader227.lr.ph:                              ; preds = %._crit_edge239
  %326 = icmp sgt i32 %170, 0
  %327 = getelementptr inbounds i8, ptr %52, i64 8
  br i1 %326, label %.preheader227.us.preheader, label %._crit_edge244

.preheader227.us.preheader:                       ; preds = %.preheader227.lr.ph
  %328 = zext nneg i32 %170 to i64
  %wide.trip.count283 = and i64 %69, 2147483647
  br label %.preheader227.us

.preheader227.us:                                 ; preds = %.preheader227.us.preheader, %._crit_edge242.us
  %indvars.iv280 = phi i64 [ 0, %.preheader227.us.preheader ], [ %indvars.iv.next281, %._crit_edge242.us ]
  %329 = mul nuw nsw i64 %indvars.iv280, %328
  br label %330

330:                                              ; preds = %.preheader227.us, %330
  %indvars.iv275 = phi i64 [ 0, %.preheader227.us ], [ %indvars.iv.next276, %330 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %52) #5
  %331 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %316, i64 noundef %indvars.iv280) #5
  %332 = call { ptr, i64 } @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE17tensor_shape_spanEl(ptr noundef nonnull align 8 dereferenceable(28) %331, i64 noundef %indvars.iv275)
  %333 = extractvalue { ptr, i64 } %332, 0
  store ptr %333, ptr %52, align 8
  %334 = extractvalue { ptr, i64 } %332, 1
  store i64 %334, ptr %327, align 8
  %335 = call noundef ptr @_ZNK4dali4spanIlLln1EE4dataEv(ptr noundef nonnull align 8 dereferenceable(16) %52) #5
  %336 = ptrtoint ptr %335 to i64
  %337 = add nuw nsw i64 %indvars.iv275, %329
  %338 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %323, i64 noundef %337) #5
  store i64 %336, ptr %338, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %52) #5
  %indvars.iv.next276 = add nuw nsw i64 %indvars.iv275, 1
  %exitcond279.not = icmp eq i64 %indvars.iv.next276, %328
  br i1 %exitcond279.not, label %._crit_edge242.us, label %330, !llvm.loop !94

._crit_edge242.us:                                ; preds = %330
  %indvars.iv.next281 = add nuw nsw i64 %indvars.iv280, 1
  %exitcond284.not = icmp eq i64 %indvars.iv.next281, %wide.trip.count283
  br i1 %exitcond284.not, label %._crit_edge244, label %.preheader227.us, !llvm.loop !95

339:                                              ; preds = %.lr.ph238, %339
  %indvars.iv270 = phi i64 [ 0, %.lr.ph238 ], [ %indvars.iv.next271, %339 ]
  %340 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %316, i64 noundef %indvars.iv270) #5
  %341 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorIiLm6ESaIiEEixEl(ptr noundef nonnull align 8 dereferenceable(32) %322, i64 noundef %indvars.iv270)
  %342 = load i32, ptr %341, align 4, !tbaa !5
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE6resizeEii(ptr noundef nonnull align 8 dereferenceable(28) %340, i32 noundef %170, i32 noundef %342)
  %343 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorI13_DALIDataTypeLm6ESaIS1_EEixEl(ptr noundef nonnull align 8 dereferenceable(32) %68, i64 noundef %indvars.iv270)
  %344 = load i32, ptr %343, align 4, !tbaa !15
  %345 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNSt6vectorIN4dali10OutputDescESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef %indvars.iv270) #5
  %346 = getelementptr inbounds i8, ptr %345, i64 32
  store i32 %344, ptr %346, align 8, !tbaa !85
  %indvars.iv.next271 = add nuw nsw i64 %indvars.iv270, 1
  %exitcond274.not = icmp eq i64 %indvars.iv.next271, %wide.trip.count273
  br i1 %exitcond274.not, label %._crit_edge239, label %339, !llvm.loop !96

._crit_edge244:                                   ; preds = %._crit_edge242.us, %.preheader227.lr.ph, %._crit_edge239.thread, %._crit_edge239
  %347 = phi ptr [ %319, %._crit_edge239.thread ], [ %323, %._crit_edge239 ], [ %323, %.preheader227.lr.ph ], [ %323, %._crit_edge242.us ]
  %348 = load i64, ptr %301, align 8, !tbaa !17
  %349 = inttoptr i64 %348 to ptr
  %350 = call noundef ptr @_ZNSt6vectorImSaImEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %347) #5
  %351 = getelementptr inbounds i8, ptr %0, i64 632
  %352 = call noundef ptr @_ZN4dali11SmallVectorIiLm6ESaIiEE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %351)
  %353 = call noundef ptr @_ZNSt6vectorImSaImEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %171) #5
  %354 = call noundef ptr @_ZN4dali11SmallVectorIiLm6ESaIiEE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %118)
  %355 = load i32, ptr %4, align 4, !tbaa !5
  call void %349(ptr noundef %350, ptr noundef %352, i32 noundef %70, ptr noundef %353, ptr noundef %354, i32 noundef %355, i32 noundef %170)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %53) #5
  store i32 0, ptr %53, align 4, !tbaa !5
  br i1 %318, label %.lr.ph253, label %._crit_edge254

.lr.ph253:                                        ; preds = %._crit_edge244
  %356 = icmp sgt i32 %170, 0
  %357 = getelementptr inbounds i8, ptr %55, i64 8
  br label %358

._crit_edge254:                                   ; preds = %._crit_edge250, %._crit_edge244
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %53) #5
  br label %.loopexit

358:                                              ; preds = %.lr.ph253, %._crit_edge250
  %359 = phi i32 [ 0, %.lr.ph253 ], [ %365, %._crit_edge250 ]
  %360 = zext nneg i32 %359 to i64
  %361 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %316, i64 noundef %360) #5
  %362 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNSt6vectorIN4dali10OutputDescESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef %360) #5
  %363 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN4dali15TensorListShapeILin1EEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %362, ptr noundef nonnull align 8 dereferenceable(32) %361)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %54) #5
  store i32 0, ptr %54, align 4, !tbaa !5
  br i1 %356, label %.lr.ph249.preheader, label %._crit_edge250

.lr.ph249.preheader:                              ; preds = %358
  %364 = zext nneg i32 %359 to i64
  br label %.lr.ph249

._crit_edge250:                                   ; preds = %._crit_edge247, %358
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #5
  %365 = add nuw nsw i32 %359, 1
  store i32 %365, ptr %53, align 4, !tbaa !5
  %366 = icmp slt i32 %365, %70
  br i1 %366, label %358, label %._crit_edge254, !llvm.loop !97

.lr.ph249:                                        ; preds = %.lr.ph249.preheader, %._crit_edge247
  %367 = phi i32 [ 0, %.lr.ph249.preheader ], [ %376, %._crit_edge247 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %55) #5
  %368 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNSt6vectorIN4dali10OutputDescESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef %364) #5
  %369 = zext nneg i32 %367 to i64
  %370 = call { ptr, i64 } @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE17tensor_shape_spanEl(ptr noundef nonnull align 8 dereferenceable(28) %368, i64 noundef %369)
  %371 = extractvalue { ptr, i64 } %370, 0
  store ptr %371, ptr %55, align 8
  %372 = extractvalue { ptr, i64 } %370, 1
  store i64 %372, ptr %357, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %56) #5
  store i32 0, ptr %56, align 4, !tbaa !5
  %373 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorIiLm6ESaIiEEixEl(ptr noundef nonnull align 8 dereferenceable(32) %351, i64 noundef %364)
  %374 = load i32, ptr %373, align 4, !tbaa !5
  %375 = icmp sgt i32 %374, 0
  br i1 %375, label %.lr.ph246, label %._crit_edge247

._crit_edge247:                                   ; preds = %424, %.lr.ph249
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %56) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %55) #5
  %376 = add nuw nsw i32 %367, 1
  store i32 %376, ptr %54, align 4, !tbaa !5
  %377 = icmp slt i32 %376, %170
  br i1 %377, label %.lr.ph249, label %._crit_edge250, !llvm.loop !98

.lr.ph246:                                        ; preds = %.lr.ph249, %424
  %378 = phi i32 [ %425, %424 ], [ 0, %.lr.ph249 ]
  %379 = zext nneg i32 %378 to i64
  %380 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4dali4spanIlLln1EEixEl(ptr noundef nonnull align 8 dereferenceable(16) %55, i64 noundef %379)
  %381 = load i64, ptr %380, align 8, !tbaa !9
  %382 = icmp sgt i64 %381, -1
  br i1 %382, label %424, label %383

383:                                              ; preds = %.lr.ph246
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %60) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %384 unwind label %396

384:                                              ; preds = %383
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull @.str.77)
          to label %385 unwind label %398

385:                                              ; preds = %384
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull @.str.37)
          to label %386 unwind label %400

386:                                              ; preds = %385
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #5
  invoke void @_ZN4dali11make_stringIJA39_cA46_ciA12_ciA15_ciA14_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull align 1 dereferenceable(39) @.str.78, ptr noundef nonnull align 1 dereferenceable(46) @.str.79, ptr noundef nonnull align 4 dereferenceable(4) %53, ptr noundef nonnull align 1 dereferenceable(12) @.str.80, ptr noundef nonnull align 4 dereferenceable(4) %54, ptr noundef nonnull align 1 dereferenceable(15) @.str.81, ptr noundef nonnull align 4 dereferenceable(4) %56, ptr noundef nonnull align 1 dereferenceable(14) @.str.50)
          to label %387 unwind label %404

387:                                              ; preds = %386
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %62) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %62, ptr noundef nonnull @.str.40, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %388 unwind label %406

388:                                              ; preds = %387
  %389 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %390 unwind label %408

390:                                              ; preds = %388
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #5
  %391 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %392 unwind label %.thread223

392:                                              ; preds = %390
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %65) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull @.str.82, ptr noundef nonnull align 1 dereferenceable(1) %65)
          to label %393 unwind label %412

393:                                              ; preds = %392
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %66) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %66)
          to label %394 unwind label %414

394:                                              ; preds = %393
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %391, ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull %64, ptr noundef nonnull align 8 dereferenceable(32) %66)
          to label %395 unwind label %416

395:                                              ; preds = %394
  invoke void @__cxa_throw(ptr nonnull %391, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %430 unwind label %416

396:                                              ; preds = %383
  %397 = landingpad { ptr, i32 }
          cleanup
  br label %403

398:                                              ; preds = %384
  %399 = landingpad { ptr, i32 }
          cleanup
  br label %402

400:                                              ; preds = %385
  %401 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #5
  br label %402

402:                                              ; preds = %400, %398
  %.pn169 = phi { ptr, i32 } [ %401, %400 ], [ %399, %398 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #5
  br label %403

403:                                              ; preds = %402, %396
  %.pn169.pn = phi { ptr, i32 } [ %.pn169, %402 ], [ %397, %396 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #5
  br label %423

404:                                              ; preds = %386
  %405 = landingpad { ptr, i32 }
          cleanup
  br label %422

406:                                              ; preds = %387
  %407 = landingpad { ptr, i32 }
          cleanup
  br label %410

408:                                              ; preds = %388
  %409 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #5
  br label %410

410:                                              ; preds = %408, %406
  %.pn172 = phi { ptr, i32 } [ %409, %408 ], [ %407, %406 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #5
  br label %421

.thread223:                                       ; preds = %390
  %411 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #5
  br label %420

412:                                              ; preds = %392
  %413 = landingpad { ptr, i32 }
          cleanup
  br label %419

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

416:                                              ; preds = %395, %394
  %.0 = phi i1 [ false, %395 ], [ true, %394 ]
  %417 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #5
  br label %418

418:                                              ; preds = %416, %414
  %.pn174 = phi { ptr, i32 } [ %417, %416 ], [ %415, %414 ]
  %.1 = phi i1 [ %.0, %416 ], [ true, %414 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #5
  br label %419

419:                                              ; preds = %412, %418
  %.pn174.pn = phi { ptr, i32 } [ %.pn174, %418 ], [ %413, %412 ]
  %.2 = phi i1 [ %.1, %418 ], [ true, %412 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #5
  br i1 %.2, label %420, label %421

420:                                              ; preds = %.thread223, %419
  %.pn174.pn.pn226 = phi { ptr, i32 } [ %411, %.thread223 ], [ %.pn174.pn, %419 ]
  call void @__cxa_free_exception(ptr %391) #5
  br label %421

421:                                              ; preds = %419, %420, %410
  %.pn174.pn.pn.pn = phi { ptr, i32 } [ %.pn174.pn.pn226, %420 ], [ %.pn174.pn, %419 ], [ %.pn172, %410 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #5
  br label %422

422:                                              ; preds = %421, %404
  %.pn174.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn174.pn.pn.pn, %421 ], [ %405, %404 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  br label %423

423:                                              ; preds = %422, %403
  %.pn174.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn174.pn.pn.pn.pn, %422 ], [ %.pn169.pn, %403 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %56) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %55) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %53) #5
  br label %429

424:                                              ; preds = %.lr.ph246
  %425 = add nuw nsw i32 %378, 1
  store i32 %425, ptr %56, align 4, !tbaa !5
  %426 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorIiLm6ESaIiEEixEl(ptr noundef nonnull align 8 dereferenceable(32) %351, i64 noundef %360)
  %427 = load i32, ptr %426, align 4, !tbaa !5
  %428 = icmp slt i32 %425, %427
  br i1 %428, label %.lr.ph246, label %._crit_edge247, !llvm.loop !99

.loopexit:                                        ; preds = %312, %.preheader, %._crit_edge254
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #5
  ret i1 true

429:                                              ; preds = %313, %423, %300, %162, %116
  %.pn199.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn199.pn.pn.pn.pn.pn.pn, %300 ], [ %.pn159.pn.pn.pn.pn.pn, %162 ], [ %.pn147.pn.pn.pn.pn.pn, %116 ], [ %.pn174.pn.pn.pn.pn.pn, %423 ], [ %314, %313 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #5
  resume { ptr, i32 } %.pn199.pn.pn.pn.pn.pn.pn.pn

430:                                              ; preds = %395, %271, %220, %134, %88
  unreachable
}

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE8NumInputEv(ptr noundef nonnull align 8 dereferenceable(664)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali11make_stringIJA10_cmA41_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 1 dereferenceable(10), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(41), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIN4dali10OutputDescESaIS1_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE5InputINS_10CPUBackendEEERKDaiT_(ptr noundef nonnull align 8 dereferenceable(664), i32 noundef) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali11make_stringIJA52_ciA60_ciA5_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 1 dereferenceable(52), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(60), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(5), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304)) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN4dali11SmallVectorI13_DALIDataTypeLm6ESaIS1_EEixEl(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali11make_stringIJA41_ciA40_c13_DALIDataTypeA5_cS3_EEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 1 dereferenceable(41), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(40), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(5), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11num_samplesEv(ptr noundef nonnull align 8 dereferenceable(28)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorImSaImEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i64 } @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE17tensor_shape_spanEl(ptr noundef nonnull align 8 dereferenceable(28), i64 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK4dali4spanIlLln1EE4dataEv(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #1 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(36) ptr @_ZNSt6vectorIN4dali10OutputDescESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(36) ptr @_ZN4dali10OutputDescaSEOS0_(ptr noundef nonnull align 8 dereferenceable(36), ptr noundef nonnull align 8 dereferenceable(36)) local_unnamed_addr #4 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE6resizeEii(ptr noundef nonnull align 8 dereferenceable(28), i32 noundef, i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNSt6vectorImSaImEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZN4dali11SmallVectorIiLm6ESaIiEE4dataEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4dali4spanIlLln1EEixEl(ptr noundef nonnull align 8 dereferenceable(16), i64 noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali11make_stringIJA39_cA46_ciA12_ciA15_ciA14_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 1 dereferenceable(39), ptr noundef nonnull align 1 dereferenceable(46), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(12), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(15), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(14)) local_unnamed_addr #2

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { 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 #4 = { 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 #5 = { nounwind }
attributes #6 = { 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 = distinct !{!11, !12}
!12 = !{!"llvm.loop.mustprogress"}
!13 = distinct !{!13, !12}
!14 = distinct !{!14, !12}
!15 = !{!16, !16, i64 0}
!16 = !{!"_ZTS13_DALIDataType", !7, i64 0}
!17 = !{!18, !10, i64 552}
!18 = !{!"_ZTSN4dali13NumbaFuncImplINS_10CPUBackendEEE", !19, i64 0, !57, i64 400, !57, i64 424, !61, i64 448, !61, i64 472, !65, i64 496, !65, i64 520, !10, i64 544, !10, i64 552, !66, i64 560, !67, i64 568, !67, i64 600, !68, i64 632, !68, i64 664, !69, i64 696, !69, i64 720, !73, i64 744, !73, i64 768, !77, i64 792, !77, i64 816, !81, i64 840, !81, i64 864}
!19 = !{!"_ZTSN4dali17StatelessOperatorINS_10CPUBackendEEE", !20, i64 0}
!20 = !{!"_ZTSN4dali8OperatorINS_10CPUBackendEEE", !21, i64 0}
!21 = !{!"_ZTSN4dali12OperatorBaseE", !22, i64 8, !6, i64 336, !6, i64 340, !52, i64 344}
!22 = !{!"_ZTSN4dali6OpSpecE", !23, i64 0, !25, i64 32, !26, i64 40, !30, i64 64, !38, i64 112, !30, i64 136, !42, i64 184, !45, i64 232, !45, i64 256, !49, i64 280}
!23 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !24, i64 0, !10, i64 8, !7, i64 16}
!24 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !25, i64 0}
!25 = !{!"any pointer", !7, i64 0}
!26 = !{!"_ZTSSt6vectorISt10shared_ptrIN4dali8ArgumentEESaIS3_EE", !27, i64 0}
!27 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE", !28, i64 0}
!28 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE12_Vector_implE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE17_Vector_impl_dataE", !25, i64 0, !25, i64 8, !25, i64 16}
!30 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIvESaISt4pairIKS5_iEEE", !31, i64 0}
!31 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIvESaIS8_EE", !32, i64 0}
!32 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIvESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !33, i64 0, !35, i64 8}
!33 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIvEE", !34, i64 0}
!34 = !{!"_ZTSSt4lessIvE"}
!35 = !{!"_ZTSSt15_Rb_tree_header", !36, i64 0, !10, i64 32}
!36 = !{!"_ZTSSt18_Rb_tree_node_base", !37, i64 0, !25, i64 8, !25, i64 16, !25, i64 24}
!37 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!38 = !{!"_ZTSSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE", !39, i64 0}
!39 = !{!"_ZTSSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE", !40, i64 0}
!40 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE12_Vector_implE", !41, i64 0}
!41 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE17_Vector_impl_dataE", !25, i64 0, !25, i64 8, !25, i64 16}
!42 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIvESaISt4pairIKS5_S5_EEE", !43, i64 0}
!43 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIvESaIS8_EE", !44, i64 0}
!44 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIvESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !33, i64 0, !35, i64 8}
!45 = !{!"_ZTSSt6vectorIN4dali6OpSpec15InOutDeviceDescESaIS2_EE", !46, i64 0}
!46 = !{!"_ZTSSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE", !47, i64 0}
!47 = !{!"_ZTSNSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE12_Vector_implE", !48, i64 0}
!48 = !{!"_ZTSNSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE17_Vector_impl_dataE", !25, i64 0, !25, i64 8, !25, i64 16}
!49 = !{!"_ZTSSt3mapIN4dali6OpSpec15InOutDeviceDescEiSt4lessIvESaISt4pairIKS2_iEEE", !50, i64 0}
!50 = !{!"_ZTSSt8_Rb_treeIN4dali6OpSpec15InOutDeviceDescESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIvESaIS5_EE", !51, i64 0}
!51 = !{!"_ZTSNSt8_Rb_treeIN4dali6OpSpec15InOutDeviceDescESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIvESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !33, i64 0, !35, i64 8}
!52 = !{!"_ZTSSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3anySt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S6_EEE", !53, i64 0}
!53 = !{!"_ZTSSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St3anyESaIS9_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSB_18_Mod_range_hashingENSB_20_Default_ranged_hashENSB_20_Prime_rehash_policyENSB_17_Hashtable_traitsILb1ELb0ELb1EEEE", !25, i64 0, !10, i64 8, !54, i64 16, !10, i64 24, !55, i64 32, !25, i64 48}
!54 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !25, i64 0}
!55 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !56, i64 0, !10, i64 8}
!56 = !{!"float", !7, i64 0}
!57 = !{!"_ZTSSt6vectorIS_IlSaIlEESaIS1_EE", !58, i64 0}
!58 = !{!"_ZTSSt12_Vector_baseISt6vectorIlSaIlEESaIS2_EE", !59, i64 0}
!59 = !{!"_ZTSNSt12_Vector_baseISt6vectorIlSaIlEESaIS2_EE12_Vector_implE", !60, i64 0}
!60 = !{!"_ZTSNSt12_Vector_baseISt6vectorIlSaIlEESaIS2_EE17_Vector_impl_dataE", !25, i64 0, !25, i64 8, !25, i64 16}
!61 = !{!"_ZTSSt6vectorIS_IPvSaIS0_EESaIS2_EE", !62, i64 0}
!62 = !{!"_ZTSSt12_Vector_baseISt6vectorIPvSaIS1_EESaIS3_EE", !63, i64 0}
!63 = !{!"_ZTSNSt12_Vector_baseISt6vectorIPvSaIS1_EESaIS3_EE12_Vector_implE", !64, i64 0}
!64 = !{!"_ZTSNSt12_Vector_baseISt6vectorIPvSaIS1_EESaIS3_EE17_Vector_impl_dataE", !25, i64 0, !25, i64 8, !25, i64 16}
!65 = !{!"_ZTSN4dali11SmallVectorIiLm3ESaIiEEE", !7, i64 0, !10, i64 16}
!66 = !{!"bool", !7, i64 0}
!67 = !{!"_ZTSN4dali11SmallVectorI13_DALIDataTypeLm6ESaIS1_EEE", !7, i64 0, !10, i64 24}
!68 = !{!"_ZTSN4dali11SmallVectorIiLm6ESaIiEEE", !7, i64 0, !10, i64 24}
!69 = !{!"_ZTSSt6vectorImSaImEE", !70, i64 0}
!70 = !{!"_ZTSSt12_Vector_baseImSaImEE", !71, i64 0}
!71 = !{!"_ZTSNSt12_Vector_baseImSaImEE12_Vector_implE", !72, i64 0}
!72 = !{!"_ZTSNSt12_Vector_baseImSaImEE17_Vector_impl_dataE", !25, i64 0, !25, i64 8, !25, i64 16}
!73 = !{!"_ZTSSt6vectorIN4dali15TensorListShapeILin1EEESaIS2_EE", !74, i64 0}
!74 = !{!"_ZTSSt12_Vector_baseIN4dali15TensorListShapeILin1EEESaIS2_EE", !75, i64 0}
!75 = !{!"_ZTSNSt12_Vector_baseIN4dali15TensorListShapeILin1EEESaIS2_EE12_Vector_implE", !76, i64 0}
!76 = !{!"_ZTSNSt12_Vector_baseIN4dali15TensorListShapeILin1EEESaIS2_EE17_Vector_impl_dataE", !25, i64 0, !25, i64 8, !25, i64 16}
!77 = !{!"_ZTSSt6vectorIN4dali11TensorShapeILin1EEESaIS2_EE", !78, i64 0}
!78 = !{!"_ZTSSt12_Vector_baseIN4dali11TensorShapeILin1EEESaIS2_EE", !79, i64 0}
!79 = !{!"_ZTSNSt12_Vector_baseIN4dali11TensorShapeILin1EEESaIS2_EE12_Vector_implE", !80, i64 0}
!80 = !{!"_ZTSNSt12_Vector_baseIN4dali11TensorShapeILin1EEESaIS2_EE17_Vector_impl_dataE", !25, i64 0, !25, i64 8, !25, i64 16}
!81 = !{!"_ZTSSt6vectorIN4dali13NumbaDevArrayESaIS1_EE", !82, i64 0}
!82 = !{!"_ZTSSt12_Vector_baseIN4dali13NumbaDevArrayESaIS1_EE", !83, i64 0}
!83 = !{!"_ZTSNSt12_Vector_baseIN4dali13NumbaDevArrayESaIS1_EE12_Vector_implE", !84, i64 0}
!84 = !{!"_ZTSNSt12_Vector_baseIN4dali13NumbaDevArrayESaIS1_EE17_Vector_impl_dataE", !25, i64 0, !25, i64 8, !25, i64 16}
!85 = !{!86, !16, i64 32}
!86 = !{!"_ZTSN4dali10OutputDescE", !87, i64 0, !16, i64 32}
!87 = !{!"_ZTSN4dali15TensorListShapeILin1EEE", !88, i64 0, !6, i64 28}
!88 = !{!"_ZTSN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EEE", !89, i64 0, !6, i64 24}
!89 = !{!"_ZTSSt6vectorIlSaIlEE", !90, i64 0}
!90 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !91, i64 0}
!91 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !92, i64 0}
!92 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !25, i64 0, !25, i64 8, !25, i64 16}
!93 = distinct !{!93, !12}
!94 = distinct !{!94, !12}
!95 = distinct !{!95, !12}
!96 = distinct !{!96, !12}
!97 = distinct !{!97, !12}
!98 = distinct !{!98, !12}
!99 = distinct !{!99, !12}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyCFGPass,LoopSimplifyPass,LoopUnrollPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass