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

; 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::CPUBackend" = type { i8 }
%"struct.dali::TensorListShape" = type { %"struct.dali::TensorListShapeBase.base", i32 }
%"struct.dali::TensorListShapeBase.base" = type <{ %"class.std::vector.63", i32 }>
%"class.std::vector.63" = type { %"struct.std::_Vector_base.64" }
%"struct.std::_Vector_base.64" = 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::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%"struct.dali::OutputDesc" = type { %"struct.dali::TensorListShape", i32, [4 x i8] }
%"class.dali::span" = type { ptr, i64 }
%"struct.dali::TensorListView" = type { %"struct.dali::TensorListViewBase" }
%"struct.dali::TensorListViewBase" = type { %"struct.dali::TensorListShape.74", %"class.std::vector.77" }
%"struct.dali::TensorListShape.74" = type { %"struct.dali::TensorListShapeBase.base.76", [4 x i8] }
%"struct.dali::TensorListShapeBase.base.76" = type <{ %"class.std::vector.63", i32 }>
%"class.std::vector.77" = type { %"struct.std::_Vector_base.78" }
%"struct.std::_Vector_base.78" = 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 }
%"struct.dali::TensorListView.82" = type { %"struct.dali::TensorListViewBase.83" }
%"struct.dali::TensorListViewBase.83" = type { %"struct.dali::TensorListShape.84", %"class.std::vector.77" }
%"struct.dali::TensorListShape.84" = type { %"struct.dali::TensorListShapeBase.base.86", [4 x i8] }
%"struct.dali::TensorListShapeBase.base.86" = type <{ %"class.std::vector.63", i32 }>
%"class.dali::span.144" = type { ptr }
%"class.dali::span.123" = type { ptr, i64 }
%"struct.std::__detail::_Node_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"struct.std::__detail::_Node_iterator_base" = type { ptr }
%"class.dali::SelectMasksCPU" = type <{ %"class.dali::StatelessOperator", %"class.std::vector.118", i8, [7 x i8] }>
%"class.dali::StatelessOperator" = type { %"class.dali::Operator" }
%"class.dali::Operator" = type { %"class.dali::OperatorBase" }
%"class.dali::OperatorBase" = type { ptr, %"class.dali::OpSpec", i32, i32, %"class.std::unordered_map" }
%"class.dali::OpSpec" = type { %"class.std::__cxx11::basic_string", ptr, %"class.std::vector.88", %"class.std::map.28", %"class.std::vector.93", %"class.std::map.28", %"class.std::map.98", %"class.std::vector.103", %"class.std::vector.103", %"class.std::map.108" }
%"class.std::vector.88" = type { %"struct.std::_Vector_base.89" }
%"struct.std::_Vector_base.89" = 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.93" = type { %"struct.std::_Vector_base.94" }
%"struct.std::_Vector_base.94" = 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.28" = type { %"class.std::_Rb_tree.29" }
%"class.std::_Rb_tree.29" = 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.98" = type { %"class.std::_Rb_tree.99" }
%"class.std::_Rb_tree.99" = 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.103" = type { %"struct.std::_Vector_base.104" }
%"struct.std::_Vector_base.104" = 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.108" = type { %"class.std::_Rb_tree.109" }
%"class.std::_Rb_tree.109" = type { %"struct.std::_Rb_tree<dali::OpSpec::InOutDeviceDesc, std::pair<const dali::OpSpec::InOutDeviceDesc, int>, std::_Select1st<std::pair<const dali::OpSpec::InOutDeviceDesc, int>>, std::less<void>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<dali::OpSpec::InOutDeviceDesc, std::pair<const dali::OpSpec::InOutDeviceDesc, int>, std::_Select1st<std::pair<const dali::OpSpec::InOutDeviceDesc, int>>, std::less<void>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::vector.118" = type { %"struct.std::_Vector_base.119" }
%"struct.std::_Vector_base.119" = type { %"struct.std::_Vector_base<dali::SelectMasksCPU::SampleDesc, std::allocator<dali::SelectMasksCPU::SampleDesc>>::_Vector_impl" }
%"struct.std::_Vector_base<dali::SelectMasksCPU::SampleDesc, std::allocator<dali::SelectMasksCPU::SampleDesc>>::_Vector_impl" = type { %"struct.std::_Vector_base<dali::SelectMasksCPU::SampleDesc, std::allocator<dali::SelectMasksCPU::SampleDesc>>::_Vector_impl_data" }
%"struct.std::_Vector_base<dali::SelectMasksCPU::SampleDesc, std::allocator<dali::SelectMasksCPU::SampleDesc>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.dali::SelectMasksCPU::SampleDesc" = type { %"class.dali::span.123", %"class.std::unordered_map.124" }
%"class.std::unordered_map.124" = type { %"class.std::_Hashtable.125" }
%"class.std::_Hashtable.125" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.dali::SelectMasksCPU::PolygonDesc" = type { i32, i32, i32 }
%"struct.std::pair" = type { i32, %"struct.dali::SelectMasksCPU::PolygonDesc" }

@.str.18 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [95 x i8], align 1
@_ZTIN4dali13DALIExceptionE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.24 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [96 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN4dali14SelectMasksCPU9SetupImplERSt6vectorINS_10OutputDescESaIS2_EERKNS_9WorkspaceE(ptr noundef nonnull align 8 dereferenceable(425) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(664) %2) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca i1, align 1
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca %"class.dali::CPUBackend", align 1
  %10 = alloca %"struct.dali::TensorListShape", align 8
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::allocator", align 1
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::allocator", align 1
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::allocator", align 1
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca i1, align 1
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::allocator", align 1
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::allocator", align 1
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::allocator", align 1
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca i1, align 1
  %37 = alloca ptr, align 8
  %38 = alloca %"class.dali::CPUBackend", align 1
  %39 = alloca %"struct.dali::TensorListShape", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::allocator", align 1
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::allocator", align 1
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::allocator", align 1
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca i1, align 1
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.std::allocator", align 1
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca i32, align 4
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::allocator", align 1
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca i1, align 1
  %64 = alloca ptr, align 8
  %65 = alloca %"class.dali::CPUBackend", align 1
  %66 = alloca %"struct.dali::TensorListShape", align 8
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca %"class.std::allocator", align 1
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca i32, align 4
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::allocator", align 1
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca i1, align 1
  %79 = alloca i32, align 4
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca %"class.std::allocator", align 1
  %84 = alloca %"class.std::__cxx11::basic_string", align 8
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca %"class.std::__cxx11::basic_string", align 8
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.std::allocator", align 1
  %91 = alloca %"class.std::__cxx11::basic_string", align 8
  %92 = alloca i1, align 1
  %93 = alloca %"struct.dali::OutputDesc", align 8
  %94 = alloca %"struct.dali::OutputDesc", align 8
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca %"class.dali::span", align 8
  %98 = alloca %"class.std::__cxx11::basic_string", align 8
  %99 = alloca %"class.std::__cxx11::basic_string", align 8
  %100 = alloca %"class.std::__cxx11::basic_string", align 8
  %101 = alloca %"class.std::allocator", align 1
  %102 = alloca %"class.std::__cxx11::basic_string", align 8
  %103 = alloca %"class.std::__cxx11::basic_string", align 8
  %104 = alloca %"class.std::__cxx11::basic_string", align 8
  %105 = alloca %"class.std::__cxx11::basic_string", align 8
  %106 = alloca %"class.std::allocator", align 1
  %107 = alloca %"class.std::__cxx11::basic_string", align 8
  %108 = alloca i1, align 1
  %109 = alloca ptr, align 8
  %110 = alloca %"struct.dali::TensorListView", align 8
  %111 = alloca ptr, align 8
  %112 = alloca %"struct.dali::TensorListView.82", align 8
  %113 = alloca %"struct.dali::TensorListShape", align 8
  %114 = alloca %"struct.dali::TensorListShape", align 8
  %115 = alloca i32, align 4
  %116 = alloca ptr, align 8
  %117 = alloca ptr, align 8
  %118 = alloca i64, align 8
  %119 = alloca %"class.dali::span.144", align 8
  %120 = alloca %"class.dali::span.123", align 8
  %121 = alloca %"class.dali::span", align 8
  %122 = alloca i32, align 4
  %123 = alloca ptr, align 8
  %124 = alloca ptr, align 8
  %125 = alloca ptr, align 8
  %126 = alloca i32, align 4
  %127 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %128 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %129 = alloca %"class.std::__cxx11::basic_string", align 8
  %130 = alloca %"class.std::__cxx11::basic_string", align 8
  %131 = alloca %"class.std::__cxx11::basic_string", align 8
  %132 = alloca %"class.std::allocator", align 1
  %133 = alloca %"class.std::__cxx11::basic_string", align 8
  %134 = alloca i1, align 1
  %135 = alloca i64, align 8
  %136 = alloca %"class.dali::span", align 8
  %137 = alloca i64, align 8
  %138 = alloca %"class.dali::span", align 8
  %139 = alloca i64, align 8
  %140 = alloca ptr, align 8
  %141 = alloca i32, align 4
  %142 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %143 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %144 = alloca ptr, align 8
  %145 = alloca %"class.std::__cxx11::basic_string", align 8
  %146 = alloca %"class.std::__cxx11::basic_string", align 8
  %147 = alloca %"class.std::__cxx11::basic_string", align 8
  %148 = alloca %"class.std::allocator", align 1
  %149 = alloca %"class.std::__cxx11::basic_string", align 8
  %150 = alloca %"class.std::__cxx11::basic_string", align 8
  %151 = alloca %"class.std::__cxx11::basic_string", align 8
  %152 = alloca %"class.std::__cxx11::basic_string", align 8
  %153 = alloca %"class.std::allocator", align 1
  %154 = alloca %"class.std::__cxx11::basic_string", align 8
  %155 = alloca i1, align 1
  %156 = alloca %"class.std::__cxx11::basic_string", align 8
  %157 = alloca %"class.std::__cxx11::basic_string", align 8
  %158 = alloca %"class.std::__cxx11::basic_string", align 8
  %159 = alloca %"class.std::allocator", align 1
  %160 = alloca %"class.std::__cxx11::basic_string", align 8
  %161 = alloca %"class.std::__cxx11::basic_string", align 8
  %162 = alloca %"class.std::__cxx11::basic_string", align 8
  %163 = alloca %"class.std::__cxx11::basic_string", align 8
  %164 = alloca %"class.std::allocator", align 1
  %165 = alloca %"class.std::__cxx11::basic_string", align 8
  %166 = alloca i1, align 1
  %167 = alloca i64, align 8
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca ptr, align 8
  %171 = alloca %"class.std::__cxx11::basic_string", align 8
  %172 = alloca %"class.std::__cxx11::basic_string", align 8
  %173 = alloca %"class.std::__cxx11::basic_string", align 8
  %174 = alloca %"class.std::allocator", align 1
  %175 = alloca %"class.std::__cxx11::basic_string", align 8
  %176 = alloca i1, align 1
  %177 = alloca %"class.dali::span", align 8
  %178 = alloca %"struct.dali::OutputDesc", align 8
  %179 = alloca %"struct.dali::OutputDesc", align 8
  store ptr %0, ptr %5, align 8, !tbaa !5
  store ptr %1, ptr %6, align 8, !tbaa !5
  store ptr %2, ptr %7, align 8, !tbaa !5
  %180 = load ptr, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #6
  %181 = load ptr, ptr %7, align 8, !tbaa !5
  %182 = call noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE5InputINS_10CPUBackendEEERKDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %181, i32 noundef 0)
  store ptr %182, ptr %8, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %10) #6
  %183 = load ptr, ptr %8, align 8, !tbaa !5
  %184 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE5shapeEv(ptr noundef nonnull align 8 dereferenceable(304) %183)
  call void @_ZN4dali15TensorListShapeILin1EEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %184)
  br label %185

185:                                              ; preds = %3
  %186 = load ptr, ptr %8, align 8, !tbaa !5
  %187 = invoke noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %186)
          to label %188 unwind label %203

188:                                              ; preds = %185
  %189 = icmp eq i32 %187, 6
  br i1 %189, label %259, label %190

190:                                              ; preds = %188
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %16) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %191 unwind label %207

191:                                              ; preds = %190
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef @.str.19)
          to label %192 unwind label %211

192:                                              ; preds = %191
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef @.str.20)
          to label %193 unwind label %215

193:                                              ; preds = %192
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %18) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %194 unwind label %221

194:                                              ; preds = %193
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %19) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %195 unwind label %225

195:                                              ; preds = %194
  %196 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %197 unwind label %229

197:                                              ; preds = %195
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #6
  store i1 true, ptr %24, align 1
  %198 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #6
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %199 unwind label %234

199:                                              ; preds = %197
  call void @llvm.lifetime.start.p0(i64 1, ptr %22) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef @.str.23, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %200 unwind label %238

200:                                              ; preds = %199
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %23)
          to label %201 unwind label %242

201:                                              ; preds = %200
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %198, ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef %21, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %202 unwind label %246

202:                                              ; preds = %201
  store i1 false, ptr %24, align 1
  invoke void @__cxa_throw(ptr %198, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1431 unwind label %246

203:                                              ; preds = %262, %185
  %204 = landingpad { ptr, i32 }
          cleanup
  %205 = extractvalue { ptr, i32 } %204, 0
  store ptr %205, ptr %11, align 8
  %206 = extractvalue { ptr, i32 } %204, 1
  store i32 %206, ptr %12, align 4
  br label %1425

207:                                              ; preds = %190
  %208 = landingpad { ptr, i32 }
          cleanup
  %209 = extractvalue { ptr, i32 } %208, 0
  store ptr %209, ptr %11, align 8
  %210 = extractvalue { ptr, i32 } %208, 1
  store i32 %210, ptr %12, align 4
  br label %220

211:                                              ; preds = %191
  %212 = landingpad { ptr, i32 }
          cleanup
  %213 = extractvalue { ptr, i32 } %212, 0
  store ptr %213, ptr %11, align 8
  %214 = extractvalue { ptr, i32 } %212, 1
  store i32 %214, ptr %12, align 4
  br label %219

215:                                              ; preds = %192
  %216 = landingpad { ptr, i32 }
          cleanup
  %217 = extractvalue { ptr, i32 } %216, 0
  store ptr %217, ptr %11, align 8
  %218 = extractvalue { ptr, i32 } %216, 1
  store i32 %218, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  br label %219

219:                                              ; preds = %215, %211
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %220

220:                                              ; preds = %219, %207
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #6
  br label %258

221:                                              ; preds = %193
  %222 = landingpad { ptr, i32 }
          cleanup
  %223 = extractvalue { ptr, i32 } %222, 0
  store ptr %223, ptr %11, align 8
  %224 = extractvalue { ptr, i32 } %222, 1
  store i32 %224, ptr %12, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #6
  br label %257

225:                                              ; preds = %194
  %226 = landingpad { ptr, i32 }
          cleanup
  %227 = extractvalue { ptr, i32 } %226, 0
  store ptr %227, ptr %11, align 8
  %228 = extractvalue { ptr, i32 } %226, 1
  store i32 %228, ptr %12, align 4
  br label %233

229:                                              ; preds = %195
  %230 = landingpad { ptr, i32 }
          cleanup
  %231 = extractvalue { ptr, i32 } %230, 0
  store ptr %231, ptr %11, align 8
  %232 = extractvalue { ptr, i32 } %230, 1
  store i32 %232, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %233

233:                                              ; preds = %229, %225
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #6
  br label %256

234:                                              ; preds = %197
  %235 = landingpad { ptr, i32 }
          cleanup
  %236 = extractvalue { ptr, i32 } %235, 0
  store ptr %236, ptr %11, align 8
  %237 = extractvalue { ptr, i32 } %235, 1
  store i32 %237, ptr %12, align 4
  br label %252

238:                                              ; preds = %199
  %239 = landingpad { ptr, i32 }
          cleanup
  %240 = extractvalue { ptr, i32 } %239, 0
  store ptr %240, ptr %11, align 8
  %241 = extractvalue { ptr, i32 } %239, 1
  store i32 %241, ptr %12, align 4
  br label %251

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

246:                                              ; preds = %202, %201
  %247 = landingpad { ptr, i32 }
          cleanup
  %248 = extractvalue { ptr, i32 } %247, 0
  store ptr %248, ptr %11, align 8
  %249 = extractvalue { ptr, i32 } %247, 1
  store i32 %249, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  br label %250

250:                                              ; preds = %246, %242
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %251

251:                                              ; preds = %250, %238
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %252

252:                                              ; preds = %251, %234
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #6
  %253 = load i1, ptr %24, align 1
  br i1 %253, label %254, label %255

254:                                              ; preds = %252
  call void @__cxa_free_exception(ptr %198) #6
  br label %255

255:                                              ; preds = %254, %252
  br label %256

256:                                              ; preds = %255, %233
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %257

257:                                              ; preds = %256, %221
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  br label %258

258:                                              ; preds = %257, %220
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #6
  br label %1425

259:                                              ; preds = %188
  br label %260

260:                                              ; preds = %259
  br label %261

261:                                              ; preds = %260
  br label %262

262:                                              ; preds = %261
  %263 = invoke noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %264 unwind label %203

264:                                              ; preds = %262
  %265 = icmp eq i32 %263, 1
  br i1 %265, label %331, label %266

266:                                              ; preds = %264
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %267 unwind label %279

267:                                              ; preds = %266
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef @.str.24)
          to label %268 unwind label %283

268:                                              ; preds = %267
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef @.str.20)
          to label %269 unwind label %287

269:                                              ; preds = %268
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %30) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef @.str.25, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %270 unwind label %293

270:                                              ; preds = %269
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %271 unwind label %297

271:                                              ; preds = %270
  %272 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %273 unwind label %301

273:                                              ; preds = %271
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #6
  store i1 true, ptr %36, align 1
  %274 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #6
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %275 unwind label %306

275:                                              ; preds = %273
  call void @llvm.lifetime.start.p0(i64 1, ptr %34) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef @.str.26, ptr noundef nonnull align 1 dereferenceable(1) %34)
          to label %276 unwind label %310

276:                                              ; preds = %275
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %35)
          to label %277 unwind label %314

277:                                              ; preds = %276
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %274, ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef %33, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %278 unwind label %318

278:                                              ; preds = %277
  store i1 false, ptr %36, align 1
  invoke void @__cxa_throw(ptr %274, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1431 unwind label %318

279:                                              ; preds = %266
  %280 = landingpad { ptr, i32 }
          cleanup
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %11, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %12, align 4
  br label %292

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

287:                                              ; preds = %268
  %288 = landingpad { ptr, i32 }
          cleanup
  %289 = extractvalue { ptr, i32 } %288, 0
  store ptr %289, ptr %11, align 8
  %290 = extractvalue { ptr, i32 } %288, 1
  store i32 %290, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %291

291:                                              ; preds = %287, %283
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  br label %292

292:                                              ; preds = %291, %279
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #6
  br label %330

293:                                              ; preds = %269
  %294 = landingpad { ptr, i32 }
          cleanup
  %295 = extractvalue { ptr, i32 } %294, 0
  store ptr %295, ptr %11, align 8
  %296 = extractvalue { ptr, i32 } %294, 1
  store i32 %296, ptr %12, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #6
  br label %329

297:                                              ; preds = %270
  %298 = landingpad { ptr, i32 }
          cleanup
  %299 = extractvalue { ptr, i32 } %298, 0
  store ptr %299, ptr %11, align 8
  %300 = extractvalue { ptr, i32 } %298, 1
  store i32 %300, ptr %12, align 4
  br label %305

301:                                              ; preds = %271
  %302 = landingpad { ptr, i32 }
          cleanup
  %303 = extractvalue { ptr, i32 } %302, 0
  store ptr %303, ptr %11, align 8
  %304 = extractvalue { ptr, i32 } %302, 1
  store i32 %304, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  br label %305

305:                                              ; preds = %301, %297
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #6
  br label %328

306:                                              ; preds = %273
  %307 = landingpad { ptr, i32 }
          cleanup
  %308 = extractvalue { ptr, i32 } %307, 0
  store ptr %308, ptr %11, align 8
  %309 = extractvalue { ptr, i32 } %307, 1
  store i32 %309, ptr %12, align 4
  br label %324

310:                                              ; preds = %275
  %311 = landingpad { ptr, i32 }
          cleanup
  %312 = extractvalue { ptr, i32 } %311, 0
  store ptr %312, ptr %11, align 8
  %313 = extractvalue { ptr, i32 } %311, 1
  store i32 %313, ptr %12, align 4
  br label %323

314:                                              ; preds = %276
  %315 = landingpad { ptr, i32 }
          cleanup
  %316 = extractvalue { ptr, i32 } %315, 0
  store ptr %316, ptr %11, align 8
  %317 = extractvalue { ptr, i32 } %315, 1
  store i32 %317, ptr %12, align 4
  br label %322

318:                                              ; preds = %278, %277
  %319 = landingpad { ptr, i32 }
          cleanup
  %320 = extractvalue { ptr, i32 } %319, 0
  store ptr %320, ptr %11, align 8
  %321 = extractvalue { ptr, i32 } %319, 1
  store i32 %321, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %322

322:                                              ; preds = %318, %314
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %323

323:                                              ; preds = %322, %310
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br label %324

324:                                              ; preds = %323, %306
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #6
  %325 = load i1, ptr %36, align 1
  br i1 %325, label %326, label %327

326:                                              ; preds = %324
  call void @__cxa_free_exception(ptr %274) #6
  br label %327

327:                                              ; preds = %326, %324
  br label %328

328:                                              ; preds = %327, %305
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  br label %329

329:                                              ; preds = %328, %293
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %330

330:                                              ; preds = %329, %292
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #6
  br label %1425

331:                                              ; preds = %264
  br label %332

332:                                              ; preds = %331
  br label %333

333:                                              ; preds = %332
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #6
  %334 = load ptr, ptr %7, align 8, !tbaa !5
  %335 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE5InputINS_10CPUBackendEEERKDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %334, i32 noundef 1)
          to label %336 unwind label %359

336:                                              ; preds = %333
  store ptr %335, ptr %37, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #6
  %337 = load ptr, ptr %37, align 8, !tbaa !5
  %338 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE5shapeEv(ptr noundef nonnull align 8 dereferenceable(304) %337)
          to label %339 unwind label %363

339:                                              ; preds = %336
  invoke void @_ZN4dali15TensorListShapeILin1EEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(32) %338)
          to label %340 unwind label %363

340:                                              ; preds = %339
  br label %341

341:                                              ; preds = %340
  %342 = load ptr, ptr %37, align 8, !tbaa !5
  %343 = invoke noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %342)
          to label %344 unwind label %367

344:                                              ; preds = %341
  %345 = icmp eq i32 %343, 6
  br i1 %345, label %423, label %346

346:                                              ; preds = %344
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %42) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %43)
          to label %347 unwind label %371

347:                                              ; preds = %346
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef @.str.27)
          to label %348 unwind label %375

348:                                              ; preds = %347
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef @.str.20)
          to label %349 unwind label %379

349:                                              ; preds = %348
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %45) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef @.str.28, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %350 unwind label %385

350:                                              ; preds = %349
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %351 unwind label %389

351:                                              ; preds = %350
  %352 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %353 unwind label %393

353:                                              ; preds = %351
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #6
  store i1 true, ptr %51, align 1
  %354 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #6
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %47, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %355 unwind label %398

355:                                              ; preds = %353
  call void @llvm.lifetime.start.p0(i64 1, ptr %49) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef @.str.29, ptr noundef nonnull align 1 dereferenceable(1) %49)
          to label %356 unwind label %402

356:                                              ; preds = %355
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %50)
          to label %357 unwind label %406

357:                                              ; preds = %356
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %354, ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef %48, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %358 unwind label %410

358:                                              ; preds = %357
  store i1 false, ptr %51, align 1
  invoke void @__cxa_throw(ptr %354, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1431 unwind label %410

359:                                              ; preds = %333
  %360 = landingpad { ptr, i32 }
          cleanup
  %361 = extractvalue { ptr, i32 } %360, 0
  store ptr %361, ptr %11, align 8
  %362 = extractvalue { ptr, i32 } %360, 1
  store i32 %362, ptr %12, align 4
  br label %1424

363:                                              ; preds = %339, %336
  %364 = landingpad { ptr, i32 }
          cleanup
  %365 = extractvalue { ptr, i32 } %364, 0
  store ptr %365, ptr %11, align 8
  %366 = extractvalue { ptr, i32 } %364, 1
  store i32 %366, ptr %12, align 4
  br label %1423

367:                                              ; preds = %426, %341
  %368 = landingpad { ptr, i32 }
          cleanup
  %369 = extractvalue { ptr, i32 } %368, 0
  store ptr %369, ptr %11, align 8
  %370 = extractvalue { ptr, i32 } %368, 1
  store i32 %370, ptr %12, align 4
  br label %1422

371:                                              ; preds = %346
  %372 = landingpad { ptr, i32 }
          cleanup
  %373 = extractvalue { ptr, i32 } %372, 0
  store ptr %373, ptr %11, align 8
  %374 = extractvalue { ptr, i32 } %372, 1
  store i32 %374, ptr %12, align 4
  br label %384

375:                                              ; preds = %347
  %376 = landingpad { ptr, i32 }
          cleanup
  %377 = extractvalue { ptr, i32 } %376, 0
  store ptr %377, ptr %11, align 8
  %378 = extractvalue { ptr, i32 } %376, 1
  store i32 %378, ptr %12, align 4
  br label %383

379:                                              ; preds = %348
  %380 = landingpad { ptr, i32 }
          cleanup
  %381 = extractvalue { ptr, i32 } %380, 0
  store ptr %381, ptr %11, align 8
  %382 = extractvalue { ptr, i32 } %380, 1
  store i32 %382, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  br label %383

383:                                              ; preds = %379, %375
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  br label %384

384:                                              ; preds = %383, %371
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  br label %422

385:                                              ; preds = %349
  %386 = landingpad { ptr, i32 }
          cleanup
  %387 = extractvalue { ptr, i32 } %386, 0
  store ptr %387, ptr %11, align 8
  %388 = extractvalue { ptr, i32 } %386, 1
  store i32 %388, ptr %12, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #6
  br label %421

389:                                              ; preds = %350
  %390 = landingpad { ptr, i32 }
          cleanup
  %391 = extractvalue { ptr, i32 } %390, 0
  store ptr %391, ptr %11, align 8
  %392 = extractvalue { ptr, i32 } %390, 1
  store i32 %392, ptr %12, align 4
  br label %397

393:                                              ; preds = %351
  %394 = landingpad { ptr, i32 }
          cleanup
  %395 = extractvalue { ptr, i32 } %394, 0
  store ptr %395, ptr %11, align 8
  %396 = extractvalue { ptr, i32 } %394, 1
  store i32 %396, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %397

397:                                              ; preds = %393, %389
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #6
  br label %420

398:                                              ; preds = %353
  %399 = landingpad { ptr, i32 }
          cleanup
  %400 = extractvalue { ptr, i32 } %399, 0
  store ptr %400, ptr %11, align 8
  %401 = extractvalue { ptr, i32 } %399, 1
  store i32 %401, ptr %12, align 4
  br label %416

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

406:                                              ; preds = %356
  %407 = landingpad { ptr, i32 }
          cleanup
  %408 = extractvalue { ptr, i32 } %407, 0
  store ptr %408, ptr %11, align 8
  %409 = extractvalue { ptr, i32 } %407, 1
  store i32 %409, ptr %12, align 4
  br label %414

410:                                              ; preds = %358, %357
  %411 = landingpad { ptr, i32 }
          cleanup
  %412 = extractvalue { ptr, i32 } %411, 0
  store ptr %412, ptr %11, align 8
  %413 = extractvalue { ptr, i32 } %411, 1
  store i32 %413, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  br label %414

414:                                              ; preds = %410, %406
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  br label %415

415:                                              ; preds = %414, %402
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %416

416:                                              ; preds = %415, %398
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #6
  %417 = load i1, ptr %51, align 1
  br i1 %417, label %418, label %419

418:                                              ; preds = %416
  call void @__cxa_free_exception(ptr %354) #6
  br label %419

419:                                              ; preds = %418, %416
  br label %420

420:                                              ; preds = %419, %397
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  br label %421

421:                                              ; preds = %420, %385
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  br label %422

422:                                              ; preds = %421, %384
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #6
  br label %1422

423:                                              ; preds = %344
  br label %424

424:                                              ; preds = %423
  br label %425

425:                                              ; preds = %424
  br label %426

426:                                              ; preds = %425
  %427 = invoke noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %428 unwind label %367

428:                                              ; preds = %426
  %429 = icmp eq i32 %427, 2
  br i1 %429, label %497, label %430

430:                                              ; preds = %428
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %55) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %55)
          to label %431 unwind label %445

431:                                              ; preds = %430
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef @.str.30)
          to label %432 unwind label %449

432:                                              ; preds = %431
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.20)
          to label %433 unwind label %453

433:                                              ; preds = %432
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #6
  %434 = invoke noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %435 unwind label %459

435:                                              ; preds = %433
  store i32 %434, ptr %57, align 4, !tbaa !9
  invoke void @_ZN4dali11make_stringIJA46_ciA2_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 1 dereferenceable(46) @.str.31, ptr noundef nonnull align 4 dereferenceable(4) %57, ptr noundef nonnull align 1 dereferenceable(2) @.str.32)
          to label %436 unwind label %459

436:                                              ; preds = %435
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %437 unwind label %463

437:                                              ; preds = %436
  %438 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %439 unwind label %467

439:                                              ; preds = %437
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #6
  store i1 true, ptr %63, align 1
  %440 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #6
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %59, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %441 unwind label %472

441:                                              ; preds = %439
  call void @llvm.lifetime.start.p0(i64 1, ptr %61) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef @.str.33, ptr noundef nonnull align 1 dereferenceable(1) %61)
          to label %442 unwind label %476

442:                                              ; preds = %441
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %62)
          to label %443 unwind label %480

443:                                              ; preds = %442
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %440, ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef %60, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %444 unwind label %484

444:                                              ; preds = %443
  store i1 false, ptr %63, align 1
  invoke void @__cxa_throw(ptr %440, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1431 unwind label %484

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

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

453:                                              ; preds = %432
  %454 = landingpad { ptr, i32 }
          cleanup
  %455 = extractvalue { ptr, i32 } %454, 0
  store ptr %455, ptr %11, align 8
  %456 = extractvalue { ptr, i32 } %454, 1
  store i32 %456, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %457

457:                                              ; preds = %453, %449
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  br label %458

458:                                              ; preds = %457, %445
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #6
  br label %496

459:                                              ; preds = %435, %433
  %460 = landingpad { ptr, i32 }
          cleanup
  %461 = extractvalue { ptr, i32 } %460, 0
  store ptr %461, ptr %11, align 8
  %462 = extractvalue { ptr, i32 } %460, 1
  store i32 %462, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #6
  br label %495

463:                                              ; preds = %436
  %464 = landingpad { ptr, i32 }
          cleanup
  %465 = extractvalue { ptr, i32 } %464, 0
  store ptr %465, ptr %11, align 8
  %466 = extractvalue { ptr, i32 } %464, 1
  store i32 %466, ptr %12, align 4
  br label %471

467:                                              ; preds = %437
  %468 = landingpad { ptr, i32 }
          cleanup
  %469 = extractvalue { ptr, i32 } %468, 0
  store ptr %469, ptr %11, align 8
  %470 = extractvalue { ptr, i32 } %468, 1
  store i32 %470, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br label %471

471:                                              ; preds = %467, %463
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #6
  br label %494

472:                                              ; preds = %439
  %473 = landingpad { ptr, i32 }
          cleanup
  %474 = extractvalue { ptr, i32 } %473, 0
  store ptr %474, ptr %11, align 8
  %475 = extractvalue { ptr, i32 } %473, 1
  store i32 %475, ptr %12, align 4
  br label %490

476:                                              ; preds = %441
  %477 = landingpad { ptr, i32 }
          cleanup
  %478 = extractvalue { ptr, i32 } %477, 0
  store ptr %478, ptr %11, align 8
  %479 = extractvalue { ptr, i32 } %477, 1
  store i32 %479, ptr %12, align 4
  br label %489

480:                                              ; preds = %442
  %481 = landingpad { ptr, i32 }
          cleanup
  %482 = extractvalue { ptr, i32 } %481, 0
  store ptr %482, ptr %11, align 8
  %483 = extractvalue { ptr, i32 } %481, 1
  store i32 %483, ptr %12, align 4
  br label %488

484:                                              ; preds = %444, %443
  %485 = landingpad { ptr, i32 }
          cleanup
  %486 = extractvalue { ptr, i32 } %485, 0
  store ptr %486, ptr %11, align 8
  %487 = extractvalue { ptr, i32 } %485, 1
  store i32 %487, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  br label %488

488:                                              ; preds = %484, %480
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  br label %489

489:                                              ; preds = %488, %476
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  br label %490

490:                                              ; preds = %489, %472
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #6
  %491 = load i1, ptr %63, align 1
  br i1 %491, label %492, label %493

492:                                              ; preds = %490
  call void @__cxa_free_exception(ptr %440) #6
  br label %493

493:                                              ; preds = %492, %490
  br label %494

494:                                              ; preds = %493, %471
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  br label %495

495:                                              ; preds = %494, %459
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  br label %496

496:                                              ; preds = %495, %458
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #6
  br label %1422

497:                                              ; preds = %428
  br label %498

498:                                              ; preds = %497
  br label %499

499:                                              ; preds = %498
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #6
  %500 = load ptr, ptr %7, align 8, !tbaa !5
  %501 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE5InputINS_10CPUBackendEEERKDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %500, i32 noundef 2)
          to label %502 unwind label %526

502:                                              ; preds = %499
  store ptr %501, ptr %64, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %66) #6
  %503 = load ptr, ptr %64, align 8, !tbaa !5
  %504 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE5shapeEv(ptr noundef nonnull align 8 dereferenceable(304) %503)
          to label %505 unwind label %530

505:                                              ; preds = %502
  invoke void @_ZN4dali15TensorListShapeILin1EEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull align 8 dereferenceable(32) %504)
          to label %506 unwind label %530

506:                                              ; preds = %505
  br label %507

507:                                              ; preds = %506
  %508 = invoke noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %66)
          to label %509 unwind label %534

509:                                              ; preds = %507
  %510 = icmp eq i32 %508, 2
  br i1 %510, label %590, label %511

511:                                              ; preds = %509
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %69) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %70) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %70)
          to label %512 unwind label %538

512:                                              ; preds = %511
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %68, ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef @.str.34)
          to label %513 unwind label %542

513:                                              ; preds = %512
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %67, ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef @.str.20)
          to label %514 unwind label %546

514:                                              ; preds = %513
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #6
  %515 = invoke noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %66)
          to label %516 unwind label %552

516:                                              ; preds = %514
  store i32 %515, ptr %72, align 4, !tbaa !9
  invoke void @_ZN4dali11make_stringIJA46_ciA2_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull align 1 dereferenceable(46) @.str.35, ptr noundef nonnull align 4 dereferenceable(4) %72, ptr noundef nonnull align 1 dereferenceable(2) @.str.32)
          to label %517 unwind label %552

517:                                              ; preds = %516
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %518 unwind label %556

518:                                              ; preds = %517
  %519 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %520 unwind label %560

520:                                              ; preds = %518
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #6
  store i1 true, ptr %78, align 1
  %521 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %74) #6
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %74, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %522 unwind label %565

522:                                              ; preds = %520
  call void @llvm.lifetime.start.p0(i64 1, ptr %76) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef @.str.36, ptr noundef nonnull align 1 dereferenceable(1) %76)
          to label %523 unwind label %569

523:                                              ; preds = %522
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %77)
          to label %524 unwind label %573

524:                                              ; preds = %523
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %521, ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef %75, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %525 unwind label %577

525:                                              ; preds = %524
  store i1 false, ptr %78, align 1
  invoke void @__cxa_throw(ptr %521, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1431 unwind label %577

526:                                              ; preds = %499
  %527 = landingpad { ptr, i32 }
          cleanup
  %528 = extractvalue { ptr, i32 } %527, 0
  store ptr %528, ptr %11, align 8
  %529 = extractvalue { ptr, i32 } %527, 1
  store i32 %529, ptr %12, align 4
  br label %1421

530:                                              ; preds = %505, %502
  %531 = landingpad { ptr, i32 }
          cleanup
  %532 = extractvalue { ptr, i32 } %531, 0
  store ptr %532, ptr %11, align 8
  %533 = extractvalue { ptr, i32 } %531, 1
  store i32 %533, ptr %12, align 4
  br label %1420

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

538:                                              ; preds = %511
  %539 = landingpad { ptr, i32 }
          cleanup
  %540 = extractvalue { ptr, i32 } %539, 0
  store ptr %540, ptr %11, align 8
  %541 = extractvalue { ptr, i32 } %539, 1
  store i32 %541, ptr %12, align 4
  br label %551

542:                                              ; preds = %512
  %543 = landingpad { ptr, i32 }
          cleanup
  %544 = extractvalue { ptr, i32 } %543, 0
  store ptr %544, ptr %11, align 8
  %545 = extractvalue { ptr, i32 } %543, 1
  store i32 %545, ptr %12, align 4
  br label %550

546:                                              ; preds = %513
  %547 = landingpad { ptr, i32 }
          cleanup
  %548 = extractvalue { ptr, i32 } %547, 0
  store ptr %548, ptr %11, align 8
  %549 = extractvalue { ptr, i32 } %547, 1
  store i32 %549, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  br label %550

550:                                              ; preds = %546, %542
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  br label %551

551:                                              ; preds = %550, %538
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #6
  br label %589

552:                                              ; preds = %516, %514
  %553 = landingpad { ptr, i32 }
          cleanup
  %554 = extractvalue { ptr, i32 } %553, 0
  store ptr %554, ptr %11, align 8
  %555 = extractvalue { ptr, i32 } %553, 1
  store i32 %555, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #6
  br label %588

556:                                              ; preds = %517
  %557 = landingpad { ptr, i32 }
          cleanup
  %558 = extractvalue { ptr, i32 } %557, 0
  store ptr %558, ptr %11, align 8
  %559 = extractvalue { ptr, i32 } %557, 1
  store i32 %559, ptr %12, align 4
  br label %564

560:                                              ; preds = %518
  %561 = landingpad { ptr, i32 }
          cleanup
  %562 = extractvalue { ptr, i32 } %561, 0
  store ptr %562, ptr %11, align 8
  %563 = extractvalue { ptr, i32 } %561, 1
  store i32 %563, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %564

564:                                              ; preds = %560, %556
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #6
  br label %587

565:                                              ; preds = %520
  %566 = landingpad { ptr, i32 }
          cleanup
  %567 = extractvalue { ptr, i32 } %566, 0
  store ptr %567, ptr %11, align 8
  %568 = extractvalue { ptr, i32 } %566, 1
  store i32 %568, ptr %12, align 4
  br label %583

569:                                              ; preds = %522
  %570 = landingpad { ptr, i32 }
          cleanup
  %571 = extractvalue { ptr, i32 } %570, 0
  store ptr %571, ptr %11, align 8
  %572 = extractvalue { ptr, i32 } %570, 1
  store i32 %572, ptr %12, align 4
  br label %582

573:                                              ; preds = %523
  %574 = landingpad { ptr, i32 }
          cleanup
  %575 = extractvalue { ptr, i32 } %574, 0
  store ptr %575, ptr %11, align 8
  %576 = extractvalue { ptr, i32 } %574, 1
  store i32 %576, ptr %12, align 4
  br label %581

577:                                              ; preds = %525, %524
  %578 = landingpad { ptr, i32 }
          cleanup
  %579 = extractvalue { ptr, i32 } %578, 0
  store ptr %579, ptr %11, align 8
  %580 = extractvalue { ptr, i32 } %578, 1
  store i32 %580, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  br label %581

581:                                              ; preds = %577, %573
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br label %582

582:                                              ; preds = %581, %569
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  br label %583

583:                                              ; preds = %582, %565
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #6
  %584 = load i1, ptr %78, align 1
  br i1 %584, label %585, label %586

585:                                              ; preds = %583
  call void @__cxa_free_exception(ptr %521) #6
  br label %586

586:                                              ; preds = %585, %583
  br label %587

587:                                              ; preds = %586, %564
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  br label %588

588:                                              ; preds = %587, %552
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  br label %589

589:                                              ; preds = %588, %551
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #6
  br label %1419

590:                                              ; preds = %509
  br label %591

591:                                              ; preds = %590
  br label %592

592:                                              ; preds = %591
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #6
  %593 = load ptr, ptr %37, align 8, !tbaa !5
  %594 = call noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE11num_samplesEv(ptr noundef nonnull align 8 dereferenceable(304) %593) #6
  store i32 %594, ptr %79, align 4, !tbaa !9
  br label %595

595:                                              ; preds = %592
  %596 = load i32, ptr %79, align 4, !tbaa !9
  %597 = invoke noundef i32 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(28) %39)
          to label %598 unwind label %622

598:                                              ; preds = %595
  %599 = icmp eq i32 %596, %597
  br i1 %599, label %600, label %605

600:                                              ; preds = %598
  %601 = load i32, ptr %79, align 4, !tbaa !9
  %602 = invoke noundef i32 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(28) %66)
          to label %603 unwind label %622

603:                                              ; preds = %600
  %604 = icmp eq i32 %601, %602
  br i1 %604, label %683, label %605

605:                                              ; preds = %603, %598
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %82) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %83) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %83)
          to label %606 unwind label %626

606:                                              ; preds = %605
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %81, ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef @.str.37)
          to label %607 unwind label %630

607:                                              ; preds = %606
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %80, ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef @.str.20)
          to label %608 unwind label %634

608:                                              ; preds = %607
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %84) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #6
  %609 = invoke noundef i32 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(28) %39)
          to label %610 unwind label %640

610:                                              ; preds = %608
  store i32 %609, ptr %85, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #6
  %611 = invoke noundef i32 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(28) %66)
          to label %612 unwind label %644

612:                                              ; preds = %610
  store i32 %611, ptr %86, align 4, !tbaa !9
  invoke void @_ZN4dali11make_stringIJA61_ciA3_ciS2_iEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %84, ptr noundef nonnull align 1 dereferenceable(61) @.str.38, ptr noundef nonnull align 4 dereferenceable(4) %79, ptr noundef nonnull align 1 dereferenceable(3) @.str.39, ptr noundef nonnull align 4 dereferenceable(4) %85, ptr noundef nonnull align 1 dereferenceable(3) @.str.39, ptr noundef nonnull align 4 dereferenceable(4) %86)
          to label %613 unwind label %644

613:                                              ; preds = %612
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %87) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %87, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %84)
          to label %614 unwind label %649

614:                                              ; preds = %613
  %615 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %616 unwind label %653

616:                                              ; preds = %614
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #6
  store i1 true, ptr %92, align 1
  %617 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %88) #6
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %88, ptr noundef nonnull align 8 dereferenceable(32) %80)
          to label %618 unwind label %658

618:                                              ; preds = %616
  call void @llvm.lifetime.start.p0(i64 1, ptr %90) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef @.str.40, ptr noundef nonnull align 1 dereferenceable(1) %90)
          to label %619 unwind label %662

619:                                              ; preds = %618
  call void @llvm.lifetime.start.p0(i64 32, ptr %91) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %91)
          to label %620 unwind label %666

620:                                              ; preds = %619
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %617, ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef %89, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %621 unwind label %670

621:                                              ; preds = %620
  store i1 false, ptr %92, align 1
  invoke void @__cxa_throw(ptr %617, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1431 unwind label %670

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

626:                                              ; preds = %605
  %627 = landingpad { ptr, i32 }
          cleanup
  %628 = extractvalue { ptr, i32 } %627, 0
  store ptr %628, ptr %11, align 8
  %629 = extractvalue { ptr, i32 } %627, 1
  store i32 %629, ptr %12, align 4
  br label %639

630:                                              ; preds = %606
  %631 = landingpad { ptr, i32 }
          cleanup
  %632 = extractvalue { ptr, i32 } %631, 0
  store ptr %632, ptr %11, align 8
  %633 = extractvalue { ptr, i32 } %631, 1
  store i32 %633, ptr %12, align 4
  br label %638

634:                                              ; preds = %607
  %635 = landingpad { ptr, i32 }
          cleanup
  %636 = extractvalue { ptr, i32 } %635, 0
  store ptr %636, ptr %11, align 8
  %637 = extractvalue { ptr, i32 } %635, 1
  store i32 %637, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  br label %638

638:                                              ; preds = %634, %630
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  br label %639

639:                                              ; preds = %638, %626
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #6
  br label %682

640:                                              ; preds = %608
  %641 = landingpad { ptr, i32 }
          cleanup
  %642 = extractvalue { ptr, i32 } %641, 0
  store ptr %642, ptr %11, align 8
  %643 = extractvalue { ptr, i32 } %641, 1
  store i32 %643, ptr %12, align 4
  br label %648

644:                                              ; preds = %612, %610
  %645 = landingpad { ptr, i32 }
          cleanup
  %646 = extractvalue { ptr, i32 } %645, 0
  store ptr %646, ptr %11, align 8
  %647 = extractvalue { ptr, i32 } %645, 1
  store i32 %647, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #6
  br label %648

648:                                              ; preds = %644, %640
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #6
  br label %681

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

653:                                              ; preds = %614
  %654 = landingpad { ptr, i32 }
          cleanup
  %655 = extractvalue { ptr, i32 } %654, 0
  store ptr %655, ptr %11, align 8
  %656 = extractvalue { ptr, i32 } %654, 1
  store i32 %656, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #6
  br label %657

657:                                              ; preds = %653, %649
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #6
  br label %680

658:                                              ; preds = %616
  %659 = landingpad { ptr, i32 }
          cleanup
  %660 = extractvalue { ptr, i32 } %659, 0
  store ptr %660, ptr %11, align 8
  %661 = extractvalue { ptr, i32 } %659, 1
  store i32 %661, ptr %12, align 4
  br label %676

662:                                              ; preds = %618
  %663 = landingpad { ptr, i32 }
          cleanup
  %664 = extractvalue { ptr, i32 } %663, 0
  store ptr %664, ptr %11, align 8
  %665 = extractvalue { ptr, i32 } %663, 1
  store i32 %665, ptr %12, align 4
  br label %675

666:                                              ; preds = %619
  %667 = landingpad { ptr, i32 }
          cleanup
  %668 = extractvalue { ptr, i32 } %667, 0
  store ptr %668, ptr %11, align 8
  %669 = extractvalue { ptr, i32 } %667, 1
  store i32 %669, ptr %12, align 4
  br label %674

670:                                              ; preds = %621, %620
  %671 = landingpad { ptr, i32 }
          cleanup
  %672 = extractvalue { ptr, i32 } %671, 0
  store ptr %672, ptr %11, align 8
  %673 = extractvalue { ptr, i32 } %671, 1
  store i32 %673, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  br label %674

674:                                              ; preds = %670, %666
  call void @llvm.lifetime.end.p0(i64 32, ptr %91) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  br label %675

675:                                              ; preds = %674, %662
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %90) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %676

676:                                              ; preds = %675, %658
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #6
  %677 = load i1, ptr %92, align 1
  br i1 %677, label %678, label %679

678:                                              ; preds = %676
  call void @__cxa_free_exception(ptr %617) #6
  br label %679

679:                                              ; preds = %678, %676
  br label %680

680:                                              ; preds = %679, %657
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #6
  br label %681

681:                                              ; preds = %680, %648
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #6
  br label %682

682:                                              ; preds = %681, %639
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #6
  br label %1418

683:                                              ; preds = %603
  br label %684

684:                                              ; preds = %683
  br label %685

685:                                              ; preds = %684
  %686 = load i32, ptr %79, align 4, !tbaa !9
  %687 = icmp eq i32 %686, 0
  br i1 %687, label %688, label %733

688:                                              ; preds = %685
  %689 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIN4dali10OutputDescESaIS1_EE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %689, i64 noundef 2)
          to label %690 unwind label %622

690:                                              ; preds = %688
  %691 = load ptr, ptr %6, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr %93) #6
  %692 = getelementptr inbounds %"struct.dali::OutputDesc", ptr %93, i32 0, i32 0
  invoke void @_ZN4dali15TensorListShapeILin1EEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %692, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %693 unwind label %707

693:                                              ; preds = %690
  %694 = getelementptr inbounds %"struct.dali::OutputDesc", ptr %93, i32 0, i32 1
  %695 = load ptr, ptr %37, align 8, !tbaa !5
  %696 = invoke noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %695)
          to label %697 unwind label %711

697:                                              ; preds = %693
  store i32 %696, ptr %694, align 8, !tbaa !11
  invoke void @_ZNSt6vectorIN4dali10OutputDescESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %691, ptr noundef nonnull align 8 dereferenceable(36) %93)
          to label %698 unwind label %715

698:                                              ; preds = %697
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %93) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %93) #6
  %699 = load ptr, ptr %6, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr %94) #6
  %700 = getelementptr inbounds %"struct.dali::OutputDesc", ptr %94, i32 0, i32 0
  invoke void @_ZN4dali15TensorListShapeILin1EEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %700, ptr noundef nonnull align 8 dereferenceable(32) %66)
          to label %701 unwind label %720

701:                                              ; preds = %698
  %702 = getelementptr inbounds %"struct.dali::OutputDesc", ptr %94, i32 0, i32 1
  %703 = load ptr, ptr %64, align 8, !tbaa !5
  %704 = invoke noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %703)
          to label %705 unwind label %724

705:                                              ; preds = %701
  store i32 %704, ptr %702, align 8, !tbaa !11
  invoke void @_ZNSt6vectorIN4dali10OutputDescESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %699, ptr noundef nonnull align 8 dereferenceable(36) %94)
          to label %706 unwind label %728

706:                                              ; preds = %705
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %94) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %94) #6
  store i1 true, ptr %4, align 1
  store i32 1, ptr %95, align 4
  br label %1416

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

711:                                              ; preds = %693
  %712 = landingpad { ptr, i32 }
          cleanup
  %713 = extractvalue { ptr, i32 } %712, 0
  store ptr %713, ptr %11, align 8
  %714 = extractvalue { ptr, i32 } %712, 1
  store i32 %714, ptr %12, align 4
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %692) #6
  br label %719

715:                                              ; preds = %697
  %716 = landingpad { ptr, i32 }
          cleanup
  %717 = extractvalue { ptr, i32 } %716, 0
  store ptr %717, ptr %11, align 8
  %718 = extractvalue { ptr, i32 } %716, 1
  store i32 %718, ptr %12, align 4
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %93) #6
  br label %719

719:                                              ; preds = %715, %711, %707
  call void @llvm.lifetime.end.p0(i64 40, ptr %93) #6
  br label %1418

720:                                              ; preds = %698
  %721 = landingpad { ptr, i32 }
          cleanup
  %722 = extractvalue { ptr, i32 } %721, 0
  store ptr %722, ptr %11, align 8
  %723 = extractvalue { ptr, i32 } %721, 1
  store i32 %723, ptr %12, align 4
  br label %732

724:                                              ; preds = %701
  %725 = landingpad { ptr, i32 }
          cleanup
  %726 = extractvalue { ptr, i32 } %725, 0
  store ptr %726, ptr %11, align 8
  %727 = extractvalue { ptr, i32 } %725, 1
  store i32 %727, ptr %12, align 4
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %700) #6
  br label %732

728:                                              ; preds = %705
  %729 = landingpad { ptr, i32 }
          cleanup
  %730 = extractvalue { ptr, i32 } %729, 0
  store ptr %730, ptr %11, align 8
  %731 = extractvalue { ptr, i32 } %729, 1
  store i32 %731, ptr %12, align 4
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %94) #6
  br label %732

732:                                              ; preds = %728, %724, %720
  call void @llvm.lifetime.end.p0(i64 40, ptr %94) #6
  br label %1418

733:                                              ; preds = %685
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #6
  store i32 0, ptr %96, align 4, !tbaa !9
  br label %734

734:                                              ; preds = %827, %733
  %735 = load i32, ptr %96, align 4, !tbaa !9
  %736 = load i32, ptr %79, align 4, !tbaa !9
  %737 = icmp slt i32 %735, %736
  br i1 %737, label %739, label %738

738:                                              ; preds = %734
  store i32 14, ptr %95, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #6
  br label %831

739:                                              ; preds = %734
  call void @llvm.lifetime.start.p0(i64 16, ptr %97) #6
  %740 = load i32, ptr %96, align 4, !tbaa !9
  %741 = sext i32 %740 to i64
  %742 = invoke { ptr, i64 } @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE17tensor_shape_spanEl(ptr noundef nonnull align 8 dereferenceable(28) %39, i64 noundef %741)
          to label %743 unwind label %768

743:                                              ; preds = %739
  %744 = getelementptr inbounds { ptr, i64 }, ptr %97, i32 0, i32 0
  %745 = extractvalue { ptr, i64 } %742, 0
  store ptr %745, ptr %744, align 8
  %746 = getelementptr inbounds { ptr, i64 }, ptr %97, i32 0, i32 1
  %747 = extractvalue { ptr, i64 } %742, 1
  store i64 %747, ptr %746, align 8
  br label %748

748:                                              ; preds = %743
  %749 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4dali4spanIlLln1EEixEl(ptr noundef nonnull align 8 dereferenceable(16) %97, i64 noundef 1)
          to label %750 unwind label %768

750:                                              ; preds = %748
  %751 = load i64, ptr %749, align 8, !tbaa !20
  %752 = icmp eq i64 3, %751
  br i1 %752, label %824, label %753

753:                                              ; preds = %750
  call void @llvm.lifetime.start.p0(i64 32, ptr %98) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %99) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %100) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %101) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %101)
          to label %754 unwind label %772

754:                                              ; preds = %753
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %99, ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef @.str.41)
          to label %755 unwind label %776

755:                                              ; preds = %754
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %98, ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef @.str.20)
          to label %756 unwind label %780

756:                                              ; preds = %755
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %101) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %100) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %99) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %102) #6
  %757 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4dali4spanIlLln1EEixEl(ptr noundef nonnull align 8 dereferenceable(16) %97, i64 noundef 1)
          to label %758 unwind label %786

758:                                              ; preds = %756
  invoke void @_ZN4dali11make_stringIJA101_clA10_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %102, ptr noundef nonnull align 1 dereferenceable(101) @.str.42, ptr noundef nonnull align 8 dereferenceable(8) %757, ptr noundef nonnull align 1 dereferenceable(10) @.str.43)
          to label %759 unwind label %786

759:                                              ; preds = %758
  call void @llvm.lifetime.start.p0(i64 32, ptr %103) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %103, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %102)
          to label %760 unwind label %790

760:                                              ; preds = %759
  %761 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef nonnull align 8 dereferenceable(32) %103)
          to label %762 unwind label %794

762:                                              ; preds = %760
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %103) #6
  store i1 true, ptr %108, align 1
  %763 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %104) #6
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %104, ptr noundef nonnull align 8 dereferenceable(32) %98)
          to label %764 unwind label %799

764:                                              ; preds = %762
  call void @llvm.lifetime.start.p0(i64 1, ptr %106) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %106) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %105, ptr noundef @.str.44, ptr noundef nonnull align 1 dereferenceable(1) %106)
          to label %765 unwind label %803

765:                                              ; preds = %764
  call void @llvm.lifetime.start.p0(i64 32, ptr %107) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %107)
          to label %766 unwind label %807

766:                                              ; preds = %765
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %763, ptr noundef nonnull align 8 dereferenceable(32) %104, ptr noundef %105, ptr noundef nonnull align 8 dereferenceable(32) %107)
          to label %767 unwind label %811

767:                                              ; preds = %766
  store i1 false, ptr %108, align 1
  invoke void @__cxa_throw(ptr %763, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1431 unwind label %811

768:                                              ; preds = %748, %739
  %769 = landingpad { ptr, i32 }
          cleanup
  %770 = extractvalue { ptr, i32 } %769, 0
  store ptr %770, ptr %11, align 8
  %771 = extractvalue { ptr, i32 } %769, 1
  store i32 %771, ptr %12, align 4
  br label %830

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

776:                                              ; preds = %754
  %777 = landingpad { ptr, i32 }
          cleanup
  %778 = extractvalue { ptr, i32 } %777, 0
  store ptr %778, ptr %11, align 8
  %779 = extractvalue { ptr, i32 } %777, 1
  store i32 %779, ptr %12, align 4
  br label %784

780:                                              ; preds = %755
  %781 = landingpad { ptr, i32 }
          cleanup
  %782 = extractvalue { ptr, i32 } %781, 0
  store ptr %782, ptr %11, align 8
  %783 = extractvalue { ptr, i32 } %781, 1
  store i32 %783, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  br label %784

784:                                              ; preds = %780, %776
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #6
  br label %785

785:                                              ; preds = %784, %772
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %101) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %100) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %99) #6
  br label %823

786:                                              ; preds = %758, %756
  %787 = landingpad { ptr, i32 }
          cleanup
  %788 = extractvalue { ptr, i32 } %787, 0
  store ptr %788, ptr %11, align 8
  %789 = extractvalue { ptr, i32 } %787, 1
  store i32 %789, ptr %12, align 4
  br label %822

790:                                              ; preds = %759
  %791 = landingpad { ptr, i32 }
          cleanup
  %792 = extractvalue { ptr, i32 } %791, 0
  store ptr %792, ptr %11, align 8
  %793 = extractvalue { ptr, i32 } %791, 1
  store i32 %793, ptr %12, align 4
  br label %798

794:                                              ; preds = %760
  %795 = landingpad { ptr, i32 }
          cleanup
  %796 = extractvalue { ptr, i32 } %795, 0
  store ptr %796, ptr %11, align 8
  %797 = extractvalue { ptr, i32 } %795, 1
  store i32 %797, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  br label %798

798:                                              ; preds = %794, %790
  call void @llvm.lifetime.end.p0(i64 32, ptr %103) #6
  br label %821

799:                                              ; preds = %762
  %800 = landingpad { ptr, i32 }
          cleanup
  %801 = extractvalue { ptr, i32 } %800, 0
  store ptr %801, ptr %11, align 8
  %802 = extractvalue { ptr, i32 } %800, 1
  store i32 %802, ptr %12, align 4
  br label %817

803:                                              ; preds = %764
  %804 = landingpad { ptr, i32 }
          cleanup
  %805 = extractvalue { ptr, i32 } %804, 0
  store ptr %805, ptr %11, align 8
  %806 = extractvalue { ptr, i32 } %804, 1
  store i32 %806, ptr %12, align 4
  br label %816

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

811:                                              ; preds = %767, %766
  %812 = landingpad { ptr, i32 }
          cleanup
  %813 = extractvalue { ptr, i32 } %812, 0
  store ptr %813, ptr %11, align 8
  %814 = extractvalue { ptr, i32 } %812, 1
  store i32 %814, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #6
  br label %815

815:                                              ; preds = %811, %807
  call void @llvm.lifetime.end.p0(i64 32, ptr %107) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #6
  br label %816

816:                                              ; preds = %815, %803
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %106) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %106) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #6
  br label %817

817:                                              ; preds = %816, %799
  call void @llvm.lifetime.end.p0(i64 32, ptr %104) #6
  %818 = load i1, ptr %108, align 1
  br i1 %818, label %819, label %820

819:                                              ; preds = %817
  call void @__cxa_free_exception(ptr %763) #6
  br label %820

820:                                              ; preds = %819, %817
  br label %821

821:                                              ; preds = %820, %798
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  br label %822

822:                                              ; preds = %821, %786
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #6
  br label %823

823:                                              ; preds = %822, %785
  call void @llvm.lifetime.end.p0(i64 32, ptr %98) #6
  br label %830

824:                                              ; preds = %750
  br label %825

825:                                              ; preds = %824
  br label %826

826:                                              ; preds = %825
  call void @llvm.lifetime.end.p0(i64 16, ptr %97) #6
  br label %827

827:                                              ; preds = %826
  %828 = load i32, ptr %96, align 4, !tbaa !9
  %829 = add nsw i32 %828, 1
  store i32 %829, ptr %96, align 4, !tbaa !9
  br label %734, !llvm.loop !22

830:                                              ; preds = %823, %768
  call void @llvm.lifetime.end.p0(i64 16, ptr %97) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #6
  br label %1418

831:                                              ; preds = %738
  call void @llvm.lifetime.start.p0(i64 8, ptr %109) #6
  call void @llvm.lifetime.start.p0(i64 56, ptr %110) #6
  %832 = load ptr, ptr %8, align 8, !tbaa !5
  invoke void @_ZN4dali4viewIKiLi1ENS_10CPUBackendEEENS_14TensorListViewINS_6detail15storage_tag_mapIT1_E4typeET_XT0_EEERKNS_10TensorListIS6_EE(ptr dead_on_unwind writable sret(%"struct.dali::TensorListView") align 8 %110, ptr noundef nonnull align 8 dereferenceable(304) %832)
          to label %833 unwind label %847

833:                                              ; preds = %831
  store ptr %110, ptr %109, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %111) #6
  call void @llvm.lifetime.start.p0(i64 56, ptr %112) #6
  %834 = load ptr, ptr %37, align 8, !tbaa !5
  invoke void @_ZN4dali4viewIKiLi2ENS_10CPUBackendEEENS_14TensorListViewINS_6detail15storage_tag_mapIT1_E4typeET_XT0_EEERKNS_10TensorListIS6_EE(ptr dead_on_unwind writable sret(%"struct.dali::TensorListView.82") align 8 %112, ptr noundef nonnull align 8 dereferenceable(304) %834)
          to label %835 unwind label %851

835:                                              ; preds = %833
  store ptr %112, ptr %111, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %113) #6
  invoke void @_ZN4dali15TensorListShapeILin1EEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %836 unwind label %855

836:                                              ; preds = %835
  call void @llvm.lifetime.start.p0(i64 32, ptr %114) #6
  invoke void @_ZN4dali15TensorListShapeILin1EEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull align 8 dereferenceable(32) %66)
          to label %837 unwind label %859

837:                                              ; preds = %836
  %838 = getelementptr inbounds %"class.dali::SelectMasksCPU", ptr %180, i32 0, i32 1
  %839 = load i32, ptr %79, align 4, !tbaa !9
  %840 = sext i32 %839 to i64
  invoke void @_ZNSt6vectorIN4dali14SelectMasksCPU10SampleDescESaIS2_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %838, i64 noundef %840)
          to label %841 unwind label %863

841:                                              ; preds = %837
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #6
  store i32 0, ptr %115, align 4, !tbaa !9
  br label %842

842:                                              ; preds = %1363, %841
  %843 = load i32, ptr %115, align 4, !tbaa !9
  %844 = load i32, ptr %79, align 4, !tbaa !9
  %845 = icmp slt i32 %843, %844
  br i1 %845, label %867, label %846

846:                                              ; preds = %842
  store i32 19, ptr %95, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #6
  br label %1376

847:                                              ; preds = %831
  %848 = landingpad { ptr, i32 }
          cleanup
  %849 = extractvalue { ptr, i32 } %848, 0
  store ptr %849, ptr %11, align 8
  %850 = extractvalue { ptr, i32 } %848, 1
  store i32 %850, ptr %12, align 4
  br label %1415

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

855:                                              ; preds = %835
  %856 = landingpad { ptr, i32 }
          cleanup
  %857 = extractvalue { ptr, i32 } %856, 0
  store ptr %857, ptr %11, align 8
  %858 = extractvalue { ptr, i32 } %856, 1
  store i32 %858, ptr %12, align 4
  br label %1413

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

863:                                              ; preds = %1376, %837
  %864 = landingpad { ptr, i32 }
          cleanup
  %865 = extractvalue { ptr, i32 } %864, 0
  store ptr %865, ptr %11, align 8
  %866 = extractvalue { ptr, i32 } %864, 1
  store i32 %866, ptr %12, align 4
  br label %1411

867:                                              ; preds = %842
  %868 = getelementptr inbounds %"class.dali::SelectMasksCPU", ptr %180, i32 0, i32 1
  %869 = load i32, ptr %115, align 4, !tbaa !9
  %870 = sext i32 %869 to i64
  %871 = call noundef nonnull align 8 dereferenceable(72) ptr @_ZNSt6vectorIN4dali14SelectMasksCPU10SampleDescESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %868, i64 noundef %870) #6
  invoke void @_ZN4dali14SelectMasksCPU10SampleDesc5clearEv(ptr noundef nonnull align 8 dereferenceable(72) %871)
          to label %872 unwind label %925

872:                                              ; preds = %867
  call void @llvm.lifetime.start.p0(i64 8, ptr %116) #6
  %873 = getelementptr inbounds %"class.dali::SelectMasksCPU", ptr %180, i32 0, i32 1
  %874 = load i32, ptr %115, align 4, !tbaa !9
  %875 = sext i32 %874 to i64
  %876 = call noundef nonnull align 8 dereferenceable(72) ptr @_ZNSt6vectorIN4dali14SelectMasksCPU10SampleDescESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %873, i64 noundef %875) #6
  %877 = getelementptr inbounds %"struct.dali::SelectMasksCPU::SampleDesc", ptr %876, i32 0, i32 0
  store ptr %877, ptr %116, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #6
  %878 = getelementptr inbounds %"class.dali::SelectMasksCPU", ptr %180, i32 0, i32 1
  %879 = load i32, ptr %115, align 4, !tbaa !9
  %880 = sext i32 %879 to i64
  %881 = call noundef nonnull align 8 dereferenceable(72) ptr @_ZNSt6vectorIN4dali14SelectMasksCPU10SampleDescESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %878, i64 noundef %880) #6
  %882 = getelementptr inbounds %"struct.dali::SelectMasksCPU::SampleDesc", ptr %881, i32 0, i32 1
  store ptr %882, ptr %117, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %118) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %119) #6
  %883 = load ptr, ptr %109, align 8, !tbaa !5
  %884 = load i32, ptr %115, align 4, !tbaa !9
  %885 = invoke ptr @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEKiLi1EE17tensor_shape_spanEi(ptr noundef nonnull align 8 dereferenceable(56) %883, i32 noundef %884)
          to label %886 unwind label %929

886:                                              ; preds = %872
  %887 = getelementptr inbounds %"class.dali::span.144", ptr %119, i32 0, i32 0
  store ptr %885, ptr %887, align 8
  %888 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4dali4spanIKlLl1EEixEl(ptr noundef nonnull align 8 dereferenceable(8) %119, i64 noundef 0)
          to label %889 unwind label %929

889:                                              ; preds = %886
  %890 = load i64, ptr %888, align 8, !tbaa !20
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #6
  store i64 %890, ptr %118, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 16, ptr %120) #6
  %891 = load ptr, ptr %109, align 8, !tbaa !5
  %892 = load i32, ptr %115, align 4, !tbaa !9
  %893 = invoke noundef ptr @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEKiLi1EE11tensor_dataEi(ptr noundef nonnull align 8 dereferenceable(56) %891, i32 noundef %892)
          to label %894 unwind label %933

894:                                              ; preds = %889
  %895 = load i64, ptr %118, align 8, !tbaa !20
  %896 = invoke { ptr, i64 } @_ZN4dali10make_cspanILln1EiEENS_4spanIKT0_XT_EEEPS3_l(ptr noundef %893, i64 noundef %895)
          to label %897 unwind label %933

897:                                              ; preds = %894
  %898 = getelementptr inbounds { ptr, i64 }, ptr %120, i32 0, i32 0
  %899 = extractvalue { ptr, i64 } %896, 0
  store ptr %899, ptr %898, align 8
  %900 = getelementptr inbounds { ptr, i64 }, ptr %120, i32 0, i32 1
  %901 = extractvalue { ptr, i64 } %896, 1
  store i64 %901, ptr %900, align 8
  %902 = load ptr, ptr %116, align 8, !tbaa !5
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %902, ptr align 8 %120, i64 16, i1 false), !tbaa.struct !24
  call void @llvm.lifetime.end.p0(i64 16, ptr %120) #6
  %903 = load ptr, ptr %116, align 8, !tbaa !5
  %904 = call noundef i64 @_ZNK4dali4spanIKiLln1EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %903) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %121) #6
  %905 = load i32, ptr %115, align 4, !tbaa !9
  %906 = sext i32 %905 to i64
  %907 = invoke { ptr, i64 } @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE17tensor_shape_spanEl(ptr noundef nonnull align 8 dereferenceable(28) %113, i64 noundef %906)
          to label %908 unwind label %937

908:                                              ; preds = %897
  %909 = getelementptr inbounds { ptr, i64 }, ptr %121, i32 0, i32 0
  %910 = extractvalue { ptr, i64 } %907, 0
  store ptr %910, ptr %909, align 8
  %911 = getelementptr inbounds { ptr, i64 }, ptr %121, i32 0, i32 1
  %912 = extractvalue { ptr, i64 } %907, 1
  store i64 %912, ptr %911, align 8
  %913 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4dali4spanIlLln1EEixEl(ptr noundef nonnull align 8 dereferenceable(16) %121, i64 noundef 0)
          to label %914 unwind label %937

914:                                              ; preds = %908
  store i64 %904, ptr %913, align 8, !tbaa !20
  call void @llvm.lifetime.end.p0(i64 16, ptr %121) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #6
  store i32 0, ptr %122, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %123) #6
  %915 = load ptr, ptr %116, align 8, !tbaa !5
  store ptr %915, ptr %123, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %124) #6
  %916 = load ptr, ptr %123, align 8, !tbaa !5
  %917 = call noundef ptr @_ZNK4dali4spanIKiLln1EE5beginEv(ptr noundef nonnull align 8 dereferenceable(16) %916) #6
  store ptr %917, ptr %124, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %125) #6
  %918 = load ptr, ptr %123, align 8, !tbaa !5
  %919 = call noundef ptr @_ZNK4dali4spanIKiLln1EE3endEv(ptr noundef nonnull align 8 dereferenceable(16) %918) #6
  store ptr %919, ptr %125, align 8, !tbaa !5
  br label %920

920:                                              ; preds = %1007, %914
  %921 = load ptr, ptr %124, align 8, !tbaa !5
  %922 = load ptr, ptr %125, align 8, !tbaa !5
  %923 = icmp ne ptr %921, %922
  br i1 %923, label %941, label %924

924:                                              ; preds = %920
  store i32 22, ptr %95, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %124) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #6
  br label %1015

925:                                              ; preds = %867
  %926 = landingpad { ptr, i32 }
          cleanup
  %927 = extractvalue { ptr, i32 } %926, 0
  store ptr %927, ptr %11, align 8
  %928 = extractvalue { ptr, i32 } %926, 1
  store i32 %928, ptr %12, align 4
  br label %1375

929:                                              ; preds = %886, %872
  %930 = landingpad { ptr, i32 }
          cleanup
  %931 = extractvalue { ptr, i32 } %930, 0
  store ptr %931, ptr %11, align 8
  %932 = extractvalue { ptr, i32 } %930, 1
  store i32 %932, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #6
  br label %1374

933:                                              ; preds = %894, %889
  %934 = landingpad { ptr, i32 }
          cleanup
  %935 = extractvalue { ptr, i32 } %934, 0
  store ptr %935, ptr %11, align 8
  %936 = extractvalue { ptr, i32 } %934, 1
  store i32 %936, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %120) #6
  br label %1374

937:                                              ; preds = %908, %897
  %938 = landingpad { ptr, i32 }
          cleanup
  %939 = extractvalue { ptr, i32 } %938, 0
  store ptr %939, ptr %11, align 8
  %940 = extractvalue { ptr, i32 } %938, 1
  store i32 %940, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %121) #6
  br label %1374

941:                                              ; preds = %920
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #6
  %942 = load ptr, ptr %124, align 8, !tbaa !5
  %943 = load i32, ptr %942, align 4, !tbaa !9
  store i32 %943, ptr %126, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %127) #6
  %944 = load ptr, ptr %117, align 8, !tbaa !5
  %945 = invoke ptr @_ZNSt13unordered_mapIiN4dali14SelectMasksCPU11PolygonDescESt4hashIiESt8equal_toIiESaISt4pairIKiS2_EEE4findERS8_(ptr noundef nonnull align 8 dereferenceable(56) %944, ptr noundef nonnull align 4 dereferenceable(4) %126)
          to label %946 unwind label %961

946:                                              ; preds = %941
  %947 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %127, i32 0, i32 0
  %948 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %947, i32 0, i32 0
  store ptr %945, ptr %948, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %128) #6
  %949 = load ptr, ptr %117, align 8, !tbaa !5
  %950 = call ptr @_ZNSt13unordered_mapIiN4dali14SelectMasksCPU11PolygonDescESt4hashIiESt8equal_toIiESaISt4pairIKiS2_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %949) #6
  %951 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %128, i32 0, i32 0
  %952 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %951, i32 0, i32 0
  store ptr %950, ptr %952, align 8
  %953 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKiN4dali14SelectMasksCPU11PolygonDescEELb0EEES9_(ptr noundef nonnull align 8 dereferenceable(8) %127, ptr noundef nonnull align 8 dereferenceable(8) %128) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %128) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %127) #6
  br i1 %953, label %954, label %992

954:                                              ; preds = %946
  store i1 true, ptr %134, align 1
  %955 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %129) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %130) #6
  invoke void @_ZN4dali11make_stringIJA49_ciA11_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %130, ptr noundef nonnull align 1 dereferenceable(49) @.str.45, ptr noundef nonnull align 4 dereferenceable(4) %126, ptr noundef nonnull align 1 dereferenceable(11) @.str.46)
          to label %956 unwind label %965

956:                                              ; preds = %954
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %129, ptr noundef nonnull align 8 dereferenceable(32) %130)
          to label %957 unwind label %969

957:                                              ; preds = %956
  call void @llvm.lifetime.start.p0(i64 1, ptr %132) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %132) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %131, ptr noundef @.str.47, ptr noundef nonnull align 1 dereferenceable(1) %132)
          to label %958 unwind label %973

958:                                              ; preds = %957
  call void @llvm.lifetime.start.p0(i64 32, ptr %133) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %133)
          to label %959 unwind label %977

959:                                              ; preds = %958
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %955, ptr noundef nonnull align 8 dereferenceable(32) %129, ptr noundef %131, ptr noundef nonnull align 8 dereferenceable(32) %133)
          to label %960 unwind label %981

960:                                              ; preds = %959
  store i1 false, ptr %134, align 1
  invoke void @__cxa_throw(ptr %955, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1431 unwind label %981

961:                                              ; preds = %941
  %962 = landingpad { ptr, i32 }
          cleanup
  %963 = extractvalue { ptr, i32 } %962, 0
  store ptr %963, ptr %11, align 8
  %964 = extractvalue { ptr, i32 } %962, 1
  store i32 %964, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %127) #6
  br label %1014

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

969:                                              ; preds = %956
  %970 = landingpad { ptr, i32 }
          cleanup
  %971 = extractvalue { ptr, i32 } %970, 0
  store ptr %971, ptr %11, align 8
  %972 = extractvalue { ptr, i32 } %970, 1
  store i32 %972, ptr %12, align 4
  br label %987

973:                                              ; preds = %957
  %974 = landingpad { ptr, i32 }
          cleanup
  %975 = extractvalue { ptr, i32 } %974, 0
  store ptr %975, ptr %11, align 8
  %976 = extractvalue { ptr, i32 } %974, 1
  store i32 %976, ptr %12, align 4
  br label %986

977:                                              ; preds = %958
  %978 = landingpad { ptr, i32 }
          cleanup
  %979 = extractvalue { ptr, i32 } %978, 0
  store ptr %979, ptr %11, align 8
  %980 = extractvalue { ptr, i32 } %978, 1
  store i32 %980, ptr %12, align 4
  br label %985

981:                                              ; preds = %960, %959
  %982 = landingpad { ptr, i32 }
          cleanup
  %983 = extractvalue { ptr, i32 } %982, 0
  store ptr %983, ptr %11, align 8
  %984 = extractvalue { ptr, i32 } %982, 1
  store i32 %984, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #6
  br label %985

985:                                              ; preds = %981, %977
  call void @llvm.lifetime.end.p0(i64 32, ptr %133) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #6
  br label %986

986:                                              ; preds = %985, %973
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %132) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %132) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #6
  br label %987

987:                                              ; preds = %986, %969
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #6
  br label %988

988:                                              ; preds = %987, %965
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %129) #6
  %989 = load i1, ptr %134, align 1
  br i1 %989, label %990, label %991

990:                                              ; preds = %988
  call void @__cxa_free_exception(ptr %955) #6
  br label %991

991:                                              ; preds = %990, %988
  br label %1014

992:                                              ; preds = %946
  %993 = getelementptr inbounds %"class.dali::SelectMasksCPU", ptr %180, i32 0, i32 2
  %994 = load i8, ptr %993, align 8, !tbaa !25, !range !69, !noundef !70
  %995 = trunc i8 %994 to i1
  br i1 %995, label %996, label %999

996:                                              ; preds = %992
  %997 = load i32, ptr %122, align 4, !tbaa !9
  %998 = add nsw i32 %997, 1
  store i32 %998, ptr %122, align 4, !tbaa !9
  br label %1001

999:                                              ; preds = %992
  %1000 = load i32, ptr %126, align 4, !tbaa !9
  br label %1001

1001:                                             ; preds = %999, %996
  %1002 = phi i32 [ %997, %996 ], [ %1000, %999 ]
  %1003 = load ptr, ptr %117, align 8, !tbaa !5
  %1004 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiN4dali14SelectMasksCPU11PolygonDescESt4hashIiESt8equal_toIiESaISt4pairIKiS2_EEEixERS8_(ptr noundef nonnull align 8 dereferenceable(56) %1003, ptr noundef nonnull align 4 dereferenceable(4) %126)
          to label %1005 unwind label %1010

1005:                                             ; preds = %1001
  %1006 = getelementptr inbounds %"struct.dali::SelectMasksCPU::PolygonDesc", ptr %1004, i32 0, i32 0
  store i32 %1002, ptr %1006, align 4, !tbaa !71
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #6
  br label %1007

1007:                                             ; preds = %1005
  %1008 = load ptr, ptr %124, align 8, !tbaa !5
  %1009 = getelementptr inbounds i32, ptr %1008, i32 1
  store ptr %1009, ptr %124, align 8, !tbaa !5
  br label %920

1010:                                             ; preds = %1001
  %1011 = landingpad { ptr, i32 }
          cleanup
  %1012 = extractvalue { ptr, i32 } %1011, 0
  store ptr %1012, ptr %11, align 8
  %1013 = extractvalue { ptr, i32 } %1011, 1
  store i32 %1013, ptr %12, align 4
  br label %1014

1014:                                             ; preds = %1010, %991, %961
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %124) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #6
  br label %1373

1015:                                             ; preds = %924
  call void @llvm.lifetime.start.p0(i64 8, ptr %135) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %136) #6
  %1016 = load i32, ptr %115, align 4, !tbaa !9
  %1017 = sext i32 %1016 to i64
  %1018 = invoke { ptr, i64 } @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE17tensor_shape_spanEl(ptr noundef nonnull align 8 dereferenceable(28) %39, i64 noundef %1017)
          to label %1019 unwind label %1043

1019:                                             ; preds = %1015
  %1020 = getelementptr inbounds { ptr, i64 }, ptr %136, i32 0, i32 0
  %1021 = extractvalue { ptr, i64 } %1018, 0
  store ptr %1021, ptr %1020, align 8
  %1022 = getelementptr inbounds { ptr, i64 }, ptr %136, i32 0, i32 1
  %1023 = extractvalue { ptr, i64 } %1018, 1
  store i64 %1023, ptr %1022, align 8
  %1024 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4dali4spanIlLln1EEixEl(ptr noundef nonnull align 8 dereferenceable(16) %136, i64 noundef 0)
          to label %1025 unwind label %1043

1025:                                             ; preds = %1019
  %1026 = load i64, ptr %1024, align 8, !tbaa !20
  call void @llvm.lifetime.end.p0(i64 16, ptr %136) #6
  store i64 %1026, ptr %135, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %137) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %138) #6
  %1027 = load i32, ptr %115, align 4, !tbaa !9
  %1028 = sext i32 %1027 to i64
  %1029 = invoke { ptr, i64 } @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE17tensor_shape_spanEl(ptr noundef nonnull align 8 dereferenceable(28) %66, i64 noundef %1028)
          to label %1030 unwind label %1047

1030:                                             ; preds = %1025
  %1031 = getelementptr inbounds { ptr, i64 }, ptr %138, i32 0, i32 0
  %1032 = extractvalue { ptr, i64 } %1029, 0
  store ptr %1032, ptr %1031, align 8
  %1033 = getelementptr inbounds { ptr, i64 }, ptr %138, i32 0, i32 1
  %1034 = extractvalue { ptr, i64 } %1029, 1
  store i64 %1034, ptr %1033, align 8
  %1035 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4dali4spanIlLln1EEixEl(ptr noundef nonnull align 8 dereferenceable(16) %138, i64 noundef 0)
          to label %1036 unwind label %1047

1036:                                             ; preds = %1030
  %1037 = load i64, ptr %1035, align 8, !tbaa !20
  call void @llvm.lifetime.end.p0(i64 16, ptr %138) #6
  store i64 %1037, ptr %137, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %139) #6
  store i64 0, ptr %139, align 8, !tbaa !20
  br label %1038

1038:                                             ; preds = %1261, %1036
  %1039 = load i64, ptr %139, align 8, !tbaa !20
  %1040 = load i64, ptr %135, align 8, !tbaa !20
  %1041 = icmp slt i64 %1039, %1040
  br i1 %1041, label %1051, label %1042

1042:                                             ; preds = %1038
  store i32 24, ptr %95, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %139) #6
  br label %1267

1043:                                             ; preds = %1019, %1015
  %1044 = landingpad { ptr, i32 }
          cleanup
  %1045 = extractvalue { ptr, i32 } %1044, 0
  store ptr %1045, ptr %11, align 8
  %1046 = extractvalue { ptr, i32 } %1044, 1
  store i32 %1046, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %136) #6
  br label %1372

1047:                                             ; preds = %1030, %1025
  %1048 = landingpad { ptr, i32 }
          cleanup
  %1049 = extractvalue { ptr, i32 } %1048, 0
  store ptr %1049, ptr %11, align 8
  %1050 = extractvalue { ptr, i32 } %1048, 1
  store i32 %1050, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %138) #6
  br label %1371

1051:                                             ; preds = %1038
  call void @llvm.lifetime.start.p0(i64 8, ptr %140) #6
  %1052 = load ptr, ptr %111, align 8, !tbaa !5
  %1053 = load i32, ptr %115, align 4, !tbaa !9
  %1054 = invoke noundef ptr @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEKiLi2EE11tensor_dataEi(ptr noundef nonnull align 8 dereferenceable(56) %1052, i32 noundef %1053)
          to label %1055 unwind label %1073

1055:                                             ; preds = %1051
  %1056 = load i64, ptr %139, align 8, !tbaa !20
  %1057 = mul nsw i64 %1056, 3
  %1058 = getelementptr inbounds i32, ptr %1054, i64 %1057
  store ptr %1058, ptr %140, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #6
  %1059 = load ptr, ptr %140, align 8, !tbaa !5
  %1060 = getelementptr inbounds i32, ptr %1059, i64 0
  %1061 = load i32, ptr %1060, align 4, !tbaa !9
  store i32 %1061, ptr %141, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %142) #6
  %1062 = load ptr, ptr %117, align 8, !tbaa !5
  %1063 = invoke ptr @_ZNSt13unordered_mapIiN4dali14SelectMasksCPU11PolygonDescESt4hashIiESt8equal_toIiESaISt4pairIKiS2_EEE4findERS8_(ptr noundef nonnull align 8 dereferenceable(56) %1062, ptr noundef nonnull align 4 dereferenceable(4) %141)
          to label %1064 unwind label %1077

1064:                                             ; preds = %1055
  %1065 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %142, i32 0, i32 0
  %1066 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %1065, i32 0, i32 0
  store ptr %1063, ptr %1066, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %143) #6
  %1067 = load ptr, ptr %117, align 8, !tbaa !5
  %1068 = call ptr @_ZNSt13unordered_mapIiN4dali14SelectMasksCPU11PolygonDescESt4hashIiESt8equal_toIiESaISt4pairIKiS2_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %1067) #6
  %1069 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %143, i32 0, i32 0
  %1070 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %1069, i32 0, i32 0
  store ptr %1068, ptr %1070, align 8
  %1071 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKiN4dali14SelectMasksCPU11PolygonDescEELb0EEES9_(ptr noundef nonnull align 8 dereferenceable(8) %142, ptr noundef nonnull align 8 dereferenceable(8) %143) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %143) #6
  br i1 %1071, label %1072, label %1081

1072:                                             ; preds = %1064
  store i32 26, ptr %95, align 4
  br label %1258

1073:                                             ; preds = %1051
  %1074 = landingpad { ptr, i32 }
          cleanup
  %1075 = extractvalue { ptr, i32 } %1074, 0
  store ptr %1075, ptr %11, align 8
  %1076 = extractvalue { ptr, i32 } %1074, 1
  store i32 %1076, ptr %12, align 4
  br label %1266

1077:                                             ; preds = %1055
  %1078 = landingpad { ptr, i32 }
          cleanup
  %1079 = extractvalue { ptr, i32 } %1078, 0
  store ptr %1079, ptr %11, align 8
  %1080 = extractvalue { ptr, i32 } %1078, 1
  store i32 %1080, ptr %12, align 4
  br label %1265

1081:                                             ; preds = %1064
  call void @llvm.lifetime.start.p0(i64 8, ptr %144) #6
  %1082 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKiN4dali14SelectMasksCPU11PolygonDescEELb0ELb0EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %142) #6
  %1083 = getelementptr inbounds %"struct.std::pair", ptr %1082, i32 0, i32 1
  store ptr %1083, ptr %144, align 8, !tbaa !5
  %1084 = load ptr, ptr %140, align 8, !tbaa !5
  %1085 = getelementptr inbounds i32, ptr %1084, i64 1
  %1086 = load i32, ptr %1085, align 4, !tbaa !9
  %1087 = load ptr, ptr %144, align 8, !tbaa !5
  %1088 = getelementptr inbounds %"struct.dali::SelectMasksCPU::PolygonDesc", ptr %1087, i32 0, i32 1
  store i32 %1086, ptr %1088, align 4, !tbaa !73
  %1089 = load ptr, ptr %140, align 8, !tbaa !5
  %1090 = getelementptr inbounds i32, ptr %1089, i64 2
  %1091 = load i32, ptr %1090, align 4, !tbaa !9
  %1092 = load ptr, ptr %144, align 8, !tbaa !5
  %1093 = getelementptr inbounds %"struct.dali::SelectMasksCPU::PolygonDesc", ptr %1092, i32 0, i32 2
  store i32 %1091, ptr %1093, align 4, !tbaa !74
  br label %1094

1094:                                             ; preds = %1081
  %1095 = load ptr, ptr %144, align 8, !tbaa !5
  %1096 = getelementptr inbounds %"struct.dali::SelectMasksCPU::PolygonDesc", ptr %1095, i32 0, i32 1
  %1097 = load i32, ptr %1096, align 4, !tbaa !73
  %1098 = icmp sge i32 %1097, 0
  br i1 %1098, label %1099, label %1106

1099:                                             ; preds = %1094
  %1100 = load ptr, ptr %144, align 8, !tbaa !5
  %1101 = getelementptr inbounds %"struct.dali::SelectMasksCPU::PolygonDesc", ptr %1100, i32 0, i32 2
  %1102 = load i32, ptr %1101, align 4, !tbaa !74
  %1103 = sext i32 %1102 to i64
  %1104 = load i64, ptr %137, align 8, !tbaa !20
  %1105 = icmp sle i64 %1103, %1104
  br i1 %1105, label %1175, label %1106

1106:                                             ; preds = %1099, %1094
  call void @llvm.lifetime.start.p0(i64 32, ptr %145) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %146) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %147) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %148) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %148) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %147, ptr noundef @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %148)
          to label %1107 unwind label %1123

1107:                                             ; preds = %1106
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %146, ptr noundef nonnull align 8 dereferenceable(32) %147, ptr noundef @.str.48)
          to label %1108 unwind label %1127

1108:                                             ; preds = %1107
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %145, ptr noundef nonnull align 8 dereferenceable(32) %146, ptr noundef @.str.20)
          to label %1109 unwind label %1131

1109:                                             ; preds = %1108
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %148) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %148) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %147) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %146) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %149) #6
  %1110 = load ptr, ptr %144, align 8, !tbaa !5
  %1111 = getelementptr inbounds %"struct.dali::SelectMasksCPU::PolygonDesc", ptr %1110, i32 0, i32 1
  %1112 = load ptr, ptr %144, align 8, !tbaa !5
  %1113 = getelementptr inbounds %"struct.dali::SelectMasksCPU::PolygonDesc", ptr %1112, i32 0, i32 2
  invoke void @_ZN4dali11make_stringIJA32_ciA3_ciS2_iA79_clS2_EEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %149, ptr noundef nonnull align 1 dereferenceable(32) @.str.49, ptr noundef nonnull align 4 dereferenceable(4) %141, ptr noundef nonnull align 1 dereferenceable(3) @.str.50, ptr noundef nonnull align 4 dereferenceable(4) %1111, ptr noundef nonnull align 1 dereferenceable(3) @.str.39, ptr noundef nonnull align 4 dereferenceable(4) %1113, ptr noundef nonnull align 1 dereferenceable(79) @.str.51, ptr noundef nonnull align 8 dereferenceable(8) %137, ptr noundef nonnull align 1 dereferenceable(3) @.str.52)
          to label %1114 unwind label %1137

1114:                                             ; preds = %1109
  call void @llvm.lifetime.start.p0(i64 32, ptr %150) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %150, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %149)
          to label %1115 unwind label %1141

1115:                                             ; preds = %1114
  %1116 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %145, ptr noundef nonnull align 8 dereferenceable(32) %150)
          to label %1117 unwind label %1145

1117:                                             ; preds = %1115
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #6
  store i1 true, ptr %155, align 1
  %1118 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %151) #6
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %151, ptr noundef nonnull align 8 dereferenceable(32) %145)
          to label %1119 unwind label %1150

1119:                                             ; preds = %1117
  call void @llvm.lifetime.start.p0(i64 1, ptr %153) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %153) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %152, ptr noundef @.str.53, ptr noundef nonnull align 1 dereferenceable(1) %153)
          to label %1120 unwind label %1154

1120:                                             ; preds = %1119
  call void @llvm.lifetime.start.p0(i64 32, ptr %154) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %154)
          to label %1121 unwind label %1158

1121:                                             ; preds = %1120
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %1118, ptr noundef nonnull align 8 dereferenceable(32) %151, ptr noundef %152, ptr noundef nonnull align 8 dereferenceable(32) %154)
          to label %1122 unwind label %1162

1122:                                             ; preds = %1121
  store i1 false, ptr %155, align 1
  invoke void @__cxa_throw(ptr %1118, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1431 unwind label %1162

1123:                                             ; preds = %1106
  %1124 = landingpad { ptr, i32 }
          cleanup
  %1125 = extractvalue { ptr, i32 } %1124, 0
  store ptr %1125, ptr %11, align 8
  %1126 = extractvalue { ptr, i32 } %1124, 1
  store i32 %1126, ptr %12, align 4
  br label %1136

1127:                                             ; preds = %1107
  %1128 = landingpad { ptr, i32 }
          cleanup
  %1129 = extractvalue { ptr, i32 } %1128, 0
  store ptr %1129, ptr %11, align 8
  %1130 = extractvalue { ptr, i32 } %1128, 1
  store i32 %1130, ptr %12, align 4
  br label %1135

1131:                                             ; preds = %1108
  %1132 = landingpad { ptr, i32 }
          cleanup
  %1133 = extractvalue { ptr, i32 } %1132, 0
  store ptr %1133, ptr %11, align 8
  %1134 = extractvalue { ptr, i32 } %1132, 1
  store i32 %1134, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  br label %1135

1135:                                             ; preds = %1131, %1127
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #6
  br label %1136

1136:                                             ; preds = %1135, %1123
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %148) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %148) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %147) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %146) #6
  br label %1174

1137:                                             ; preds = %1109
  %1138 = landingpad { ptr, i32 }
          cleanup
  %1139 = extractvalue { ptr, i32 } %1138, 0
  store ptr %1139, ptr %11, align 8
  %1140 = extractvalue { ptr, i32 } %1138, 1
  store i32 %1140, ptr %12, align 4
  br label %1173

1141:                                             ; preds = %1114
  %1142 = landingpad { ptr, i32 }
          cleanup
  %1143 = extractvalue { ptr, i32 } %1142, 0
  store ptr %1143, ptr %11, align 8
  %1144 = extractvalue { ptr, i32 } %1142, 1
  store i32 %1144, ptr %12, align 4
  br label %1149

1145:                                             ; preds = %1115
  %1146 = landingpad { ptr, i32 }
          cleanup
  %1147 = extractvalue { ptr, i32 } %1146, 0
  store ptr %1147, ptr %11, align 8
  %1148 = extractvalue { ptr, i32 } %1146, 1
  store i32 %1148, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #6
  br label %1149

1149:                                             ; preds = %1145, %1141
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #6
  br label %1172

1150:                                             ; preds = %1117
  %1151 = landingpad { ptr, i32 }
          cleanup
  %1152 = extractvalue { ptr, i32 } %1151, 0
  store ptr %1152, ptr %11, align 8
  %1153 = extractvalue { ptr, i32 } %1151, 1
  store i32 %1153, ptr %12, align 4
  br label %1168

1154:                                             ; preds = %1119
  %1155 = landingpad { ptr, i32 }
          cleanup
  %1156 = extractvalue { ptr, i32 } %1155, 0
  store ptr %1156, ptr %11, align 8
  %1157 = extractvalue { ptr, i32 } %1155, 1
  store i32 %1157, ptr %12, align 4
  br label %1167

1158:                                             ; preds = %1120
  %1159 = landingpad { ptr, i32 }
          cleanup
  %1160 = extractvalue { ptr, i32 } %1159, 0
  store ptr %1160, ptr %11, align 8
  %1161 = extractvalue { ptr, i32 } %1159, 1
  store i32 %1161, ptr %12, align 4
  br label %1166

1162:                                             ; preds = %1122, %1121
  %1163 = landingpad { ptr, i32 }
          cleanup
  %1164 = extractvalue { ptr, i32 } %1163, 0
  store ptr %1164, ptr %11, align 8
  %1165 = extractvalue { ptr, i32 } %1163, 1
  store i32 %1165, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #6
  br label %1166

1166:                                             ; preds = %1162, %1158
  call void @llvm.lifetime.end.p0(i64 32, ptr %154) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #6
  br label %1167

1167:                                             ; preds = %1166, %1154
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %153) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %153) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  br label %1168

1168:                                             ; preds = %1167, %1150
  call void @llvm.lifetime.end.p0(i64 32, ptr %151) #6
  %1169 = load i1, ptr %155, align 1
  br i1 %1169, label %1170, label %1171

1170:                                             ; preds = %1168
  call void @__cxa_free_exception(ptr %1118) #6
  br label %1171

1171:                                             ; preds = %1170, %1168
  br label %1172

1172:                                             ; preds = %1171, %1149
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #6
  br label %1173

1173:                                             ; preds = %1172, %1137
  call void @llvm.lifetime.end.p0(i64 32, ptr %149) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #6
  br label %1174

1174:                                             ; preds = %1173, %1136
  call void @llvm.lifetime.end.p0(i64 32, ptr %145) #6
  br label %1264

1175:                                             ; preds = %1099
  br label %1176

1176:                                             ; preds = %1175
  br label %1177

1177:                                             ; preds = %1176
  br label %1178

1178:                                             ; preds = %1177
  %1179 = load ptr, ptr %144, align 8, !tbaa !5
  %1180 = getelementptr inbounds %"struct.dali::SelectMasksCPU::PolygonDesc", ptr %1179, i32 0, i32 2
  %1181 = load i32, ptr %1180, align 4, !tbaa !74
  %1182 = load ptr, ptr %144, align 8, !tbaa !5
  %1183 = getelementptr inbounds %"struct.dali::SelectMasksCPU::PolygonDesc", ptr %1182, i32 0, i32 1
  %1184 = load i32, ptr %1183, align 4, !tbaa !73
  %1185 = icmp sge i32 %1181, %1184
  br i1 %1185, label %1255, label %1186

1186:                                             ; preds = %1178
  call void @llvm.lifetime.start.p0(i64 32, ptr %156) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %157) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %158) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %159) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %158, ptr noundef @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %159)
          to label %1187 unwind label %1203

1187:                                             ; preds = %1186
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %157, ptr noundef nonnull align 8 dereferenceable(32) %158, ptr noundef @.str.54)
          to label %1188 unwind label %1207

1188:                                             ; preds = %1187
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %156, ptr noundef nonnull align 8 dereferenceable(32) %157, ptr noundef @.str.20)
          to label %1189 unwind label %1211

1189:                                             ; preds = %1188
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %159) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %157) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %160) #6
  %1190 = load ptr, ptr %144, align 8, !tbaa !5
  %1191 = getelementptr inbounds %"struct.dali::SelectMasksCPU::PolygonDesc", ptr %1190, i32 0, i32 1
  %1192 = load ptr, ptr %144, align 8, !tbaa !5
  %1193 = getelementptr inbounds %"struct.dali::SelectMasksCPU::PolygonDesc", ptr %1192, i32 0, i32 2
  invoke void @_ZN4dali11make_stringIJA51_ciA3_ciA2_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %160, ptr noundef nonnull align 1 dereferenceable(51) @.str.55, ptr noundef nonnull align 4 dereferenceable(4) %1191, ptr noundef nonnull align 1 dereferenceable(3) @.str.39, ptr noundef nonnull align 4 dereferenceable(4) %1193, ptr noundef nonnull align 1 dereferenceable(2) @.str.56)
          to label %1194 unwind label %1217

1194:                                             ; preds = %1189
  call void @llvm.lifetime.start.p0(i64 32, ptr %161) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %161, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %160)
          to label %1195 unwind label %1221

1195:                                             ; preds = %1194
  %1196 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %156, ptr noundef nonnull align 8 dereferenceable(32) %161)
          to label %1197 unwind label %1225

1197:                                             ; preds = %1195
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %161) #6
  store i1 true, ptr %166, align 1
  %1198 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %162) #6
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %162, ptr noundef nonnull align 8 dereferenceable(32) %156)
          to label %1199 unwind label %1230

1199:                                             ; preds = %1197
  call void @llvm.lifetime.start.p0(i64 1, ptr %164) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %164) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %163, ptr noundef @.str.57, ptr noundef nonnull align 1 dereferenceable(1) %164)
          to label %1200 unwind label %1234

1200:                                             ; preds = %1199
  call void @llvm.lifetime.start.p0(i64 32, ptr %165) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %165)
          to label %1201 unwind label %1238

1201:                                             ; preds = %1200
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %1198, ptr noundef nonnull align 8 dereferenceable(32) %162, ptr noundef %163, ptr noundef nonnull align 8 dereferenceable(32) %165)
          to label %1202 unwind label %1242

1202:                                             ; preds = %1201
  store i1 false, ptr %166, align 1
  invoke void @__cxa_throw(ptr %1198, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1431 unwind label %1242

1203:                                             ; preds = %1186
  %1204 = landingpad { ptr, i32 }
          cleanup
  %1205 = extractvalue { ptr, i32 } %1204, 0
  store ptr %1205, ptr %11, align 8
  %1206 = extractvalue { ptr, i32 } %1204, 1
  store i32 %1206, ptr %12, align 4
  br label %1216

1207:                                             ; preds = %1187
  %1208 = landingpad { ptr, i32 }
          cleanup
  %1209 = extractvalue { ptr, i32 } %1208, 0
  store ptr %1209, ptr %11, align 8
  %1210 = extractvalue { ptr, i32 } %1208, 1
  store i32 %1210, ptr %12, align 4
  br label %1215

1211:                                             ; preds = %1188
  %1212 = landingpad { ptr, i32 }
          cleanup
  %1213 = extractvalue { ptr, i32 } %1212, 0
  store ptr %1213, ptr %11, align 8
  %1214 = extractvalue { ptr, i32 } %1212, 1
  store i32 %1214, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #6
  br label %1215

1215:                                             ; preds = %1211, %1207
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  br label %1216

1216:                                             ; preds = %1215, %1203
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %159) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %157) #6
  br label %1254

1217:                                             ; preds = %1189
  %1218 = landingpad { ptr, i32 }
          cleanup
  %1219 = extractvalue { ptr, i32 } %1218, 0
  store ptr %1219, ptr %11, align 8
  %1220 = extractvalue { ptr, i32 } %1218, 1
  store i32 %1220, ptr %12, align 4
  br label %1253

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

1225:                                             ; preds = %1195
  %1226 = landingpad { ptr, i32 }
          cleanup
  %1227 = extractvalue { ptr, i32 } %1226, 0
  store ptr %1227, ptr %11, align 8
  %1228 = extractvalue { ptr, i32 } %1226, 1
  store i32 %1228, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #6
  br label %1229

1229:                                             ; preds = %1225, %1221
  call void @llvm.lifetime.end.p0(i64 32, ptr %161) #6
  br label %1252

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

1234:                                             ; preds = %1199
  %1235 = landingpad { ptr, i32 }
          cleanup
  %1236 = extractvalue { ptr, i32 } %1235, 0
  store ptr %1236, ptr %11, align 8
  %1237 = extractvalue { ptr, i32 } %1235, 1
  store i32 %1237, ptr %12, align 4
  br label %1247

1238:                                             ; preds = %1200
  %1239 = landingpad { ptr, i32 }
          cleanup
  %1240 = extractvalue { ptr, i32 } %1239, 0
  store ptr %1240, ptr %11, align 8
  %1241 = extractvalue { ptr, i32 } %1239, 1
  store i32 %1241, ptr %12, align 4
  br label %1246

1242:                                             ; preds = %1202, %1201
  %1243 = landingpad { ptr, i32 }
          cleanup
  %1244 = extractvalue { ptr, i32 } %1243, 0
  store ptr %1244, ptr %11, align 8
  %1245 = extractvalue { ptr, i32 } %1243, 1
  store i32 %1245, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #6
  br label %1246

1246:                                             ; preds = %1242, %1238
  call void @llvm.lifetime.end.p0(i64 32, ptr %165) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #6
  br label %1247

1247:                                             ; preds = %1246, %1234
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %164) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %164) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #6
  br label %1248

1248:                                             ; preds = %1247, %1230
  call void @llvm.lifetime.end.p0(i64 32, ptr %162) #6
  %1249 = load i1, ptr %166, align 1
  br i1 %1249, label %1250, label %1251

1250:                                             ; preds = %1248
  call void @__cxa_free_exception(ptr %1198) #6
  br label %1251

1251:                                             ; preds = %1250, %1248
  br label %1252

1252:                                             ; preds = %1251, %1229
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #6
  br label %1253

1253:                                             ; preds = %1252, %1217
  call void @llvm.lifetime.end.p0(i64 32, ptr %160) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #6
  br label %1254

1254:                                             ; preds = %1253, %1216
  call void @llvm.lifetime.end.p0(i64 32, ptr %156) #6
  br label %1264

1255:                                             ; preds = %1178
  br label %1256

1256:                                             ; preds = %1255
  br label %1257

1257:                                             ; preds = %1256
  call void @llvm.lifetime.end.p0(i64 8, ptr %144) #6
  store i32 0, ptr %95, align 4
  br label %1258

1258:                                             ; preds = %1257, %1072
  call void @llvm.lifetime.end.p0(i64 8, ptr %142) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %140) #6
  %1259 = load i32, ptr %95, align 4
  switch i32 %1259, label %1431 [
    i32 0, label %1260
    i32 26, label %1261
  ]

1260:                                             ; preds = %1258
  br label %1261

1261:                                             ; preds = %1260, %1258
  %1262 = load i64, ptr %139, align 8, !tbaa !20
  %1263 = add nsw i64 %1262, 1
  store i64 %1263, ptr %139, align 8, !tbaa !20
  br label %1038, !llvm.loop !75

1264:                                             ; preds = %1254, %1174
  call void @llvm.lifetime.end.p0(i64 8, ptr %144) #6
  br label %1265

1265:                                             ; preds = %1264, %1077
  call void @llvm.lifetime.end.p0(i64 8, ptr %142) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #6
  br label %1266

1266:                                             ; preds = %1265, %1073
  call void @llvm.lifetime.end.p0(i64 8, ptr %140) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %139) #6
  br label %1371

1267:                                             ; preds = %1042
  call void @llvm.lifetime.start.p0(i64 8, ptr %167) #6
  store i64 0, ptr %167, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #6
  store i32 0, ptr %168, align 4, !tbaa !9
  br label %1268

1268:                                             ; preds = %1346, %1267
  %1269 = load i32, ptr %168, align 4, !tbaa !9
  %1270 = sext i32 %1269 to i64
  %1271 = load i64, ptr %118, align 8, !tbaa !20
  %1272 = icmp slt i64 %1270, %1271
  br i1 %1272, label %1274, label %1273

1273:                                             ; preds = %1268
  store i32 31, ptr %95, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #6
  br label %1351

1274:                                             ; preds = %1268
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #6
  %1275 = load ptr, ptr %116, align 8, !tbaa !5
  %1276 = load i32, ptr %168, align 4, !tbaa !9
  %1277 = sext i32 %1276 to i64
  %1278 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4dali4spanIKiLln1EEixEl(ptr noundef nonnull align 8 dereferenceable(16) %1275, i64 noundef %1277)
          to label %1279 unwind label %1300

1279:                                             ; preds = %1274
  %1280 = load i32, ptr %1278, align 4, !tbaa !9
  store i32 %1280, ptr %169, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %170) #6
  %1281 = load ptr, ptr %117, align 8, !tbaa !5
  %1282 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiN4dali14SelectMasksCPU11PolygonDescESt4hashIiESt8equal_toIiESaISt4pairIKiS2_EEEixERS8_(ptr noundef nonnull align 8 dereferenceable(56) %1281, ptr noundef nonnull align 4 dereferenceable(4) %169)
          to label %1283 unwind label %1304

1283:                                             ; preds = %1279
  store ptr %1282, ptr %170, align 8, !tbaa !5
  %1284 = load ptr, ptr %170, align 8, !tbaa !5
  %1285 = getelementptr inbounds %"struct.dali::SelectMasksCPU::PolygonDesc", ptr %1284, i32 0, i32 1
  %1286 = load i32, ptr %1285, align 4, !tbaa !73
  %1287 = icmp eq i32 %1286, -1
  br i1 %1287, label %1288, label %1335

1288:                                             ; preds = %1283
  %1289 = load ptr, ptr %170, align 8, !tbaa !5
  %1290 = getelementptr inbounds %"struct.dali::SelectMasksCPU::PolygonDesc", ptr %1289, i32 0, i32 2
  %1291 = load i32, ptr %1290, align 4, !tbaa !74
  %1292 = icmp eq i32 %1291, -1
  br i1 %1292, label %1293, label %1335

1293:                                             ; preds = %1288
  store i1 true, ptr %176, align 1
  %1294 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %171) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %172) #6
  invoke void @_ZN4dali11make_stringIJA18_ciA30_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %172, ptr noundef nonnull align 1 dereferenceable(18) @.str.58, ptr noundef nonnull align 4 dereferenceable(4) %169, ptr noundef nonnull align 1 dereferenceable(30) @.str.59)
          to label %1295 unwind label %1308

1295:                                             ; preds = %1293
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %171, ptr noundef nonnull align 8 dereferenceable(32) %172)
          to label %1296 unwind label %1312

1296:                                             ; preds = %1295
  call void @llvm.lifetime.start.p0(i64 1, ptr %174) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %174) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef @.str.60, ptr noundef nonnull align 1 dereferenceable(1) %174)
          to label %1297 unwind label %1316

1297:                                             ; preds = %1296
  call void @llvm.lifetime.start.p0(i64 32, ptr %175) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %175)
          to label %1298 unwind label %1320

1298:                                             ; preds = %1297
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %1294, ptr noundef nonnull align 8 dereferenceable(32) %171, ptr noundef %173, ptr noundef nonnull align 8 dereferenceable(32) %175)
          to label %1299 unwind label %1324

1299:                                             ; preds = %1298
  store i1 false, ptr %176, align 1
  invoke void @__cxa_throw(ptr %1294, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1431 unwind label %1324

1300:                                             ; preds = %1274
  %1301 = landingpad { ptr, i32 }
          cleanup
  %1302 = extractvalue { ptr, i32 } %1301, 0
  store ptr %1302, ptr %11, align 8
  %1303 = extractvalue { ptr, i32 } %1301, 1
  store i32 %1303, ptr %12, align 4
  br label %1350

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

1308:                                             ; preds = %1293
  %1309 = landingpad { ptr, i32 }
          cleanup
  %1310 = extractvalue { ptr, i32 } %1309, 0
  store ptr %1310, ptr %11, align 8
  %1311 = extractvalue { ptr, i32 } %1309, 1
  store i32 %1311, ptr %12, align 4
  br label %1331

1312:                                             ; preds = %1295
  %1313 = landingpad { ptr, i32 }
          cleanup
  %1314 = extractvalue { ptr, i32 } %1313, 0
  store ptr %1314, ptr %11, align 8
  %1315 = extractvalue { ptr, i32 } %1313, 1
  store i32 %1315, ptr %12, align 4
  br label %1330

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

1320:                                             ; preds = %1297
  %1321 = landingpad { ptr, i32 }
          cleanup
  %1322 = extractvalue { ptr, i32 } %1321, 0
  store ptr %1322, ptr %11, align 8
  %1323 = extractvalue { ptr, i32 } %1321, 1
  store i32 %1323, ptr %12, align 4
  br label %1328

1324:                                             ; preds = %1299, %1298
  %1325 = landingpad { ptr, i32 }
          cleanup
  %1326 = extractvalue { ptr, i32 } %1325, 0
  store ptr %1326, ptr %11, align 8
  %1327 = extractvalue { ptr, i32 } %1325, 1
  store i32 %1327, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #6
  br label %1328

1328:                                             ; preds = %1324, %1320
  call void @llvm.lifetime.end.p0(i64 32, ptr %175) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #6
  br label %1329

1329:                                             ; preds = %1328, %1316
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %174) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %174) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #6
  br label %1330

1330:                                             ; preds = %1329, %1312
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #6
  br label %1331

1331:                                             ; preds = %1330, %1308
  call void @llvm.lifetime.end.p0(i64 32, ptr %172) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %171) #6
  %1332 = load i1, ptr %176, align 1
  br i1 %1332, label %1333, label %1334

1333:                                             ; preds = %1331
  call void @__cxa_free_exception(ptr %1294) #6
  br label %1334

1334:                                             ; preds = %1333, %1331
  br label %1349

1335:                                             ; preds = %1288, %1283
  %1336 = load ptr, ptr %170, align 8, !tbaa !5
  %1337 = getelementptr inbounds %"struct.dali::SelectMasksCPU::PolygonDesc", ptr %1336, i32 0, i32 2
  %1338 = load i32, ptr %1337, align 4, !tbaa !74
  %1339 = load ptr, ptr %170, align 8, !tbaa !5
  %1340 = getelementptr inbounds %"struct.dali::SelectMasksCPU::PolygonDesc", ptr %1339, i32 0, i32 1
  %1341 = load i32, ptr %1340, align 4, !tbaa !73
  %1342 = sub nsw i32 %1338, %1341
  %1343 = sext i32 %1342 to i64
  %1344 = load i64, ptr %167, align 8, !tbaa !20
  %1345 = add nsw i64 %1344, %1343
  store i64 %1345, ptr %167, align 8, !tbaa !20
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #6
  br label %1346

1346:                                             ; preds = %1335
  %1347 = load i32, ptr %168, align 4, !tbaa !9
  %1348 = add nsw i32 %1347, 1
  store i32 %1348, ptr %168, align 4, !tbaa !9
  br label %1268, !llvm.loop !76

1349:                                             ; preds = %1334, %1304
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #6
  br label %1350

1350:                                             ; preds = %1349, %1300
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #6
  br label %1370

1351:                                             ; preds = %1273
  %1352 = load i64, ptr %167, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 16, ptr %177) #6
  %1353 = load i32, ptr %115, align 4, !tbaa !9
  %1354 = sext i32 %1353 to i64
  %1355 = invoke { ptr, i64 } @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE17tensor_shape_spanEl(ptr noundef nonnull align 8 dereferenceable(28) %114, i64 noundef %1354)
          to label %1356 unwind label %1366

1356:                                             ; preds = %1351
  %1357 = getelementptr inbounds { ptr, i64 }, ptr %177, i32 0, i32 0
  %1358 = extractvalue { ptr, i64 } %1355, 0
  store ptr %1358, ptr %1357, align 8
  %1359 = getelementptr inbounds { ptr, i64 }, ptr %177, i32 0, i32 1
  %1360 = extractvalue { ptr, i64 } %1355, 1
  store i64 %1360, ptr %1359, align 8
  %1361 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4dali4spanIlLln1EEixEl(ptr noundef nonnull align 8 dereferenceable(16) %177, i64 noundef 0)
          to label %1362 unwind label %1366

1362:                                             ; preds = %1356
  store i64 %1352, ptr %1361, align 8, !tbaa !20
  call void @llvm.lifetime.end.p0(i64 16, ptr %177) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %167) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %137) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %135) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %118) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #6
  br label %1363

1363:                                             ; preds = %1362
  %1364 = load i32, ptr %115, align 4, !tbaa !9
  %1365 = add nsw i32 %1364, 1
  store i32 %1365, ptr %115, align 4, !tbaa !9
  br label %842, !llvm.loop !77

1366:                                             ; preds = %1356, %1351
  %1367 = landingpad { ptr, i32 }
          cleanup
  %1368 = extractvalue { ptr, i32 } %1367, 0
  store ptr %1368, ptr %11, align 8
  %1369 = extractvalue { ptr, i32 } %1367, 1
  store i32 %1369, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %177) #6
  br label %1370

1370:                                             ; preds = %1366, %1350
  call void @llvm.lifetime.end.p0(i64 8, ptr %167) #6
  br label %1371

1371:                                             ; preds = %1370, %1266, %1047
  call void @llvm.lifetime.end.p0(i64 8, ptr %137) #6
  br label %1372

1372:                                             ; preds = %1371, %1043
  call void @llvm.lifetime.end.p0(i64 8, ptr %135) #6
  br label %1373

1373:                                             ; preds = %1372, %1014
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #6
  br label %1374

1374:                                             ; preds = %1373, %937, %933, %929
  call void @llvm.lifetime.end.p0(i64 8, ptr %118) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #6
  br label %1375

1375:                                             ; preds = %1374, %925
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #6
  br label %1411

1376:                                             ; preds = %846
  %1377 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIN4dali10OutputDescESaIS1_EE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %1377, i64 noundef 2)
          to label %1378 unwind label %863

1378:                                             ; preds = %1376
  %1379 = load ptr, ptr %6, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr %178) #6
  %1380 = getelementptr inbounds %"struct.dali::OutputDesc", ptr %178, i32 0, i32 0
  call void @_ZN4dali15TensorListShapeILin1EEC2EOS1_(ptr noundef nonnull align 8 dereferenceable(32) %1380, ptr noundef nonnull align 8 dereferenceable(32) %113) #6
  %1381 = getelementptr inbounds %"struct.dali::OutputDesc", ptr %178, i32 0, i32 1
  %1382 = load ptr, ptr %37, align 8, !tbaa !5
  %1383 = invoke noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %1382)
          to label %1384 unwind label %1393

1384:                                             ; preds = %1378
  store i32 %1383, ptr %1381, align 8, !tbaa !11
  invoke void @_ZNSt6vectorIN4dali10OutputDescESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %1379, ptr noundef nonnull align 8 dereferenceable(36) %178)
          to label %1385 unwind label %1397

1385:                                             ; preds = %1384
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %178) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %178) #6
  %1386 = load ptr, ptr %6, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr %179) #6
  %1387 = getelementptr inbounds %"struct.dali::OutputDesc", ptr %179, i32 0, i32 0
  call void @_ZN4dali15TensorListShapeILin1EEC2EOS1_(ptr noundef nonnull align 8 dereferenceable(32) %1387, ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  %1388 = getelementptr inbounds %"struct.dali::OutputDesc", ptr %179, i32 0, i32 1
  %1389 = load ptr, ptr %64, align 8, !tbaa !5
  %1390 = invoke noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %1389)
          to label %1391 unwind label %1402

1391:                                             ; preds = %1385
  store i32 %1390, ptr %1388, align 8, !tbaa !11
  invoke void @_ZNSt6vectorIN4dali10OutputDescESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %1386, ptr noundef nonnull align 8 dereferenceable(36) %179)
          to label %1392 unwind label %1406

1392:                                             ; preds = %1391
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %179) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %179) #6
  store i1 true, ptr %4, align 1
  store i32 1, ptr %95, align 4
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %114) #6
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %113) #6
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEKiLi2EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %112) #6
  call void @llvm.lifetime.end.p0(i64 56, ptr %112) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #6
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEKiLi1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %110) #6
  call void @llvm.lifetime.end.p0(i64 56, ptr %110) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #6
  br label %1416

1393:                                             ; preds = %1378
  %1394 = landingpad { ptr, i32 }
          cleanup
  %1395 = extractvalue { ptr, i32 } %1394, 0
  store ptr %1395, ptr %11, align 8
  %1396 = extractvalue { ptr, i32 } %1394, 1
  store i32 %1396, ptr %12, align 4
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1380) #6
  br label %1401

1397:                                             ; preds = %1384
  %1398 = landingpad { ptr, i32 }
          cleanup
  %1399 = extractvalue { ptr, i32 } %1398, 0
  store ptr %1399, ptr %11, align 8
  %1400 = extractvalue { ptr, i32 } %1398, 1
  store i32 %1400, ptr %12, align 4
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %178) #6
  br label %1401

1401:                                             ; preds = %1397, %1393
  call void @llvm.lifetime.end.p0(i64 40, ptr %178) #6
  br label %1411

1402:                                             ; preds = %1385
  %1403 = landingpad { ptr, i32 }
          cleanup
  %1404 = extractvalue { ptr, i32 } %1403, 0
  store ptr %1404, ptr %11, align 8
  %1405 = extractvalue { ptr, i32 } %1403, 1
  store i32 %1405, ptr %12, align 4
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1387) #6
  br label %1410

1406:                                             ; preds = %1391
  %1407 = landingpad { ptr, i32 }
          cleanup
  %1408 = extractvalue { ptr, i32 } %1407, 0
  store ptr %1408, ptr %11, align 8
  %1409 = extractvalue { ptr, i32 } %1407, 1
  store i32 %1409, ptr %12, align 4
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %179) #6
  br label %1410

1410:                                             ; preds = %1406, %1402
  call void @llvm.lifetime.end.p0(i64 40, ptr %179) #6
  br label %1411

1411:                                             ; preds = %1410, %1401, %1375, %863
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  br label %1412

1412:                                             ; preds = %1411, %859
  call void @llvm.lifetime.end.p0(i64 32, ptr %114) #6
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #6
  br label %1413

1413:                                             ; preds = %1412, %855
  call void @llvm.lifetime.end.p0(i64 32, ptr %113) #6
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEKiLi2EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %112) #6
  call void @llvm.lifetime.end.p0(i64 56, ptr %112) #6
  br label %1414

1414:                                             ; preds = %1413, %851
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #6
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEKiLi1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %110) #6
  call void @llvm.lifetime.end.p0(i64 56, ptr %110) #6
  br label %1415

1415:                                             ; preds = %1414, %847
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #6
  br label %1418

1416:                                             ; preds = %1392, %706
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #6
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #6
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #6
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #6
  %1417 = load i1, ptr %4, align 1
  ret i1 %1417

1418:                                             ; preds = %1415, %830, %732, %719, %682, %622
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #6
  br label %1419

1419:                                             ; preds = %1418, %589, %534
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #6
  br label %1420

1420:                                             ; preds = %1419, %530
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #6
  br label %1421

1421:                                             ; preds = %1420, %526
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #6
  br label %1422

1422:                                             ; preds = %1421, %496, %422, %367
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %1423

1423:                                             ; preds = %1422, %363
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  br label %1424

1424:                                             ; preds = %1423, %359
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #6
  br label %1425

1425:                                             ; preds = %1424, %330, %258, %203
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #6
  br label %1426

1426:                                             ; preds = %1425
  %1427 = load ptr, ptr %11, align 8
  %1428 = load i32, ptr %12, align 4
  %1429 = insertvalue { ptr, i32 } poison, ptr %1427, 0
  %1430 = insertvalue { ptr, i32 } %1429, i32 %1428, 1
  resume { ptr, i32 } %1430

1431:                                             ; preds = %1299, %1258, %1202, %1122, %960, %767, %621, %525, %444, %358, %278, %202
  unreachable
}

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

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

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

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

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

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

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

declare ptr @__cxa_allocate_exception(i64)

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

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

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

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

declare void @__cxa_throw(ptr, ptr, ptr)

declare void @__cxa_free_exception(ptr)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIN4dali14SelectMasksCPU10SampleDescESaIS2_EE6resizeEm(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(72) ptr @_ZNSt6vectorIN4dali14SelectMasksCPU10SampleDescESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #1 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i64 } @_ZN4dali10make_cspanILln1EiEENS_4spanIKT0_XT_EEEPS3_l(ptr noundef, i64 noundef) #2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !19, i64 32}
!12 = !{!"_ZTSN4dali10OutputDescE", !13, i64 0, !19, i64 32}
!13 = !{!"_ZTSN4dali15TensorListShapeILin1EEE", !14, i64 0, !10, i64 28}
!14 = !{!"_ZTSN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EEE", !15, i64 0, !10, i64 24}
!15 = !{!"_ZTSSt6vectorIlSaIlEE", !16, i64 0}
!16 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!19 = !{!"_ZTS13_DALIDataType", !7, i64 0}
!20 = !{!21, !21, i64 0}
!21 = !{!"long", !7, i64 0}
!22 = distinct !{!22, !23}
!23 = !{!"llvm.loop.mustprogress"}
!24 = !{i64 0, i64 8, !5, i64 8, i64 8, !20}
!25 = !{!26, !68, i64 424}
!26 = !{!"_ZTSN4dali14SelectMasksCPUE", !27, i64 0, !64, i64 400, !68, i64 424}
!27 = !{!"_ZTSN4dali17StatelessOperatorINS_10CPUBackendEEE", !28, i64 0}
!28 = !{!"_ZTSN4dali8OperatorINS_10CPUBackendEEE", !29, i64 0}
!29 = !{!"_ZTSN4dali12OperatorBaseE", !30, i64 8, !10, i64 336, !10, i64 340, !59, i64 344}
!30 = !{!"_ZTSN4dali6OpSpecE", !31, i64 0, !6, i64 32, !33, i64 40, !37, i64 64, !45, i64 112, !37, i64 136, !49, i64 184, !52, i64 232, !52, i64 256, !56, i64 280}
!31 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !32, i64 0, !21, i64 8, !7, i64 16}
!32 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!33 = !{!"_ZTSSt6vectorISt10shared_ptrIN4dali8ArgumentEESaIS3_EE", !34, i64 0}
!34 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE", !35, i64 0}
!35 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE12_Vector_implE", !36, i64 0}
!36 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!37 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIvESaISt4pairIKS5_iEEE", !38, i64 0}
!38 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIvESaIS8_EE", !39, i64 0}
!39 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIvESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !40, i64 0, !42, i64 8}
!40 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIvEE", !41, i64 0}
!41 = !{!"_ZTSSt4lessIvE"}
!42 = !{!"_ZTSSt15_Rb_tree_header", !43, i64 0, !21, i64 32}
!43 = !{!"_ZTSSt18_Rb_tree_node_base", !44, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!44 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!45 = !{!"_ZTSSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE", !46, i64 0}
!46 = !{!"_ZTSSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE", !47, i64 0}
!47 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE12_Vector_implE", !48, i64 0}
!48 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!49 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIvESaISt4pairIKS5_S5_EEE", !50, i64 0}
!50 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIvESaIS8_EE", !51, i64 0}
!51 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIvESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !40, i64 0, !42, i64 8}
!52 = !{!"_ZTSSt6vectorIN4dali6OpSpec15InOutDeviceDescESaIS2_EE", !53, i64 0}
!53 = !{!"_ZTSSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE", !54, i64 0}
!54 = !{!"_ZTSNSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE12_Vector_implE", !55, i64 0}
!55 = !{!"_ZTSNSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!56 = !{!"_ZTSSt3mapIN4dali6OpSpec15InOutDeviceDescEiSt4lessIvESaISt4pairIKS2_iEEE", !57, i64 0}
!57 = !{!"_ZTSSt8_Rb_treeIN4dali6OpSpec15InOutDeviceDescESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIvESaIS5_EE", !58, i64 0}
!58 = !{!"_ZTSNSt8_Rb_treeIN4dali6OpSpec15InOutDeviceDescESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIvESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !40, i64 0, !42, i64 8}
!59 = !{!"_ZTSSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3anySt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S6_EEE", !60, i64 0}
!60 = !{!"_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, !21, i64 8, !61, i64 16, !21, i64 24, !62, i64 32, !6, i64 48}
!61 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!62 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !63, i64 0, !21, i64 8}
!63 = !{!"float", !7, i64 0}
!64 = !{!"_ZTSSt6vectorIN4dali14SelectMasksCPU10SampleDescESaIS2_EE", !65, i64 0}
!65 = !{!"_ZTSSt12_Vector_baseIN4dali14SelectMasksCPU10SampleDescESaIS2_EE", !66, i64 0}
!66 = !{!"_ZTSNSt12_Vector_baseIN4dali14SelectMasksCPU10SampleDescESaIS2_EE12_Vector_implE", !67, i64 0}
!67 = !{!"_ZTSNSt12_Vector_baseIN4dali14SelectMasksCPU10SampleDescESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!68 = !{!"bool", !7, i64 0}
!69 = !{i8 0, i8 2}
!70 = !{}
!71 = !{!72, !10, i64 0}
!72 = !{!"_ZTSN4dali14SelectMasksCPU11PolygonDescE", !10, i64 0, !10, i64 4, !10, i64 8}
!73 = !{!72, !10, i64 4}
!74 = !{!72, !10, i64 8}
!75 = distinct !{!75, !23}
!76 = distinct !{!76, !23}
!77 = distinct !{!77, !23}


; 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"

%"struct.dali::TensorListShape" = type { %"struct.dali::TensorListShapeBase.base", i32 }
%"struct.dali::TensorListShapeBase.base" = type <{ %"class.std::vector.63", i32 }>
%"class.std::vector.63" = type { %"struct.std::_Vector_base.64" }
%"struct.std::_Vector_base.64" = 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::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%"struct.dali::OutputDesc" = type { %"struct.dali::TensorListShape", i32, [4 x i8] }
%"class.dali::span" = type { ptr, i64 }
%"struct.dali::TensorListView" = type { %"struct.dali::TensorListViewBase" }
%"struct.dali::TensorListViewBase" = type { %"struct.dali::TensorListShape.74", %"class.std::vector.77" }
%"struct.dali::TensorListShape.74" = type { %"struct.dali::TensorListShapeBase.base.76", [4 x i8] }
%"struct.dali::TensorListShapeBase.base.76" = type <{ %"class.std::vector.63", i32 }>
%"class.std::vector.77" = type { %"struct.std::_Vector_base.78" }
%"struct.std::_Vector_base.78" = 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 }
%"struct.dali::TensorListView.82" = type { %"struct.dali::TensorListViewBase.83" }
%"struct.dali::TensorListViewBase.83" = type { %"struct.dali::TensorListShape.84", %"class.std::vector.77" }
%"struct.dali::TensorListShape.84" = type { %"struct.dali::TensorListShapeBase.base.86", [4 x i8] }
%"struct.dali::TensorListShapeBase.base.86" = type <{ %"class.std::vector.63", i32 }>
%"class.dali::span.144" = type { ptr }
%"struct.std::__detail::_Node_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"struct.std::__detail::_Node_iterator_base" = type { ptr }

@.str.18 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [95 x i8], align 1
@_ZTIN4dali13DALIExceptionE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.24 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [96 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN4dali14SelectMasksCPU9SetupImplERSt6vectorINS_10OutputDescESaIS2_EERKNS_9WorkspaceE(ptr noundef nonnull align 8 dereferenceable(425) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(664) %2) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca %"struct.dali::TensorListShape", align 8
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::allocator", align 1
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::allocator", align 1
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator", align 1
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator", align 1
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::allocator", align 1
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator", align 1
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"struct.dali::TensorListShape", align 8
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator", align 1
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::allocator", align 1
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::allocator", align 1
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::allocator", align 1
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca i32, align 4
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::allocator", align 1
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"struct.dali::TensorListShape", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::allocator", align 1
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca i32, align 4
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::allocator", align 1
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca i32, align 4
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::allocator", align 1
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.std::allocator", align 1
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %"struct.dali::OutputDesc", align 8
  %76 = alloca %"struct.dali::OutputDesc", align 8
  %77 = alloca %"class.dali::span", align 8
  %78 = alloca %"class.std::__cxx11::basic_string", align 8
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca %"class.std::allocator", align 1
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca %"class.std::__cxx11::basic_string", align 8
  %85 = alloca %"class.std::__cxx11::basic_string", align 8
  %86 = alloca %"class.std::allocator", align 1
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca %"struct.dali::TensorListView", align 8
  %89 = alloca %"struct.dali::TensorListView.82", align 8
  %90 = alloca %"struct.dali::TensorListShape", align 8
  %91 = alloca %"struct.dali::TensorListShape", align 8
  %92 = alloca %"class.dali::span.144", align 8
  %93 = alloca %"class.dali::span", align 8
  %94 = alloca i32, align 4
  %95 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %96 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %97 = alloca %"class.std::__cxx11::basic_string", align 8
  %98 = alloca %"class.std::__cxx11::basic_string", align 8
  %99 = alloca %"class.std::__cxx11::basic_string", align 8
  %100 = alloca %"class.std::allocator", align 1
  %101 = alloca %"class.std::__cxx11::basic_string", align 8
  %102 = alloca %"class.dali::span", align 8
  %103 = alloca i64, align 8
  %104 = alloca %"class.dali::span", align 8
  %105 = alloca i32, align 4
  %106 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %107 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %108 = alloca %"class.std::__cxx11::basic_string", align 8
  %109 = alloca %"class.std::__cxx11::basic_string", align 8
  %110 = alloca %"class.std::__cxx11::basic_string", align 8
  %111 = alloca %"class.std::allocator", align 1
  %112 = alloca %"class.std::__cxx11::basic_string", align 8
  %113 = alloca %"class.std::__cxx11::basic_string", align 8
  %114 = alloca %"class.std::__cxx11::basic_string", align 8
  %115 = alloca %"class.std::__cxx11::basic_string", align 8
  %116 = alloca %"class.std::allocator", align 1
  %117 = alloca %"class.std::__cxx11::basic_string", align 8
  %118 = alloca %"class.std::__cxx11::basic_string", align 8
  %119 = alloca %"class.std::__cxx11::basic_string", align 8
  %120 = alloca %"class.std::__cxx11::basic_string", align 8
  %121 = alloca %"class.std::allocator", align 1
  %122 = alloca %"class.std::__cxx11::basic_string", align 8
  %123 = alloca %"class.std::__cxx11::basic_string", align 8
  %124 = alloca %"class.std::__cxx11::basic_string", align 8
  %125 = alloca %"class.std::__cxx11::basic_string", align 8
  %126 = alloca %"class.std::allocator", align 1
  %127 = alloca %"class.std::__cxx11::basic_string", align 8
  %128 = alloca i32, align 4
  %129 = alloca %"class.std::__cxx11::basic_string", align 8
  %130 = alloca %"class.std::__cxx11::basic_string", align 8
  %131 = alloca %"class.std::__cxx11::basic_string", align 8
  %132 = alloca %"class.std::allocator", align 1
  %133 = alloca %"class.std::__cxx11::basic_string", align 8
  %134 = alloca %"class.dali::span", align 8
  %135 = alloca %"struct.dali::OutputDesc", align 8
  %136 = alloca %"struct.dali::OutputDesc", align 8
  %137 = tail call noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE5InputINS_10CPUBackendEEERKDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %2, i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #5
  %138 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE5shapeEv(ptr noundef nonnull align 8 dereferenceable(304) %137)
  call void @_ZN4dali15TensorListShapeILin1EEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %138)
  %139 = invoke noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %137)
          to label %140 unwind label %155

140:                                              ; preds = %3
  %141 = icmp eq i32 %139, 6
  br i1 %141, label %185, label %142

142:                                              ; preds = %140
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %8) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %143 unwind label %157

143:                                              ; preds = %142
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %6, ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @.str.19)
          to label %144 unwind label %159

144:                                              ; preds = %143
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %5, ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull @.str.20)
          to label %145 unwind label %161

145:                                              ; preds = %144
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %146 unwind label %165

146:                                              ; preds = %145
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %147 unwind label %167

147:                                              ; preds = %146
  %148 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %149 unwind label %169

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

151:                                              ; preds = %149
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.23, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %152 unwind label %173

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

153:                                              ; preds = %152
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %150, ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull %13, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %154 unwind label %177

154:                                              ; preds = %153
  invoke void @__cxa_throw(ptr nonnull %150, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %809 unwind label %177

155:                                              ; preds = %3
  %156 = landingpad { ptr, i32 }
          cleanup
  br label %808

157:                                              ; preds = %142
  %158 = landingpad { ptr, i32 }
          cleanup
  br label %164

159:                                              ; preds = %143
  %160 = landingpad { ptr, i32 }
          cleanup
  br label %163

161:                                              ; preds = %144
  %162 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #5
  br label %163

163:                                              ; preds = %161, %159
  %.pn = phi { ptr, i32 } [ %162, %161 ], [ %160, %159 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #5
  br label %164

164:                                              ; preds = %163, %157
  %.pn.pn = phi { ptr, i32 } [ %.pn, %163 ], [ %158, %157 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #5
  br label %184

165:                                              ; preds = %145
  %166 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #5
  br label %183

167:                                              ; preds = %146
  %168 = landingpad { ptr, i32 }
          cleanup
  br label %171

169:                                              ; preds = %147
  %170 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #5
  br label %171

171:                                              ; preds = %169, %167
  %.pn273 = phi { ptr, i32 } [ %170, %169 ], [ %168, %167 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #5
  br label %182

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

173:                                              ; preds = %151
  %174 = landingpad { ptr, i32 }
          cleanup
  br label %180

175:                                              ; preds = %152
  %176 = landingpad { ptr, i32 }
          cleanup
  br label %179

177:                                              ; preds = %154, %153
  %.0231 = phi i1 [ false, %154 ], [ true, %153 ]
  %178 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #5
  br label %179

179:                                              ; preds = %177, %175
  %.1232 = phi i1 [ %.0231, %177 ], [ true, %175 ]
  %.pn275 = phi { ptr, i32 } [ %178, %177 ], [ %176, %175 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #5
  br label %180

180:                                              ; preds = %173, %179
  %.2233 = phi i1 [ %.1232, %179 ], [ true, %173 ]
  %.pn275.pn = phi { ptr, i32 } [ %.pn275, %179 ], [ %174, %173 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #5
  br i1 %.2233, label %181, label %182

181:                                              ; preds = %.thread, %180
  %.pn275.pn.pn427 = phi { ptr, i32 } [ %172, %.thread ], [ %.pn275.pn, %180 ]
  call void @__cxa_free_exception(ptr %150) #5
  br label %182

182:                                              ; preds = %180, %181, %171
  %.pn275.pn.pn.pn = phi { ptr, i32 } [ %.pn275.pn.pn427, %181 ], [ %.pn275.pn, %180 ], [ %.pn273, %171 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #5
  br label %183

183:                                              ; preds = %182, %165
  %.pn275.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn275.pn.pn.pn, %182 ], [ %166, %165 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #5
  br label %184

184:                                              ; preds = %183, %164
  %.pn275.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn275.pn.pn.pn.pn, %183 ], [ %.pn.pn, %164 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #5
  br label %808

185:                                              ; preds = %140
  %186 = call noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %4)
  %187 = icmp eq i32 %186, 1
  br i1 %187, label %229, label %188

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

189:                                              ; preds = %188
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull @.str.24)
          to label %190 unwind label %203

190:                                              ; preds = %189
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.20)
          to label %191 unwind label %205

191:                                              ; preds = %190
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %21) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull @.str.25, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %192 unwind label %209

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

193:                                              ; preds = %192
  %194 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %195 unwind label %213

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

197:                                              ; preds = %195
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %25) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.26, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %198 unwind label %217

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

199:                                              ; preds = %198
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %196, ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull %24, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %200 unwind label %221

200:                                              ; preds = %199
  invoke void @__cxa_throw(ptr nonnull %196, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %809 unwind label %221

201:                                              ; preds = %188
  %202 = landingpad { ptr, i32 }
          cleanup
  br label %208

203:                                              ; preds = %189
  %204 = landingpad { ptr, i32 }
          cleanup
  br label %207

205:                                              ; preds = %190
  %206 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  br label %207

207:                                              ; preds = %205, %203
  %.pn282 = phi { ptr, i32 } [ %206, %205 ], [ %204, %203 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  br label %208

208:                                              ; preds = %207, %201
  %.pn282.pn = phi { ptr, i32 } [ %.pn282, %207 ], [ %202, %201 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #5
  br label %228

209:                                              ; preds = %191
  %210 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #5
  br label %227

211:                                              ; preds = %192
  %212 = landingpad { ptr, i32 }
          cleanup
  br label %215

213:                                              ; preds = %193
  %214 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  br label %215

215:                                              ; preds = %213, %211
  %.pn285 = phi { ptr, i32 } [ %214, %213 ], [ %212, %211 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #5
  br label %226

.thread428:                                       ; preds = %195
  %216 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #5
  br label %225

217:                                              ; preds = %197
  %218 = landingpad { ptr, i32 }
          cleanup
  br label %224

219:                                              ; preds = %198
  %220 = landingpad { ptr, i32 }
          cleanup
  br label %223

221:                                              ; preds = %200, %199
  %.0240 = phi i1 [ false, %200 ], [ true, %199 ]
  %222 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  br label %223

223:                                              ; preds = %221, %219
  %.1241 = phi i1 [ %.0240, %221 ], [ true, %219 ]
  %.pn287 = phi { ptr, i32 } [ %222, %221 ], [ %220, %219 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  br label %224

224:                                              ; preds = %217, %223
  %.2242 = phi i1 [ %.1241, %223 ], [ true, %217 ]
  %.pn287.pn = phi { ptr, i32 } [ %.pn287, %223 ], [ %218, %217 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #5
  br i1 %.2242, label %225, label %226

225:                                              ; preds = %.thread428, %224
  %.pn287.pn.pn431 = phi { ptr, i32 } [ %216, %.thread428 ], [ %.pn287.pn, %224 ]
  call void @__cxa_free_exception(ptr %196) #5
  br label %226

226:                                              ; preds = %224, %225, %215
  %.pn287.pn.pn.pn = phi { ptr, i32 } [ %.pn287.pn.pn431, %225 ], [ %.pn287.pn, %224 ], [ %.pn285, %215 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #5
  br label %227

227:                                              ; preds = %226, %209
  %.pn287.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn287.pn.pn.pn, %226 ], [ %210, %209 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  br label %228

228:                                              ; preds = %227, %208
  %.pn287.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn287.pn.pn.pn.pn, %227 ], [ %.pn282.pn, %208 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #5
  br label %808

229:                                              ; preds = %185
  %230 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE5InputINS_10CPUBackendEEERKDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %2, i32 noundef 1)
          to label %231 unwind label %250

231:                                              ; preds = %229
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #5
  %232 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE5shapeEv(ptr noundef nonnull align 8 dereferenceable(304) %230)
  invoke void @_ZN4dali15TensorListShapeILin1EEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull align 8 dereferenceable(32) %232)
          to label %233 unwind label %252

233:                                              ; preds = %231
  %234 = invoke noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %230)
          to label %235 unwind label %254

235:                                              ; preds = %233
  %236 = icmp eq i32 %234, 6
  br i1 %236, label %284, label %237

237:                                              ; preds = %235
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %238 unwind label %256

238:                                              ; preds = %237
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.27)
          to label %239 unwind label %258

239:                                              ; preds = %238
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull @.str.20)
          to label %240 unwind label %260

240:                                              ; preds = %239
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %33) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull @.str.28, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %241 unwind label %264

241:                                              ; preds = %240
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %242 unwind label %266

242:                                              ; preds = %241
  %243 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %244 unwind label %268

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

246:                                              ; preds = %244
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull @.str.29, ptr noundef nonnull align 1 dereferenceable(1) %37)
          to label %247 unwind label %272

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

248:                                              ; preds = %247
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %245, ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull %36, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %249 unwind label %276

249:                                              ; preds = %248
  invoke void @__cxa_throw(ptr nonnull %245, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %809 unwind label %276

250:                                              ; preds = %229
  %251 = landingpad { ptr, i32 }
          cleanup
  br label %808

252:                                              ; preds = %231
  %253 = landingpad { ptr, i32 }
          cleanup
  br label %807

254:                                              ; preds = %233
  %255 = landingpad { ptr, i32 }
          cleanup
  br label %806

256:                                              ; preds = %237
  %257 = landingpad { ptr, i32 }
          cleanup
  br label %263

258:                                              ; preds = %238
  %259 = landingpad { ptr, i32 }
          cleanup
  br label %262

260:                                              ; preds = %239
  %261 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  br label %262

262:                                              ; preds = %260, %258
  %.pn294 = phi { ptr, i32 } [ %261, %260 ], [ %259, %258 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  br label %263

263:                                              ; preds = %262, %256
  %.pn294.pn = phi { ptr, i32 } [ %.pn294, %262 ], [ %257, %256 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #5
  br label %283

264:                                              ; preds = %240
  %265 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #5
  br label %282

266:                                              ; preds = %241
  %267 = landingpad { ptr, i32 }
          cleanup
  br label %270

268:                                              ; preds = %242
  %269 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #5
  br label %270

270:                                              ; preds = %268, %266
  %.pn297 = phi { ptr, i32 } [ %269, %268 ], [ %267, %266 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #5
  br label %281

.thread432:                                       ; preds = %244
  %271 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #5
  br label %280

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

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

276:                                              ; preds = %249, %248
  %.0245 = phi i1 [ false, %249 ], [ true, %248 ]
  %277 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  br label %278

278:                                              ; preds = %276, %274
  %.1246 = phi i1 [ %.0245, %276 ], [ true, %274 ]
  %.pn299 = phi { ptr, i32 } [ %277, %276 ], [ %275, %274 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #5
  br label %279

279:                                              ; preds = %272, %278
  %.2247 = phi i1 [ %.1246, %278 ], [ true, %272 ]
  %.pn299.pn = phi { ptr, i32 } [ %.pn299, %278 ], [ %273, %272 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #5
  br i1 %.2247, label %280, label %281

280:                                              ; preds = %.thread432, %279
  %.pn299.pn.pn435 = phi { ptr, i32 } [ %271, %.thread432 ], [ %.pn299.pn, %279 ]
  call void @__cxa_free_exception(ptr %245) #5
  br label %281

281:                                              ; preds = %279, %280, %270
  %.pn299.pn.pn.pn = phi { ptr, i32 } [ %.pn299.pn.pn435, %280 ], [ %.pn299.pn, %279 ], [ %.pn297, %270 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  br label %282

282:                                              ; preds = %281, %264
  %.pn299.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn299.pn.pn.pn, %281 ], [ %265, %264 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #5
  br label %283

283:                                              ; preds = %282, %263
  %.pn299.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn299.pn.pn.pn.pn, %282 ], [ %.pn294.pn, %263 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #5
  br label %806

284:                                              ; preds = %235
  %285 = call noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %27)
  %286 = icmp eq i32 %285, 2
  br i1 %286, label %329, label %287

287:                                              ; preds = %284
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %42) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %288 unwind label %301

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

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

290:                                              ; preds = %289
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #5
  %291 = call noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %27)
  store i32 %291, ptr %44, align 4, !tbaa !5
  invoke void @_ZN4dali11make_stringIJA46_ciA2_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 1 dereferenceable(46) @.str.31, ptr noundef nonnull align 4 dereferenceable(4) %44, ptr noundef nonnull align 1 dereferenceable(2) @.str.32)
          to label %292 unwind label %309

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

293:                                              ; preds = %292
  %294 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %295 unwind label %313

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

297:                                              ; preds = %295
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %48) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull @.str.33, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %298 unwind label %317

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

299:                                              ; preds = %298
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %296, ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull %47, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %300 unwind label %321

300:                                              ; preds = %299
  invoke void @__cxa_throw(ptr nonnull %296, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %809 unwind label %321

301:                                              ; preds = %287
  %302 = landingpad { ptr, i32 }
          cleanup
  br label %308

303:                                              ; preds = %288
  %304 = landingpad { ptr, i32 }
          cleanup
  br label %307

305:                                              ; preds = %289
  %306 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #5
  br label %307

307:                                              ; preds = %305, %303
  %.pn306 = phi { ptr, i32 } [ %306, %305 ], [ %304, %303 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #5
  br label %308

308:                                              ; preds = %307, %301
  %.pn306.pn = phi { ptr, i32 } [ %.pn306, %307 ], [ %302, %301 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #5
  br label %328

309:                                              ; preds = %290
  %310 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #5
  br label %327

311:                                              ; preds = %292
  %312 = landingpad { ptr, i32 }
          cleanup
  br label %315

313:                                              ; preds = %293
  %314 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #5
  br label %315

315:                                              ; preds = %313, %311
  %.pn309 = phi { ptr, i32 } [ %314, %313 ], [ %312, %311 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #5
  br label %326

.thread436:                                       ; preds = %295
  %316 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #5
  br label %325

317:                                              ; preds = %297
  %318 = landingpad { ptr, i32 }
          cleanup
  br label %324

319:                                              ; preds = %298
  %320 = landingpad { ptr, i32 }
          cleanup
  br label %323

321:                                              ; preds = %300, %299
  %.0251 = phi i1 [ false, %300 ], [ true, %299 ]
  %322 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #5
  br label %323

323:                                              ; preds = %321, %319
  %.1252 = phi i1 [ %.0251, %321 ], [ true, %319 ]
  %.pn311 = phi { ptr, i32 } [ %322, %321 ], [ %320, %319 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #5
  br label %324

324:                                              ; preds = %317, %323
  %.2253 = phi i1 [ %.1252, %323 ], [ true, %317 ]
  %.pn311.pn = phi { ptr, i32 } [ %.pn311, %323 ], [ %318, %317 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #5
  br i1 %.2253, label %325, label %326

325:                                              ; preds = %.thread436, %324
  %.pn311.pn.pn439 = phi { ptr, i32 } [ %316, %.thread436 ], [ %.pn311.pn, %324 ]
  call void @__cxa_free_exception(ptr %296) #5
  br label %326

326:                                              ; preds = %324, %325, %315
  %.pn311.pn.pn.pn = phi { ptr, i32 } [ %.pn311.pn.pn439, %325 ], [ %.pn311.pn, %324 ], [ %.pn309, %315 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #5
  br label %327

327:                                              ; preds = %326, %309
  %.pn311.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn311.pn.pn.pn, %326 ], [ %310, %309 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #5
  br label %328

328:                                              ; preds = %327, %308
  %.pn311.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn311.pn.pn.pn.pn, %327 ], [ %.pn306.pn, %308 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #5
  br label %806

329:                                              ; preds = %284
  %330 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE5InputINS_10CPUBackendEEERKDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %2, i32 noundef 2)
          to label %331 unwind label %350

331:                                              ; preds = %329
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #5
  %332 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE5shapeEv(ptr noundef nonnull align 8 dereferenceable(304) %330)
  invoke void @_ZN4dali15TensorListShapeILin1EEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(32) %332)
          to label %333 unwind label %352

333:                                              ; preds = %331
  %334 = call noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %50)
  %335 = icmp eq i32 %334, 2
  br i1 %335, label %382, label %336

336:                                              ; preds = %333
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %54) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %337 unwind label %354

337:                                              ; preds = %336
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull @.str.34)
          to label %338 unwind label %356

338:                                              ; preds = %337
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull @.str.20)
          to label %339 unwind label %358

339:                                              ; preds = %338
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %54) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %56) #5
  %340 = call noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %50)
  store i32 %340, ptr %56, align 4, !tbaa !5
  invoke void @_ZN4dali11make_stringIJA46_ciA2_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %55, ptr noundef nonnull align 1 dereferenceable(46) @.str.35, ptr noundef nonnull align 4 dereferenceable(4) %56, ptr noundef nonnull align 1 dereferenceable(2) @.str.32)
          to label %341 unwind label %362

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

342:                                              ; preds = %341
  %343 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %344 unwind label %366

344:                                              ; preds = %342
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #5
  %345 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %346 unwind label %.thread440

346:                                              ; preds = %344
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %60) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull @.str.36, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %347 unwind label %370

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

348:                                              ; preds = %347
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %345, ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull %59, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %349 unwind label %374

349:                                              ; preds = %348
  invoke void @__cxa_throw(ptr nonnull %345, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %809 unwind label %374

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

352:                                              ; preds = %331
  %353 = landingpad { ptr, i32 }
          cleanup
  br label %805

354:                                              ; preds = %336
  %355 = landingpad { ptr, i32 }
          cleanup
  br label %361

356:                                              ; preds = %337
  %357 = landingpad { ptr, i32 }
          cleanup
  br label %360

358:                                              ; preds = %338
  %359 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #5
  br label %360

360:                                              ; preds = %358, %356
  %.pn318 = phi { ptr, i32 } [ %359, %358 ], [ %357, %356 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #5
  br label %361

361:                                              ; preds = %360, %354
  %.pn318.pn = phi { ptr, i32 } [ %.pn318, %360 ], [ %355, %354 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %54) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #5
  br label %381

362:                                              ; preds = %339
  %363 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %56) #5
  br label %380

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

366:                                              ; preds = %342
  %367 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  br label %368

368:                                              ; preds = %366, %364
  %.pn321 = phi { ptr, i32 } [ %367, %366 ], [ %365, %364 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #5
  br label %379

.thread440:                                       ; preds = %344
  %369 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #5
  br label %378

370:                                              ; preds = %346
  %371 = landingpad { ptr, i32 }
          cleanup
  br label %377

372:                                              ; preds = %347
  %373 = landingpad { ptr, i32 }
          cleanup
  br label %376

374:                                              ; preds = %349, %348
  %.0255 = phi i1 [ false, %349 ], [ true, %348 ]
  %375 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #5
  br label %376

376:                                              ; preds = %374, %372
  %.1256 = phi i1 [ %.0255, %374 ], [ true, %372 ]
  %.pn323 = phi { ptr, i32 } [ %375, %374 ], [ %373, %372 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #5
  br label %377

377:                                              ; preds = %370, %376
  %.2257 = phi i1 [ %.1256, %376 ], [ true, %370 ]
  %.pn323.pn = phi { ptr, i32 } [ %.pn323, %376 ], [ %371, %370 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #5
  br i1 %.2257, label %378, label %379

378:                                              ; preds = %.thread440, %377
  %.pn323.pn.pn443 = phi { ptr, i32 } [ %369, %.thread440 ], [ %.pn323.pn, %377 ]
  call void @__cxa_free_exception(ptr %345) #5
  br label %379

379:                                              ; preds = %377, %378, %368
  %.pn323.pn.pn.pn = phi { ptr, i32 } [ %.pn323.pn.pn443, %378 ], [ %.pn323.pn, %377 ], [ %.pn321, %368 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #5
  br label %380

380:                                              ; preds = %379, %362
  %.pn323.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn323.pn.pn.pn, %379 ], [ %363, %362 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #5
  br label %381

381:                                              ; preds = %380, %361
  %.pn323.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn323.pn.pn.pn.pn, %380 ], [ %.pn318.pn, %361 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #5
  br label %804

382:                                              ; preds = %333
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %62) #5
  %383 = call noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE11num_samplesEv(ptr noundef nonnull align 8 dereferenceable(304) %230) #5
  store i32 %383, ptr %62, align 4, !tbaa !5
  %384 = call noundef i32 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(28) %27)
  %385 = icmp eq i32 %383, %384
  br i1 %385, label %386, label %389

386:                                              ; preds = %382
  %387 = call noundef i32 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(28) %50)
  %388 = icmp eq i32 %383, %387
  br i1 %388, label %434, label %389

389:                                              ; preds = %386, %382
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %65) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %66) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %66)
          to label %390 unwind label %406

390:                                              ; preds = %389
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull @.str.37)
          to label %391 unwind label %408

391:                                              ; preds = %390
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull @.str.20)
          to label %392 unwind label %410

392:                                              ; preds = %391
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %66) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %68) #5
  %393 = call noundef i32 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(28) %27)
  store i32 %393, ptr %68, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %69) #5
  %394 = call noundef i32 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(28) %50)
  store i32 %394, ptr %69, align 4, !tbaa !5
  invoke void @_ZN4dali11make_stringIJA61_ciA3_ciS2_iEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %67, ptr noundef nonnull align 1 dereferenceable(61) @.str.38, ptr noundef nonnull align 4 dereferenceable(4) %62, ptr noundef nonnull align 1 dereferenceable(3) @.str.39, ptr noundef nonnull align 4 dereferenceable(4) %68, ptr noundef nonnull align 1 dereferenceable(3) @.str.39, ptr noundef nonnull align 4 dereferenceable(4) %69)
          to label %395 unwind label %414

395:                                              ; preds = %392
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %69) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %68) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %70) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %70, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %396 unwind label %416

396:                                              ; preds = %395
  %397 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %398 unwind label %418

398:                                              ; preds = %396
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #5
  %399 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %400 unwind label %.thread444

400:                                              ; preds = %398
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %73) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef nonnull @.str.40, ptr noundef nonnull align 1 dereferenceable(1) %73)
          to label %401 unwind label %422

401:                                              ; preds = %400
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %74) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %74)
          to label %402 unwind label %424

402:                                              ; preds = %401
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %399, ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull %72, ptr noundef nonnull align 8 dereferenceable(32) %74)
          to label %403 unwind label %426

403:                                              ; preds = %402
  invoke void @__cxa_throw(ptr nonnull %399, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %809 unwind label %426

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

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

408:                                              ; preds = %390
  %409 = landingpad { ptr, i32 }
          cleanup
  br label %412

410:                                              ; preds = %391
  %411 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #5
  br label %412

412:                                              ; preds = %410, %408
  %.pn330 = phi { ptr, i32 } [ %411, %410 ], [ %409, %408 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #5
  br label %413

413:                                              ; preds = %412, %406
  %.pn330.pn = phi { ptr, i32 } [ %.pn330, %412 ], [ %407, %406 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %66) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #5
  br label %433

414:                                              ; preds = %392
  %415 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %69) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %68) #5
  br label %432

416:                                              ; preds = %395
  %417 = landingpad { ptr, i32 }
          cleanup
  br label %420

418:                                              ; preds = %396
  %419 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #5
  br label %420

420:                                              ; preds = %418, %416
  %.pn333 = phi { ptr, i32 } [ %419, %418 ], [ %417, %416 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #5
  br label %431

.thread444:                                       ; preds = %398
  %421 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #5
  br label %430

422:                                              ; preds = %400
  %423 = landingpad { ptr, i32 }
          cleanup
  br label %429

424:                                              ; preds = %401
  %425 = landingpad { ptr, i32 }
          cleanup
  br label %428

426:                                              ; preds = %403, %402
  %.0259 = phi i1 [ false, %403 ], [ true, %402 ]
  %427 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #5
  br label %428

428:                                              ; preds = %426, %424
  %.1260 = phi i1 [ %.0259, %426 ], [ true, %424 ]
  %.pn335 = phi { ptr, i32 } [ %427, %426 ], [ %425, %424 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #5
  br label %429

429:                                              ; preds = %422, %428
  %.2261 = phi i1 [ %.1260, %428 ], [ true, %422 ]
  %.pn335.pn = phi { ptr, i32 } [ %.pn335, %428 ], [ %423, %422 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %73) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #5
  br i1 %.2261, label %430, label %431

430:                                              ; preds = %.thread444, %429
  %.pn335.pn.pn447 = phi { ptr, i32 } [ %421, %.thread444 ], [ %.pn335.pn, %429 ]
  call void @__cxa_free_exception(ptr %399) #5
  br label %431

431:                                              ; preds = %429, %430, %420
  %.pn335.pn.pn.pn = phi { ptr, i32 } [ %.pn335.pn.pn447, %430 ], [ %.pn335.pn, %429 ], [ %.pn333, %420 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #5
  br label %432

432:                                              ; preds = %431, %414
  %.pn335.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn335.pn.pn.pn, %431 ], [ %415, %414 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #5
  br label %433

433:                                              ; preds = %432, %413
  %.pn335.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn335.pn.pn.pn.pn, %432 ], [ %.pn330.pn, %413 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #5
  br label %803

434:                                              ; preds = %386
  %435 = icmp eq i32 %383, 0
  br i1 %435, label %439, label %.preheader475

.preheader475:                                    ; preds = %434
  %436 = icmp sgt i32 %383, 0
  br i1 %436, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %.preheader475
  %437 = getelementptr inbounds i8, ptr %77, i64 8
  %438 = zext nneg i32 %383 to i64
  br label %465

439:                                              ; preds = %434
  invoke void @_ZNSt6vectorIN4dali10OutputDescESaIS1_EE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef 2)
          to label %440 unwind label %404

440:                                              ; preds = %439
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %75) #5
  invoke void @_ZN4dali15TensorListShapeILin1EEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %441 unwind label %451

441:                                              ; preds = %440
  %442 = invoke noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %230)
          to label %443 unwind label %453

443:                                              ; preds = %441
  %444 = getelementptr inbounds i8, ptr %75, i64 32
  store i32 %442, ptr %444, align 8, !tbaa !9
  invoke void @_ZNSt6vectorIN4dali10OutputDescESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(36) %75)
          to label %445 unwind label %455

445:                                              ; preds = %443
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %75) #5
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %75) #5
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %76) #5
  invoke void @_ZN4dali15TensorListShapeILin1EEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %446 unwind label %458

446:                                              ; preds = %445
  %447 = invoke noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %330)
          to label %448 unwind label %460

448:                                              ; preds = %446
  %449 = getelementptr inbounds i8, ptr %76, i64 32
  store i32 %447, ptr %449, align 8, !tbaa !9
  invoke void @_ZNSt6vectorIN4dali10OutputDescESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(36) %76)
          to label %450 unwind label %462

450:                                              ; preds = %448
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %76) #5
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %76) #5
  br label %802

451:                                              ; preds = %440
  %452 = landingpad { ptr, i32 }
          cleanup
  br label %457

453:                                              ; preds = %441
  %454 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #5
  br label %457

455:                                              ; preds = %443
  %456 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %75) #5
  br label %457

457:                                              ; preds = %455, %453, %451
  %.pn409 = phi { ptr, i32 } [ %456, %455 ], [ %454, %453 ], [ %452, %451 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %75) #5
  br label %803

458:                                              ; preds = %445
  %459 = landingpad { ptr, i32 }
          cleanup
  br label %464

460:                                              ; preds = %446
  %461 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #5
  br label %464

462:                                              ; preds = %448
  %463 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %76) #5
  br label %464

464:                                              ; preds = %462, %460, %458
  %.pn411 = phi { ptr, i32 } [ %463, %462 ], [ %461, %460 ], [ %459, %458 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %76) #5
  br label %803

._crit_edge:                                      ; preds = %517, %.preheader475
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %88) #5
  invoke void @_ZN4dali4viewIKiLi1ENS_10CPUBackendEEENS_14TensorListViewINS_6detail15storage_tag_mapIT1_E4typeET_XT0_EEERKNS_10TensorListIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.dali::TensorListView") align 8 %88, ptr noundef nonnull align 8 dereferenceable(304) %137)
          to label %520 unwind label %531

465:                                              ; preds = %.lr.ph, %517
  %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %517 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %77) #5
  %466 = invoke { ptr, i64 } @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE17tensor_shape_spanEl(ptr noundef nonnull align 8 dereferenceable(28) %27, i64 noundef %indvars.iv)
          to label %467 unwind label %487

467:                                              ; preds = %465
  %468 = extractvalue { ptr, i64 } %466, 0
  store ptr %468, ptr %77, align 8
  %469 = extractvalue { ptr, i64 } %466, 1
  store i64 %469, ptr %437, align 8
  %470 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4dali4spanIlLln1EEixEl(ptr noundef nonnull align 8 dereferenceable(16) %77, i64 noundef 1)
  %471 = load i64, ptr %470, align 8, !tbaa !19
  %472 = icmp eq i64 %471, 3
  br i1 %472, label %517, label %473

473:                                              ; preds = %467
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %78) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %79) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %80) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %81) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %81)
          to label %474 unwind label %489

474:                                              ; preds = %473
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %79, ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull @.str.41)
          to label %475 unwind label %491

475:                                              ; preds = %474
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %78, ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull @.str.20)
          to label %476 unwind label %493

476:                                              ; preds = %475
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %81) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %82) #5
  %477 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4dali4spanIlLln1EEixEl(ptr noundef nonnull align 8 dereferenceable(16) %77, i64 noundef 1)
  invoke void @_ZN4dali11make_stringIJA101_clA10_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %82, ptr noundef nonnull align 1 dereferenceable(101) @.str.42, ptr noundef nonnull align 8 dereferenceable(8) %477, ptr noundef nonnull align 1 dereferenceable(10) @.str.43)
          to label %478 unwind label %497

478:                                              ; preds = %476
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %83) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %83, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %82)
          to label %479 unwind label %499

479:                                              ; preds = %478
  %480 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %481 unwind label %501

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

483:                                              ; preds = %481
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %86) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull @.str.44, ptr noundef nonnull align 1 dereferenceable(1) %86)
          to label %484 unwind label %505

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

485:                                              ; preds = %484
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %482, ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull %85, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %486 unwind label %509

486:                                              ; preds = %485
  invoke void @__cxa_throw(ptr nonnull %482, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %809 unwind label %509

487:                                              ; preds = %465
  %488 = landingpad { ptr, i32 }
          cleanup
  br label %519

489:                                              ; preds = %473
  %490 = landingpad { ptr, i32 }
          cleanup
  br label %496

491:                                              ; preds = %474
  %492 = landingpad { ptr, i32 }
          cleanup
  br label %495

493:                                              ; preds = %475
  %494 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #5
  br label %495

495:                                              ; preds = %493, %491
  %.pn396 = phi { ptr, i32 } [ %494, %493 ], [ %492, %491 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #5
  br label %496

496:                                              ; preds = %495, %489
  %.pn396.pn = phi { ptr, i32 } [ %.pn396, %495 ], [ %490, %489 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %81) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #5
  br label %516

497:                                              ; preds = %476
  %498 = landingpad { ptr, i32 }
          cleanup
  br label %515

499:                                              ; preds = %478
  %500 = landingpad { ptr, i32 }
          cleanup
  br label %503

501:                                              ; preds = %479
  %502 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #5
  br label %503

503:                                              ; preds = %501, %499
  %.pn399 = phi { ptr, i32 } [ %502, %501 ], [ %500, %499 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #5
  br label %514

.thread448:                                       ; preds = %481
  %504 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %84) #5
  br label %513

505:                                              ; preds = %483
  %506 = landingpad { ptr, i32 }
          cleanup
  br label %512

507:                                              ; preds = %484
  %508 = landingpad { ptr, i32 }
          cleanup
  br label %511

509:                                              ; preds = %486, %485
  %.0265 = phi i1 [ false, %486 ], [ true, %485 ]
  %510 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #5
  br label %511

511:                                              ; preds = %509, %507
  %.1266 = phi i1 [ %.0265, %509 ], [ true, %507 ]
  %.pn401 = phi { ptr, i32 } [ %510, %509 ], [ %508, %507 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #5
  br label %512

512:                                              ; preds = %505, %511
  %.2267 = phi i1 [ %.1266, %511 ], [ true, %505 ]
  %.pn401.pn = phi { ptr, i32 } [ %.pn401, %511 ], [ %506, %505 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %86) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %84) #5
  br i1 %.2267, label %513, label %514

513:                                              ; preds = %.thread448, %512
  %.pn401.pn.pn451 = phi { ptr, i32 } [ %504, %.thread448 ], [ %.pn401.pn, %512 ]
  call void @__cxa_free_exception(ptr %482) #5
  br label %514

514:                                              ; preds = %512, %513, %503
  %.pn401.pn.pn.pn = phi { ptr, i32 } [ %.pn401.pn.pn451, %513 ], [ %.pn401.pn, %512 ], [ %.pn399, %503 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #5
  br label %515

515:                                              ; preds = %514, %497
  %.pn401.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn401.pn.pn.pn, %514 ], [ %498, %497 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %82) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #5
  br label %516

516:                                              ; preds = %515, %496
  %.pn401.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn401.pn.pn.pn.pn, %515 ], [ %.pn396.pn, %496 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %78) #5
  br label %519

517:                                              ; preds = %467
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %77) #5
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %518 = icmp ult i64 %indvars.iv.next, %438
  br i1 %518, label %465, label %._crit_edge, !llvm.loop !21

519:                                              ; preds = %516, %487
  %.pn401.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn401.pn.pn.pn.pn.pn, %516 ], [ %488, %487 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %77) #5
  br label %803

520:                                              ; preds = %._crit_edge
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %89) #5
  invoke void @_ZN4dali4viewIKiLi2ENS_10CPUBackendEEENS_14TensorListViewINS_6detail15storage_tag_mapIT1_E4typeET_XT0_EEERKNS_10TensorListIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.dali::TensorListView.82") align 8 %89, ptr noundef nonnull align 8 dereferenceable(304) %230)
          to label %521 unwind label %533

521:                                              ; preds = %520
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %90) #5
  invoke void @_ZN4dali15TensorListShapeILin1EEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %522 unwind label %535

522:                                              ; preds = %521
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %91) #5
  invoke void @_ZN4dali15TensorListShapeILin1EEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %523 unwind label %537

523:                                              ; preds = %522
  %524 = getelementptr inbounds i8, ptr %0, i64 400
  %525 = sext i32 %383 to i64
  invoke void @_ZNSt6vectorIN4dali14SelectMasksCPU10SampleDescESaIS2_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %524, i64 noundef %525)
          to label %.preheader474 unwind label %539

.preheader474:                                    ; preds = %523
  br i1 %436, label %.lr.ph499, label %._crit_edge500

.lr.ph499:                                        ; preds = %.preheader474
  %526 = getelementptr inbounds i8, ptr %93, i64 8
  %527 = getelementptr inbounds i8, ptr %0, i64 424
  %528 = getelementptr inbounds i8, ptr %102, i64 8
  %529 = getelementptr inbounds i8, ptr %104, i64 8
  %530 = getelementptr inbounds i8, ptr %134, i64 8
  br label %541

._crit_edge500:                                   ; preds = %771, %.preheader474
  invoke void @_ZNSt6vectorIN4dali10OutputDescESaIS1_EE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef 2)
          to label %779 unwind label %539

531:                                              ; preds = %._crit_edge
  %532 = landingpad { ptr, i32 }
          cleanup
  br label %803

533:                                              ; preds = %520
  %534 = landingpad { ptr, i32 }
          cleanup
  br label %801

535:                                              ; preds = %521
  %536 = landingpad { ptr, i32 }
          cleanup
  br label %800

537:                                              ; preds = %522
  %538 = landingpad { ptr, i32 }
          cleanup
  br label %799

539:                                              ; preds = %._crit_edge500, %523
  %540 = landingpad { ptr, i32 }
          cleanup
  br label %798

541:                                              ; preds = %.lr.ph499, %771
  %indvars.iv508 = phi i64 [ 0, %.lr.ph499 ], [ %indvars.iv.next509, %771 ]
  %542 = call noundef nonnull align 8 dereferenceable(72) ptr @_ZNSt6vectorIN4dali14SelectMasksCPU10SampleDescESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %524, i64 noundef %indvars.iv508) #5
  call void @_ZN4dali14SelectMasksCPU10SampleDesc5clearEv(ptr noundef nonnull align 8 dereferenceable(72) %542)
  %543 = call noundef nonnull align 8 dereferenceable(72) ptr @_ZNSt6vectorIN4dali14SelectMasksCPU10SampleDescESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %524, i64 noundef %indvars.iv508) #5
  %544 = call noundef nonnull align 8 dereferenceable(72) ptr @_ZNSt6vectorIN4dali14SelectMasksCPU10SampleDescESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %524, i64 noundef %indvars.iv508) #5
  %545 = getelementptr inbounds i8, ptr %544, i64 16
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %92) #5
  %546 = trunc nuw nsw i64 %indvars.iv508 to i32
  %547 = invoke ptr @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEKiLi1EE17tensor_shape_spanEi(ptr noundef nonnull align 8 dereferenceable(56) %88, i32 noundef %546)
          to label %548 unwind label %565

548:                                              ; preds = %541
  store ptr %547, ptr %92, align 8
  %549 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4dali4spanIKlLl1EEixEl(ptr noundef nonnull align 8 dereferenceable(8) %92, i64 noundef 0)
  %550 = load i64, ptr %549, align 8, !tbaa !19
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %92) #5
  %551 = call noundef ptr @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEKiLi1EE11tensor_dataEi(ptr noundef nonnull align 8 dereferenceable(56) %88, i32 noundef %546)
  %552 = invoke { ptr, i64 } @_ZN4dali10make_cspanILln1EiEENS_4spanIKT0_XT_EEEPS3_l(ptr noundef %551, i64 noundef %550)
          to label %553 unwind label %567

553:                                              ; preds = %548
  %554 = extractvalue { ptr, i64 } %552, 0
  %555 = extractvalue { ptr, i64 } %552, 1
  store ptr %554, ptr %543, align 8, !tbaa !23
  %.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %543, i64 8
  store i64 %555, ptr %.sroa.5.0..sroa_idx, align 8, !tbaa !19
  %556 = call noundef i64 @_ZNK4dali4spanIKiLln1EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %543) #5
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %93) #5
  %557 = invoke { ptr, i64 } @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE17tensor_shape_spanEl(ptr noundef nonnull align 8 dereferenceable(28) %90, i64 noundef %indvars.iv508)
          to label %558 unwind label %569

558:                                              ; preds = %553
  %559 = extractvalue { ptr, i64 } %557, 0
  store ptr %559, ptr %93, align 8
  %560 = extractvalue { ptr, i64 } %557, 1
  store i64 %560, ptr %526, align 8
  %561 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4dali4spanIlLln1EEixEl(ptr noundef nonnull align 8 dereferenceable(16) %93, i64 noundef 0)
  store i64 %556, ptr %561, align 8, !tbaa !19
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %93) #5
  %562 = call noundef ptr @_ZNK4dali4spanIKiLln1EE5beginEv(ptr noundef nonnull align 8 dereferenceable(16) %543) #5
  %563 = call noundef ptr @_ZNK4dali4spanIKiLln1EE3endEv(ptr noundef nonnull align 8 dereferenceable(16) %543) #5
  %.not482 = icmp eq ptr %562, %563
  br i1 %.not482, label %._crit_edge487, label %.lr.ph486

._crit_edge487:                                   ; preds = %600, %558
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %102) #5
  %564 = invoke { ptr, i64 } @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE17tensor_shape_spanEl(ptr noundef nonnull align 8 dereferenceable(28) %27, i64 noundef %indvars.iv508)
          to label %608 unwind label %621

565:                                              ; preds = %541
  %566 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %92) #5
  br label %798

567:                                              ; preds = %548
  %568 = landingpad { ptr, i32 }
          cleanup
  br label %798

569:                                              ; preds = %553
  %570 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %93) #5
  br label %798

.lr.ph486:                                        ; preds = %558, %600
  %.0244484 = phi ptr [ %604, %600 ], [ %562, %558 ]
  %.0249483 = phi i32 [ %.1250, %600 ], [ 0, %558 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %94) #5
  %571 = load i32, ptr %.0244484, align 4, !tbaa !5
  store i32 %571, ptr %94, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %95) #5
  %572 = invoke ptr @_ZNSt13unordered_mapIiN4dali14SelectMasksCPU11PolygonDescESt4hashIiESt8equal_toIiESaISt4pairIKiS2_EEE4findERS8_(ptr noundef nonnull align 8 dereferenceable(56) %545, ptr noundef nonnull align 4 dereferenceable(4) %94)
          to label %573 unwind label %583

573:                                              ; preds = %.lr.ph486
  store ptr %572, ptr %95, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %96) #5
  %574 = call ptr @_ZNSt13unordered_mapIiN4dali14SelectMasksCPU11PolygonDescESt4hashIiESt8equal_toIiESaISt4pairIKiS2_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %545) #5
  store ptr %574, ptr %96, align 8
  %575 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKiN4dali14SelectMasksCPU11PolygonDescEELb0EEES9_(ptr noundef nonnull align 8 dereferenceable(8) %95, ptr noundef nonnull align 8 dereferenceable(8) %96) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %96) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %95) #5
  br i1 %575, label %576, label %596

576:                                              ; preds = %573
  %577 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %97) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %98) #5
  invoke void @_ZN4dali11make_stringIJA49_ciA11_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %98, ptr noundef nonnull align 1 dereferenceable(49) @.str.45, ptr noundef nonnull align 4 dereferenceable(4) %94, ptr noundef nonnull align 1 dereferenceable(11) @.str.46)
          to label %578 unwind label %.thread452

578:                                              ; preds = %576
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %97, ptr noundef nonnull align 8 dereferenceable(32) %98)
          to label %579 unwind label %.thread456

579:                                              ; preds = %578
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %100) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef nonnull @.str.47, ptr noundef nonnull align 1 dereferenceable(1) %100)
          to label %580 unwind label %587

580:                                              ; preds = %579
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %101) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %101)
          to label %581 unwind label %589

581:                                              ; preds = %580
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %577, ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef nonnull %99, ptr noundef nonnull align 8 dereferenceable(32) %101)
          to label %582 unwind label %591

582:                                              ; preds = %581
  invoke void @__cxa_throw(ptr nonnull %577, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %809 unwind label %591

583:                                              ; preds = %.lr.ph486
  %584 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %95) #5
  br label %607

.thread452:                                       ; preds = %576
  %585 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %98) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #5
  br label %595

.thread456:                                       ; preds = %578
  %586 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %98) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #5
  br label %595

587:                                              ; preds = %579
  %588 = landingpad { ptr, i32 }
          cleanup
  br label %594

589:                                              ; preds = %580
  %590 = landingpad { ptr, i32 }
          cleanup
  br label %593

591:                                              ; preds = %582, %581
  %.0235 = phi i1 [ false, %582 ], [ true, %581 ]
  %592 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #5
  br label %593

593:                                              ; preds = %591, %589
  %.1236 = phi i1 [ %.0235, %591 ], [ true, %589 ]
  %.pn383 = phi { ptr, i32 } [ %592, %591 ], [ %590, %589 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %101) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #5
  br label %594

594:                                              ; preds = %587, %593
  %.2237 = phi i1 [ %.1236, %593 ], [ true, %587 ]
  %.pn383.pn = phi { ptr, i32 } [ %.pn383, %593 ], [ %588, %587 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %100) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %98) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #5
  br i1 %.2237, label %595, label %607

595:                                              ; preds = %.thread456, %.thread452, %594
  %.pn383.pn.pn.pn455 = phi { ptr, i32 } [ %585, %.thread452 ], [ %.pn383.pn, %594 ], [ %586, %.thread456 ]
  call void @__cxa_free_exception(ptr %577) #5
  br label %607

596:                                              ; preds = %573
  %597 = load i8, ptr %527, align 8, !tbaa !24, !range !68, !noundef !69
  %598 = load i32, ptr %94, align 4
  %599 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiN4dali14SelectMasksCPU11PolygonDescESt4hashIiESt8equal_toIiESaISt4pairIKiS2_EEEixERS8_(ptr noundef nonnull align 8 dereferenceable(56) %545, ptr noundef nonnull align 4 dereferenceable(4) %94)
          to label %600 unwind label %605

600:                                              ; preds = %596
  %601 = trunc nuw i8 %597 to i1
  %602 = select i1 %601, i32 %.0249483, i32 %598
  %603 = zext nneg i8 %597 to i32
  %.1250 = add nuw nsw i32 %.0249483, %603
  store i32 %602, ptr %599, align 4, !tbaa !70
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %94) #5
  %604 = getelementptr inbounds i8, ptr %.0244484, i64 4
  %.not = icmp eq ptr %604, %563
  br i1 %.not, label %._crit_edge487, label %.lr.ph486

605:                                              ; preds = %596
  %606 = landingpad { ptr, i32 }
          cleanup
  br label %607

607:                                              ; preds = %594, %595, %605, %583
  %.pn383.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn383.pn.pn.pn455, %595 ], [ %.pn383.pn, %594 ], [ %606, %605 ], [ %584, %583 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %94) #5
  br label %798

608:                                              ; preds = %._crit_edge487
  %609 = extractvalue { ptr, i64 } %564, 0
  store ptr %609, ptr %102, align 8
  %610 = extractvalue { ptr, i64 } %564, 1
  store i64 %610, ptr %528, align 8
  %611 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4dali4spanIlLln1EEixEl(ptr noundef nonnull align 8 dereferenceable(16) %102, i64 noundef 0)
  %612 = load i64, ptr %611, align 8, !tbaa !19
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %102) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %103) #5
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %104) #5
  %613 = invoke { ptr, i64 } @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE17tensor_shape_spanEl(ptr noundef nonnull align 8 dereferenceable(28) %50, i64 noundef %indvars.iv508)
          to label %614 unwind label %623

614:                                              ; preds = %608
  %615 = extractvalue { ptr, i64 } %613, 0
  store ptr %615, ptr %104, align 8
  %616 = extractvalue { ptr, i64 } %613, 1
  store i64 %616, ptr %529, align 8
  %617 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4dali4spanIlLln1EEixEl(ptr noundef nonnull align 8 dereferenceable(16) %104, i64 noundef 0)
  %618 = load i64, ptr %617, align 8, !tbaa !19
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %104) #5
  store i64 %618, ptr %103, align 8, !tbaa !19
  %619 = icmp sgt i64 %612, 0
  br i1 %619, label %.lr.ph493, label %.preheader

.preheader:                                       ; preds = %732, %614
  %620 = icmp sgt i64 %550, 0
  br i1 %620, label %.lr.ph496, label %._crit_edge497

621:                                              ; preds = %._crit_edge487
  %622 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %102) #5
  br label %798

623:                                              ; preds = %608
  %624 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %104) #5
  br label %778

.lr.ph493:                                        ; preds = %614, %732
  %.0230491 = phi i64 [ %733, %732 ], [ 0, %614 ]
  %625 = call noundef ptr @_ZNK4dali18TensorListViewBaseINS_10StorageCPUEKiLi2EE11tensor_dataEi(ptr noundef nonnull align 8 dereferenceable(56) %89, i32 noundef %546)
  %.idx = mul i64 %.0230491, 12
  %626 = getelementptr inbounds i8, ptr %625, i64 %.idx
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %105) #5
  %627 = load i32, ptr %626, align 4, !tbaa !5
  store i32 %627, ptr %105, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %106) #5
  %628 = invoke ptr @_ZNSt13unordered_mapIiN4dali14SelectMasksCPU11PolygonDescESt4hashIiESt8equal_toIiESaISt4pairIKiS2_EEE4findERS8_(ptr noundef nonnull align 8 dereferenceable(56) %545, ptr noundef nonnull align 4 dereferenceable(4) %105)
          to label %629 unwind label %632

629:                                              ; preds = %.lr.ph493
  store ptr %628, ptr %106, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %107) #5
  %630 = call ptr @_ZNSt13unordered_mapIiN4dali14SelectMasksCPU11PolygonDescESt4hashIiESt8equal_toIiESaISt4pairIKiS2_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %545) #5
  store ptr %630, ptr %107, align 8
  %631 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKiN4dali14SelectMasksCPU11PolygonDescEELb0EEES9_(ptr noundef nonnull align 8 dereferenceable(8) %106, ptr noundef nonnull align 8 dereferenceable(8) %107) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #5
  br i1 %631, label %732, label %634

632:                                              ; preds = %.lr.ph493
  %633 = landingpad { ptr, i32 }
          cleanup
  br label %734

634:                                              ; preds = %629
  %635 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKiN4dali14SelectMasksCPU11PolygonDescEELb0ELb0EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %106) #5
  %636 = getelementptr inbounds i8, ptr %626, i64 4
  %637 = load i32, ptr %636, align 4, !tbaa !5
  %638 = getelementptr inbounds i8, ptr %635, i64 8
  store i32 %637, ptr %638, align 4, !tbaa !72
  %639 = getelementptr inbounds i8, ptr %626, i64 8
  %640 = load i32, ptr %639, align 4, !tbaa !5
  %641 = getelementptr inbounds i8, ptr %635, i64 12
  store i32 %640, ptr %641, align 4, !tbaa !73
  %642 = icmp slt i32 %637, 0
  %643 = sext i32 %640 to i64
  %644 = load i64, ptr %103, align 8
  %.not353 = icmp slt i64 %644, %643
  %or.cond = select i1 %642, i1 true, i1 %.not353
  br i1 %or.cond, label %645, label %688

645:                                              ; preds = %634
  %646 = getelementptr inbounds i8, ptr %635, i64 8
  %647 = getelementptr inbounds i8, ptr %635, i64 12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %108) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %109) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %110) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %111) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef nonnull @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %111)
          to label %648 unwind label %660

648:                                              ; preds = %645
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %109, ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef nonnull @.str.48)
          to label %649 unwind label %662

649:                                              ; preds = %648
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %108, ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull @.str.20)
          to label %650 unwind label %664

650:                                              ; preds = %649
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %111) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %110) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %109) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %112) #5
  invoke void @_ZN4dali11make_stringIJA32_ciA3_ciS2_iA79_clS2_EEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %112, ptr noundef nonnull align 1 dereferenceable(32) @.str.49, ptr noundef nonnull align 4 dereferenceable(4) %105, ptr noundef nonnull align 1 dereferenceable(3) @.str.50, ptr noundef nonnull align 4 dereferenceable(4) %646, ptr noundef nonnull align 1 dereferenceable(3) @.str.39, ptr noundef nonnull align 4 dereferenceable(4) %647, ptr noundef nonnull align 1 dereferenceable(79) @.str.51, ptr noundef nonnull align 8 dereferenceable(8) %103, ptr noundef nonnull align 1 dereferenceable(3) @.str.52)
          to label %651 unwind label %668

651:                                              ; preds = %650
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %113) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %113, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %112)
          to label %652 unwind label %670

652:                                              ; preds = %651
  %653 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull align 8 dereferenceable(32) %113)
          to label %654 unwind label %672

654:                                              ; preds = %652
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %113) #5
  %655 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %114) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %114, ptr noundef nonnull align 8 dereferenceable(32) %108)
          to label %656 unwind label %.thread459

656:                                              ; preds = %654
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %116) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef nonnull @.str.53, ptr noundef nonnull align 1 dereferenceable(1) %116)
          to label %657 unwind label %676

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

658:                                              ; preds = %657
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %655, ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull %115, ptr noundef nonnull align 8 dereferenceable(32) %117)
          to label %659 unwind label %680

659:                                              ; preds = %658
  invoke void @__cxa_throw(ptr nonnull %655, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %809 unwind label %680

660:                                              ; preds = %645
  %661 = landingpad { ptr, i32 }
          cleanup
  br label %667

662:                                              ; preds = %648
  %663 = landingpad { ptr, i32 }
          cleanup
  br label %666

664:                                              ; preds = %649
  %665 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #5
  br label %666

666:                                              ; preds = %664, %662
  %.pn354 = phi { ptr, i32 } [ %665, %664 ], [ %663, %662 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #5
  br label %667

667:                                              ; preds = %666, %660
  %.pn354.pn = phi { ptr, i32 } [ %.pn354, %666 ], [ %661, %660 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %111) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %110) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %109) #5
  br label %687

668:                                              ; preds = %650
  %669 = landingpad { ptr, i32 }
          cleanup
  br label %686

670:                                              ; preds = %651
  %671 = landingpad { ptr, i32 }
          cleanup
  br label %674

672:                                              ; preds = %652
  %673 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #5
  br label %674

674:                                              ; preds = %672, %670
  %.pn357 = phi { ptr, i32 } [ %673, %672 ], [ %671, %670 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %113) #5
  br label %685

.thread459:                                       ; preds = %654
  %675 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %114) #5
  br label %684

676:                                              ; preds = %656
  %677 = landingpad { ptr, i32 }
          cleanup
  br label %683

678:                                              ; preds = %657
  %679 = landingpad { ptr, i32 }
          cleanup
  br label %682

680:                                              ; preds = %659, %658
  %.0105 = phi i1 [ false, %659 ], [ true, %658 ]
  %681 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #5
  br label %682

682:                                              ; preds = %680, %678
  %.pn359 = phi { ptr, i32 } [ %681, %680 ], [ %679, %678 ]
  %.1106 = phi i1 [ %.0105, %680 ], [ true, %678 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %117) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #5
  br label %683

683:                                              ; preds = %676, %682
  %.pn359.pn = phi { ptr, i32 } [ %.pn359, %682 ], [ %677, %676 ]
  %.2107 = phi i1 [ %.1106, %682 ], [ true, %676 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %116) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %114) #5
  br i1 %.2107, label %684, label %685

684:                                              ; preds = %.thread459, %683
  %.pn359.pn.pn462 = phi { ptr, i32 } [ %675, %.thread459 ], [ %.pn359.pn, %683 ]
  call void @__cxa_free_exception(ptr %655) #5
  br label %685

685:                                              ; preds = %683, %684, %674
  %.pn359.pn.pn.pn = phi { ptr, i32 } [ %.pn359.pn.pn462, %684 ], [ %.pn359.pn, %683 ], [ %.pn357, %674 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #5
  br label %686

686:                                              ; preds = %685, %668
  %.pn359.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn359.pn.pn.pn, %685 ], [ %669, %668 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %112) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #5
  br label %687

687:                                              ; preds = %686, %667
  %.pn359.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn359.pn.pn.pn.pn, %686 ], [ %.pn354.pn, %667 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %108) #5
  br label %734

688:                                              ; preds = %634
  %.not366 = icmp slt i32 %640, %637
  br i1 %.not366, label %689, label %732

689:                                              ; preds = %688
  %690 = getelementptr inbounds i8, ptr %635, i64 8
  %691 = getelementptr inbounds i8, ptr %635, i64 12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %118) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %119) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %120) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %121) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %121) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %120, ptr noundef nonnull @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %121)
          to label %692 unwind label %704

692:                                              ; preds = %689
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %119, ptr noundef nonnull align 8 dereferenceable(32) %120, ptr noundef nonnull @.str.54)
          to label %693 unwind label %706

693:                                              ; preds = %692
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %118, ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef nonnull @.str.20)
          to label %694 unwind label %708

694:                                              ; preds = %693
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %121) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %121) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %120) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %119) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %122) #5
  invoke void @_ZN4dali11make_stringIJA51_ciA3_ciA2_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %122, ptr noundef nonnull align 1 dereferenceable(51) @.str.55, ptr noundef nonnull align 4 dereferenceable(4) %690, ptr noundef nonnull align 1 dereferenceable(3) @.str.39, ptr noundef nonnull align 4 dereferenceable(4) %691, ptr noundef nonnull align 1 dereferenceable(2) @.str.56)
          to label %695 unwind label %712

695:                                              ; preds = %694
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %123) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %123, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %122)
          to label %696 unwind label %714

696:                                              ; preds = %695
  %697 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef nonnull align 8 dereferenceable(32) %123)
          to label %698 unwind label %716

698:                                              ; preds = %696
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %123) #5
  %699 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %124) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %124, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %700 unwind label %.thread463

700:                                              ; preds = %698
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %126) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %126) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull @.str.57, ptr noundef nonnull align 1 dereferenceable(1) %126)
          to label %701 unwind label %720

701:                                              ; preds = %700
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %127) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %127)
          to label %702 unwind label %722

702:                                              ; preds = %701
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %699, ptr noundef nonnull align 8 dereferenceable(32) %124, ptr noundef nonnull %125, ptr noundef nonnull align 8 dereferenceable(32) %127)
          to label %703 unwind label %724

703:                                              ; preds = %702
  invoke void @__cxa_throw(ptr nonnull %699, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %809 unwind label %724

704:                                              ; preds = %689
  %705 = landingpad { ptr, i32 }
          cleanup
  br label %711

706:                                              ; preds = %692
  %707 = landingpad { ptr, i32 }
          cleanup
  br label %710

708:                                              ; preds = %693
  %709 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #5
  br label %710

710:                                              ; preds = %708, %706
  %.pn367 = phi { ptr, i32 } [ %709, %708 ], [ %707, %706 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #5
  br label %711

711:                                              ; preds = %710, %704
  %.pn367.pn = phi { ptr, i32 } [ %.pn367, %710 ], [ %705, %704 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %121) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %121) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %120) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %119) #5
  br label %731

712:                                              ; preds = %694
  %713 = landingpad { ptr, i32 }
          cleanup
  br label %730

714:                                              ; preds = %695
  %715 = landingpad { ptr, i32 }
          cleanup
  br label %718

716:                                              ; preds = %696
  %717 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #5
  br label %718

718:                                              ; preds = %716, %714
  %.pn370 = phi { ptr, i32 } [ %717, %716 ], [ %715, %714 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %123) #5
  br label %729

.thread463:                                       ; preds = %698
  %719 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %124) #5
  br label %728

720:                                              ; preds = %700
  %721 = landingpad { ptr, i32 }
          cleanup
  br label %727

722:                                              ; preds = %701
  %723 = landingpad { ptr, i32 }
          cleanup
  br label %726

724:                                              ; preds = %703, %702
  %.0101 = phi i1 [ false, %703 ], [ true, %702 ]
  %725 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #5
  br label %726

726:                                              ; preds = %724, %722
  %.pn372 = phi { ptr, i32 } [ %725, %724 ], [ %723, %722 ]
  %.1102 = phi i1 [ %.0101, %724 ], [ true, %722 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %127) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #5
  br label %727

727:                                              ; preds = %720, %726
  %.pn372.pn = phi { ptr, i32 } [ %.pn372, %726 ], [ %721, %720 ]
  %.2103 = phi i1 [ %.1102, %726 ], [ true, %720 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %126) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %126) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %124) #5
  br i1 %.2103, label %728, label %729

728:                                              ; preds = %.thread463, %727
  %.pn372.pn.pn466 = phi { ptr, i32 } [ %719, %.thread463 ], [ %.pn372.pn, %727 ]
  call void @__cxa_free_exception(ptr %699) #5
  br label %729

729:                                              ; preds = %727, %728, %718
  %.pn372.pn.pn.pn = phi { ptr, i32 } [ %.pn372.pn.pn466, %728 ], [ %.pn372.pn, %727 ], [ %.pn370, %718 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #5
  br label %730

730:                                              ; preds = %729, %712
  %.pn372.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn372.pn.pn.pn, %729 ], [ %713, %712 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %122) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #5
  br label %731

731:                                              ; preds = %730, %711
  %.pn372.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn372.pn.pn.pn.pn, %730 ], [ %.pn367.pn, %711 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %118) #5
  br label %734

732:                                              ; preds = %688, %629
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %105) #5
  %733 = add nuw nsw i64 %.0230491, 1
  %exitcond.not = icmp eq i64 %733, %612
  br i1 %exitcond.not, label %.preheader, label %.lr.ph493, !llvm.loop !74

734:                                              ; preds = %687, %731, %632
  %.pn372.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %633, %632 ], [ %.pn372.pn.pn.pn.pn.pn, %731 ], [ %.pn359.pn.pn.pn.pn.pn, %687 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %105) #5
  br label %778

._crit_edge497:                                   ; preds = %766, %.preheader
  %.0100.lcssa = phi i64 [ 0, %.preheader ], [ %769, %766 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %134) #5
  %735 = invoke { ptr, i64 } @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE17tensor_shape_spanEl(ptr noundef nonnull align 8 dereferenceable(28) %91, i64 noundef %indvars.iv508)
          to label %771 unwind label %776

.lr.ph496:                                        ; preds = %.preheader, %766
  %indvars.iv504 = phi i64 [ %indvars.iv.next505, %766 ], [ 0, %.preheader ]
  %.0100494 = phi i64 [ %769, %766 ], [ 0, %.preheader ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %128) #5
  %736 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4dali4spanIKiLln1EEixEl(ptr noundef nonnull align 8 dereferenceable(16) %543, i64 noundef %indvars.iv504)
  %737 = load i32, ptr %736, align 4, !tbaa !5
  store i32 %737, ptr %128, align 4, !tbaa !5
  %738 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiN4dali14SelectMasksCPU11PolygonDescESt4hashIiESt8equal_toIiESaISt4pairIKiS2_EEEixERS8_(ptr noundef nonnull align 8 dereferenceable(56) %545, ptr noundef nonnull align 4 dereferenceable(4) %128)
          to label %739 unwind label %753

739:                                              ; preds = %.lr.ph496
  %740 = getelementptr inbounds i8, ptr %738, i64 4
  %741 = load i32, ptr %740, align 4, !tbaa !72
  %742 = icmp eq i32 %741, -1
  %743 = getelementptr inbounds i8, ptr %738, i64 8
  %744 = load i32, ptr %743, align 4
  %745 = icmp eq i32 %744, -1
  %or.cond424 = select i1 %742, i1 %745, i1 false
  br i1 %or.cond424, label %746, label %766

746:                                              ; preds = %739
  %747 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %129) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %130) #5
  invoke void @_ZN4dali11make_stringIJA18_ciA30_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %130, ptr noundef nonnull align 1 dereferenceable(18) @.str.58, ptr noundef nonnull align 4 dereferenceable(4) %128, ptr noundef nonnull align 1 dereferenceable(30) @.str.59)
          to label %748 unwind label %.thread467

748:                                              ; preds = %746
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %129, ptr noundef nonnull align 8 dereferenceable(32) %130)
          to label %749 unwind label %.thread471

749:                                              ; preds = %748
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %132) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %132) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %131, ptr noundef nonnull @.str.60, ptr noundef nonnull align 1 dereferenceable(1) %132)
          to label %750 unwind label %757

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

751:                                              ; preds = %750
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %747, ptr noundef nonnull align 8 dereferenceable(32) %129, ptr noundef nonnull %131, ptr noundef nonnull align 8 dereferenceable(32) %133)
          to label %752 unwind label %761

752:                                              ; preds = %751
  invoke void @__cxa_throw(ptr nonnull %747, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %809 unwind label %761

753:                                              ; preds = %.lr.ph496
  %754 = landingpad { ptr, i32 }
          cleanup
  br label %770

.thread467:                                       ; preds = %746
  %755 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %130) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %129) #5
  br label %765

.thread471:                                       ; preds = %748
  %756 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %130) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %129) #5
  br label %765

757:                                              ; preds = %749
  %758 = landingpad { ptr, i32 }
          cleanup
  br label %764

759:                                              ; preds = %750
  %760 = landingpad { ptr, i32 }
          cleanup
  br label %763

761:                                              ; preds = %752, %751
  %.0 = phi i1 [ false, %752 ], [ true, %751 ]
  %762 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #5
  br label %763

763:                                              ; preds = %761, %759
  %.pn346 = phi { ptr, i32 } [ %762, %761 ], [ %760, %759 ]
  %.1 = phi i1 [ %.0, %761 ], [ true, %759 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %133) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #5
  br label %764

764:                                              ; preds = %757, %763
  %.pn346.pn = phi { ptr, i32 } [ %.pn346, %763 ], [ %758, %757 ]
  %.2 = phi i1 [ %.1, %763 ], [ true, %757 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %132) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %132) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %130) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %129) #5
  br i1 %.2, label %765, label %770

765:                                              ; preds = %.thread471, %.thread467, %764
  %.pn346.pn.pn.pn470 = phi { ptr, i32 } [ %755, %.thread467 ], [ %.pn346.pn, %764 ], [ %756, %.thread471 ]
  call void @__cxa_free_exception(ptr %747) #5
  br label %770

766:                                              ; preds = %739
  %767 = sub nsw i32 %744, %741
  %768 = sext i32 %767 to i64
  %769 = add nsw i64 %.0100494, %768
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %128) #5
  %indvars.iv.next505 = add nuw nsw i64 %indvars.iv504, 1
  %exitcond507.not = icmp eq i64 %indvars.iv.next505, %550
  br i1 %exitcond507.not, label %._crit_edge497, label %.lr.ph496, !llvm.loop !75

770:                                              ; preds = %764, %765, %753
  %.pn346.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn346.pn.pn.pn470, %765 ], [ %.pn346.pn, %764 ], [ %754, %753 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %128) #5
  br label %778

771:                                              ; preds = %._crit_edge497
  %772 = extractvalue { ptr, i64 } %735, 0
  store ptr %772, ptr %134, align 8
  %773 = extractvalue { ptr, i64 } %735, 1
  store i64 %773, ptr %530, align 8
  %774 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4dali4spanIlLln1EEixEl(ptr noundef nonnull align 8 dereferenceable(16) %134, i64 noundef 0)
  store i64 %.0100.lcssa, ptr %774, align 8, !tbaa !19
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %134) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %103) #5
  %indvars.iv.next509 = add nuw nsw i64 %indvars.iv508, 1
  %775 = icmp slt i64 %indvars.iv.next509, %525
  br i1 %775, label %541, label %._crit_edge500, !llvm.loop !76

776:                                              ; preds = %._crit_edge497
  %777 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %134) #5
  br label %778

778:                                              ; preds = %770, %776, %734, %623
  %.pn372.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn372.pn.pn.pn.pn.pn.pn.pn, %734 ], [ %624, %623 ], [ %.pn346.pn.pn.pn.pn, %770 ], [ %777, %776 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %103) #5
  br label %798

779:                                              ; preds = %._crit_edge500
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %135) #5
  call void @_ZN4dali15TensorListShapeILin1EEC2EOS1_(ptr noundef nonnull align 8 dereferenceable(32) %135, ptr noundef nonnull align 8 dereferenceable(32) %90) #5
  %780 = invoke noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %230)
          to label %781 unwind label %788

781:                                              ; preds = %779
  %782 = getelementptr inbounds i8, ptr %135, i64 32
  store i32 %780, ptr %782, align 8, !tbaa !9
  invoke void @_ZNSt6vectorIN4dali10OutputDescESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(36) %135)
          to label %783 unwind label %790

783:                                              ; preds = %781
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %135) #5
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %135) #5
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %136) #5
  call void @_ZN4dali15TensorListShapeILin1EEC2EOS1_(ptr noundef nonnull align 8 dereferenceable(32) %136, ptr noundef nonnull align 8 dereferenceable(32) %91) #5
  %784 = invoke noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %330)
          to label %785 unwind label %793

785:                                              ; preds = %783
  %786 = getelementptr inbounds i8, ptr %136, i64 32
  store i32 %784, ptr %786, align 8, !tbaa !9
  invoke void @_ZNSt6vectorIN4dali10OutputDescESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(36) %136)
          to label %787 unwind label %795

787:                                              ; preds = %785
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %136) #5
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %136) #5
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #5
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %90) #5
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEKiLi2EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %89) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %89) #5
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEKiLi1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %88) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %88) #5
  br label %802

788:                                              ; preds = %779
  %789 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #5
  br label %792

790:                                              ; preds = %781
  %791 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %135) #5
  br label %792

792:                                              ; preds = %790, %788
  %.pn342 = phi { ptr, i32 } [ %791, %790 ], [ %789, %788 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %135) #5
  br label %798

793:                                              ; preds = %783
  %794 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #5
  br label %797

795:                                              ; preds = %785
  %796 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4dali10OutputDescD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %136) #5
  br label %797

797:                                              ; preds = %795, %793
  %.pn344 = phi { ptr, i32 } [ %796, %795 ], [ %794, %793 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %136) #5
  br label %798

798:                                              ; preds = %565, %567, %569, %621, %778, %607, %797, %792, %539
  %.pn383.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn344, %797 ], [ %.pn342, %792 ], [ %540, %539 ], [ %570, %569 ], [ %568, %567 ], [ %566, %565 ], [ %.pn383.pn.pn.pn.pn, %607 ], [ %.pn372.pn.pn.pn.pn.pn.pn.pn.pn, %778 ], [ %622, %621 ]
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #5
  br label %799

799:                                              ; preds = %798, %537
  %.pn383.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn383.pn.pn.pn.pn.pn.pn.pn, %798 ], [ %538, %537 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #5
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #5
  br label %800

800:                                              ; preds = %799, %535
  %.pn383.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn383.pn.pn.pn.pn.pn.pn.pn.pn, %799 ], [ %536, %535 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %90) #5
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEKiLi2EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %89) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %89) #5
  br label %801

801:                                              ; preds = %800, %533
  %.pn383.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn383.pn.pn.pn.pn.pn.pn.pn.pn.pn, %800 ], [ %534, %533 ]
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEKiLi1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %88) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %88) #5
  br label %803

802:                                              ; preds = %787, %450
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %62) #5
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #5
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #5
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #5
  ret i1 true

803:                                              ; preds = %531, %801, %519, %464, %457, %433, %404
  %.pn411.pn = phi { ptr, i32 } [ %.pn411, %464 ], [ %.pn409, %457 ], [ %405, %404 ], [ %.pn401.pn.pn.pn.pn.pn.pn, %519 ], [ %.pn335.pn.pn.pn.pn.pn, %433 ], [ %.pn383.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %801 ], [ %532, %531 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %62) #5
  br label %804

804:                                              ; preds = %803, %381
  %.pn411.pn.pn = phi { ptr, i32 } [ %.pn411.pn, %803 ], [ %.pn323.pn.pn.pn.pn.pn, %381 ]
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #5
  br label %805

805:                                              ; preds = %804, %352
  %.pn411.pn.pn.pn = phi { ptr, i32 } [ %.pn411.pn.pn, %804 ], [ %353, %352 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #5
  br label %806

806:                                              ; preds = %350, %805, %328, %283, %254
  %.pn411.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn311.pn.pn.pn.pn.pn, %328 ], [ %.pn299.pn.pn.pn.pn.pn, %283 ], [ %255, %254 ], [ %.pn411.pn.pn.pn, %805 ], [ %351, %350 ]
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #5
  br label %807

807:                                              ; preds = %806, %252
  %.pn411.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn411.pn.pn.pn.pn.pn, %806 ], [ %253, %252 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #5
  br label %808

808:                                              ; preds = %250, %807, %228, %184, %155
  %.pn411.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn287.pn.pn.pn.pn.pn, %228 ], [ %.pn275.pn.pn.pn.pn.pn, %184 ], [ %156, %155 ], [ %.pn411.pn.pn.pn.pn.pn.pn, %807 ], [ %251, %250 ]
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #5
  resume { ptr, i32 } %.pn411.pn.pn.pn.pn.pn.pn.pn.pn

809:                                              ; preds = %752, %703, %659, %582, %486, %403, %349, %300, %249, %200, %154
  unreachable
}

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

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

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

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

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

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

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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

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

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

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

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

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

declare void @__cxa_free_exception(ptr) local_unnamed_addr

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIN4dali14SelectMasksCPU10SampleDescESaIS2_EE6resizeEm(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(72) ptr @_ZNSt6vectorIN4dali14SelectMasksCPU10SampleDescESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #1 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i64 } @_ZN4dali10make_cspanILln1EiEENS_4spanIKT0_XT_EEEPS3_l(ptr noundef, i64 noundef) local_unnamed_addr #2

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKiN4dali14SelectMasksCPU11PolygonDescEELb0EEES9_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKiN4dali14SelectMasksCPU11PolygonDescEELb0EEES9_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1

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

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

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

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !18, i64 32}
!10 = !{!"_ZTSN4dali10OutputDescE", !11, i64 0, !18, i64 32}
!11 = !{!"_ZTSN4dali15TensorListShapeILin1EEE", !12, i64 0, !6, i64 28}
!12 = !{!"_ZTSN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EEE", !13, i64 0, !6, i64 24}
!13 = !{!"_ZTSSt6vectorIlSaIlEE", !14, i64 0}
!14 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !15, i64 0}
!15 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !16, i64 0}
!16 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !17, i64 0, !17, i64 8, !17, i64 16}
!17 = !{!"any pointer", !7, i64 0}
!18 = !{!"_ZTS13_DALIDataType", !7, i64 0}
!19 = !{!20, !20, i64 0}
!20 = !{!"long", !7, i64 0}
!21 = distinct !{!21, !22}
!22 = !{!"llvm.loop.mustprogress"}
!23 = !{!17, !17, i64 0}
!24 = !{!25, !67, i64 424}
!25 = !{!"_ZTSN4dali14SelectMasksCPUE", !26, i64 0, !63, i64 400, !67, i64 424}
!26 = !{!"_ZTSN4dali17StatelessOperatorINS_10CPUBackendEEE", !27, i64 0}
!27 = !{!"_ZTSN4dali8OperatorINS_10CPUBackendEEE", !28, i64 0}
!28 = !{!"_ZTSN4dali12OperatorBaseE", !29, i64 8, !6, i64 336, !6, i64 340, !58, i64 344}
!29 = !{!"_ZTSN4dali6OpSpecE", !30, i64 0, !17, i64 32, !32, i64 40, !36, i64 64, !44, i64 112, !36, i64 136, !48, i64 184, !51, i64 232, !51, i64 256, !55, i64 280}
!30 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !31, i64 0, !20, i64 8, !7, i64 16}
!31 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !17, i64 0}
!32 = !{!"_ZTSSt6vectorISt10shared_ptrIN4dali8ArgumentEESaIS3_EE", !33, i64 0}
!33 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE12_Vector_implE", !35, i64 0}
!35 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE17_Vector_impl_dataE", !17, i64 0, !17, i64 8, !17, i64 16}
!36 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIvESaISt4pairIKS5_iEEE", !37, i64 0}
!37 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIvESaIS8_EE", !38, i64 0}
!38 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIvESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !39, i64 0, !41, i64 8}
!39 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIvEE", !40, i64 0}
!40 = !{!"_ZTSSt4lessIvE"}
!41 = !{!"_ZTSSt15_Rb_tree_header", !42, i64 0, !20, i64 32}
!42 = !{!"_ZTSSt18_Rb_tree_node_base", !43, i64 0, !17, i64 8, !17, i64 16, !17, i64 24}
!43 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!44 = !{!"_ZTSSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE", !45, i64 0}
!45 = !{!"_ZTSSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE", !46, i64 0}
!46 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE12_Vector_implE", !47, i64 0}
!47 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE17_Vector_impl_dataE", !17, i64 0, !17, i64 8, !17, i64 16}
!48 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIvESaISt4pairIKS5_S5_EEE", !49, i64 0}
!49 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIvESaIS8_EE", !50, i64 0}
!50 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIvESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !39, i64 0, !41, i64 8}
!51 = !{!"_ZTSSt6vectorIN4dali6OpSpec15InOutDeviceDescESaIS2_EE", !52, i64 0}
!52 = !{!"_ZTSSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE", !53, i64 0}
!53 = !{!"_ZTSNSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE12_Vector_implE", !54, i64 0}
!54 = !{!"_ZTSNSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE17_Vector_impl_dataE", !17, i64 0, !17, i64 8, !17, i64 16}
!55 = !{!"_ZTSSt3mapIN4dali6OpSpec15InOutDeviceDescEiSt4lessIvESaISt4pairIKS2_iEEE", !56, i64 0}
!56 = !{!"_ZTSSt8_Rb_treeIN4dali6OpSpec15InOutDeviceDescESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIvESaIS5_EE", !57, i64 0}
!57 = !{!"_ZTSNSt8_Rb_treeIN4dali6OpSpec15InOutDeviceDescESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIvESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !39, i64 0, !41, i64 8}
!58 = !{!"_ZTSSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3anySt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S6_EEE", !59, i64 0}
!59 = !{!"_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", !17, i64 0, !20, i64 8, !60, i64 16, !20, i64 24, !61, i64 32, !17, i64 48}
!60 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !17, i64 0}
!61 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !62, i64 0, !20, i64 8}
!62 = !{!"float", !7, i64 0}
!63 = !{!"_ZTSSt6vectorIN4dali14SelectMasksCPU10SampleDescESaIS2_EE", !64, i64 0}
!64 = !{!"_ZTSSt12_Vector_baseIN4dali14SelectMasksCPU10SampleDescESaIS2_EE", !65, i64 0}
!65 = !{!"_ZTSNSt12_Vector_baseIN4dali14SelectMasksCPU10SampleDescESaIS2_EE12_Vector_implE", !66, i64 0}
!66 = !{!"_ZTSNSt12_Vector_baseIN4dali14SelectMasksCPU10SampleDescESaIS2_EE17_Vector_impl_dataE", !17, i64 0, !17, i64 8, !17, i64 16}
!67 = !{!"bool", !7, i64 0}
!68 = !{i8 0, i8 2}
!69 = !{}
!70 = !{!71, !6, i64 0}
!71 = !{!"_ZTSN4dali14SelectMasksCPU11PolygonDescE", !6, i64 0, !6, i64 4, !6, i64 8}
!72 = !{!71, !6, i64 4}
!73 = !{!71, !6, i64 8}
!74 = distinct !{!74, !22}
!75 = distinct !{!75, !22}
!76 = distinct !{!76, !22}


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