; LLVM IR from NVIDIA/DALI :: dali/operators/segmentation (random_object_bbox)

; 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.dali::ConstSampleView" = type { %"class.dali::SampleViewBase.base", [4 x i8] }
%"class.dali::SampleViewBase.base" = type <{ ptr, %"struct.dali::TensorShape", i32 }>
%"struct.dali::TensorShape" = type { %"struct.dali::TensorShapeBase" }
%"struct.dali::TensorShapeBase" = type { %"class.dali::SmallVector.80" }
%"class.dali::SmallVector.80" = type { %union.anon.83, i64 }
%union.anon.83 = type { %struct.anon.84, [32 x i8] }
%struct.anon.84 = type { ptr, i64 }
%"class.dali::CPUBackend" = type { i8 }
%"struct.dali::TensorListView.242" = type { %"struct.dali::TensorListViewBase.243" }
%"struct.dali::TensorListViewBase.243" = type { %"struct.dali::TensorListShape.140", %"class.std::vector.244" }
%"struct.dali::TensorListShape.140" = type { %"struct.dali::TensorListShapeBase.base.142", [4 x i8] }
%"struct.dali::TensorListShapeBase.base.142" = type <{ %"class.std::vector.127", i32 }>
%"class.std::vector.127" = type { %"struct.std::_Vector_base.128" }
%"struct.std::_Vector_base.128" = 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.std::vector.244" = type { %"struct.std::_Vector_base.245" }
%"struct.std::_Vector_base.245" = type { %"struct.std::_Vector_base<int *, std::allocator<int *>>::_Vector_impl" }
%"struct.std::_Vector_base<int *, std::allocator<int *>>::_Vector_impl" = type { %"struct.std::_Vector_base<int *, std::allocator<int *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int *, std::allocator<int *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.dali::TensorListView.249" = type { %"struct.dali::TensorListViewBase.250" }
%"struct.dali::TensorListViewBase.250" = type { %"struct.dali::TensorListShape", %"class.std::vector.244" }
%"struct.dali::TensorListShape" = type { %"struct.dali::TensorListShapeBase.base", [4 x i8] }
%"struct.dali::TensorListShapeBase.base" = type <{ %"class.std::vector.127", i32 }>
%"class.std::uniform_real_distribution" = type { %"struct.std::uniform_real_distribution<>::param_type" }
%"struct.std::uniform_real_distribution<>::param_type" = type { double, double }
%"struct.dali::TensorView.251" = type { %"struct.dali::TensorViewBase.base.253", [7 x i8] }
%"struct.dali::TensorViewBase.base.253" = type <{ ptr, i8 }>
%"struct.dali::TensorView.255" = type { %"struct.dali::TensorViewBase.256" }
%"struct.dali::TensorViewBase.256" = type { ptr, %"struct.dali::TensorShape.215" }
%"struct.dali::TensorShape.215" = type { %"struct.dali::TensorShapeBase.216" }
%"struct.dali::TensorShapeBase.216" = type { %"class.dali::DeviceArray" }
%"class.dali::DeviceArray" = type { [1 x i64] }
%"class.dali::RandomObjectBBox" = type { %"class.dali::rng::OperatorWithRng", %"struct.dali::RandomObjectBBox::ClassInfo", %"struct.dali::RandomObjectBBox::SampleContext", %"struct.dali::RandomObjectBBox::SampleContext.120", %"class.dali::Tensor", %"class.dali::Tensor", i8, i32, i32, [4 x i8], %"class.dali::ArgValue", %"class.dali::ArgValue.137", %"class.dali::ArgValue.145", %"class.dali::ArgValue.159", %"class.dali::ArgValue.137", i32, i8, %"class.std::unordered_map.163" }
%"class.dali::rng::OperatorWithRng" = type { %"class.dali::Operator", %"class.dali::BatchRNG", %"struct.dali::rng::OperatorWithRngFields" }
%"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.33", %"class.std::map.38", %"class.std::vector.43", %"class.std::map.38", %"class.std::map.48", %"class.std::vector.53", %"class.std::vector.53", %"class.std::map.58" }
%"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::vector.33" = type { %"struct.std::_Vector_base.34" }
%"struct.std::_Vector_base.34" = 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.43" = type { %"struct.std::_Vector_base.44" }
%"struct.std::_Vector_base.44" = 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.38" = type { %"class.std::_Rb_tree.39" }
%"class.std::_Rb_tree.39" = 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.48" = type { %"class.std::_Rb_tree.49" }
%"class.std::_Rb_tree.49" = 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.53" = type { %"struct.std::_Vector_base.54" }
%"struct.std::_Vector_base.54" = 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.58" = type { %"class.std::_Rb_tree.59" }
%"class.std::_Rb_tree.59" = 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.dali::BatchRNG" = type { i64, %"class.std::vector.68" }
%"class.std::vector.68" = type { %"struct.std::_Vector_base.69" }
%"struct.std::_Vector_base.69" = type { %"struct.std::_Vector_base<std::mersenne_twister_engine<unsigned long, 64, 312, 156, 31, 13043109905998158313, 29, 6148914691236517205, 17, 8202884508482404352, 37, 18444473444759240704, 43, 6364136223846793005>, std::allocator<std::mersenne_twister_engine<unsigned long, 64, 312, 156, 31, 13043109905998158313, 29, 6148914691236517205, 17, 8202884508482404352, 37, 18444473444759240704, 43, 6364136223846793005>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::mersenne_twister_engine<unsigned long, 64, 312, 156, 31, 13043109905998158313, 29, 6148914691236517205, 17, 8202884508482404352, 37, 18444473444759240704, 43, 6364136223846793005>, std::allocator<std::mersenne_twister_engine<unsigned long, 64, 312, 156, 31, 13043109905998158313, 29, 6148914691236517205, 17, 8202884508482404352, 37, 18444473444759240704, 43, 6364136223846793005>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::mersenne_twister_engine<unsigned long, 64, 312, 156, 31, 13043109905998158313, 29, 6148914691236517205, 17, 8202884508482404352, 37, 18444473444759240704, 43, 6364136223846793005>, std::allocator<std::mersenne_twister_engine<unsigned long, 64, 312, 156, 31, 13043109905998158313, 29, 6148914691236517205, 17, 8202884508482404352, 37, 18444473444759240704, 43, 6364136223846793005>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::mersenne_twister_engine<unsigned long, 64, 312, 156, 31, 13043109905998158313, 29, 6148914691236517205, 17, 8202884508482404352, 37, 18444473444759240704, 43, 6364136223846793005>, std::allocator<std::mersenne_twister_engine<unsigned long, 64, 312, 156, 31, 13043109905998158313, 29, 6148914691236517205, 17, 8202884508482404352, 37, 18444473444759240704, 43, 6364136223846793005>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.dali::rng::OperatorWithRngFields" = type { %"class.std::any" }
%"class.std::any" = type { ptr, %"union.std::any::_Storage" }
%"union.std::any::_Storage" = type { ptr }
%"struct.dali::RandomObjectBBox::ClassInfo" = type <{ %"class.dali::SmallVector", %"class.dali::SmallVector.75", %"class.dali::SmallVector.75", i32, [4 x i8] }>
%"class.dali::SmallVector" = type { %union.anon.73, i64 }
%union.anon.73 = type { %struct.anon.74, [112 x i8] }
%struct.anon.74 = type { ptr, i64 }
%"class.dali::SmallVector.75" = type { %union.anon.78, i64 }
%union.anon.78 = type { %struct.anon.79, [112 x i8] }
%struct.anon.79 = type { ptr, i64 }
%"struct.dali::RandomObjectBBox::SampleContext" = type { ptr, %"struct.dali::TensorView", %"struct.dali::TensorView", %"class.dali::ConstSampleView", i32, i32, i32, %"struct.dali::TensorView.85", %"struct.dali::TensorView", %"class.std::unordered_set", %"class.dali::SmallVector.106", %"class.std::vector.111", %struct.anon.116 }
%"struct.dali::TensorView.85" = type { %"struct.dali::TensorViewBase.86" }
%"struct.dali::TensorViewBase.86" = type { ptr, %"struct.dali::TensorShape" }
%"struct.dali::TensorView" = type { %"struct.dali::TensorViewBase" }
%"struct.dali::TensorViewBase" = type { ptr, %"struct.dali::TensorShape" }
%"class.std::unordered_set" = type { %"class.std::_Hashtable.87" }
%"class.std::_Hashtable.87" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.dali::SmallVector.106" = type { %union.anon.109, i64 }
%union.anon.109 = type { %struct.anon.110, [432 x i8] }
%struct.anon.110 = type { ptr, i64 }
%"class.std::vector.111" = type { %"struct.std::_Vector_base.112" }
%"struct.std::_Vector_base.112" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.anon.116 = type { %"class.dali::SmallVector.117", %"class.dali::SmallVector.117" }
%"class.dali::SmallVector.117" = type { %union.anon.118, i64 }
%union.anon.118 = type { %struct.anon.119, [8 x i8] }
%struct.anon.119 = type { ptr, i64 }
%"struct.dali::RandomObjectBBox::SampleContext.120" = type { ptr, %"struct.dali::TensorView", %"struct.dali::TensorView", %"class.dali::ConstSampleView", i32, i32, i32, %"struct.dali::TensorView.85", %"struct.dali::TensorView.121", %"class.std::unordered_set", %"class.dali::SmallVector.106", %"class.std::vector.111", %struct.anon.123 }
%"struct.dali::TensorView.121" = type { %"struct.dali::TensorViewBase.122" }
%"struct.dali::TensorViewBase.122" = type { ptr, %"struct.dali::TensorShape" }
%struct.anon.123 = type { %"class.dali::SmallVector.117", %"class.dali::SmallVector.117" }
%"class.dali::Tensor" = type { %"class.dali::Buffer.base", %"struct.dali::TensorShape", %"class.dali::DALIMeta", %"class.dali::CUDASharedEvent" }
%"class.dali::Buffer.base" = type <{ ptr, %"class.dali::TypeInfo", %"class.std::shared_ptr", %"class.std::function.124", i64, i64, i32, [4 x i8], %"class.dali::AccessOrder", i8, i8 }>
%"class.dali::TypeInfo" = type { ptr, i32, i64, %"class.std::basic_string_view" }
%"class.std::basic_string_view" = type { i64, ptr }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::function.124" = type { %"class.std::_Function_base", ptr }
%"class.std::_Function_base" = type { %"union.std::_Any_data", ptr }
%"union.std::_Any_data" = type { %"union.std::_Nocopy_types" }
%"union.std::_Nocopy_types" = type { { i64, i64 } }
%"class.dali::AccessOrder" = type <{ ptr, i32, [4 x i8] }>
%"class.dali::DALIMeta" = type <{ %"class.dali::TensorLayout", %"class.std::__cxx11::basic_string", i8, [7 x i8] }>
%"class.dali::TensorLayout" = type { [16 x i8] }
%"class.dali::CUDASharedEvent" = type { %"class.std::shared_ptr" }
%"class.dali::ArgValue" = type <{ %"class.std::__cxx11::basic_string", %"class.std::vector.111", %"struct.dali::TensorListView", i8, i8, [6 x i8], i64, i8, [7 x i8] }>
%"struct.dali::TensorListView" = type { %"struct.dali::TensorListViewBase" }
%"struct.dali::TensorListViewBase" = type { %"struct.dali::TensorListShape", %"class.std::vector.132" }
%"class.std::vector.132" = type { %"struct.std::_Vector_base.133" }
%"struct.std::_Vector_base.133" = type { %"struct.std::_Vector_base<const int *, std::allocator<const int *>>::_Vector_impl" }
%"struct.std::_Vector_base<const int *, std::allocator<const int *>>::_Vector_impl" = type { %"struct.std::_Vector_base<const int *, std::allocator<const int *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<const int *, std::allocator<const int *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.dali::ArgValue.145" = type <{ %"class.std::__cxx11::basic_string", %"class.std::vector.146", %"struct.dali::TensorListView.151", i8, i8, [6 x i8], i64, i8, [7 x i8] }>
%"class.std::vector.146" = type { %"struct.std::_Vector_base.147" }
%"struct.std::_Vector_base.147" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.dali::TensorListView.151" = type { %"struct.dali::TensorListViewBase.152" }
%"struct.dali::TensorListViewBase.152" = type { %"struct.dali::TensorListShape", %"class.std::vector.153" }
%"class.std::vector.153" = type { %"struct.std::_Vector_base.154" }
%"struct.std::_Vector_base.154" = type { %"struct.std::_Vector_base<const float *, std::allocator<const float *>>::_Vector_impl" }
%"struct.std::_Vector_base<const float *, std::allocator<const float *>>::_Vector_impl" = type { %"struct.std::_Vector_base<const float *, std::allocator<const float *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<const float *, std::allocator<const float *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.dali::ArgValue.159" = type <{ %"class.std::__cxx11::basic_string", %"class.std::vector.146", %"struct.dali::TensorListView.160", i8, i8, [6 x i8], i64, i8, [7 x i8] }>
%"struct.dali::TensorListView.160" = type { %"struct.dali::TensorListViewBase.161" }
%"struct.dali::TensorListViewBase.161" = type { %"struct.dali::TensorListShape.140", %"class.std::vector.153" }
%"class.dali::ArgValue.137" = type <{ %"class.std::__cxx11::basic_string", %"class.std::vector.111", %"struct.dali::TensorListView.138", i8, i8, [6 x i8], i64, i8, [7 x i8] }>
%"struct.dali::TensorListView.138" = type { %"struct.dali::TensorListViewBase.139" }
%"struct.dali::TensorListViewBase.139" = type { %"struct.dali::TensorListShape.140", %"class.std::vector.132" }
%"class.std::unordered_map.163" = type { %"class.std::_Hashtable.164" }
%"class.std::_Hashtable.164" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.dali::TensorViewBase.252" = type <{ ptr, [8 x i8] }>

@.str.42 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [95 x i8], align 1
@__PRETTY_FUNCTION__._ZN4dali16RandomObjectBBox7RunImplERNS_9WorkspaceE = external hidden unnamed_addr constant [58 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [42 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

declare i32 @__gxx_personality_v0(...)

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

; 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) #1 align 2

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali16RandomObjectBBox19AllocateTempStorageERKNS_10TensorListINS_10CPUBackendEEE(ptr noundef nonnull align 8 dereferenceable(4072), ptr noundef nonnull align 8 dereferenceable(304)) #1 align 2

declare void @_ZNK4dali10TensorListINS_10CPUBackendEEixEm(ptr dead_on_unwind writable sret(%"class.dali::ConstSampleView") align 8, ptr noundef nonnull align 8 dereferenceable(304), i64 noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(56) ptr @_ZNK4dali14SampleViewBaseINS_10CPUBackendEPKvE5shapeEv(ptr noundef nonnull align 8 dereferenceable(68)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZNK4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EE12num_elementsEv(ptr noundef nonnull align 8 dereferenceable(56)) #1 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4dali16RandomObjectBBox7RunImplERNS_9WorkspaceE(ptr noundef nonnull align 8 dereferenceable(4072) %0, ptr noundef nonnull align 8 dereferenceable(664) %1) unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca %"class.dali::CPUBackend", align 1
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca ptr, align 8
  %11 = alloca %"struct.dali::TensorListView.242", align 8
  %12 = alloca %"class.dali::CPUBackend", align 1
  %13 = alloca %"struct.dali::TensorListView.242", align 8
  %14 = alloca %"struct.dali::TensorListView.242", align 8
  %15 = alloca %"class.dali::CPUBackend", align 1
  %16 = alloca ptr, align 8
  %17 = alloca i32, align 4
  %18 = alloca %"struct.dali::TensorListView.249", align 8
  %19 = alloca %"struct.dali::TensorListView.249", align 8
  %20 = alloca %"class.dali::CPUBackend", align 1
  %21 = alloca %"struct.dali::TensorShape", align 8
  %22 = alloca %"class.std::uniform_real_distribution", align 8
  %23 = alloca i32, align 4
  %24 = alloca i8, align 1
  %25 = alloca %"struct.dali::TensorView.251", align 8
  %26 = alloca i32, align 4
  %27 = alloca %"class.dali::ConstSampleView", align 8
  %28 = alloca ptr, align 8
  %29 = alloca %"class.dali::ConstSampleView", align 8
  %30 = alloca %"struct.dali::TensorView.255", align 8
  %31 = alloca %"struct.dali::TensorView.255", align 8
  %32 = alloca ptr, align 8
  %33 = alloca %"class.dali::ConstSampleView", align 8
  %34 = alloca %"struct.dali::TensorView.255", align 8
  %35 = alloca %"struct.dali::TensorView.255", align 8
  store ptr %0, ptr %3, align 8, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !5
  %36 = load ptr, ptr %3, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #7
  %37 = load ptr, ptr %4, align 8, !tbaa !5
  %38 = call noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE5InputINS_10CPUBackendEEERKDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %37, i32 noundef 0)
  store ptr %38, ptr %5, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #7
  %39 = load ptr, ptr %5, align 8, !tbaa !5
  %40 = call noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE11num_samplesEv(ptr noundef nonnull align 8 dereferenceable(304) %39) #7
  store i32 %40, ptr %7, align 4, !tbaa !9
  %41 = load i32, ptr %7, align 4, !tbaa !9
  %42 = icmp eq i32 %41, 0
  br i1 %42, label %43, label %44

43:                                               ; preds = %2
  store i32 1, ptr %8, align 4
  br label %449

44:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #7
  %45 = load ptr, ptr %5, align 8, !tbaa !5
  %46 = call noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(304) %45)
  store i32 %46, ptr %9, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #7
  %47 = load ptr, ptr %4, align 8, !tbaa !5
  %48 = call noundef nonnull align 8 dereferenceable(224) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE13GetThreadPoolEv(ptr noundef nonnull align 8 dereferenceable(664) %47)
  store ptr %48, ptr %10, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 56, ptr %11) #7
  %49 = load ptr, ptr %4, align 8, !tbaa !5
  %50 = call noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE6OutputINS_10CPUBackendEEERDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %49, i32 noundef 0)
  call void @_ZN4dali4viewIiLi1ENS_10CPUBackendEEENS_14TensorListViewINS_6detail15storage_tag_mapIT1_E4typeET_XT0_EEERNS_10TensorListIS5_EE(ptr dead_on_unwind writable sret(%"struct.dali::TensorListView.242") align 8 %11, ptr noundef nonnull align 8 dereferenceable(304) %50)
  call void @llvm.lifetime.start.p0(i64 56, ptr %13) #7
  call void @_ZN4dali14TensorListViewINS_10StorageCPUEiLi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %13) #7
  %51 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 15
  %52 = load i32, ptr %51, align 8, !tbaa !11
  %53 = icmp ne i32 %52, 2
  br i1 %53, label %54, label %70

54:                                               ; preds = %44
  call void @llvm.lifetime.start.p0(i64 56, ptr %14) #7
  %55 = load ptr, ptr %4, align 8, !tbaa !5
  %56 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE6OutputINS_10CPUBackendEEERDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %55, i32 noundef 1)
          to label %57 unwind label %61

57:                                               ; preds = %54
  invoke void @_ZN4dali4viewIiLi1ENS_10CPUBackendEEENS_14TensorListViewINS_6detail15storage_tag_mapIT1_E4typeET_XT0_EEERNS_10TensorListIS5_EE(ptr dead_on_unwind writable sret(%"struct.dali::TensorListView.242") align 8 %14, ptr noundef nonnull align 8 dereferenceable(304) %56)
          to label %58 unwind label %61

58:                                               ; preds = %57
  %59 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZN4dali14TensorListViewINS_10StorageCPUEiLi1EEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(56) %13, ptr noundef nonnull align 8 dereferenceable(56) %14)
          to label %60 unwind label %65

60:                                               ; preds = %58
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %14) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr %14) #7
  br label %70

61:                                               ; preds = %57, %54
  %62 = landingpad { ptr, i32 }
          cleanup
  %63 = extractvalue { ptr, i32 } %62, 0
  store ptr %63, ptr %16, align 8
  %64 = extractvalue { ptr, i32 } %62, 1
  store i32 %64, ptr %17, align 4
  br label %69

65:                                               ; preds = %58
  %66 = landingpad { ptr, i32 }
          cleanup
  %67 = extractvalue { ptr, i32 } %66, 0
  store ptr %67, ptr %16, align 8
  %68 = extractvalue { ptr, i32 } %66, 1
  store i32 %68, ptr %17, align 4
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %14) #7
  br label %69

69:                                               ; preds = %65, %61
  call void @llvm.lifetime.end.p0(i64 56, ptr %14) #7
  br label %456

70:                                               ; preds = %60, %44
  call void @llvm.lifetime.start.p0(i64 56, ptr %18) #7
  call void @_ZN4dali14TensorListViewINS_10StorageCPUEiLi0EEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %18) #7
  %71 = invoke noundef zeroext i1 @_ZNK4dali16RandomObjectBBox19HasClassLabelOutputEv(ptr noundef nonnull align 8 dereferenceable(4072) %36)
          to label %72 unwind label %82

72:                                               ; preds = %70
  br i1 %71, label %73, label %95

73:                                               ; preds = %72
  call void @llvm.lifetime.start.p0(i64 56, ptr %19) #7
  %74 = load ptr, ptr %4, align 8, !tbaa !5
  %75 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 8
  %76 = load i32, ptr %75, align 8, !tbaa !134
  %77 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE6OutputINS_10CPUBackendEEERDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %74, i32 noundef %76)
          to label %78 unwind label %86

78:                                               ; preds = %73
  invoke void @_ZN4dali4viewIiLi0ENS_10CPUBackendEEENS_14TensorListViewINS_6detail15storage_tag_mapIT1_E4typeET_XT0_EEERNS_10TensorListIS5_EE(ptr dead_on_unwind writable sret(%"struct.dali::TensorListView.249") align 8 %19, ptr noundef nonnull align 8 dereferenceable(304) %77)
          to label %79 unwind label %86

79:                                               ; preds = %78
  %80 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZN4dali14TensorListViewINS_10StorageCPUEiLi0EEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(56) %18, ptr noundef nonnull align 8 dereferenceable(56) %19)
          to label %81 unwind label %90

81:                                               ; preds = %79
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi0EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %19) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr %19) #7
  br label %95

82:                                               ; preds = %70
  %83 = landingpad { ptr, i32 }
          cleanup
  %84 = extractvalue { ptr, i32 } %83, 0
  store ptr %84, ptr %16, align 8
  %85 = extractvalue { ptr, i32 } %83, 1
  store i32 %85, ptr %17, align 4
  br label %455

86:                                               ; preds = %78, %73
  %87 = landingpad { ptr, i32 }
          cleanup
  %88 = extractvalue { ptr, i32 } %87, 0
  store ptr %88, ptr %16, align 8
  %89 = extractvalue { ptr, i32 } %87, 1
  store i32 %89, ptr %17, align 4
  br label %94

90:                                               ; preds = %79
  %91 = landingpad { ptr, i32 }
          cleanup
  %92 = extractvalue { ptr, i32 } %91, 0
  store ptr %92, ptr %16, align 8
  %93 = extractvalue { ptr, i32 } %91, 1
  store i32 %93, ptr %17, align 4
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi0EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %19) #7
  br label %94

94:                                               ; preds = %90, %86
  call void @llvm.lifetime.end.p0(i64 56, ptr %19) #7
  br label %455

95:                                               ; preds = %81, %72
  call void @llvm.lifetime.start.p0(i64 56, ptr %21) #7
  invoke void @_ZN4dali11TensorShapeILin1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %21)
          to label %96 unwind label %113

96:                                               ; preds = %95
  %97 = load i32, ptr %9, align 4, !tbaa !9
  invoke void @_ZN4dali11TensorShapeILin1EE6resizeEi(ptr noundef nonnull align 8 dereferenceable(56) %21, i32 noundef %97)
          to label %98 unwind label %117

98:                                               ; preds = %96
  %99 = load ptr, ptr %10, align 8, !tbaa !5
  %100 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 2
  %101 = getelementptr inbounds %"struct.dali::RandomObjectBBox::SampleContext", ptr %100, i32 0, i32 0
  store ptr %99, ptr %101, align 8, !tbaa !135
  %102 = load ptr, ptr %10, align 8, !tbaa !5
  %103 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 3
  %104 = getelementptr inbounds %"struct.dali::RandomObjectBBox::SampleContext.120", ptr %103, i32 0, i32 0
  store ptr %102, ptr %104, align 8, !tbaa !136
  %105 = load ptr, ptr %5, align 8, !tbaa !5
  invoke void @_ZN4dali16RandomObjectBBox19AllocateTempStorageERKNS_10TensorListINS_10CPUBackendEEE(ptr noundef nonnull align 8 dereferenceable(4072) %36, ptr noundef nonnull align 8 dereferenceable(304) %105)
          to label %106 unwind label %117

106:                                              ; preds = %98
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #7
  invoke void @_ZNSt25uniform_real_distributionIdEC2Edd(ptr noundef nonnull align 8 dereferenceable(16) %22, double noundef 0.000000e+00, double noundef 1.000000e+00)
          to label %107 unwind label %121

107:                                              ; preds = %106
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #7
  store i32 0, ptr %23, align 4, !tbaa !9
  br label %108

108:                                              ; preds = %442, %107
  %109 = load i32, ptr %23, align 4, !tbaa !9
  %110 = load i32, ptr %7, align 4, !tbaa !9
  %111 = icmp slt i32 %109, %110
  br i1 %111, label %125, label %112

112:                                              ; preds = %108
  store i32 2, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #7
  br label %446

113:                                              ; preds = %95
  %114 = landingpad { ptr, i32 }
          cleanup
  %115 = extractvalue { ptr, i32 } %114, 0
  store ptr %115, ptr %16, align 8
  %116 = extractvalue { ptr, i32 } %114, 1
  store i32 %116, ptr %17, align 4
  br label %454

117:                                              ; preds = %98, %96
  %118 = landingpad { ptr, i32 }
          cleanup
  %119 = extractvalue { ptr, i32 } %118, 0
  store ptr %119, ptr %16, align 8
  %120 = extractvalue { ptr, i32 } %118, 1
  store i32 %120, ptr %17, align 4
  br label %453

121:                                              ; preds = %446, %106
  %122 = landingpad { ptr, i32 }
          cleanup
  %123 = extractvalue { ptr, i32 } %122, 0
  store ptr %123, ptr %16, align 8
  %124 = extractvalue { ptr, i32 } %122, 1
  store i32 %124, ptr %17, align 4
  br label %452

125:                                              ; preds = %108
  call void @llvm.lifetime.start.p0(i64 1, ptr %24) #7
  %126 = getelementptr inbounds %"class.dali::rng::OperatorWithRng", ptr %36, i32 0, i32 1
  %127 = load i32, ptr %23, align 4, !tbaa !9
  %128 = call noundef nonnull align 8 dereferenceable(2504) ptr @_ZN4dali8BatchRNGISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEEixEi(ptr noundef nonnull align 8 dereferenceable(32) %126, i32 noundef %127) #7
  %129 = invoke noundef double @_ZNSt25uniform_real_distributionIdEclISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEEEdRT_(ptr noundef nonnull align 8 dereferenceable(16) %22, ptr noundef nonnull align 8 dereferenceable(2504) %128)
          to label %130 unwind label %169

130:                                              ; preds = %125
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #7
  %131 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 12
  %132 = load i32, ptr %23, align 4, !tbaa !9
  %133 = invoke ptr @_ZNK4dali8ArgValueIfLi0EEixEi(ptr noundef nonnull align 8 dereferenceable(129) %131, i32 noundef %132)
          to label %134 unwind label %173

134:                                              ; preds = %130
  %135 = getelementptr inbounds %"struct.dali::TensorView.251", ptr %25, i32 0, i32 0
  %136 = getelementptr inbounds %"struct.dali::TensorViewBase.base.253", ptr %135, i32 0, i32 0
  store ptr %133, ptr %136, align 8
  %137 = getelementptr inbounds %"struct.dali::TensorViewBase.252", ptr %25, i32 0, i32 0
  %138 = load ptr, ptr %137, align 8, !tbaa !137
  %139 = getelementptr inbounds float, ptr %138, i64 0
  %140 = load float, ptr %139, align 4, !tbaa !142
  %141 = fpext float %140 to double
  %142 = fcmp olt double %129, %141
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #7
  %143 = zext i1 %142 to i8
  store i8 %143, ptr %24, align 1, !tbaa !143
  %144 = load i8, ptr %24, align 1, !tbaa !143, !range !144, !noundef !145
  %145 = trunc i8 %144 to i1
  br i1 %145, label %178, label %146

146:                                              ; preds = %134
  %147 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 15
  %148 = load i32, ptr %147, align 8, !tbaa !11
  %149 = load i32, ptr %23, align 4, !tbaa !9
  %150 = load ptr, ptr %5, align 8, !tbaa !5
  %151 = load i32, ptr %23, align 4, !tbaa !9
  %152 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE12tensor_shapeEi(ptr noundef nonnull align 8 dereferenceable(304) %150, i32 noundef %151)
          to label %153 unwind label %169

153:                                              ; preds = %146
  invoke void @_ZN4dali8StoreBoxIRNS_11TensorShapeILin1EEERKS2_EEvRKNS_14TensorListViewINS_10StorageCPUEiLi1EEESA_NS_16RandomObjectBBox12OutputFormatEiOT_OT0_(ptr noundef nonnull align 8 dereferenceable(56) %11, ptr noundef nonnull align 8 dereferenceable(56) %13, i32 noundef %148, i32 noundef %149, ptr noundef nonnull align 8 dereferenceable(56) %21, ptr noundef nonnull align 8 dereferenceable(56) %152)
          to label %154 unwind label %169

154:                                              ; preds = %153
  %155 = invoke noundef zeroext i1 @_ZNK4dali16RandomObjectBBox19HasClassLabelOutputEv(ptr noundef nonnull align 8 dereferenceable(4072) %36)
          to label %156 unwind label %169

156:                                              ; preds = %154
  br i1 %155, label %157, label %177

157:                                              ; preds = %156
  %158 = load i32, ptr %23, align 4, !tbaa !9
  invoke void @_ZN4dali16RandomObjectBBox13InitClassInfoEi(ptr noundef nonnull align 8 dereferenceable(4072) %36, i32 noundef %158)
          to label %159 unwind label %169

159:                                              ; preds = %157
  %160 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 1
  %161 = getelementptr inbounds %"struct.dali::RandomObjectBBox::ClassInfo", ptr %160, i32 0, i32 3
  %162 = load i32, ptr %161, align 8, !tbaa !146
  %163 = getelementptr inbounds %"struct.dali::TensorListViewBase.250", ptr %18, i32 0, i32 1
  %164 = load i32, ptr %23, align 4, !tbaa !9
  %165 = sext i32 %164 to i64
  %166 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPiSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %163, i64 noundef %165) #7
  %167 = load ptr, ptr %166, align 8, !tbaa !5
  %168 = getelementptr inbounds i32, ptr %167, i64 0
  store i32 %162, ptr %168, align 4, !tbaa !9
  br label %177

169:                                              ; preds = %157, %154, %153, %146, %125
  %170 = landingpad { ptr, i32 }
          cleanup
  %171 = extractvalue { ptr, i32 } %170, 0
  store ptr %171, ptr %16, align 8
  %172 = extractvalue { ptr, i32 } %170, 1
  store i32 %172, ptr %17, align 4
  br label %445

173:                                              ; preds = %130
  %174 = landingpad { ptr, i32 }
          cleanup
  %175 = extractvalue { ptr, i32 } %174, 0
  store ptr %175, ptr %16, align 8
  %176 = extractvalue { ptr, i32 } %174, 1
  store i32 %176, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #7
  br label %445

177:                                              ; preds = %159, %156
  br label %441

178:                                              ; preds = %134
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #7
  call void @llvm.lifetime.start.p0(i64 72, ptr %27) #7
  %179 = load ptr, ptr %5, align 8, !tbaa !5
  %180 = load i32, ptr %23, align 4, !tbaa !9
  %181 = sext i32 %180 to i64
  invoke void @_ZNK4dali10TensorListINS_10CPUBackendEEixEm(ptr dead_on_unwind writable sret(%"class.dali::ConstSampleView") align 8 %27, ptr noundef nonnull align 8 dereferenceable(304) %179, i64 noundef %181)
          to label %182 unwind label %191

182:                                              ; preds = %178
  %183 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZNK4dali14SampleViewBaseINS_10CPUBackendEPKvE5shapeEv(ptr noundef nonnull align 8 dereferenceable(68) %27)
          to label %184 unwind label %195

184:                                              ; preds = %182
  %185 = invoke noundef i64 @_ZNK4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EE12num_elementsEv(ptr noundef nonnull align 8 dereferenceable(56) %183)
          to label %186 unwind label %195

186:                                              ; preds = %184
  %187 = icmp sgt i64 %185, 2147483648
  %188 = zext i1 %187 to i64
  %189 = select i1 %187, i32 7, i32 6
  call void @_ZN4dali14SampleViewBaseINS_10CPUBackendEPKvED2Ev(ptr noundef nonnull align 8 dereferenceable(68) %27) #7
  call void @llvm.lifetime.end.p0(i64 72, ptr %27) #7
  store i32 %189, ptr %26, align 4, !tbaa !147
  %190 = load i32, ptr %26, align 4, !tbaa !147
  switch i32 %190, label %438 [
    i32 6, label %200
    i32 7, label %319
  ]

191:                                              ; preds = %178
  %192 = landingpad { ptr, i32 }
          cleanup
  %193 = extractvalue { ptr, i32 } %192, 0
  store ptr %193, ptr %16, align 8
  %194 = extractvalue { ptr, i32 } %192, 1
  store i32 %194, ptr %17, align 4
  br label %199

195:                                              ; preds = %184, %182
  %196 = landingpad { ptr, i32 }
          cleanup
  %197 = extractvalue { ptr, i32 } %196, 0
  store ptr %197, ptr %16, align 8
  %198 = extractvalue { ptr, i32 } %196, 1
  store i32 %198, ptr %17, align 4
  call void @_ZN4dali14SampleViewBaseINS_10CPUBackendEPKvED2Ev(ptr noundef nonnull align 8 dereferenceable(68) %27) #7
  br label %199

199:                                              ; preds = %195, %191
  call void @llvm.lifetime.end.p0(i64 72, ptr %27) #7
  br label %440

200:                                              ; preds = %186
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #7
  %201 = invoke noundef nonnull align 8 dereferenceable(952) ptr @_ZN4dali16RandomObjectBBox10GetContextEi(ptr noundef nonnull align 8 dereferenceable(4072) %36, i32 noundef 0)
          to label %202 unwind label %240

202:                                              ; preds = %200
  store ptr %201, ptr %28, align 8, !tbaa !5
  %203 = load ptr, ptr %28, align 8, !tbaa !5
  %204 = load i32, ptr %23, align 4, !tbaa !9
  %205 = load ptr, ptr %5, align 8, !tbaa !5
  %206 = load i32, ptr %23, align 4, !tbaa !9
  %207 = sext i32 %206 to i64
  invoke void @_ZNK4dali10TensorListINS_10CPUBackendEEixEm(ptr dead_on_unwind writable sret(%"class.dali::ConstSampleView") align 8 %29, ptr noundef nonnull align 8 dereferenceable(304) %205, i64 noundef %207)
          to label %208 unwind label %240

208:                                              ; preds = %202
  %209 = load ptr, ptr %10, align 8, !tbaa !5
  %210 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 5
  %211 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 4
  invoke void @_ZN4dali16RandomObjectBBox13SampleContextIiE4InitEiNS_15ConstSampleViewINS_10CPUBackendEEEPNS_10ThreadPoolERNS_6TensorIS4_EESA_(ptr noundef nonnull align 8 dereferenceable(952) %203, i32 noundef %204, ptr noundef %29, ptr noundef %209, ptr noundef nonnull align 8 dereferenceable(272) %210, ptr noundef nonnull align 8 dereferenceable(272) %211)
          to label %212 unwind label %244

212:                                              ; preds = %208
  call void @_ZN4dali14SampleViewBaseINS_10CPUBackendEPKvED2Ev(ptr noundef nonnull align 8 dereferenceable(68) %29) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #7
  %213 = load i32, ptr %23, align 4, !tbaa !9
  %214 = invoke { ptr, i64 } @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEiLi1EEixEi(ptr noundef nonnull align 8 dereferenceable(56) %11, i32 noundef %213)
          to label %215 unwind label %248

215:                                              ; preds = %212
  %216 = getelementptr inbounds %"struct.dali::TensorView.255", ptr %30, i32 0, i32 0
  %217 = getelementptr inbounds { ptr, i64 }, ptr %216, i32 0, i32 0
  %218 = extractvalue { ptr, i64 } %214, 0
  store ptr %218, ptr %217, align 8
  %219 = getelementptr inbounds { ptr, i64 }, ptr %216, i32 0, i32 1
  %220 = extractvalue { ptr, i64 } %214, 1
  store i64 %220, ptr %219, align 8
  %221 = load ptr, ptr %28, align 8, !tbaa !5
  %222 = getelementptr inbounds %"struct.dali::RandomObjectBBox::SampleContext", ptr %221, i32 0, i32 1
  %223 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN4dali10TensorViewINS_10StorageCPUEiLin1EEaSILi1EEERS2_ONS0_IS1_iXT_EEE(ptr noundef nonnull align 8 dereferenceable(64) %222, ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %224 unwind label %248

224:                                              ; preds = %215
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #7
  %225 = call noundef i32 @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEiLi1EE11num_samplesEv(ptr noundef nonnull align 8 dereferenceable(56) %13) #7
  %226 = icmp sgt i32 %225, 0
  br i1 %226, label %227, label %256

227:                                              ; preds = %224
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #7
  %228 = load i32, ptr %23, align 4, !tbaa !9
  %229 = invoke { ptr, i64 } @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEiLi1EEixEi(ptr noundef nonnull align 8 dereferenceable(56) %13, i32 noundef %228)
          to label %230 unwind label %252

230:                                              ; preds = %227
  %231 = getelementptr inbounds %"struct.dali::TensorView.255", ptr %31, i32 0, i32 0
  %232 = getelementptr inbounds { ptr, i64 }, ptr %231, i32 0, i32 0
  %233 = extractvalue { ptr, i64 } %229, 0
  store ptr %233, ptr %232, align 8
  %234 = getelementptr inbounds { ptr, i64 }, ptr %231, i32 0, i32 1
  %235 = extractvalue { ptr, i64 } %229, 1
  store i64 %235, ptr %234, align 8
  %236 = load ptr, ptr %28, align 8, !tbaa !5
  %237 = getelementptr inbounds %"struct.dali::RandomObjectBBox::SampleContext", ptr %236, i32 0, i32 2
  %238 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN4dali10TensorViewINS_10StorageCPUEiLin1EEaSILi1EEERS2_ONS0_IS1_iXT_EEE(ptr noundef nonnull align 8 dereferenceable(64) %237, ptr noundef nonnull align 8 dereferenceable(16) %31)
          to label %239 unwind label %252

239:                                              ; preds = %230
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #7
  br label %256

240:                                              ; preds = %304, %302, %295, %277, %256, %202, %200
  %241 = landingpad { ptr, i32 }
          cleanup
  %242 = extractvalue { ptr, i32 } %241, 0
  store ptr %242, ptr %16, align 8
  %243 = extractvalue { ptr, i32 } %241, 1
  store i32 %243, ptr %17, align 4
  br label %318

244:                                              ; preds = %208
  %245 = landingpad { ptr, i32 }
          cleanup
  %246 = extractvalue { ptr, i32 } %245, 0
  store ptr %246, ptr %16, align 8
  %247 = extractvalue { ptr, i32 } %245, 1
  store i32 %247, ptr %17, align 4
  call void @_ZN4dali14SampleViewBaseINS_10CPUBackendEPKvED2Ev(ptr noundef nonnull align 8 dereferenceable(68) %29) #7
  br label %318

248:                                              ; preds = %215, %212
  %249 = landingpad { ptr, i32 }
          cleanup
  %250 = extractvalue { ptr, i32 } %249, 0
  store ptr %250, ptr %16, align 8
  %251 = extractvalue { ptr, i32 } %249, 1
  store i32 %251, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #7
  br label %318

252:                                              ; preds = %230, %227
  %253 = landingpad { ptr, i32 }
          cleanup
  %254 = extractvalue { ptr, i32 } %253, 0
  store ptr %254, ptr %16, align 8
  %255 = extractvalue { ptr, i32 } %253, 1
  store i32 %255, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #7
  br label %318

256:                                              ; preds = %239, %224
  %257 = load ptr, ptr %28, align 8, !tbaa !5
  %258 = invoke noundef zeroext i1 @_ZN4dali16RandomObjectBBox17PickForegroundBoxIiEEbRNS0_13SampleContextIT_EE(ptr noundef nonnull align 8 dereferenceable(4072) %36, ptr noundef nonnull align 8 dereferenceable(952) %257)
          to label %259 unwind label %240

259:                                              ; preds = %256
  br i1 %258, label %260, label %284

260:                                              ; preds = %259
  %261 = load ptr, ptr %28, align 8, !tbaa !5
  %262 = getelementptr inbounds %"struct.dali::RandomObjectBBox::SampleContext", ptr %261, i32 0, i32 6
  %263 = load i32, ptr %262, align 8, !tbaa !148
  %264 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 1
  %265 = getelementptr inbounds %"struct.dali::RandomObjectBBox::ClassInfo", ptr %264, i32 0, i32 3
  %266 = load i32, ptr %265, align 8, !tbaa !146
  %267 = icmp ne i32 %263, %266
  br i1 %267, label %272, label %268

268:                                              ; preds = %260
  %269 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 6
  %270 = load i8, ptr %269, align 8, !tbaa !149, !range !144, !noundef !145
  %271 = trunc i8 %270 to i1
  br label %272

272:                                              ; preds = %268, %260
  %273 = phi i1 [ true, %260 ], [ %271, %268 ]
  br i1 %273, label %274, label %275

274:                                              ; preds = %272
  br label %277

275:                                              ; preds = %272
  call void @__assert_fail(ptr noundef @.str.42, ptr noundef @.str.43, i32 noundef 605, ptr noundef @__PRETTY_FUNCTION__._ZN4dali16RandomObjectBBox7RunImplERNS_9WorkspaceE) #8
  unreachable

276:                                              ; No predecessors!
  br label %277

277:                                              ; preds = %276, %274
  %278 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 15
  %279 = load i32, ptr %278, align 8, !tbaa !11
  %280 = load i32, ptr %23, align 4, !tbaa !9
  %281 = load ptr, ptr %28, align 8, !tbaa !5
  %282 = getelementptr inbounds %"struct.dali::RandomObjectBBox::SampleContext", ptr %281, i32 0, i32 12
  invoke void @_ZN4dali8StoreBoxIRNS_16RandomObjectBBox13SampleContextIiEUt_EEEvRKNS_14TensorListViewINS_10StorageCPUEiLi1EEESA_NS1_12OutputFormatEiOT_(ptr noundef nonnull align 8 dereferenceable(56) %11, ptr noundef nonnull align 8 dereferenceable(56) %13, i32 noundef %279, i32 noundef %280, ptr noundef nonnull align 8 dereferenceable(64) %282)
          to label %283 unwind label %240

283:                                              ; preds = %277
  br label %304

284:                                              ; preds = %259
  %285 = load ptr, ptr %28, align 8, !tbaa !5
  %286 = getelementptr inbounds %"struct.dali::RandomObjectBBox::SampleContext", ptr %285, i32 0, i32 6
  %287 = load i32, ptr %286, align 8, !tbaa !148
  %288 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 1
  %289 = getelementptr inbounds %"struct.dali::RandomObjectBBox::ClassInfo", ptr %288, i32 0, i32 3
  %290 = load i32, ptr %289, align 8, !tbaa !146
  %291 = icmp eq i32 %287, %290
  br i1 %291, label %292, label %293

292:                                              ; preds = %284
  br label %295

293:                                              ; preds = %284
  call void @__assert_fail(ptr noundef @.str.44, ptr noundef @.str.43, i32 noundef 608, ptr noundef @__PRETTY_FUNCTION__._ZN4dali16RandomObjectBBox7RunImplERNS_9WorkspaceE) #8
  unreachable

294:                                              ; No predecessors!
  br label %295

295:                                              ; preds = %294, %292
  %296 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 15
  %297 = load i32, ptr %296, align 8, !tbaa !11
  %298 = load i32, ptr %23, align 4, !tbaa !9
  %299 = load ptr, ptr %5, align 8, !tbaa !5
  %300 = load i32, ptr %23, align 4, !tbaa !9
  %301 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE12tensor_shapeEi(ptr noundef nonnull align 8 dereferenceable(304) %299, i32 noundef %300)
          to label %302 unwind label %240

302:                                              ; preds = %295
  invoke void @_ZN4dali8StoreBoxIRNS_11TensorShapeILin1EEERKS2_EEvRKNS_14TensorListViewINS_10StorageCPUEiLi1EEESA_NS_16RandomObjectBBox12OutputFormatEiOT_OT0_(ptr noundef nonnull align 8 dereferenceable(56) %11, ptr noundef nonnull align 8 dereferenceable(56) %13, i32 noundef %297, i32 noundef %298, ptr noundef nonnull align 8 dereferenceable(56) %21, ptr noundef nonnull align 8 dereferenceable(56) %301)
          to label %303 unwind label %240

303:                                              ; preds = %302
  br label %304

304:                                              ; preds = %303, %283
  %305 = invoke noundef zeroext i1 @_ZNK4dali16RandomObjectBBox19HasClassLabelOutputEv(ptr noundef nonnull align 8 dereferenceable(4072) %36)
          to label %306 unwind label %240

306:                                              ; preds = %304
  br i1 %305, label %307, label %317

307:                                              ; preds = %306
  %308 = load ptr, ptr %28, align 8, !tbaa !5
  %309 = getelementptr inbounds %"struct.dali::RandomObjectBBox::SampleContext", ptr %308, i32 0, i32 6
  %310 = load i32, ptr %309, align 8, !tbaa !148
  %311 = getelementptr inbounds %"struct.dali::TensorListViewBase.250", ptr %18, i32 0, i32 1
  %312 = load i32, ptr %23, align 4, !tbaa !9
  %313 = sext i32 %312 to i64
  %314 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPiSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %311, i64 noundef %313) #7
  %315 = load ptr, ptr %314, align 8, !tbaa !5
  %316 = getelementptr inbounds i32, ptr %315, i64 0
  store i32 %310, ptr %316, align 4, !tbaa !9
  br label %317

317:                                              ; preds = %307, %306
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #7
  br label %439

318:                                              ; preds = %252, %248, %244, %240
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #7
  br label %440

319:                                              ; preds = %186
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #7
  %320 = invoke noundef nonnull align 8 dereferenceable(952) ptr @_ZN4dali16RandomObjectBBox10GetContextEl(ptr noundef nonnull align 8 dereferenceable(4072) %36, i64 noundef 0)
          to label %321 unwind label %359

321:                                              ; preds = %319
  store ptr %320, ptr %32, align 8, !tbaa !5
  %322 = load ptr, ptr %32, align 8, !tbaa !5
  %323 = load i32, ptr %23, align 4, !tbaa !9
  %324 = load ptr, ptr %5, align 8, !tbaa !5
  %325 = load i32, ptr %23, align 4, !tbaa !9
  %326 = sext i32 %325 to i64
  invoke void @_ZNK4dali10TensorListINS_10CPUBackendEEixEm(ptr dead_on_unwind writable sret(%"class.dali::ConstSampleView") align 8 %33, ptr noundef nonnull align 8 dereferenceable(304) %324, i64 noundef %326)
          to label %327 unwind label %359

327:                                              ; preds = %321
  %328 = load ptr, ptr %10, align 8, !tbaa !5
  %329 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 5
  %330 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 4
  invoke void @_ZN4dali16RandomObjectBBox13SampleContextIlE4InitEiNS_15ConstSampleViewINS_10CPUBackendEEEPNS_10ThreadPoolERNS_6TensorIS4_EESA_(ptr noundef nonnull align 8 dereferenceable(952) %322, i32 noundef %323, ptr noundef %33, ptr noundef %328, ptr noundef nonnull align 8 dereferenceable(272) %329, ptr noundef nonnull align 8 dereferenceable(272) %330)
          to label %331 unwind label %363

331:                                              ; preds = %327
  call void @_ZN4dali14SampleViewBaseINS_10CPUBackendEPKvED2Ev(ptr noundef nonnull align 8 dereferenceable(68) %33) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #7
  %332 = load i32, ptr %23, align 4, !tbaa !9
  %333 = invoke { ptr, i64 } @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEiLi1EEixEi(ptr noundef nonnull align 8 dereferenceable(56) %11, i32 noundef %332)
          to label %334 unwind label %367

334:                                              ; preds = %331
  %335 = getelementptr inbounds %"struct.dali::TensorView.255", ptr %34, i32 0, i32 0
  %336 = getelementptr inbounds { ptr, i64 }, ptr %335, i32 0, i32 0
  %337 = extractvalue { ptr, i64 } %333, 0
  store ptr %337, ptr %336, align 8
  %338 = getelementptr inbounds { ptr, i64 }, ptr %335, i32 0, i32 1
  %339 = extractvalue { ptr, i64 } %333, 1
  store i64 %339, ptr %338, align 8
  %340 = load ptr, ptr %32, align 8, !tbaa !5
  %341 = getelementptr inbounds %"struct.dali::RandomObjectBBox::SampleContext.120", ptr %340, i32 0, i32 1
  %342 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN4dali10TensorViewINS_10StorageCPUEiLin1EEaSILi1EEERS2_ONS0_IS1_iXT_EEE(ptr noundef nonnull align 8 dereferenceable(64) %341, ptr noundef nonnull align 8 dereferenceable(16) %34)
          to label %343 unwind label %367

343:                                              ; preds = %334
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #7
  %344 = call noundef i32 @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEiLi1EE11num_samplesEv(ptr noundef nonnull align 8 dereferenceable(56) %13) #7
  %345 = icmp sgt i32 %344, 0
  br i1 %345, label %346, label %375

346:                                              ; preds = %343
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #7
  %347 = load i32, ptr %23, align 4, !tbaa !9
  %348 = invoke { ptr, i64 } @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEiLi1EEixEi(ptr noundef nonnull align 8 dereferenceable(56) %13, i32 noundef %347)
          to label %349 unwind label %371

349:                                              ; preds = %346
  %350 = getelementptr inbounds %"struct.dali::TensorView.255", ptr %35, i32 0, i32 0
  %351 = getelementptr inbounds { ptr, i64 }, ptr %350, i32 0, i32 0
  %352 = extractvalue { ptr, i64 } %348, 0
  store ptr %352, ptr %351, align 8
  %353 = getelementptr inbounds { ptr, i64 }, ptr %350, i32 0, i32 1
  %354 = extractvalue { ptr, i64 } %348, 1
  store i64 %354, ptr %353, align 8
  %355 = load ptr, ptr %32, align 8, !tbaa !5
  %356 = getelementptr inbounds %"struct.dali::RandomObjectBBox::SampleContext.120", ptr %355, i32 0, i32 2
  %357 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN4dali10TensorViewINS_10StorageCPUEiLin1EEaSILi1EEERS2_ONS0_IS1_iXT_EEE(ptr noundef nonnull align 8 dereferenceable(64) %356, ptr noundef nonnull align 8 dereferenceable(16) %35)
          to label %358 unwind label %371

358:                                              ; preds = %349
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #7
  br label %375

359:                                              ; preds = %423, %421, %414, %396, %375, %321, %319
  %360 = landingpad { ptr, i32 }
          cleanup
  %361 = extractvalue { ptr, i32 } %360, 0
  store ptr %361, ptr %16, align 8
  %362 = extractvalue { ptr, i32 } %360, 1
  store i32 %362, ptr %17, align 4
  br label %437

363:                                              ; preds = %327
  %364 = landingpad { ptr, i32 }
          cleanup
  %365 = extractvalue { ptr, i32 } %364, 0
  store ptr %365, ptr %16, align 8
  %366 = extractvalue { ptr, i32 } %364, 1
  store i32 %366, ptr %17, align 4
  call void @_ZN4dali14SampleViewBaseINS_10CPUBackendEPKvED2Ev(ptr noundef nonnull align 8 dereferenceable(68) %33) #7
  br label %437

367:                                              ; preds = %334, %331
  %368 = landingpad { ptr, i32 }
          cleanup
  %369 = extractvalue { ptr, i32 } %368, 0
  store ptr %369, ptr %16, align 8
  %370 = extractvalue { ptr, i32 } %368, 1
  store i32 %370, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #7
  br label %437

371:                                              ; preds = %349, %346
  %372 = landingpad { ptr, i32 }
          cleanup
  %373 = extractvalue { ptr, i32 } %372, 0
  store ptr %373, ptr %16, align 8
  %374 = extractvalue { ptr, i32 } %372, 1
  store i32 %374, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #7
  br label %437

375:                                              ; preds = %358, %343
  %376 = load ptr, ptr %32, align 8, !tbaa !5
  %377 = invoke noundef zeroext i1 @_ZN4dali16RandomObjectBBox17PickForegroundBoxIlEEbRNS0_13SampleContextIT_EE(ptr noundef nonnull align 8 dereferenceable(4072) %36, ptr noundef nonnull align 8 dereferenceable(952) %376)
          to label %378 unwind label %359

378:                                              ; preds = %375
  br i1 %377, label %379, label %403

379:                                              ; preds = %378
  %380 = load ptr, ptr %32, align 8, !tbaa !5
  %381 = getelementptr inbounds %"struct.dali::RandomObjectBBox::SampleContext.120", ptr %380, i32 0, i32 6
  %382 = load i32, ptr %381, align 8, !tbaa !150
  %383 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 1
  %384 = getelementptr inbounds %"struct.dali::RandomObjectBBox::ClassInfo", ptr %383, i32 0, i32 3
  %385 = load i32, ptr %384, align 8, !tbaa !146
  %386 = icmp ne i32 %382, %385
  br i1 %386, label %391, label %387

387:                                              ; preds = %379
  %388 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 6
  %389 = load i8, ptr %388, align 8, !tbaa !149, !range !144, !noundef !145
  %390 = trunc i8 %389 to i1
  br label %391

391:                                              ; preds = %387, %379
  %392 = phi i1 [ true, %379 ], [ %390, %387 ]
  br i1 %392, label %393, label %394

393:                                              ; preds = %391
  br label %396

394:                                              ; preds = %391
  call void @__assert_fail(ptr noundef @.str.42, ptr noundef @.str.43, i32 noundef 605, ptr noundef @__PRETTY_FUNCTION__._ZN4dali16RandomObjectBBox7RunImplERNS_9WorkspaceE) #8
  unreachable

395:                                              ; No predecessors!
  br label %396

396:                                              ; preds = %395, %393
  %397 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 15
  %398 = load i32, ptr %397, align 8, !tbaa !11
  %399 = load i32, ptr %23, align 4, !tbaa !9
  %400 = load ptr, ptr %32, align 8, !tbaa !5
  %401 = getelementptr inbounds %"struct.dali::RandomObjectBBox::SampleContext.120", ptr %400, i32 0, i32 12
  invoke void @_ZN4dali8StoreBoxIRNS_16RandomObjectBBox13SampleContextIlEUt_EEEvRKNS_14TensorListViewINS_10StorageCPUEiLi1EEESA_NS1_12OutputFormatEiOT_(ptr noundef nonnull align 8 dereferenceable(56) %11, ptr noundef nonnull align 8 dereferenceable(56) %13, i32 noundef %398, i32 noundef %399, ptr noundef nonnull align 8 dereferenceable(64) %401)
          to label %402 unwind label %359

402:                                              ; preds = %396
  br label %423

403:                                              ; preds = %378
  %404 = load ptr, ptr %32, align 8, !tbaa !5
  %405 = getelementptr inbounds %"struct.dali::RandomObjectBBox::SampleContext.120", ptr %404, i32 0, i32 6
  %406 = load i32, ptr %405, align 8, !tbaa !150
  %407 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 1
  %408 = getelementptr inbounds %"struct.dali::RandomObjectBBox::ClassInfo", ptr %407, i32 0, i32 3
  %409 = load i32, ptr %408, align 8, !tbaa !146
  %410 = icmp eq i32 %406, %409
  br i1 %410, label %411, label %412

411:                                              ; preds = %403
  br label %414

412:                                              ; preds = %403
  call void @__assert_fail(ptr noundef @.str.44, ptr noundef @.str.43, i32 noundef 608, ptr noundef @__PRETTY_FUNCTION__._ZN4dali16RandomObjectBBox7RunImplERNS_9WorkspaceE) #8
  unreachable

413:                                              ; No predecessors!
  br label %414

414:                                              ; preds = %413, %411
  %415 = getelementptr inbounds %"class.dali::RandomObjectBBox", ptr %36, i32 0, i32 15
  %416 = load i32, ptr %415, align 8, !tbaa !11
  %417 = load i32, ptr %23, align 4, !tbaa !9
  %418 = load ptr, ptr %5, align 8, !tbaa !5
  %419 = load i32, ptr %23, align 4, !tbaa !9
  %420 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE12tensor_shapeEi(ptr noundef nonnull align 8 dereferenceable(304) %418, i32 noundef %419)
          to label %421 unwind label %359

421:                                              ; preds = %414
  invoke void @_ZN4dali8StoreBoxIRNS_11TensorShapeILin1EEERKS2_EEvRKNS_14TensorListViewINS_10StorageCPUEiLi1EEESA_NS_16RandomObjectBBox12OutputFormatEiOT_OT0_(ptr noundef nonnull align 8 dereferenceable(56) %11, ptr noundef nonnull align 8 dereferenceable(56) %13, i32 noundef %416, i32 noundef %417, ptr noundef nonnull align 8 dereferenceable(56) %21, ptr noundef nonnull align 8 dereferenceable(56) %420)
          to label %422 unwind label %359

422:                                              ; preds = %421
  br label %423

423:                                              ; preds = %422, %402
  %424 = invoke noundef zeroext i1 @_ZNK4dali16RandomObjectBBox19HasClassLabelOutputEv(ptr noundef nonnull align 8 dereferenceable(4072) %36)
          to label %425 unwind label %359

425:                                              ; preds = %423
  br i1 %424, label %426, label %436

426:                                              ; preds = %425
  %427 = load ptr, ptr %32, align 8, !tbaa !5
  %428 = getelementptr inbounds %"struct.dali::RandomObjectBBox::SampleContext.120", ptr %427, i32 0, i32 6
  %429 = load i32, ptr %428, align 8, !tbaa !150
  %430 = getelementptr inbounds %"struct.dali::TensorListViewBase.250", ptr %18, i32 0, i32 1
  %431 = load i32, ptr %23, align 4, !tbaa !9
  %432 = sext i32 %431 to i64
  %433 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPiSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %430, i64 noundef %432) #7
  %434 = load ptr, ptr %433, align 8, !tbaa !5
  %435 = getelementptr inbounds i32, ptr %434, i64 0
  store i32 %429, ptr %435, align 4, !tbaa !9
  br label %436

436:                                              ; preds = %426, %425
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  br label %439

437:                                              ; preds = %371, %367, %363, %359
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  br label %440

438:                                              ; preds = %186
  br label %439

439:                                              ; preds = %438, %436, %317
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #7
  br label %441

440:                                              ; preds = %437, %318, %199
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #7
  br label %445

441:                                              ; preds = %439, %177
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #7
  br label %442

442:                                              ; preds = %441
  %443 = load i32, ptr %23, align 4, !tbaa !9
  %444 = add nsw i32 %443, 1
  store i32 %444, ptr %23, align 4, !tbaa !9
  br label %108, !llvm.loop !151

445:                                              ; preds = %440, %173, %169
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #7
  br label %452

446:                                              ; preds = %112
  %447 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %447, i1 noundef zeroext true)
          to label %448 unwind label %121

448:                                              ; preds = %446
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #7
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %21) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr %21) #7
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi0EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %18) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr %18) #7
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %13) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr %13) #7
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %11) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #7
  store i32 0, ptr %8, align 4
  br label %449

449:                                              ; preds = %448, %43
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #7
  %450 = load i32, ptr %8, align 4
  switch i32 %450, label %462 [
    i32 0, label %451
    i32 1, label %451
  ]

451:                                              ; preds = %449, %449
  ret void

452:                                              ; preds = %445, %121
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #7
  br label %453

453:                                              ; preds = %452, %117
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %21) #7
  br label %454

454:                                              ; preds = %453, %113
  call void @llvm.lifetime.end.p0(i64 56, ptr %21) #7
  br label %455

455:                                              ; preds = %454, %94, %82
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi0EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %18) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr %18) #7
  br label %456

456:                                              ; preds = %455, %69
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %13) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr %13) #7
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %11) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #7
  br label %457

457:                                              ; preds = %456
  %458 = load ptr, ptr %16, align 8
  %459 = load i32, ptr %17, align 4
  %460 = insertvalue { ptr, i32 } poison, ptr %458, 0
  %461 = insertvalue { ptr, i32 } %460, i32 %459, 1
  resume { ptr, i32 } %461

462:                                              ; preds = %449
  unreachable
}

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali4viewIiLi1ENS_10CPUBackendEEENS_14TensorListViewINS_6detail15storage_tag_mapIT1_E4typeET_XT0_EEERNS_10TensorListIS5_EE(ptr dead_on_unwind noalias writable sret(%"struct.dali::TensorListView.242") align 8, ptr noundef nonnull align 8 dereferenceable(304)) #1

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali4viewIiLi0ENS_10CPUBackendEEENS_14TensorListViewINS_6detail15storage_tag_mapIT1_E4typeET_XT0_EEERNS_10TensorListIS5_EE(ptr dead_on_unwind noalias writable sret(%"struct.dali::TensorListView.249") align 8, ptr noundef nonnull align 8 dereferenceable(304)) #1

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef double @_ZNSt25uniform_real_distributionIdEclISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEEEdRT_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(2504)) #1 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNK4dali8ArgValueIfLi0EEixEi(ptr noundef nonnull align 8 dereferenceable(129), i32 noundef) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali8StoreBoxIRNS_11TensorShapeILin1EEERKS2_EEvRKNS_14TensorListViewINS_10StorageCPUEiLi1EEESA_NS_16RandomObjectBBox12OutputFormatEiOT_OT0_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(56), i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(56)) #1

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(952) ptr @_ZN4dali16RandomObjectBBox10GetContextEi(ptr noundef nonnull align 8 dereferenceable(4072), i32 noundef) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali16RandomObjectBBox13SampleContextIiE4InitEiNS_15ConstSampleViewINS_10CPUBackendEEEPNS_10ThreadPoolERNS_6TensorIS4_EESA_(ptr noundef nonnull align 8 dereferenceable(952), i32 noundef, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(272), ptr noundef nonnull align 8 dereferenceable(272)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i64 } @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEiLi1EEixEi(ptr noundef nonnull align 8 dereferenceable(56), i32 noundef) #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN4dali16RandomObjectBBox17PickForegroundBoxIiEEbRNS0_13SampleContextIT_EE(ptr noundef nonnull align 8 dereferenceable(4072), ptr noundef nonnull align 8 dereferenceable(952)) #1 align 2

; Function Attrs: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali8StoreBoxIRNS_16RandomObjectBBox13SampleContextIiEUt_EEEvRKNS_14TensorListViewINS_10StorageCPUEiLi1EEESA_NS1_12OutputFormatEiOT_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(56), i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(64)) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(952) ptr @_ZN4dali16RandomObjectBBox10GetContextEl(ptr noundef nonnull align 8 dereferenceable(4072), i64 noundef) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali16RandomObjectBBox13SampleContextIlE4InitEiNS_15ConstSampleViewINS_10CPUBackendEEEPNS_10ThreadPoolERNS_6TensorIS4_EESA_(ptr noundef nonnull align 8 dereferenceable(952), i32 noundef, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(272), ptr noundef nonnull align 8 dereferenceable(272)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN4dali16RandomObjectBBox17PickForegroundBoxIlEEbRNS0_13SampleContextIT_EE(ptr noundef nonnull align 8 dereferenceable(4072), ptr noundef nonnull align 8 dereferenceable(952)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali8StoreBoxIRNS_16RandomObjectBBox13SampleContextIlEUt_EEEvRKNS_14TensorListViewINS_10StorageCPUEiLi1EEESA_NS1_12OutputFormatEiOT_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(56), i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(64)) #1

declare void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224), i1 noundef zeroext) #3

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

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

!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, !131, i64 4008}
!12 = !{!"_ZTSN4dali16RandomObjectBBoxE", !13, i64 0, !58, i64 448, !61, i64 864, !81, i64 1816, !85, i64 2768, !85, i64 3040, !95, i64 3312, !10, i64 3316, !10, i64 3320, !99, i64 3328, !112, i64 3464, !117, i64 3600, !128, i64 3736, !112, i64 3872, !131, i64 4008, !95, i64 4012, !132, i64 4016}
!13 = !{!"_ZTSN4dali3rng15OperatorWithRngINS_10CPUBackendELb1EEE", !14, i64 0, !51, i64 400, !56, i64 432}
!14 = !{!"_ZTSN4dali8OperatorINS_10CPUBackendEEE", !15, i64 0}
!15 = !{!"_ZTSN4dali12OperatorBaseE", !16, i64 8, !10, i64 336, !10, i64 340, !46, i64 344}
!16 = !{!"_ZTSN4dali6OpSpecE", !17, i64 0, !6, i64 32, !20, i64 40, !24, i64 64, !32, i64 112, !24, i64 136, !36, i64 184, !39, i64 232, !39, i64 256, !43, i64 280}
!17 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !18, i64 0, !19, i64 8, !7, i64 16}
!18 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!19 = !{!"long", !7, i64 0}
!20 = !{!"_ZTSSt6vectorISt10shared_ptrIN4dali8ArgumentEESaIS3_EE", !21, i64 0}
!21 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE12_Vector_implE", !23, i64 0}
!23 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!24 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIvESaISt4pairIKS5_iEEE", !25, i64 0}
!25 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIvESaIS8_EE", !26, i64 0}
!26 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIvESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !27, i64 0, !29, i64 8}
!27 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIvEE", !28, i64 0}
!28 = !{!"_ZTSSt4lessIvE"}
!29 = !{!"_ZTSSt15_Rb_tree_header", !30, i64 0, !19, i64 32}
!30 = !{!"_ZTSSt18_Rb_tree_node_base", !31, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!31 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!32 = !{!"_ZTSSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE", !33, i64 0}
!33 = !{!"_ZTSSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE12_Vector_implE", !35, i64 0}
!35 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!36 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIvESaISt4pairIKS5_S5_EEE", !37, i64 0}
!37 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIvESaIS8_EE", !38, i64 0}
!38 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIvESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !27, i64 0, !29, i64 8}
!39 = !{!"_ZTSSt6vectorIN4dali6OpSpec15InOutDeviceDescESaIS2_EE", !40, i64 0}
!40 = !{!"_ZTSSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE", !41, i64 0}
!41 = !{!"_ZTSNSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE12_Vector_implE", !42, i64 0}
!42 = !{!"_ZTSNSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!43 = !{!"_ZTSSt3mapIN4dali6OpSpec15InOutDeviceDescEiSt4lessIvESaISt4pairIKS2_iEEE", !44, i64 0}
!44 = !{!"_ZTSSt8_Rb_treeIN4dali6OpSpec15InOutDeviceDescESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIvESaIS5_EE", !45, i64 0}
!45 = !{!"_ZTSNSt8_Rb_treeIN4dali6OpSpec15InOutDeviceDescESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIvESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !27, i64 0, !29, i64 8}
!46 = !{!"_ZTSSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3anySt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S6_EEE", !47, i64 0}
!47 = !{!"_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, !19, i64 8, !48, i64 16, !19, i64 24, !49, i64 32, !6, i64 48}
!48 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!49 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !50, i64 0, !19, i64 8}
!50 = !{!"float", !7, i64 0}
!51 = !{!"_ZTSN4dali8BatchRNGISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEEE", !19, i64 0, !52, i64 8}
!52 = !{!"_ZTSSt6vectorISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EESaIS1_EE", !53, i64 0}
!53 = !{!"_ZTSSt12_Vector_baseISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EESaIS1_EE", !54, i64 0}
!54 = !{!"_ZTSNSt12_Vector_baseISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EESaIS1_EE12_Vector_implE", !55, i64 0}
!55 = !{!"_ZTSNSt12_Vector_baseISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!56 = !{!"_ZTSN4dali3rng21OperatorWithRngFieldsINS_10CPUBackendEEE", !57, i64 0}
!57 = !{!"_ZTSSt3any", !6, i64 0, !7, i64 8}
!58 = !{!"_ZTSN4dali16RandomObjectBBox9ClassInfoE", !59, i64 0, !60, i64 136, !60, i64 272, !10, i64 408}
!59 = !{!"_ZTSN4dali11SmallVectorIiLm32ESaIiEEE", !7, i64 0, !19, i64 128}
!60 = !{!"_ZTSN4dali11SmallVectorIfLm32ESaIfEEE", !7, i64 0, !19, i64 128}
!61 = !{!"_ZTSN4dali16RandomObjectBBox13SampleContextIiEE", !6, i64 0, !62, i64 8, !62, i64 72, !67, i64 136, !10, i64 208, !10, i64 212, !10, i64 216, !70, i64 224, !62, i64 288, !72, i64 352, !74, i64 408, !75, i64 864, !79, i64 888}
!62 = !{!"_ZTSN4dali10TensorViewINS_10StorageCPUEiLin1EEE", !63, i64 0}
!63 = !{!"_ZTSN4dali14TensorViewBaseINS_10StorageCPUEiLin1EEE", !6, i64 0, !64, i64 8}
!64 = !{!"_ZTSN4dali11TensorShapeILin1EEE", !65, i64 0}
!65 = !{!"_ZTSN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EEE", !66, i64 0}
!66 = !{!"_ZTSN4dali11SmallVectorIlLm6ESaIlEEE", !7, i64 0, !19, i64 48}
!67 = !{!"_ZTSN4dali15ConstSampleViewINS_10CPUBackendEEE", !68, i64 0}
!68 = !{!"_ZTSN4dali14SampleViewBaseINS_10CPUBackendEPKvEE", !6, i64 0, !64, i64 8, !69, i64 64}
!69 = !{!"_ZTS13_DALIDataType", !7, i64 0}
!70 = !{!"_ZTSN4dali10TensorViewINS_10StorageCPUEhLin1EEE", !71, i64 0}
!71 = !{!"_ZTSN4dali14TensorViewBaseINS_10StorageCPUEhLin1EEE", !6, i64 0, !64, i64 8}
!72 = !{!"_ZTSSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEE", !73, i64 0}
!73 = !{!"_ZTSSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE", !6, i64 0, !19, i64 8, !48, i64 16, !19, i64 24, !49, i64 32, !6, i64 48}
!74 = !{!"_ZTSN4dali11SmallVectorISt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEELm8ESaIS7_EEE", !7, i64 0, !19, i64 448}
!75 = !{!"_ZTSSt6vectorIiSaIiEE", !76, i64 0}
!76 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !77, i64 0}
!77 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !78, i64 0}
!78 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!79 = !{!"_ZTSN4dali16RandomObjectBBox13SampleContextIiEUt_E", !80, i64 0, !80, i64 32}
!80 = !{!"_ZTSN4dali11SmallVectorIiLm6ESaIiEEE", !7, i64 0, !19, i64 24}
!81 = !{!"_ZTSN4dali16RandomObjectBBox13SampleContextIlEE", !6, i64 0, !62, i64 8, !62, i64 72, !67, i64 136, !10, i64 208, !10, i64 212, !10, i64 216, !70, i64 224, !82, i64 288, !72, i64 352, !74, i64 408, !75, i64 864, !84, i64 888}
!82 = !{!"_ZTSN4dali10TensorViewINS_10StorageCPUElLin1EEE", !83, i64 0}
!83 = !{!"_ZTSN4dali14TensorViewBaseINS_10StorageCPUElLin1EEE", !6, i64 0, !64, i64 8}
!84 = !{!"_ZTSN4dali16RandomObjectBBox13SampleContextIlEUt_E", !80, i64 0, !80, i64 32}
!85 = !{!"_ZTSN4dali6TensorINS_10CPUBackendEEE", !86, i64 0, !64, i64 144, !96, i64 200, !98, i64 256}
!86 = !{!"_ZTSN4dali6BufferINS_10CPUBackendEEE", !87, i64 8, !89, i64 48, !92, i64 64, !19, i64 96, !19, i64 104, !10, i64 112, !94, i64 120, !95, i64 136, !95, i64 137}
!87 = !{!"_ZTSN4dali8TypeInfoE", !6, i64 0, !69, i64 8, !19, i64 16, !88, i64 24}
!88 = !{!"_ZTSSt17basic_string_viewIcSt11char_traitsIcEE", !19, i64 0, !6, i64 8}
!89 = !{!"_ZTSSt10shared_ptrIvE", !90, i64 0}
!90 = !{!"_ZTSSt12__shared_ptrIvLN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !91, i64 8}
!91 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!92 = !{!"_ZTSSt8functionIFSt10shared_ptrIhEmEE", !93, i64 0, !6, i64 24}
!93 = !{!"_ZTSSt14_Function_base", !7, i64 0, !6, i64 16}
!94 = !{!"_ZTSN4dali11AccessOrderE", !6, i64 0, !10, i64 8}
!95 = !{!"bool", !7, i64 0}
!96 = !{!"_ZTSN4dali8DALIMetaE", !97, i64 0, !17, i64 16, !95, i64 48}
!97 = !{!"_ZTSN4dali12TensorLayoutE", !7, i64 0}
!98 = !{!"_ZTSN4dali15CUDASharedEventE", !89, i64 0}
!99 = !{!"_ZTSN4dali8ArgValueIiLi0EEE", !17, i64 0, !75, i64 32, !100, i64 56, !95, i64 112, !95, i64 113, !19, i64 120, !95, i64 128}
!100 = !{!"_ZTSN4dali14TensorListViewINS_10StorageCPUEKiLi0EEE", !101, i64 0}
!101 = !{!"_ZTSN4dali18TensorListViewBaseINS_10StorageCPUEKiLi0EEE", !102, i64 0, !108, i64 32}
!102 = !{!"_ZTSN4dali15TensorListShapeILi0EEE", !103, i64 0}
!103 = !{!"_ZTSN4dali19TensorListShapeBaseINS_15TensorListShapeILi0EEELi0EEE", !104, i64 0, !10, i64 24}
!104 = !{!"_ZTSSt6vectorIlSaIlEE", !105, i64 0}
!105 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !106, i64 0}
!106 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !107, i64 0}
!107 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!108 = !{!"_ZTSSt6vectorIPKiSaIS1_EE", !109, i64 0}
!109 = !{!"_ZTSSt12_Vector_baseIPKiSaIS1_EE", !110, i64 0}
!110 = !{!"_ZTSNSt12_Vector_baseIPKiSaIS1_EE12_Vector_implE", !111, i64 0}
!111 = !{!"_ZTSNSt12_Vector_baseIPKiSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!112 = !{!"_ZTSN4dali8ArgValueIiLi1EEE", !17, i64 0, !75, i64 32, !113, i64 56, !95, i64 112, !95, i64 113, !19, i64 120, !95, i64 128}
!113 = !{!"_ZTSN4dali14TensorListViewINS_10StorageCPUEKiLi1EEE", !114, i64 0}
!114 = !{!"_ZTSN4dali18TensorListViewBaseINS_10StorageCPUEKiLi1EEE", !115, i64 0, !108, i64 32}
!115 = !{!"_ZTSN4dali15TensorListShapeILi1EEE", !116, i64 0}
!116 = !{!"_ZTSN4dali19TensorListShapeBaseINS_15TensorListShapeILi1EEELi1EEE", !104, i64 0, !10, i64 24}
!117 = !{!"_ZTSN4dali8ArgValueIfLi0EEE", !17, i64 0, !118, i64 32, !122, i64 56, !95, i64 112, !95, i64 113, !19, i64 120, !95, i64 128}
!118 = !{!"_ZTSSt6vectorIfSaIfEE", !119, i64 0}
!119 = !{!"_ZTSSt12_Vector_baseIfSaIfEE", !120, i64 0}
!120 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE12_Vector_implE", !121, i64 0}
!121 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!122 = !{!"_ZTSN4dali14TensorListViewINS_10StorageCPUEKfLi0EEE", !123, i64 0}
!123 = !{!"_ZTSN4dali18TensorListViewBaseINS_10StorageCPUEKfLi0EEE", !102, i64 0, !124, i64 32}
!124 = !{!"_ZTSSt6vectorIPKfSaIS1_EE", !125, i64 0}
!125 = !{!"_ZTSSt12_Vector_baseIPKfSaIS1_EE", !126, i64 0}
!126 = !{!"_ZTSNSt12_Vector_baseIPKfSaIS1_EE12_Vector_implE", !127, i64 0}
!127 = !{!"_ZTSNSt12_Vector_baseIPKfSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!128 = !{!"_ZTSN4dali8ArgValueIfLi1EEE", !17, i64 0, !118, i64 32, !129, i64 56, !95, i64 112, !95, i64 113, !19, i64 120, !95, i64 128}
!129 = !{!"_ZTSN4dali14TensorListViewINS_10StorageCPUEKfLi1EEE", !130, i64 0}
!130 = !{!"_ZTSN4dali18TensorListViewBaseINS_10StorageCPUEKfLi1EEE", !115, i64 0, !124, i64 32}
!131 = !{!"_ZTSN4dali16RandomObjectBBox12OutputFormatE", !7, i64 0}
!132 = !{!"_ZTSSt13unordered_mapIN4dali7kernels11fast_hash_tENS0_16RandomObjectBBox10CacheEntryESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !133, i64 0}
!133 = !{!"_ZTSSt10_HashtableIN4dali7kernels11fast_hash_tESt4pairIKS2_NS0_16RandomObjectBBox10CacheEntryEESaIS7_ENSt8__detail10_Select1stESt8equal_toIS2_ESt4hashIS2_ENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb1ELb0ELb1EEEE", !6, i64 0, !19, i64 8, !48, i64 16, !19, i64 24, !49, i64 32, !6, i64 48}
!134 = !{!12, !10, i64 3320}
!135 = !{!12, !6, i64 864}
!136 = !{!12, !6, i64 1816}
!137 = !{!138, !6, i64 0}
!138 = !{!"_ZTSN4dali14TensorViewBaseINS_10StorageCPUEKfLi0EEE", !6, i64 0, !139, i64 8}
!139 = !{!"_ZTSN4dali11TensorShapeILi0EEE", !140, i64 0}
!140 = !{!"_ZTSN4dali15TensorShapeBaseINS_11DeviceArrayIlLm0EEELi0EEE", !141, i64 0}
!141 = !{!"_ZTSN4dali11DeviceArrayIlLm0EEE"}
!142 = !{!50, !50, i64 0}
!143 = !{!95, !95, i64 0}
!144 = !{i8 0, i8 2}
!145 = !{}
!146 = !{!12, !10, i64 856}
!147 = !{!69, !69, i64 0}
!148 = !{!61, !10, i64 216}
!149 = !{!12, !95, i64 3312}
!150 = !{!81, !10, i64 216}
!151 = distinct !{!151, !152}
!152 = !{!"llvm.loop.mustprogress"}


; 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.dali::ConstSampleView" = type { %"class.dali::SampleViewBase.base", [4 x i8] }
%"class.dali::SampleViewBase.base" = type <{ ptr, %"struct.dali::TensorShape", i32 }>
%"struct.dali::TensorShape" = type { %"struct.dali::TensorShapeBase" }
%"struct.dali::TensorShapeBase" = type { %"class.dali::SmallVector.80" }
%"class.dali::SmallVector.80" = type { %union.anon.83, i64 }
%union.anon.83 = type { %struct.anon.84, [32 x i8] }
%struct.anon.84 = type { ptr, i64 }
%"struct.dali::TensorListView.242" = type { %"struct.dali::TensorListViewBase.243" }
%"struct.dali::TensorListViewBase.243" = type { %"struct.dali::TensorListShape.140", %"class.std::vector.244" }
%"struct.dali::TensorListShape.140" = type { %"struct.dali::TensorListShapeBase.base.142", [4 x i8] }
%"struct.dali::TensorListShapeBase.base.142" = type <{ %"class.std::vector.127", i32 }>
%"class.std::vector.127" = type { %"struct.std::_Vector_base.128" }
%"struct.std::_Vector_base.128" = 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.std::vector.244" = type { %"struct.std::_Vector_base.245" }
%"struct.std::_Vector_base.245" = type { %"struct.std::_Vector_base<int *, std::allocator<int *>>::_Vector_impl" }
%"struct.std::_Vector_base<int *, std::allocator<int *>>::_Vector_impl" = type { %"struct.std::_Vector_base<int *, std::allocator<int *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int *, std::allocator<int *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.dali::TensorListView.249" = type { %"struct.dali::TensorListViewBase.250" }
%"struct.dali::TensorListViewBase.250" = type { %"struct.dali::TensorListShape", %"class.std::vector.244" }
%"struct.dali::TensorListShape" = type { %"struct.dali::TensorListShapeBase.base", [4 x i8] }
%"struct.dali::TensorListShapeBase.base" = type <{ %"class.std::vector.127", i32 }>
%"class.std::uniform_real_distribution" = type { %"struct.std::uniform_real_distribution<>::param_type" }
%"struct.std::uniform_real_distribution<>::param_type" = type { double, double }
%"struct.dali::TensorView.255" = type { %"struct.dali::TensorViewBase.256" }
%"struct.dali::TensorViewBase.256" = type { ptr, %"struct.dali::TensorShape.215" }
%"struct.dali::TensorShape.215" = type { %"struct.dali::TensorShapeBase.216" }
%"struct.dali::TensorShapeBase.216" = type { %"class.dali::DeviceArray" }
%"class.dali::DeviceArray" = type { [1 x i64] }

@.str.42 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [95 x i8], align 1
@__PRETTY_FUNCTION__._ZN4dali16RandomObjectBBox7RunImplERNS_9WorkspaceE = external hidden unnamed_addr constant [58 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [42 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

declare i32 @__gxx_personality_v0(...)

; 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 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 #1 align 2

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali16RandomObjectBBox19AllocateTempStorageERKNS_10TensorListINS_10CPUBackendEEE(ptr noundef nonnull align 8 dereferenceable(4072), ptr noundef nonnull align 8 dereferenceable(304)) local_unnamed_addr #1 align 2

declare void @_ZNK4dali10TensorListINS_10CPUBackendEEixEm(ptr dead_on_unwind writable sret(%"class.dali::ConstSampleView") align 8, ptr noundef nonnull align 8 dereferenceable(304), i64 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(56) ptr @_ZNK4dali14SampleViewBaseINS_10CPUBackendEPKvE5shapeEv(ptr noundef nonnull align 8 dereferenceable(68)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZNK4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EE12num_elementsEv(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #1 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4dali16RandomObjectBBox7RunImplERNS_9WorkspaceE(ptr noundef nonnull align 8 dereferenceable(4072) %0, ptr noundef nonnull align 8 dereferenceable(664) %1) unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"struct.dali::TensorListView.242", align 8
  %4 = alloca %"struct.dali::TensorListView.242", align 8
  %5 = alloca %"struct.dali::TensorListView.242", align 8
  %6 = alloca %"struct.dali::TensorListView.249", align 8
  %7 = alloca %"struct.dali::TensorListView.249", align 8
  %8 = alloca %"struct.dali::TensorShape", align 8
  %9 = alloca %"class.std::uniform_real_distribution", align 8
  %10 = alloca %"class.dali::ConstSampleView", align 8
  %11 = alloca %"class.dali::ConstSampleView", align 8
  %12 = alloca %"struct.dali::TensorView.255", align 8
  %13 = alloca %"struct.dali::TensorView.255", align 8
  %14 = alloca %"class.dali::ConstSampleView", align 8
  %15 = alloca %"struct.dali::TensorView.255", align 8
  %16 = alloca %"struct.dali::TensorView.255", align 8
  %17 = tail call noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE5InputINS_10CPUBackendEEERKDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %1, i32 noundef 0)
  %18 = tail call noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE11num_samplesEv(ptr noundef nonnull align 8 dereferenceable(304) %17) #7
  %19 = icmp eq i32 %18, 0
  br i1 %19, label %217, label %20

20:                                               ; preds = %2
  %21 = tail call noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(304) %17)
  %22 = tail call noundef nonnull align 8 dereferenceable(224) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE13GetThreadPoolEv(ptr noundef nonnull align 8 dereferenceable(664) %1)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %3) #7
  %23 = tail call noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE6OutputINS_10CPUBackendEEERDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %1, i32 noundef 0)
  call void @_ZN4dali4viewIiLi1ENS_10CPUBackendEEENS_14TensorListViewINS_6detail15storage_tag_mapIT1_E4typeET_XT0_EEERNS_10TensorListIS5_EE(ptr dead_on_unwind nonnull writable sret(%"struct.dali::TensorListView.242") align 8 %3, ptr noundef nonnull align 8 dereferenceable(304) %23)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %4) #7
  call void @_ZN4dali14TensorListViewINS_10StorageCPUEiLi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %4) #7
  %24 = getelementptr inbounds i8, ptr %0, i64 4008
  %25 = load i32, ptr %24, align 8, !tbaa !5
  %.not = icmp eq i32 %25, 2
  br i1 %.not, label %37, label %26

26:                                               ; preds = %20
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %5) #7
  %27 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE6OutputINS_10CPUBackendEEERDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %1, i32 noundef 1)
          to label %28 unwind label %32

28:                                               ; preds = %26
  invoke void @_ZN4dali4viewIiLi1ENS_10CPUBackendEEENS_14TensorListViewINS_6detail15storage_tag_mapIT1_E4typeET_XT0_EEERNS_10TensorListIS5_EE(ptr dead_on_unwind nonnull writable sret(%"struct.dali::TensorListView.242") align 8 %5, ptr noundef nonnull align 8 dereferenceable(304) %27)
          to label %29 unwind label %32

29:                                               ; preds = %28
  %30 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZN4dali14TensorListViewINS_10StorageCPUEiLi1EEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(56) %4, ptr noundef nonnull align 8 dereferenceable(56) %5)
          to label %31 unwind label %34

31:                                               ; preds = %29
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %5) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %5) #7
  br label %37

32:                                               ; preds = %28, %26
  %33 = landingpad { ptr, i32 }
          cleanup
  br label %36

34:                                               ; preds = %29
  %35 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %5) #7
  br label %36

36:                                               ; preds = %34, %32
  %.pn = phi { ptr, i32 } [ %35, %34 ], [ %33, %32 ]
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %5) #7
  br label %222

37:                                               ; preds = %31, %20
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %6) #7
  call void @_ZN4dali14TensorListViewINS_10StorageCPUEiLi0EEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %6) #7
  %38 = call noundef zeroext i1 @_ZNK4dali16RandomObjectBBox19HasClassLabelOutputEv(ptr noundef nonnull align 8 dereferenceable(4072) %0)
  br i1 %38, label %39, label %52

39:                                               ; preds = %37
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %7) #7
  %40 = getelementptr inbounds i8, ptr %0, i64 3320
  %41 = load i32, ptr %40, align 8, !tbaa !132
  %42 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE6OutputINS_10CPUBackendEEERDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %1, i32 noundef %41)
          to label %43 unwind label %47

43:                                               ; preds = %39
  invoke void @_ZN4dali4viewIiLi0ENS_10CPUBackendEEENS_14TensorListViewINS_6detail15storage_tag_mapIT1_E4typeET_XT0_EEERNS_10TensorListIS5_EE(ptr dead_on_unwind nonnull writable sret(%"struct.dali::TensorListView.249") align 8 %7, ptr noundef nonnull align 8 dereferenceable(304) %42)
          to label %44 unwind label %47

44:                                               ; preds = %43
  %45 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZN4dali14TensorListViewINS_10StorageCPUEiLi0EEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(56) %6, ptr noundef nonnull align 8 dereferenceable(56) %7)
          to label %46 unwind label %49

46:                                               ; preds = %44
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi0EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %7) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %7) #7
  br label %52

47:                                               ; preds = %43, %39
  %48 = landingpad { ptr, i32 }
          cleanup
  br label %51

49:                                               ; preds = %44
  %50 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi0EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %7) #7
  br label %51

51:                                               ; preds = %49, %47
  %.pn84 = phi { ptr, i32 } [ %50, %49 ], [ %48, %47 ]
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %7) #7
  br label %221

52:                                               ; preds = %46, %37
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %8) #7
  invoke void @_ZN4dali11TensorShapeILin1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %8)
          to label %53 unwind label %70

53:                                               ; preds = %52
  invoke void @_ZN4dali11TensorShapeILin1EE6resizeEi(ptr noundef nonnull align 8 dereferenceable(56) %8, i32 noundef %21)
          to label %54 unwind label %72

54:                                               ; preds = %53
  %55 = getelementptr inbounds i8, ptr %0, i64 864
  store ptr %22, ptr %55, align 8, !tbaa !133
  %56 = getelementptr inbounds i8, ptr %0, i64 1816
  store ptr %22, ptr %56, align 8, !tbaa !134
  invoke void @_ZN4dali16RandomObjectBBox19AllocateTempStorageERKNS_10TensorListINS_10CPUBackendEEE(ptr noundef nonnull align 8 dereferenceable(4072) %0, ptr noundef nonnull align 8 dereferenceable(304) %17)
          to label %57 unwind label %72

57:                                               ; preds = %54
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) #7
  invoke void @_ZNSt25uniform_real_distributionIdEC2Edd(ptr noundef nonnull align 8 dereferenceable(16) %9, double noundef 0.000000e+00, double noundef 1.000000e+00)
          to label %.preheader unwind label %74

.preheader:                                       ; preds = %57
  %58 = icmp sgt i32 %18, 0
  br i1 %58, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %.preheader
  %59 = getelementptr inbounds i8, ptr %0, i64 400
  %60 = getelementptr inbounds i8, ptr %0, i64 3600
  %61 = getelementptr inbounds i8, ptr %0, i64 856
  %62 = getelementptr inbounds i8, ptr %6, i64 32
  %63 = getelementptr inbounds i8, ptr %0, i64 3040
  %64 = getelementptr inbounds i8, ptr %0, i64 2768
  %65 = getelementptr inbounds i8, ptr %12, i64 8
  %66 = getelementptr inbounds i8, ptr %13, i64 8
  %67 = getelementptr inbounds i8, ptr %0, i64 3312
  %68 = getelementptr inbounds i8, ptr %15, i64 8
  %69 = getelementptr inbounds i8, ptr %16, i64 8
  %wide.trip.count = zext nneg i32 %18 to i64
  br label %76

._crit_edge:                                      ; preds = %215, %.preheader
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %22, i1 noundef zeroext true)
          to label %216 unwind label %74

70:                                               ; preds = %52
  %71 = landingpad { ptr, i32 }
          cleanup
  br label %220

72:                                               ; preds = %54, %53
  %73 = landingpad { ptr, i32 }
          cleanup
  br label %219

74:                                               ; preds = %._crit_edge, %57
  %75 = landingpad { ptr, i32 }
          cleanup
  br label %218

76:                                               ; preds = %.lr.ph, %215
  %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %215 ]
  %77 = trunc nuw nsw i64 %indvars.iv to i32
  %78 = call noundef nonnull align 8 dereferenceable(2504) ptr @_ZN4dali8BatchRNGISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEEixEi(ptr noundef nonnull align 8 dereferenceable(32) %59, i32 noundef %77) #7
  %79 = invoke noundef double @_ZNSt25uniform_real_distributionIdEclISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEEEdRT_(ptr noundef nonnull align 8 dereferenceable(16) %9, ptr noundef nonnull align 8 dereferenceable(2504) %78)
          to label %80 unwind label %93

80:                                               ; preds = %76
  %81 = invoke ptr @_ZNK4dali8ArgValueIfLi0EEixEi(ptr noundef nonnull align 8 dereferenceable(129) %60, i32 noundef %77)
          to label %82 unwind label %95

82:                                               ; preds = %80
  %83 = load float, ptr %81, align 4, !tbaa !135
  %84 = fpext float %83 to double
  %85 = fcmp olt double %79, %84
  br i1 %85, label %97, label %86

86:                                               ; preds = %82
  %87 = load i32, ptr %24, align 8, !tbaa !5
  %88 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE12tensor_shapeEi(ptr noundef nonnull align 8 dereferenceable(304) %17, i32 noundef %77)
          to label %89 unwind label %93

89:                                               ; preds = %86
  invoke void @_ZN4dali8StoreBoxIRNS_11TensorShapeILin1EEERKS2_EEvRKNS_14TensorListViewINS_10StorageCPUEiLi1EEESA_NS_16RandomObjectBBox12OutputFormatEiOT_OT0_(ptr noundef nonnull align 8 dereferenceable(56) %3, ptr noundef nonnull align 8 dereferenceable(56) %4, i32 noundef %87, i32 noundef %77, ptr noundef nonnull align 8 dereferenceable(56) %8, ptr noundef nonnull align 8 dereferenceable(56) %88)
          to label %90 unwind label %93

90:                                               ; preds = %89
  %91 = call noundef zeroext i1 @_ZNK4dali16RandomObjectBBox19HasClassLabelOutputEv(ptr noundef nonnull align 8 dereferenceable(4072) %0)
  br i1 %91, label %92, label %215

92:                                               ; preds = %90
  invoke void @_ZN4dali16RandomObjectBBox13InitClassInfoEi(ptr noundef nonnull align 8 dereferenceable(4072) %0, i32 noundef %77)
          to label %.sink.split unwind label %93

93:                                               ; preds = %92, %89, %86, %76
  %94 = landingpad { ptr, i32 }
          cleanup
  br label %218

95:                                               ; preds = %80
  %96 = landingpad { ptr, i32 }
          cleanup
  br label %218

97:                                               ; preds = %82
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %10) #7
  invoke void @_ZNK4dali10TensorListINS_10CPUBackendEEixEm(ptr dead_on_unwind nonnull writable sret(%"class.dali::ConstSampleView") align 8 %10, ptr noundef nonnull align 8 dereferenceable(304) %17, i64 noundef %indvars.iv)
          to label %98 unwind label %103

98:                                               ; preds = %97
  %99 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNK4dali14SampleViewBaseINS_10CPUBackendEPKvE5shapeEv(ptr noundef nonnull align 8 dereferenceable(68) %10)
  %100 = invoke noundef i64 @_ZNK4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EE12num_elementsEv(ptr noundef nonnull align 8 dereferenceable(56) %99)
          to label %101 unwind label %105

101:                                              ; preds = %98
  %102 = icmp sgt i64 %100, 2147483648
  call void @_ZN4dali14SampleViewBaseINS_10CPUBackendEPKvED2Ev(ptr noundef nonnull align 8 dereferenceable(68) %10) #7
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %10) #7
  br i1 %102, label %160, label %108

103:                                              ; preds = %97
  %104 = landingpad { ptr, i32 }
          cleanup
  br label %107

105:                                              ; preds = %98
  %106 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4dali14SampleViewBaseINS_10CPUBackendEPKvED2Ev(ptr noundef nonnull align 8 dereferenceable(68) %10) #7
  br label %107

107:                                              ; preds = %105, %103
  %.pn86 = phi { ptr, i32 } [ %106, %105 ], [ %104, %103 ]
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %10) #7
  br label %218

108:                                              ; preds = %101
  %109 = call noundef nonnull align 8 dereferenceable(952) ptr @_ZN4dali16RandomObjectBBox10GetContextEi(ptr noundef nonnull align 8 dereferenceable(4072) %0, i32 noundef 0)
  invoke void @_ZNK4dali10TensorListINS_10CPUBackendEEixEm(ptr dead_on_unwind nonnull writable sret(%"class.dali::ConstSampleView") align 8 %11, ptr noundef nonnull align 8 dereferenceable(304) %17, i64 noundef %indvars.iv)
          to label %110 unwind label %129

110:                                              ; preds = %108
  invoke void @_ZN4dali16RandomObjectBBox13SampleContextIiE4InitEiNS_15ConstSampleViewINS_10CPUBackendEEEPNS_10ThreadPoolERNS_6TensorIS4_EESA_(ptr noundef nonnull align 8 dereferenceable(952) %109, i32 noundef %77, ptr noundef nonnull %11, ptr noundef nonnull %22, ptr noundef nonnull align 8 dereferenceable(272) %63, ptr noundef nonnull align 8 dereferenceable(272) %64)
          to label %111 unwind label %131

111:                                              ; preds = %110
  call void @_ZN4dali14SampleViewBaseINS_10CPUBackendEPKvED2Ev(ptr noundef nonnull align 8 dereferenceable(68) %11) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #7
  %112 = invoke { ptr, i64 } @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEiLi1EEixEi(ptr noundef nonnull align 8 dereferenceable(56) %3, i32 noundef %77)
          to label %113 unwind label %133

113:                                              ; preds = %111
  %114 = extractvalue { ptr, i64 } %112, 0
  store ptr %114, ptr %12, align 8
  %115 = extractvalue { ptr, i64 } %112, 1
  store i64 %115, ptr %65, align 8
  %116 = getelementptr inbounds i8, ptr %109, i64 8
  %117 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN4dali10TensorViewINS_10StorageCPUEiLin1EEaSILi1EEERS2_ONS0_IS1_iXT_EEE(ptr noundef nonnull align 8 dereferenceable(64) %116, ptr noundef nonnull align 8 dereferenceable(16) %12)
          to label %118 unwind label %133

118:                                              ; preds = %113
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #7
  %119 = call noundef i32 @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEiLi1EE11num_samplesEv(ptr noundef nonnull align 8 dereferenceable(56) %4) #7
  %120 = icmp sgt i32 %119, 0
  br i1 %120, label %121, label %137

121:                                              ; preds = %118
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %13) #7
  %122 = invoke { ptr, i64 } @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEiLi1EEixEi(ptr noundef nonnull align 8 dereferenceable(56) %4, i32 noundef %77)
          to label %123 unwind label %135

123:                                              ; preds = %121
  %124 = extractvalue { ptr, i64 } %122, 0
  store ptr %124, ptr %13, align 8
  %125 = extractvalue { ptr, i64 } %122, 1
  store i64 %125, ptr %66, align 8
  %126 = getelementptr inbounds i8, ptr %109, i64 72
  %127 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN4dali10TensorViewINS_10StorageCPUEiLin1EEaSILi1EEERS2_ONS0_IS1_iXT_EEE(ptr noundef nonnull align 8 dereferenceable(64) %126, ptr noundef nonnull align 8 dereferenceable(16) %13)
          to label %128 unwind label %135

128:                                              ; preds = %123
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #7
  br label %137

129:                                              ; preds = %155, %152, %.critedge, %137, %108
  %130 = landingpad { ptr, i32 }
          cleanup
  br label %218

131:                                              ; preds = %110
  %132 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4dali14SampleViewBaseINS_10CPUBackendEPKvED2Ev(ptr noundef nonnull align 8 dereferenceable(68) %11) #7
  br label %218

133:                                              ; preds = %113, %111
  %134 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #7
  br label %218

135:                                              ; preds = %123, %121
  %136 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #7
  br label %218

137:                                              ; preds = %128, %118
  %138 = invoke noundef zeroext i1 @_ZN4dali16RandomObjectBBox17PickForegroundBoxIiEEbRNS0_13SampleContextIT_EE(ptr noundef nonnull align 8 dereferenceable(4072) %0, ptr noundef nonnull align 8 dereferenceable(952) %109)
          to label %139 unwind label %129

139:                                              ; preds = %137
  %140 = getelementptr inbounds i8, ptr %109, i64 216
  %141 = load i32, ptr %140, align 8, !tbaa !136
  %142 = load i32, ptr %61, align 8, !tbaa !137
  %.not91 = icmp eq i32 %141, %142
  br i1 %138, label %143, label %150

143:                                              ; preds = %139
  br i1 %.not91, label %144, label %.critedge

144:                                              ; preds = %143
  %145 = load i8, ptr %67, align 8, !tbaa !138, !range !139, !noundef !140
  %146 = trunc nuw i8 %145 to i1
  br i1 %146, label %.critedge, label %147

147:                                              ; preds = %144
  call void @__assert_fail(ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.43, i32 noundef 605, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN4dali16RandomObjectBBox7RunImplERNS_9WorkspaceE) #8
  unreachable

.critedge:                                        ; preds = %143, %144
  %148 = load i32, ptr %24, align 8, !tbaa !5
  %149 = getelementptr inbounds i8, ptr %109, i64 888
  invoke void @_ZN4dali8StoreBoxIRNS_16RandomObjectBBox13SampleContextIiEUt_EEEvRKNS_14TensorListViewINS_10StorageCPUEiLi1EEESA_NS1_12OutputFormatEiOT_(ptr noundef nonnull align 8 dereferenceable(56) %3, ptr noundef nonnull align 8 dereferenceable(56) %4, i32 noundef %148, i32 noundef %77, ptr noundef nonnull align 8 dereferenceable(64) %149)
          to label %156 unwind label %129

150:                                              ; preds = %139
  br i1 %.not91, label %152, label %151

151:                                              ; preds = %150
  call void @__assert_fail(ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.43, i32 noundef 608, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN4dali16RandomObjectBBox7RunImplERNS_9WorkspaceE) #8
  unreachable

152:                                              ; preds = %150
  %153 = load i32, ptr %24, align 8, !tbaa !5
  %154 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE12tensor_shapeEi(ptr noundef nonnull align 8 dereferenceable(304) %17, i32 noundef %77)
          to label %155 unwind label %129

155:                                              ; preds = %152
  invoke void @_ZN4dali8StoreBoxIRNS_11TensorShapeILin1EEERKS2_EEvRKNS_14TensorListViewINS_10StorageCPUEiLi1EEESA_NS_16RandomObjectBBox12OutputFormatEiOT_OT0_(ptr noundef nonnull align 8 dereferenceable(56) %3, ptr noundef nonnull align 8 dereferenceable(56) %4, i32 noundef %153, i32 noundef %77, ptr noundef nonnull align 8 dereferenceable(56) %8, ptr noundef nonnull align 8 dereferenceable(56) %154)
          to label %156 unwind label %129

156:                                              ; preds = %155, %.critedge
  %157 = call noundef zeroext i1 @_ZNK4dali16RandomObjectBBox19HasClassLabelOutputEv(ptr noundef nonnull align 8 dereferenceable(4072) %0)
  br i1 %157, label %158, label %215

158:                                              ; preds = %156
  %159 = getelementptr inbounds i8, ptr %109, i64 216
  br label %.sink.split

160:                                              ; preds = %101
  %161 = call noundef nonnull align 8 dereferenceable(952) ptr @_ZN4dali16RandomObjectBBox10GetContextEl(ptr noundef nonnull align 8 dereferenceable(4072) %0, i64 noundef 0)
  invoke void @_ZNK4dali10TensorListINS_10CPUBackendEEixEm(ptr dead_on_unwind nonnull writable sret(%"class.dali::ConstSampleView") align 8 %14, ptr noundef nonnull align 8 dereferenceable(304) %17, i64 noundef %indvars.iv)
          to label %162 unwind label %181

162:                                              ; preds = %160
  invoke void @_ZN4dali16RandomObjectBBox13SampleContextIlE4InitEiNS_15ConstSampleViewINS_10CPUBackendEEEPNS_10ThreadPoolERNS_6TensorIS4_EESA_(ptr noundef nonnull align 8 dereferenceable(952) %161, i32 noundef %77, ptr noundef nonnull %14, ptr noundef nonnull %22, ptr noundef nonnull align 8 dereferenceable(272) %63, ptr noundef nonnull align 8 dereferenceable(272) %64)
          to label %163 unwind label %183

163:                                              ; preds = %162
  call void @_ZN4dali14SampleViewBaseINS_10CPUBackendEPKvED2Ev(ptr noundef nonnull align 8 dereferenceable(68) %14) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %15) #7
  %164 = invoke { ptr, i64 } @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEiLi1EEixEi(ptr noundef nonnull align 8 dereferenceable(56) %3, i32 noundef %77)
          to label %165 unwind label %185

165:                                              ; preds = %163
  %166 = extractvalue { ptr, i64 } %164, 0
  store ptr %166, ptr %15, align 8
  %167 = extractvalue { ptr, i64 } %164, 1
  store i64 %167, ptr %68, align 8
  %168 = getelementptr inbounds i8, ptr %161, i64 8
  %169 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN4dali10TensorViewINS_10StorageCPUEiLin1EEaSILi1EEERS2_ONS0_IS1_iXT_EEE(ptr noundef nonnull align 8 dereferenceable(64) %168, ptr noundef nonnull align 8 dereferenceable(16) %15)
          to label %170 unwind label %185

170:                                              ; preds = %165
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #7
  %171 = call noundef i32 @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEiLi1EE11num_samplesEv(ptr noundef nonnull align 8 dereferenceable(56) %4) #7
  %172 = icmp sgt i32 %171, 0
  br i1 %172, label %173, label %189

173:                                              ; preds = %170
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) #7
  %174 = invoke { ptr, i64 } @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEiLi1EEixEi(ptr noundef nonnull align 8 dereferenceable(56) %4, i32 noundef %77)
          to label %175 unwind label %187

175:                                              ; preds = %173
  %176 = extractvalue { ptr, i64 } %174, 0
  store ptr %176, ptr %16, align 8
  %177 = extractvalue { ptr, i64 } %174, 1
  store i64 %177, ptr %69, align 8
  %178 = getelementptr inbounds i8, ptr %161, i64 72
  %179 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN4dali10TensorViewINS_10StorageCPUEiLin1EEaSILi1EEERS2_ONS0_IS1_iXT_EEE(ptr noundef nonnull align 8 dereferenceable(64) %178, ptr noundef nonnull align 8 dereferenceable(16) %16)
          to label %180 unwind label %187

180:                                              ; preds = %175
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #7
  br label %189

181:                                              ; preds = %207, %204, %.critedge2, %189, %160
  %182 = landingpad { ptr, i32 }
          cleanup
  br label %218

183:                                              ; preds = %162
  %184 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4dali14SampleViewBaseINS_10CPUBackendEPKvED2Ev(ptr noundef nonnull align 8 dereferenceable(68) %14) #7
  br label %218

185:                                              ; preds = %165, %163
  %186 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #7
  br label %218

187:                                              ; preds = %175, %173
  %188 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #7
  br label %218

189:                                              ; preds = %180, %170
  %190 = invoke noundef zeroext i1 @_ZN4dali16RandomObjectBBox17PickForegroundBoxIlEEbRNS0_13SampleContextIT_EE(ptr noundef nonnull align 8 dereferenceable(4072) %0, ptr noundef nonnull align 8 dereferenceable(952) %161)
          to label %191 unwind label %181

191:                                              ; preds = %189
  %192 = getelementptr inbounds i8, ptr %161, i64 216
  %193 = load i32, ptr %192, align 8, !tbaa !141
  %194 = load i32, ptr %61, align 8, !tbaa !137
  %.not88 = icmp eq i32 %193, %194
  br i1 %190, label %195, label %202

195:                                              ; preds = %191
  br i1 %.not88, label %196, label %.critedge2

196:                                              ; preds = %195
  %197 = load i8, ptr %67, align 8, !tbaa !138, !range !139, !noundef !140
  %198 = trunc nuw i8 %197 to i1
  br i1 %198, label %.critedge2, label %199

199:                                              ; preds = %196
  call void @__assert_fail(ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.43, i32 noundef 605, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN4dali16RandomObjectBBox7RunImplERNS_9WorkspaceE) #8
  unreachable

.critedge2:                                       ; preds = %195, %196
  %200 = load i32, ptr %24, align 8, !tbaa !5
  %201 = getelementptr inbounds i8, ptr %161, i64 888
  invoke void @_ZN4dali8StoreBoxIRNS_16RandomObjectBBox13SampleContextIlEUt_EEEvRKNS_14TensorListViewINS_10StorageCPUEiLi1EEESA_NS1_12OutputFormatEiOT_(ptr noundef nonnull align 8 dereferenceable(56) %3, ptr noundef nonnull align 8 dereferenceable(56) %4, i32 noundef %200, i32 noundef %77, ptr noundef nonnull align 8 dereferenceable(64) %201)
          to label %208 unwind label %181

202:                                              ; preds = %191
  br i1 %.not88, label %204, label %203

203:                                              ; preds = %202
  call void @__assert_fail(ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.43, i32 noundef 608, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN4dali16RandomObjectBBox7RunImplERNS_9WorkspaceE) #8
  unreachable

204:                                              ; preds = %202
  %205 = load i32, ptr %24, align 8, !tbaa !5
  %206 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE12tensor_shapeEi(ptr noundef nonnull align 8 dereferenceable(304) %17, i32 noundef %77)
          to label %207 unwind label %181

207:                                              ; preds = %204
  invoke void @_ZN4dali8StoreBoxIRNS_11TensorShapeILin1EEERKS2_EEvRKNS_14TensorListViewINS_10StorageCPUEiLi1EEESA_NS_16RandomObjectBBox12OutputFormatEiOT_OT0_(ptr noundef nonnull align 8 dereferenceable(56) %3, ptr noundef nonnull align 8 dereferenceable(56) %4, i32 noundef %205, i32 noundef %77, ptr noundef nonnull align 8 dereferenceable(56) %8, ptr noundef nonnull align 8 dereferenceable(56) %206)
          to label %208 unwind label %181

208:                                              ; preds = %207, %.critedge2
  %209 = call noundef zeroext i1 @_ZNK4dali16RandomObjectBBox19HasClassLabelOutputEv(ptr noundef nonnull align 8 dereferenceable(4072) %0)
  br i1 %209, label %210, label %215

210:                                              ; preds = %208
  %211 = getelementptr inbounds i8, ptr %161, i64 216
  br label %.sink.split

.sink.split:                                      ; preds = %92, %210, %158
  %.sink106 = phi ptr [ %159, %158 ], [ %211, %210 ], [ %61, %92 ]
  %212 = load i32, ptr %.sink106, align 8, !tbaa !142
  %213 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPiSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %62, i64 noundef %indvars.iv) #7
  %214 = load ptr, ptr %213, align 8, !tbaa !143
  store i32 %212, ptr %214, align 4, !tbaa !142
  br label %215

215:                                              ; preds = %.sink.split, %156, %208, %90
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge, label %76, !llvm.loop !144

216:                                              ; preds = %._crit_edge
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #7
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %8) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %8) #7
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi0EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %6) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %6) #7
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %4) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %4) #7
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %3) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %3) #7
  br label %217

217:                                              ; preds = %2, %216
  ret void

218:                                              ; preds = %93, %95, %181, %183, %185, %187, %129, %131, %133, %135, %107, %74
  %.pn89.pn.pn.pn = phi { ptr, i32 } [ %75, %74 ], [ %94, %93 ], [ %96, %95 ], [ %.pn86, %107 ], [ %130, %129 ], [ %136, %135 ], [ %134, %133 ], [ %132, %131 ], [ %182, %181 ], [ %188, %187 ], [ %186, %185 ], [ %184, %183 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #7
  br label %219

219:                                              ; preds = %218, %72
  %.pn89.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn89.pn.pn.pn, %218 ], [ %73, %72 ]
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %8) #7
  br label %220

220:                                              ; preds = %219, %70
  %.pn89.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn89.pn.pn.pn.pn, %219 ], [ %71, %70 ]
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %8) #7
  br label %221

221:                                              ; preds = %220, %51
  %.pn89.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn89.pn.pn.pn.pn.pn, %220 ], [ %.pn84, %51 ]
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi0EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %6) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %6) #7
  br label %222

222:                                              ; preds = %221, %36
  %.pn89.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn89.pn.pn.pn.pn.pn.pn, %221 ], [ %.pn, %36 ]
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %4) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %4) #7
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEiLi1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %3) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %3) #7
  resume { ptr, i32 } %.pn89.pn.pn.pn.pn.pn.pn.pn
}

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali4viewIiLi1ENS_10CPUBackendEEENS_14TensorListViewINS_6detail15storage_tag_mapIT1_E4typeET_XT0_EEERNS_10TensorListIS5_EE(ptr dead_on_unwind noalias writable sret(%"struct.dali::TensorListView.242") align 8, ptr noundef nonnull align 8 dereferenceable(304)) local_unnamed_addr #1

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali4viewIiLi0ENS_10CPUBackendEEENS_14TensorListViewINS_6detail15storage_tag_mapIT1_E4typeET_XT0_EEERNS_10TensorListIS5_EE(ptr dead_on_unwind noalias writable sret(%"struct.dali::TensorListView.249") align 8, ptr noundef nonnull align 8 dereferenceable(304)) local_unnamed_addr #1

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef double @_ZNSt25uniform_real_distributionIdEclISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEEEdRT_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(2504)) local_unnamed_addr #1 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNK4dali8ArgValueIfLi0EEixEi(ptr noundef nonnull align 8 dereferenceable(129), i32 noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali8StoreBoxIRNS_11TensorShapeILin1EEERKS2_EEvRKNS_14TensorListViewINS_10StorageCPUEiLi1EEESA_NS_16RandomObjectBBox12OutputFormatEiOT_OT0_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(56), i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #1

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(952) ptr @_ZN4dali16RandomObjectBBox10GetContextEi(ptr noundef nonnull align 8 dereferenceable(4072), i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali16RandomObjectBBox13SampleContextIiE4InitEiNS_15ConstSampleViewINS_10CPUBackendEEEPNS_10ThreadPoolERNS_6TensorIS4_EESA_(ptr noundef nonnull align 8 dereferenceable(952), i32 noundef, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(272), ptr noundef nonnull align 8 dereferenceable(272)) local_unnamed_addr #1 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN4dali16RandomObjectBBox17PickForegroundBoxIiEEbRNS0_13SampleContextIT_EE(ptr noundef nonnull align 8 dereferenceable(4072), ptr noundef nonnull align 8 dereferenceable(952)) local_unnamed_addr #1 align 2

; Function Attrs: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali8StoreBoxIRNS_16RandomObjectBBox13SampleContextIiEUt_EEEvRKNS_14TensorListViewINS_10StorageCPUEiLi1EEESA_NS1_12OutputFormatEiOT_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(56), i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(64)) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(952) ptr @_ZN4dali16RandomObjectBBox10GetContextEl(ptr noundef nonnull align 8 dereferenceable(4072), i64 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali16RandomObjectBBox13SampleContextIlE4InitEiNS_15ConstSampleViewINS_10CPUBackendEEEPNS_10ThreadPoolERNS_6TensorIS4_EESA_(ptr noundef nonnull align 8 dereferenceable(952), i32 noundef, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(272), ptr noundef nonnull align 8 dereferenceable(272)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN4dali16RandomObjectBBox17PickForegroundBoxIlEEbRNS0_13SampleContextIT_EE(ptr noundef nonnull align 8 dereferenceable(4072), ptr noundef nonnull align 8 dereferenceable(952)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali8StoreBoxIRNS_16RandomObjectBBox13SampleContextIlEUt_EEEvRKNS_14TensorListViewINS_10StorageCPUEiLi1EEESA_NS1_12OutputFormatEiOT_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(56), i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(64)) local_unnamed_addr #1

declare void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224), i1 noundef zeroext) local_unnamed_addr #3

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

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

!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, !129, i64 4008}
!6 = !{!"_ZTSN4dali16RandomObjectBBoxE", !7, i64 0, !56, i64 448, !59, i64 864, !79, i64 1816, !83, i64 2768, !83, i64 3040, !93, i64 3312, !43, i64 3316, !43, i64 3320, !97, i64 3328, !110, i64 3464, !115, i64 3600, !126, i64 3736, !110, i64 3872, !129, i64 4008, !93, i64 4012, !130, i64 4016}
!7 = !{!"_ZTSN4dali3rng15OperatorWithRngINS_10CPUBackendELb1EEE", !8, i64 0, !49, i64 400, !54, i64 432}
!8 = !{!"_ZTSN4dali8OperatorINS_10CPUBackendEEE", !9, i64 0}
!9 = !{!"_ZTSN4dali12OperatorBaseE", !10, i64 8, !43, i64 336, !43, i64 340, !44, i64 344}
!10 = !{!"_ZTSN4dali6OpSpecE", !11, i64 0, !13, i64 32, !17, i64 40, !21, i64 64, !29, i64 112, !21, i64 136, !33, i64 184, !36, i64 232, !36, i64 256, !40, i64 280}
!11 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !12, i64 0, !16, i64 8, !14, i64 16}
!12 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !13, i64 0}
!13 = !{!"any pointer", !14, i64 0}
!14 = !{!"omnipotent char", !15, i64 0}
!15 = !{!"Simple C++ TBAA"}
!16 = !{!"long", !14, i64 0}
!17 = !{!"_ZTSSt6vectorISt10shared_ptrIN4dali8ArgumentEESaIS3_EE", !18, i64 0}
!18 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE", !19, i64 0}
!19 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE12_Vector_implE", !20, i64 0}
!20 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!21 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIvESaISt4pairIKS5_iEEE", !22, i64 0}
!22 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIvESaIS8_EE", !23, i64 0}
!23 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIvESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !24, i64 0, !26, i64 8}
!24 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIvEE", !25, i64 0}
!25 = !{!"_ZTSSt4lessIvE"}
!26 = !{!"_ZTSSt15_Rb_tree_header", !27, i64 0, !16, i64 32}
!27 = !{!"_ZTSSt18_Rb_tree_node_base", !28, i64 0, !13, i64 8, !13, i64 16, !13, i64 24}
!28 = !{!"_ZTSSt14_Rb_tree_color", !14, i64 0}
!29 = !{!"_ZTSSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE", !30, i64 0}
!30 = !{!"_ZTSSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE12_Vector_implE", !32, i64 0}
!32 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!33 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIvESaISt4pairIKS5_S5_EEE", !34, i64 0}
!34 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIvESaIS8_EE", !35, i64 0}
!35 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIvESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !24, i64 0, !26, i64 8}
!36 = !{!"_ZTSSt6vectorIN4dali6OpSpec15InOutDeviceDescESaIS2_EE", !37, i64 0}
!37 = !{!"_ZTSSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE", !38, i64 0}
!38 = !{!"_ZTSNSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE12_Vector_implE", !39, i64 0}
!39 = !{!"_ZTSNSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!40 = !{!"_ZTSSt3mapIN4dali6OpSpec15InOutDeviceDescEiSt4lessIvESaISt4pairIKS2_iEEE", !41, i64 0}
!41 = !{!"_ZTSSt8_Rb_treeIN4dali6OpSpec15InOutDeviceDescESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIvESaIS5_EE", !42, i64 0}
!42 = !{!"_ZTSNSt8_Rb_treeIN4dali6OpSpec15InOutDeviceDescESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIvESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !24, i64 0, !26, i64 8}
!43 = !{!"int", !14, i64 0}
!44 = !{!"_ZTSSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3anySt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S6_EEE", !45, i64 0}
!45 = !{!"_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", !13, i64 0, !16, i64 8, !46, i64 16, !16, i64 24, !47, i64 32, !13, i64 48}
!46 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !13, i64 0}
!47 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !48, i64 0, !16, i64 8}
!48 = !{!"float", !14, i64 0}
!49 = !{!"_ZTSN4dali8BatchRNGISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEEE", !16, i64 0, !50, i64 8}
!50 = !{!"_ZTSSt6vectorISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EESaIS1_EE", !51, i64 0}
!51 = !{!"_ZTSSt12_Vector_baseISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EESaIS1_EE", !52, i64 0}
!52 = !{!"_ZTSNSt12_Vector_baseISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EESaIS1_EE12_Vector_implE", !53, i64 0}
!53 = !{!"_ZTSNSt12_Vector_baseISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EESaIS1_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!54 = !{!"_ZTSN4dali3rng21OperatorWithRngFieldsINS_10CPUBackendEEE", !55, i64 0}
!55 = !{!"_ZTSSt3any", !13, i64 0, !14, i64 8}
!56 = !{!"_ZTSN4dali16RandomObjectBBox9ClassInfoE", !57, i64 0, !58, i64 136, !58, i64 272, !43, i64 408}
!57 = !{!"_ZTSN4dali11SmallVectorIiLm32ESaIiEEE", !14, i64 0, !16, i64 128}
!58 = !{!"_ZTSN4dali11SmallVectorIfLm32ESaIfEEE", !14, i64 0, !16, i64 128}
!59 = !{!"_ZTSN4dali16RandomObjectBBox13SampleContextIiEE", !13, i64 0, !60, i64 8, !60, i64 72, !65, i64 136, !43, i64 208, !43, i64 212, !43, i64 216, !68, i64 224, !60, i64 288, !70, i64 352, !72, i64 408, !73, i64 864, !77, i64 888}
!60 = !{!"_ZTSN4dali10TensorViewINS_10StorageCPUEiLin1EEE", !61, i64 0}
!61 = !{!"_ZTSN4dali14TensorViewBaseINS_10StorageCPUEiLin1EEE", !13, i64 0, !62, i64 8}
!62 = !{!"_ZTSN4dali11TensorShapeILin1EEE", !63, i64 0}
!63 = !{!"_ZTSN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EEE", !64, i64 0}
!64 = !{!"_ZTSN4dali11SmallVectorIlLm6ESaIlEEE", !14, i64 0, !16, i64 48}
!65 = !{!"_ZTSN4dali15ConstSampleViewINS_10CPUBackendEEE", !66, i64 0}
!66 = !{!"_ZTSN4dali14SampleViewBaseINS_10CPUBackendEPKvEE", !13, i64 0, !62, i64 8, !67, i64 64}
!67 = !{!"_ZTS13_DALIDataType", !14, i64 0}
!68 = !{!"_ZTSN4dali10TensorViewINS_10StorageCPUEhLin1EEE", !69, i64 0}
!69 = !{!"_ZTSN4dali14TensorViewBaseINS_10StorageCPUEhLin1EEE", !13, i64 0, !62, i64 8}
!70 = !{!"_ZTSSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEE", !71, i64 0}
!71 = !{!"_ZTSSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE", !13, i64 0, !16, i64 8, !46, i64 16, !16, i64 24, !47, i64 32, !13, i64 48}
!72 = !{!"_ZTSN4dali11SmallVectorISt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEELm8ESaIS7_EEE", !14, i64 0, !16, i64 448}
!73 = !{!"_ZTSSt6vectorIiSaIiEE", !74, i64 0}
!74 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !75, i64 0}
!75 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !76, i64 0}
!76 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!77 = !{!"_ZTSN4dali16RandomObjectBBox13SampleContextIiEUt_E", !78, i64 0, !78, i64 32}
!78 = !{!"_ZTSN4dali11SmallVectorIiLm6ESaIiEEE", !14, i64 0, !16, i64 24}
!79 = !{!"_ZTSN4dali16RandomObjectBBox13SampleContextIlEE", !13, i64 0, !60, i64 8, !60, i64 72, !65, i64 136, !43, i64 208, !43, i64 212, !43, i64 216, !68, i64 224, !80, i64 288, !70, i64 352, !72, i64 408, !73, i64 864, !82, i64 888}
!80 = !{!"_ZTSN4dali10TensorViewINS_10StorageCPUElLin1EEE", !81, i64 0}
!81 = !{!"_ZTSN4dali14TensorViewBaseINS_10StorageCPUElLin1EEE", !13, i64 0, !62, i64 8}
!82 = !{!"_ZTSN4dali16RandomObjectBBox13SampleContextIlEUt_E", !78, i64 0, !78, i64 32}
!83 = !{!"_ZTSN4dali6TensorINS_10CPUBackendEEE", !84, i64 0, !62, i64 144, !94, i64 200, !96, i64 256}
!84 = !{!"_ZTSN4dali6BufferINS_10CPUBackendEEE", !85, i64 8, !87, i64 48, !90, i64 64, !16, i64 96, !16, i64 104, !43, i64 112, !92, i64 120, !93, i64 136, !93, i64 137}
!85 = !{!"_ZTSN4dali8TypeInfoE", !13, i64 0, !67, i64 8, !16, i64 16, !86, i64 24}
!86 = !{!"_ZTSSt17basic_string_viewIcSt11char_traitsIcEE", !16, i64 0, !13, i64 8}
!87 = !{!"_ZTSSt10shared_ptrIvE", !88, i64 0}
!88 = !{!"_ZTSSt12__shared_ptrIvLN9__gnu_cxx12_Lock_policyE2EE", !13, i64 0, !89, i64 8}
!89 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !13, i64 0}
!90 = !{!"_ZTSSt8functionIFSt10shared_ptrIhEmEE", !91, i64 0, !13, i64 24}
!91 = !{!"_ZTSSt14_Function_base", !14, i64 0, !13, i64 16}
!92 = !{!"_ZTSN4dali11AccessOrderE", !13, i64 0, !43, i64 8}
!93 = !{!"bool", !14, i64 0}
!94 = !{!"_ZTSN4dali8DALIMetaE", !95, i64 0, !11, i64 16, !93, i64 48}
!95 = !{!"_ZTSN4dali12TensorLayoutE", !14, i64 0}
!96 = !{!"_ZTSN4dali15CUDASharedEventE", !87, i64 0}
!97 = !{!"_ZTSN4dali8ArgValueIiLi0EEE", !11, i64 0, !73, i64 32, !98, i64 56, !93, i64 112, !93, i64 113, !16, i64 120, !93, i64 128}
!98 = !{!"_ZTSN4dali14TensorListViewINS_10StorageCPUEKiLi0EEE", !99, i64 0}
!99 = !{!"_ZTSN4dali18TensorListViewBaseINS_10StorageCPUEKiLi0EEE", !100, i64 0, !106, i64 32}
!100 = !{!"_ZTSN4dali15TensorListShapeILi0EEE", !101, i64 0}
!101 = !{!"_ZTSN4dali19TensorListShapeBaseINS_15TensorListShapeILi0EEELi0EEE", !102, i64 0, !43, i64 24}
!102 = !{!"_ZTSSt6vectorIlSaIlEE", !103, i64 0}
!103 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !104, i64 0}
!104 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !105, i64 0}
!105 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!106 = !{!"_ZTSSt6vectorIPKiSaIS1_EE", !107, i64 0}
!107 = !{!"_ZTSSt12_Vector_baseIPKiSaIS1_EE", !108, i64 0}
!108 = !{!"_ZTSNSt12_Vector_baseIPKiSaIS1_EE12_Vector_implE", !109, i64 0}
!109 = !{!"_ZTSNSt12_Vector_baseIPKiSaIS1_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!110 = !{!"_ZTSN4dali8ArgValueIiLi1EEE", !11, i64 0, !73, i64 32, !111, i64 56, !93, i64 112, !93, i64 113, !16, i64 120, !93, i64 128}
!111 = !{!"_ZTSN4dali14TensorListViewINS_10StorageCPUEKiLi1EEE", !112, i64 0}
!112 = !{!"_ZTSN4dali18TensorListViewBaseINS_10StorageCPUEKiLi1EEE", !113, i64 0, !106, i64 32}
!113 = !{!"_ZTSN4dali15TensorListShapeILi1EEE", !114, i64 0}
!114 = !{!"_ZTSN4dali19TensorListShapeBaseINS_15TensorListShapeILi1EEELi1EEE", !102, i64 0, !43, i64 24}
!115 = !{!"_ZTSN4dali8ArgValueIfLi0EEE", !11, i64 0, !116, i64 32, !120, i64 56, !93, i64 112, !93, i64 113, !16, i64 120, !93, i64 128}
!116 = !{!"_ZTSSt6vectorIfSaIfEE", !117, i64 0}
!117 = !{!"_ZTSSt12_Vector_baseIfSaIfEE", !118, i64 0}
!118 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE12_Vector_implE", !119, i64 0}
!119 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!120 = !{!"_ZTSN4dali14TensorListViewINS_10StorageCPUEKfLi0EEE", !121, i64 0}
!121 = !{!"_ZTSN4dali18TensorListViewBaseINS_10StorageCPUEKfLi0EEE", !100, i64 0, !122, i64 32}
!122 = !{!"_ZTSSt6vectorIPKfSaIS1_EE", !123, i64 0}
!123 = !{!"_ZTSSt12_Vector_baseIPKfSaIS1_EE", !124, i64 0}
!124 = !{!"_ZTSNSt12_Vector_baseIPKfSaIS1_EE12_Vector_implE", !125, i64 0}
!125 = !{!"_ZTSNSt12_Vector_baseIPKfSaIS1_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!126 = !{!"_ZTSN4dali8ArgValueIfLi1EEE", !11, i64 0, !116, i64 32, !127, i64 56, !93, i64 112, !93, i64 113, !16, i64 120, !93, i64 128}
!127 = !{!"_ZTSN4dali14TensorListViewINS_10StorageCPUEKfLi1EEE", !128, i64 0}
!128 = !{!"_ZTSN4dali18TensorListViewBaseINS_10StorageCPUEKfLi1EEE", !113, i64 0, !122, i64 32}
!129 = !{!"_ZTSN4dali16RandomObjectBBox12OutputFormatE", !14, i64 0}
!130 = !{!"_ZTSSt13unordered_mapIN4dali7kernels11fast_hash_tENS0_16RandomObjectBBox10CacheEntryESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !131, i64 0}
!131 = !{!"_ZTSSt10_HashtableIN4dali7kernels11fast_hash_tESt4pairIKS2_NS0_16RandomObjectBBox10CacheEntryEESaIS7_ENSt8__detail10_Select1stESt8equal_toIS2_ESt4hashIS2_ENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb1ELb0ELb1EEEE", !13, i64 0, !16, i64 8, !46, i64 16, !16, i64 24, !47, i64 32, !13, i64 48}
!132 = !{!6, !43, i64 3320}
!133 = !{!6, !13, i64 864}
!134 = !{!6, !13, i64 1816}
!135 = !{!48, !48, i64 0}
!136 = !{!59, !43, i64 216}
!137 = !{!6, !43, i64 856}
!138 = !{!6, !93, i64 3312}
!139 = !{i8 0, i8 2}
!140 = !{}
!141 = !{!79, !43, i64 216}
!142 = !{!43, !43, i64 0}
!143 = !{!13, !13, i64 0}
!144 = distinct !{!144, !145}
!145 = !{!"llvm.loop.mustprogress"}


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