; LLVM IR from NVIDIA/DALI :: dali/operators/generic/pad.ll (ZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceE)

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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.dali::CPUBackend" = type { i8 }
%"struct.dali::TensorListShape" = type { %"struct.dali::TensorListShapeBase.base", i32 }
%"struct.dali::TensorListShapeBase.base" = type <{ %"class.std::vector.73", i32 }>
%"class.std::vector.73" = type { %"struct.std::_Vector_base.74" }
%"struct.std::_Vector_base.74" = 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::function.798" = type { %"class.std::_Function_base", ptr }
%"class.std::_Function_base" = type { %"union.std::_Any_data", ptr }
%"union.std::_Any_data" = type { %"union.std::_Nocopy_types" }
%"union.std::_Nocopy_types" = type { { i64, i64 } }
%class.anon = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.801 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.803 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.805 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.807 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%"class.std::allocator" = type { i8 }
%class.anon.809 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.811 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.813 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.815 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.817 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.819 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.821 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.823 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.825 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.827 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.829 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.831 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.833 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.835 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.837 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.839 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.841 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.843 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.845 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.847 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.849 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.851 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.853 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.855 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.857 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.859 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.861 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.863 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.865 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.867 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.869 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.871 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.873 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.875 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.877 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.879 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.881 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.883 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.885 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.887 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.889 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.891 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.893 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.895 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.897 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.899 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.901 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.903 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.905 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.907 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>

@.str.18 = external hidden unnamed_addr constant [34 x i8], align 1
@_ZTIN4dali13DALIExceptionE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.20 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [82 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
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: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(16) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE9GetLayoutEv(ptr noundef nonnull align 8 dereferenceable(304)) #3 align 2

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

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

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

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

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: mustprogress uwtable
declare dso_local void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 1 dereferenceable(34), ptr noundef nonnull align 4 dereferenceable(4)) #2

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

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

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

declare void @__cxa_throw(ptr, ptr, ptr)

declare void @__cxa_free_exception(ptr)

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceE(ptr noundef nonnull align 8 dereferenceable(976) %0, ptr noundef nonnull align 8 dereferenceable(664) %1) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca %"class.dali::CPUBackend", align 1
  %7 = alloca ptr, align 8
  %8 = alloca %"class.dali::CPUBackend", align 1
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca ptr, align 8
  %12 = alloca %"struct.dali::TensorListShape", align 8
  %13 = alloca ptr, align 8
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca %"class.std::function.798", align 8
  %18 = alloca %class.anon, align 8
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca %"class.std::function.798", align 8
  %22 = alloca %class.anon.801, align 8
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca %"class.std::function.798", align 8
  %26 = alloca %class.anon.803, align 8
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca %"class.std::function.798", align 8
  %30 = alloca %class.anon.805, align 8
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca %"class.std::function.798", align 8
  %34 = alloca %class.anon.807, align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::allocator", align 1
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca i1, align 1
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca %"class.std::function.798", align 8
  %44 = alloca %class.anon.809, align 8
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca %"class.std::function.798", align 8
  %48 = alloca %class.anon.811, align 8
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca %"class.std::function.798", align 8
  %52 = alloca %class.anon.813, align 8
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca %"class.std::function.798", align 8
  %56 = alloca %class.anon.815, align 8
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca %"class.std::function.798", align 8
  %60 = alloca %class.anon.817, align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::allocator", align 1
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca i1, align 1
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca %"class.std::function.798", align 8
  %70 = alloca %class.anon.819, align 8
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca %"class.std::function.798", align 8
  %74 = alloca %class.anon.821, align 8
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca %"class.std::function.798", align 8
  %78 = alloca %class.anon.823, align 8
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca %"class.std::function.798", align 8
  %82 = alloca %class.anon.825, align 8
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca %"class.std::function.798", align 8
  %86 = alloca %class.anon.827, align 8
  %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 i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca %"class.std::function.798", align 8
  %96 = alloca %class.anon.829, align 8
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca %"class.std::function.798", align 8
  %100 = alloca %class.anon.831, align 8
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca %"class.std::function.798", align 8
  %104 = alloca %class.anon.833, align 8
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca %"class.std::function.798", align 8
  %108 = alloca %class.anon.835, align 8
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca %"class.std::function.798", align 8
  %112 = alloca %class.anon.837, 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 i1, align 1
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca %"class.std::function.798", align 8
  %122 = alloca %class.anon.839, align 8
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca %"class.std::function.798", align 8
  %126 = alloca %class.anon.841, align 8
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca %"class.std::function.798", align 8
  %130 = alloca %class.anon.843, align 8
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca %"class.std::function.798", align 8
  %134 = alloca %class.anon.845, align 8
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca %"class.std::function.798", align 8
  %138 = alloca %class.anon.847, align 8
  %139 = alloca %"class.std::__cxx11::basic_string", align 8
  %140 = alloca %"class.std::__cxx11::basic_string", align 8
  %141 = alloca %"class.std::__cxx11::basic_string", align 8
  %142 = alloca %"class.std::allocator", align 1
  %143 = alloca %"class.std::__cxx11::basic_string", align 8
  %144 = alloca i1, align 1
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca %"class.std::function.798", align 8
  %148 = alloca %class.anon.849, align 8
  %149 = alloca i32, align 4
  %150 = alloca i32, align 4
  %151 = alloca %"class.std::function.798", align 8
  %152 = alloca %class.anon.851, align 8
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca %"class.std::function.798", align 8
  %156 = alloca %class.anon.853, align 8
  %157 = alloca i32, align 4
  %158 = alloca i32, align 4
  %159 = alloca %"class.std::function.798", align 8
  %160 = alloca %class.anon.855, align 8
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca %"class.std::function.798", align 8
  %164 = alloca %class.anon.857, align 8
  %165 = alloca %"class.std::__cxx11::basic_string", align 8
  %166 = alloca %"class.std::__cxx11::basic_string", align 8
  %167 = alloca %"class.std::__cxx11::basic_string", align 8
  %168 = alloca %"class.std::allocator", align 1
  %169 = alloca %"class.std::__cxx11::basic_string", align 8
  %170 = alloca i1, align 1
  %171 = alloca i32, align 4
  %172 = alloca i32, align 4
  %173 = alloca %"class.std::function.798", align 8
  %174 = alloca %class.anon.859, align 8
  %175 = alloca i32, align 4
  %176 = alloca i32, align 4
  %177 = alloca %"class.std::function.798", align 8
  %178 = alloca %class.anon.861, align 8
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca %"class.std::function.798", align 8
  %182 = alloca %class.anon.863, align 8
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca %"class.std::function.798", align 8
  %186 = alloca %class.anon.865, align 8
  %187 = alloca i32, align 4
  %188 = alloca i32, align 4
  %189 = alloca %"class.std::function.798", align 8
  %190 = alloca %class.anon.867, align 8
  %191 = alloca %"class.std::__cxx11::basic_string", align 8
  %192 = alloca %"class.std::__cxx11::basic_string", align 8
  %193 = alloca %"class.std::__cxx11::basic_string", align 8
  %194 = alloca %"class.std::allocator", align 1
  %195 = alloca %"class.std::__cxx11::basic_string", align 8
  %196 = alloca i1, align 1
  %197 = alloca i32, align 4
  %198 = alloca i32, align 4
  %199 = alloca %"class.std::function.798", align 8
  %200 = alloca %class.anon.869, align 8
  %201 = alloca i32, align 4
  %202 = alloca i32, align 4
  %203 = alloca %"class.std::function.798", align 8
  %204 = alloca %class.anon.871, align 8
  %205 = alloca i32, align 4
  %206 = alloca i32, align 4
  %207 = alloca %"class.std::function.798", align 8
  %208 = alloca %class.anon.873, align 8
  %209 = alloca i32, align 4
  %210 = alloca i32, align 4
  %211 = alloca %"class.std::function.798", align 8
  %212 = alloca %class.anon.875, align 8
  %213 = alloca i32, align 4
  %214 = alloca i32, align 4
  %215 = alloca %"class.std::function.798", align 8
  %216 = alloca %class.anon.877, align 8
  %217 = alloca %"class.std::__cxx11::basic_string", align 8
  %218 = alloca %"class.std::__cxx11::basic_string", align 8
  %219 = alloca %"class.std::__cxx11::basic_string", align 8
  %220 = alloca %"class.std::allocator", align 1
  %221 = alloca %"class.std::__cxx11::basic_string", align 8
  %222 = alloca i1, align 1
  %223 = alloca i32, align 4
  %224 = alloca i32, align 4
  %225 = alloca %"class.std::function.798", align 8
  %226 = alloca %class.anon.879, align 8
  %227 = alloca i32, align 4
  %228 = alloca i32, align 4
  %229 = alloca %"class.std::function.798", align 8
  %230 = alloca %class.anon.881, align 8
  %231 = alloca i32, align 4
  %232 = alloca i32, align 4
  %233 = alloca %"class.std::function.798", align 8
  %234 = alloca %class.anon.883, align 8
  %235 = alloca i32, align 4
  %236 = alloca i32, align 4
  %237 = alloca %"class.std::function.798", align 8
  %238 = alloca %class.anon.885, align 8
  %239 = alloca i32, align 4
  %240 = alloca i32, align 4
  %241 = alloca %"class.std::function.798", align 8
  %242 = alloca %class.anon.887, align 8
  %243 = alloca %"class.std::__cxx11::basic_string", align 8
  %244 = alloca %"class.std::__cxx11::basic_string", align 8
  %245 = alloca %"class.std::__cxx11::basic_string", align 8
  %246 = alloca %"class.std::allocator", align 1
  %247 = alloca %"class.std::__cxx11::basic_string", align 8
  %248 = alloca i1, align 1
  %249 = alloca i32, align 4
  %250 = alloca i32, align 4
  %251 = alloca %"class.std::function.798", align 8
  %252 = alloca %class.anon.889, align 8
  %253 = alloca i32, align 4
  %254 = alloca i32, align 4
  %255 = alloca %"class.std::function.798", align 8
  %256 = alloca %class.anon.891, align 8
  %257 = alloca i32, align 4
  %258 = alloca i32, align 4
  %259 = alloca %"class.std::function.798", align 8
  %260 = alloca %class.anon.893, align 8
  %261 = alloca i32, align 4
  %262 = alloca i32, align 4
  %263 = alloca %"class.std::function.798", align 8
  %264 = alloca %class.anon.895, align 8
  %265 = alloca i32, align 4
  %266 = alloca i32, align 4
  %267 = alloca %"class.std::function.798", align 8
  %268 = alloca %class.anon.897, align 8
  %269 = alloca %"class.std::__cxx11::basic_string", align 8
  %270 = alloca %"class.std::__cxx11::basic_string", align 8
  %271 = alloca %"class.std::__cxx11::basic_string", align 8
  %272 = alloca %"class.std::allocator", align 1
  %273 = alloca %"class.std::__cxx11::basic_string", align 8
  %274 = alloca i1, align 1
  %275 = alloca i32, align 4
  %276 = alloca i32, align 4
  %277 = alloca %"class.std::function.798", align 8
  %278 = alloca %class.anon.899, align 8
  %279 = alloca i32, align 4
  %280 = alloca i32, align 4
  %281 = alloca %"class.std::function.798", align 8
  %282 = alloca %class.anon.901, align 8
  %283 = alloca i32, align 4
  %284 = alloca i32, align 4
  %285 = alloca %"class.std::function.798", align 8
  %286 = alloca %class.anon.903, align 8
  %287 = alloca i32, align 4
  %288 = alloca i32, align 4
  %289 = alloca %"class.std::function.798", align 8
  %290 = alloca %class.anon.905, align 8
  %291 = alloca i32, align 4
  %292 = alloca i32, align 4
  %293 = alloca %"class.std::function.798", align 8
  %294 = alloca %class.anon.907, align 8
  %295 = alloca %"class.std::__cxx11::basic_string", align 8
  %296 = alloca %"class.std::__cxx11::basic_string", align 8
  %297 = alloca %"class.std::__cxx11::basic_string", align 8
  %298 = alloca %"class.std::allocator", align 1
  %299 = alloca %"class.std::__cxx11::basic_string", align 8
  %300 = alloca i1, align 1
  %301 = alloca %"class.std::__cxx11::basic_string", align 8
  %302 = alloca %"class.std::__cxx11::basic_string", align 8
  %303 = alloca i32, align 4
  %304 = alloca %"class.std::__cxx11::basic_string", align 8
  %305 = alloca %"class.std::allocator", align 1
  %306 = alloca %"class.std::__cxx11::basic_string", align 8
  %307 = alloca i1, align 1
  store ptr %0, ptr %3, align 8, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !5
  %308 = load ptr, ptr %3, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #6
  %309 = load ptr, ptr %4, align 8, !tbaa !5
  %310 = call noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE5InputINS_10CPUBackendEEERKDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %309, i32 noundef 0)
  store ptr %310, ptr %5, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #6
  %311 = load ptr, ptr %4, align 8, !tbaa !5
  %312 = call noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE6OutputINS_10CPUBackendEEERDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %311, i32 noundef 0)
  store ptr %312, ptr %7, align 8, !tbaa !5
  %313 = load ptr, ptr %7, align 8, !tbaa !5
  %314 = load ptr, ptr %5, align 8, !tbaa !5
  %315 = call noundef nonnull align 1 dereferenceable(16) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE9GetLayoutEv(ptr noundef nonnull align 8 dereferenceable(304) %314)
  call void @_ZN4dali10TensorListINS_10CPUBackendEE9SetLayoutERKNS_12TensorLayoutE(ptr noundef nonnull align 8 dereferenceable(304) %313, ptr noundef nonnull align 1 dereferenceable(16) %315)
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #6
  %316 = load ptr, ptr %5, align 8, !tbaa !5
  %317 = call noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE11num_samplesEv(ptr noundef nonnull align 8 dereferenceable(304) %316) #6
  store i32 %317, ptr %9, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #6
  %318 = load ptr, ptr %5, align 8, !tbaa !5
  %319 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE5shapeEv(ptr noundef nonnull align 8 dereferenceable(304) %318)
  %320 = call noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %319)
  store i32 %320, ptr %10, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #6
  %321 = load ptr, ptr %4, align 8, !tbaa !5
  %322 = call noundef nonnull align 8 dereferenceable(224) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE13GetThreadPoolEv(ptr noundef nonnull align 8 dereferenceable(664) %321)
  store ptr %322, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %12) #6
  %323 = load ptr, ptr %7, align 8, !tbaa !5
  %324 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE5shapeEv(ptr noundef nonnull align 8 dereferenceable(304) %323)
  call void @_ZN4dali15TensorListShapeILin1EEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(32) %324)
  %325 = load ptr, ptr %5, align 8, !tbaa !5
  %326 = invoke noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %325)
          to label %327 unwind label %328

327:                                              ; preds = %2
  switch i32 %326, label %2994 [
    i32 0, label %332
    i32 4, label %574
    i32 1, label %816
    i32 5, label %1058
    i32 2, label %1300
    i32 6, label %1542
    i32 3, label %1784
    i32 7, label %2026
    i32 9, label %2268
    i32 8, label %2510
    i32 11, label %2752
  ]

328:                                              ; preds = %2
  %329 = landingpad { ptr, i32 }
          cleanup
  %330 = extractvalue { ptr, i32 } %329, 0
  store ptr %330, ptr %13, align 8
  %331 = extractvalue { ptr, i32 } %329, 1
  store i32 %331, ptr %14, align 4
  br label %3032

332:                                              ; preds = %327
  %333 = load i32, ptr %10, align 4, !tbaa !9
  switch i32 %333, label %539 [
    i32 1, label %334
    i32 2, label %375
    i32 3, label %416
    i32 4, label %457
    i32 5, label %498
  ]

334:                                              ; preds = %332
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #6
  store i32 1, ptr %15, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #6
  store i32 0, ptr %16, align 4, !tbaa !9
  br label %335

335:                                              ; preds = %355, %334
  %336 = load i32, ptr %16, align 4, !tbaa !9
  %337 = load i32, ptr %9, align 4, !tbaa !9
  %338 = icmp slt i32 %336, %337
  br i1 %338, label %340, label %339

339:                                              ; preds = %335
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #6
  br label %367

340:                                              ; preds = %335
  %341 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #6
  %342 = getelementptr inbounds %class.anon, ptr %18, i32 0, i32 0
  store ptr %308, ptr %342, align 8, !tbaa !11
  %343 = getelementptr inbounds %class.anon, ptr %18, i32 0, i32 1
  %344 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %344, ptr %343, align 8, !tbaa !5
  %345 = getelementptr inbounds %class.anon, ptr %18, i32 0, i32 2
  %346 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %346, ptr %345, align 8, !tbaa !5
  %347 = getelementptr inbounds %class.anon, ptr %18, i32 0, i32 3
  %348 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %348, ptr %347, align 8, !tbaa !13
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_0vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(28) %18)
          to label %349 unwind label %358

349:                                              ; preds = %340
  %350 = load i32, ptr %16, align 4, !tbaa !9
  %351 = sext i32 %350 to i64
  %352 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %351)
          to label %353 unwind label %362

353:                                              ; preds = %349
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %341, ptr noundef %17, i64 noundef %352, i1 noundef zeroext false)
          to label %354 unwind label %362

354:                                              ; preds = %353
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #6
  br label %355

355:                                              ; preds = %354
  %356 = load i32, ptr %16, align 4, !tbaa !9
  %357 = add nsw i32 %356, 1
  store i32 %357, ptr %16, align 4, !tbaa !9
  br label %335, !llvm.loop !14

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

362:                                              ; preds = %353, %349
  %363 = landingpad { ptr, i32 }
          cleanup
  %364 = extractvalue { ptr, i32 } %363, 0
  store ptr %364, ptr %13, align 8
  %365 = extractvalue { ptr, i32 } %363, 1
  store i32 %365, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %366

366:                                              ; preds = %362, %358
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #6
  br label %374

367:                                              ; preds = %339
  %368 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %368, i1 noundef zeroext true)
          to label %369 unwind label %370

369:                                              ; preds = %367
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  br label %573

370:                                              ; preds = %367
  %371 = landingpad { ptr, i32 }
          cleanup
  %372 = extractvalue { ptr, i32 } %371, 0
  store ptr %372, ptr %13, align 8
  %373 = extractvalue { ptr, i32 } %371, 1
  store i32 %373, ptr %14, align 4
  br label %374

374:                                              ; preds = %370, %366
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  br label %3032

375:                                              ; preds = %332
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #6
  store i32 2, ptr %19, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #6
  store i32 0, ptr %20, align 4, !tbaa !9
  br label %376

376:                                              ; preds = %396, %375
  %377 = load i32, ptr %20, align 4, !tbaa !9
  %378 = load i32, ptr %9, align 4, !tbaa !9
  %379 = icmp slt i32 %377, %378
  br i1 %379, label %381, label %380

380:                                              ; preds = %376
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #6
  br label %408

381:                                              ; preds = %376
  %382 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #6
  %383 = getelementptr inbounds %class.anon.801, ptr %22, i32 0, i32 0
  store ptr %308, ptr %383, align 8, !tbaa !16
  %384 = getelementptr inbounds %class.anon.801, ptr %22, i32 0, i32 1
  %385 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %385, ptr %384, align 8, !tbaa !5
  %386 = getelementptr inbounds %class.anon.801, ptr %22, i32 0, i32 2
  %387 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %387, ptr %386, align 8, !tbaa !5
  %388 = getelementptr inbounds %class.anon.801, ptr %22, i32 0, i32 3
  %389 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %389, ptr %388, align 8, !tbaa !18
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_1vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(28) %22)
          to label %390 unwind label %399

390:                                              ; preds = %381
  %391 = load i32, ptr %20, align 4, !tbaa !9
  %392 = sext i32 %391 to i64
  %393 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %392)
          to label %394 unwind label %403

394:                                              ; preds = %390
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %382, ptr noundef %21, i64 noundef %393, i1 noundef zeroext false)
          to label %395 unwind label %403

395:                                              ; preds = %394
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #6
  br label %396

396:                                              ; preds = %395
  %397 = load i32, ptr %20, align 4, !tbaa !9
  %398 = add nsw i32 %397, 1
  store i32 %398, ptr %20, align 4, !tbaa !9
  br label %376, !llvm.loop !19

399:                                              ; preds = %381
  %400 = landingpad { ptr, i32 }
          cleanup
  %401 = extractvalue { ptr, i32 } %400, 0
  store ptr %401, ptr %13, align 8
  %402 = extractvalue { ptr, i32 } %400, 1
  store i32 %402, ptr %14, align 4
  br label %407

403:                                              ; preds = %394, %390
  %404 = landingpad { ptr, i32 }
          cleanup
  %405 = extractvalue { ptr, i32 } %404, 0
  store ptr %405, ptr %13, align 8
  %406 = extractvalue { ptr, i32 } %404, 1
  store i32 %406, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %407

407:                                              ; preds = %403, %399
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #6
  br label %415

408:                                              ; preds = %380
  %409 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %409, i1 noundef zeroext true)
          to label %410 unwind label %411

410:                                              ; preds = %408
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  br label %573

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

415:                                              ; preds = %411, %407
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  br label %3032

416:                                              ; preds = %332
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #6
  store i32 3, ptr %23, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #6
  store i32 0, ptr %24, align 4, !tbaa !9
  br label %417

417:                                              ; preds = %437, %416
  %418 = load i32, ptr %24, align 4, !tbaa !9
  %419 = load i32, ptr %9, align 4, !tbaa !9
  %420 = icmp slt i32 %418, %419
  br i1 %420, label %422, label %421

421:                                              ; preds = %417
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #6
  br label %449

422:                                              ; preds = %417
  %423 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #6
  %424 = getelementptr inbounds %class.anon.803, ptr %26, i32 0, i32 0
  store ptr %308, ptr %424, align 8, !tbaa !20
  %425 = getelementptr inbounds %class.anon.803, ptr %26, i32 0, i32 1
  %426 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %426, ptr %425, align 8, !tbaa !5
  %427 = getelementptr inbounds %class.anon.803, ptr %26, i32 0, i32 2
  %428 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %428, ptr %427, align 8, !tbaa !5
  %429 = getelementptr inbounds %class.anon.803, ptr %26, i32 0, i32 3
  %430 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %430, ptr %429, align 8, !tbaa !22
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_2vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(28) %26)
          to label %431 unwind label %440

431:                                              ; preds = %422
  %432 = load i32, ptr %24, align 4, !tbaa !9
  %433 = sext i32 %432 to i64
  %434 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %433)
          to label %435 unwind label %444

435:                                              ; preds = %431
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %423, ptr noundef %25, i64 noundef %434, i1 noundef zeroext false)
          to label %436 unwind label %444

436:                                              ; preds = %435
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #6
  br label %437

437:                                              ; preds = %436
  %438 = load i32, ptr %24, align 4, !tbaa !9
  %439 = add nsw i32 %438, 1
  store i32 %439, ptr %24, align 4, !tbaa !9
  br label %417, !llvm.loop !23

440:                                              ; preds = %422
  %441 = landingpad { ptr, i32 }
          cleanup
  %442 = extractvalue { ptr, i32 } %441, 0
  store ptr %442, ptr %13, align 8
  %443 = extractvalue { ptr, i32 } %441, 1
  store i32 %443, ptr %14, align 4
  br label %448

444:                                              ; preds = %435, %431
  %445 = landingpad { ptr, i32 }
          cleanup
  %446 = extractvalue { ptr, i32 } %445, 0
  store ptr %446, ptr %13, align 8
  %447 = extractvalue { ptr, i32 } %445, 1
  store i32 %447, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %448

448:                                              ; preds = %444, %440
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #6
  br label %456

449:                                              ; preds = %421
  %450 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %450, i1 noundef zeroext true)
          to label %451 unwind label %452

451:                                              ; preds = %449
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #6
  br label %573

452:                                              ; preds = %449
  %453 = landingpad { ptr, i32 }
          cleanup
  %454 = extractvalue { ptr, i32 } %453, 0
  store ptr %454, ptr %13, align 8
  %455 = extractvalue { ptr, i32 } %453, 1
  store i32 %455, ptr %14, align 4
  br label %456

456:                                              ; preds = %452, %448
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #6
  br label %3032

457:                                              ; preds = %332
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #6
  store i32 4, ptr %27, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #6
  store i32 0, ptr %28, align 4, !tbaa !9
  br label %458

458:                                              ; preds = %478, %457
  %459 = load i32, ptr %28, align 4, !tbaa !9
  %460 = load i32, ptr %9, align 4, !tbaa !9
  %461 = icmp slt i32 %459, %460
  br i1 %461, label %463, label %462

462:                                              ; preds = %458
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #6
  br label %490

463:                                              ; preds = %458
  %464 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #6
  %465 = getelementptr inbounds %class.anon.805, ptr %30, i32 0, i32 0
  store ptr %308, ptr %465, align 8, !tbaa !24
  %466 = getelementptr inbounds %class.anon.805, ptr %30, i32 0, i32 1
  %467 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %467, ptr %466, align 8, !tbaa !5
  %468 = getelementptr inbounds %class.anon.805, ptr %30, i32 0, i32 2
  %469 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %469, ptr %468, align 8, !tbaa !5
  %470 = getelementptr inbounds %class.anon.805, ptr %30, i32 0, i32 3
  %471 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %471, ptr %470, align 8, !tbaa !26
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_3vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(28) %30)
          to label %472 unwind label %481

472:                                              ; preds = %463
  %473 = load i32, ptr %28, align 4, !tbaa !9
  %474 = sext i32 %473 to i64
  %475 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %474)
          to label %476 unwind label %485

476:                                              ; preds = %472
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %464, ptr noundef %29, i64 noundef %475, i1 noundef zeroext false)
          to label %477 unwind label %485

477:                                              ; preds = %476
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #6
  br label %478

478:                                              ; preds = %477
  %479 = load i32, ptr %28, align 4, !tbaa !9
  %480 = add nsw i32 %479, 1
  store i32 %480, ptr %28, align 4, !tbaa !9
  br label %458, !llvm.loop !27

481:                                              ; preds = %463
  %482 = landingpad { ptr, i32 }
          cleanup
  %483 = extractvalue { ptr, i32 } %482, 0
  store ptr %483, ptr %13, align 8
  %484 = extractvalue { ptr, i32 } %482, 1
  store i32 %484, ptr %14, align 4
  br label %489

485:                                              ; preds = %476, %472
  %486 = landingpad { ptr, i32 }
          cleanup
  %487 = extractvalue { ptr, i32 } %486, 0
  store ptr %487, ptr %13, align 8
  %488 = extractvalue { ptr, i32 } %486, 1
  store i32 %488, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  br label %489

489:                                              ; preds = %485, %481
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #6
  br label %497

490:                                              ; preds = %462
  %491 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %491, i1 noundef zeroext true)
          to label %492 unwind label %493

492:                                              ; preds = %490
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #6
  br label %573

493:                                              ; preds = %490
  %494 = landingpad { ptr, i32 }
          cleanup
  %495 = extractvalue { ptr, i32 } %494, 0
  store ptr %495, ptr %13, align 8
  %496 = extractvalue { ptr, i32 } %494, 1
  store i32 %496, ptr %14, align 4
  br label %497

497:                                              ; preds = %493, %489
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #6
  br label %3032

498:                                              ; preds = %332
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #6
  store i32 5, ptr %31, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #6
  store i32 0, ptr %32, align 4, !tbaa !9
  br label %499

499:                                              ; preds = %519, %498
  %500 = load i32, ptr %32, align 4, !tbaa !9
  %501 = load i32, ptr %9, align 4, !tbaa !9
  %502 = icmp slt i32 %500, %501
  br i1 %502, label %504, label %503

503:                                              ; preds = %499
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #6
  br label %531

504:                                              ; preds = %499
  %505 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #6
  %506 = getelementptr inbounds %class.anon.807, ptr %34, i32 0, i32 0
  store ptr %308, ptr %506, align 8, !tbaa !28
  %507 = getelementptr inbounds %class.anon.807, ptr %34, i32 0, i32 1
  %508 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %508, ptr %507, align 8, !tbaa !5
  %509 = getelementptr inbounds %class.anon.807, ptr %34, i32 0, i32 2
  %510 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %510, ptr %509, align 8, !tbaa !5
  %511 = getelementptr inbounds %class.anon.807, ptr %34, i32 0, i32 3
  %512 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %512, ptr %511, align 8, !tbaa !30
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_4vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(28) %34)
          to label %513 unwind label %522

513:                                              ; preds = %504
  %514 = load i32, ptr %32, align 4, !tbaa !9
  %515 = sext i32 %514 to i64
  %516 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %515)
          to label %517 unwind label %526

517:                                              ; preds = %513
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %505, ptr noundef %33, i64 noundef %516, i1 noundef zeroext false)
          to label %518 unwind label %526

518:                                              ; preds = %517
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #6
  br label %519

519:                                              ; preds = %518
  %520 = load i32, ptr %32, align 4, !tbaa !9
  %521 = add nsw i32 %520, 1
  store i32 %521, ptr %32, align 4, !tbaa !9
  br label %499, !llvm.loop !31

522:                                              ; preds = %504
  %523 = landingpad { ptr, i32 }
          cleanup
  %524 = extractvalue { ptr, i32 } %523, 0
  store ptr %524, ptr %13, align 8
  %525 = extractvalue { ptr, i32 } %523, 1
  store i32 %525, ptr %14, align 4
  br label %530

526:                                              ; preds = %517, %513
  %527 = landingpad { ptr, i32 }
          cleanup
  %528 = extractvalue { ptr, i32 } %527, 0
  store ptr %528, ptr %13, align 8
  %529 = extractvalue { ptr, i32 } %527, 1
  store i32 %529, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %530

530:                                              ; preds = %526, %522
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #6
  br label %538

531:                                              ; preds = %503
  %532 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %532, i1 noundef zeroext true)
          to label %533 unwind label %534

533:                                              ; preds = %531
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #6
  br label %573

534:                                              ; preds = %531
  %535 = landingpad { ptr, i32 }
          cleanup
  %536 = extractvalue { ptr, i32 } %535, 0
  store ptr %536, ptr %13, align 8
  %537 = extractvalue { ptr, i32 } %535, 1
  store i32 %537, ptr %14, align 4
  br label %538

538:                                              ; preds = %534, %530
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #6
  br label %3032

539:                                              ; preds = %332
  store i1 true, ptr %40, align 1
  %540 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %36, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %541 unwind label %546

541:                                              ; preds = %539
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %542 unwind label %550

542:                                              ; preds = %541
  call void @llvm.lifetime.start.p0(i64 1, ptr %38) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %38)
          to label %543 unwind label %554

543:                                              ; preds = %542
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %39)
          to label %544 unwind label %558

544:                                              ; preds = %543
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %540, ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef %37, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %545 unwind label %562

545:                                              ; preds = %544
  store i1 false, ptr %40, align 1
  invoke void @__cxa_throw(ptr %540, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %3038 unwind label %562

546:                                              ; preds = %539
  %547 = landingpad { ptr, i32 }
          cleanup
  %548 = extractvalue { ptr, i32 } %547, 0
  store ptr %548, ptr %13, align 8
  %549 = extractvalue { ptr, i32 } %547, 1
  store i32 %549, ptr %14, align 4
  br label %569

550:                                              ; preds = %541
  %551 = landingpad { ptr, i32 }
          cleanup
  %552 = extractvalue { ptr, i32 } %551, 0
  store ptr %552, ptr %13, align 8
  %553 = extractvalue { ptr, i32 } %551, 1
  store i32 %553, ptr %14, align 4
  br label %568

554:                                              ; preds = %542
  %555 = landingpad { ptr, i32 }
          cleanup
  %556 = extractvalue { ptr, i32 } %555, 0
  store ptr %556, ptr %13, align 8
  %557 = extractvalue { ptr, i32 } %555, 1
  store i32 %557, ptr %14, align 4
  br label %567

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

562:                                              ; preds = %545, %544
  %563 = landingpad { ptr, i32 }
          cleanup
  %564 = extractvalue { ptr, i32 } %563, 0
  store ptr %564, ptr %13, align 8
  %565 = extractvalue { ptr, i32 } %563, 1
  store i32 %565, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %566

566:                                              ; preds = %562, %558
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  br label %567

567:                                              ; preds = %566, %554
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %568

568:                                              ; preds = %567, %550
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %569

569:                                              ; preds = %568, %546
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #6
  %570 = load i1, ptr %40, align 1
  br i1 %570, label %571, label %572

571:                                              ; preds = %569
  call void @__cxa_free_exception(ptr %540) #6
  br label %572

572:                                              ; preds = %571, %569
  br label %3032

573:                                              ; preds = %533, %492, %451, %410, %369
  br label %3031

574:                                              ; preds = %327
  %575 = load i32, ptr %10, align 4, !tbaa !9
  switch i32 %575, label %781 [
    i32 1, label %576
    i32 2, label %617
    i32 3, label %658
    i32 4, label %699
    i32 5, label %740
  ]

576:                                              ; preds = %574
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #6
  store i32 1, ptr %41, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #6
  store i32 0, ptr %42, align 4, !tbaa !9
  br label %577

577:                                              ; preds = %597, %576
  %578 = load i32, ptr %42, align 4, !tbaa !9
  %579 = load i32, ptr %9, align 4, !tbaa !9
  %580 = icmp slt i32 %578, %579
  br i1 %580, label %582, label %581

581:                                              ; preds = %577
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #6
  br label %609

582:                                              ; preds = %577
  %583 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #6
  %584 = getelementptr inbounds %class.anon.809, ptr %44, i32 0, i32 0
  store ptr %308, ptr %584, align 8, !tbaa !32
  %585 = getelementptr inbounds %class.anon.809, ptr %44, i32 0, i32 1
  %586 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %586, ptr %585, align 8, !tbaa !5
  %587 = getelementptr inbounds %class.anon.809, ptr %44, i32 0, i32 2
  %588 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %588, ptr %587, align 8, !tbaa !5
  %589 = getelementptr inbounds %class.anon.809, ptr %44, i32 0, i32 3
  %590 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %590, ptr %589, align 8, !tbaa !34
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_5vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull align 8 dereferenceable(28) %44)
          to label %591 unwind label %600

591:                                              ; preds = %582
  %592 = load i32, ptr %42, align 4, !tbaa !9
  %593 = sext i32 %592 to i64
  %594 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %593)
          to label %595 unwind label %604

595:                                              ; preds = %591
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %583, ptr noundef %43, i64 noundef %594, i1 noundef zeroext false)
          to label %596 unwind label %604

596:                                              ; preds = %595
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  br label %597

597:                                              ; preds = %596
  %598 = load i32, ptr %42, align 4, !tbaa !9
  %599 = add nsw i32 %598, 1
  store i32 %599, ptr %42, align 4, !tbaa !9
  br label %577, !llvm.loop !35

600:                                              ; preds = %582
  %601 = landingpad { ptr, i32 }
          cleanup
  %602 = extractvalue { ptr, i32 } %601, 0
  store ptr %602, ptr %13, align 8
  %603 = extractvalue { ptr, i32 } %601, 1
  store i32 %603, ptr %14, align 4
  br label %608

604:                                              ; preds = %595, %591
  %605 = landingpad { ptr, i32 }
          cleanup
  %606 = extractvalue { ptr, i32 } %605, 0
  store ptr %606, ptr %13, align 8
  %607 = extractvalue { ptr, i32 } %605, 1
  store i32 %607, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  br label %608

608:                                              ; preds = %604, %600
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #6
  br label %616

609:                                              ; preds = %581
  %610 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %610, i1 noundef zeroext true)
          to label %611 unwind label %612

611:                                              ; preds = %609
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #6
  br label %815

612:                                              ; preds = %609
  %613 = landingpad { ptr, i32 }
          cleanup
  %614 = extractvalue { ptr, i32 } %613, 0
  store ptr %614, ptr %13, align 8
  %615 = extractvalue { ptr, i32 } %613, 1
  store i32 %615, ptr %14, align 4
  br label %616

616:                                              ; preds = %612, %608
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #6
  br label %3032

617:                                              ; preds = %574
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #6
  store i32 2, ptr %45, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #6
  store i32 0, ptr %46, align 4, !tbaa !9
  br label %618

618:                                              ; preds = %638, %617
  %619 = load i32, ptr %46, align 4, !tbaa !9
  %620 = load i32, ptr %9, align 4, !tbaa !9
  %621 = icmp slt i32 %619, %620
  br i1 %621, label %623, label %622

622:                                              ; preds = %618
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #6
  br label %650

623:                                              ; preds = %618
  %624 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %48) #6
  %625 = getelementptr inbounds %class.anon.811, ptr %48, i32 0, i32 0
  store ptr %308, ptr %625, align 8, !tbaa !36
  %626 = getelementptr inbounds %class.anon.811, ptr %48, i32 0, i32 1
  %627 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %627, ptr %626, align 8, !tbaa !5
  %628 = getelementptr inbounds %class.anon.811, ptr %48, i32 0, i32 2
  %629 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %629, ptr %628, align 8, !tbaa !5
  %630 = getelementptr inbounds %class.anon.811, ptr %48, i32 0, i32 3
  %631 = load i32, ptr %46, align 4, !tbaa !9
  store i32 %631, ptr %630, align 8, !tbaa !38
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_6vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull align 8 dereferenceable(28) %48)
          to label %632 unwind label %641

632:                                              ; preds = %623
  %633 = load i32, ptr %46, align 4, !tbaa !9
  %634 = sext i32 %633 to i64
  %635 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %634)
          to label %636 unwind label %645

636:                                              ; preds = %632
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %624, ptr noundef %47, i64 noundef %635, i1 noundef zeroext false)
          to label %637 unwind label %645

637:                                              ; preds = %636
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #6
  br label %638

638:                                              ; preds = %637
  %639 = load i32, ptr %46, align 4, !tbaa !9
  %640 = add nsw i32 %639, 1
  store i32 %640, ptr %46, align 4, !tbaa !9
  br label %618, !llvm.loop !39

641:                                              ; preds = %623
  %642 = landingpad { ptr, i32 }
          cleanup
  %643 = extractvalue { ptr, i32 } %642, 0
  store ptr %643, ptr %13, align 8
  %644 = extractvalue { ptr, i32 } %642, 1
  store i32 %644, ptr %14, align 4
  br label %649

645:                                              ; preds = %636, %632
  %646 = landingpad { ptr, i32 }
          cleanup
  %647 = extractvalue { ptr, i32 } %646, 0
  store ptr %647, ptr %13, align 8
  %648 = extractvalue { ptr, i32 } %646, 1
  store i32 %648, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %649

649:                                              ; preds = %645, %641
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #6
  br label %657

650:                                              ; preds = %622
  %651 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %651, i1 noundef zeroext true)
          to label %652 unwind label %653

652:                                              ; preds = %650
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #6
  br label %815

653:                                              ; preds = %650
  %654 = landingpad { ptr, i32 }
          cleanup
  %655 = extractvalue { ptr, i32 } %654, 0
  store ptr %655, ptr %13, align 8
  %656 = extractvalue { ptr, i32 } %654, 1
  store i32 %656, ptr %14, align 4
  br label %657

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

658:                                              ; preds = %574
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #6
  store i32 3, ptr %49, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #6
  store i32 0, ptr %50, align 4, !tbaa !9
  br label %659

659:                                              ; preds = %679, %658
  %660 = load i32, ptr %50, align 4, !tbaa !9
  %661 = load i32, ptr %9, align 4, !tbaa !9
  %662 = icmp slt i32 %660, %661
  br i1 %662, label %664, label %663

663:                                              ; preds = %659
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #6
  br label %691

664:                                              ; preds = %659
  %665 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #6
  %666 = getelementptr inbounds %class.anon.813, ptr %52, i32 0, i32 0
  store ptr %308, ptr %666, align 8, !tbaa !40
  %667 = getelementptr inbounds %class.anon.813, ptr %52, i32 0, i32 1
  %668 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %668, ptr %667, align 8, !tbaa !5
  %669 = getelementptr inbounds %class.anon.813, ptr %52, i32 0, i32 2
  %670 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %670, ptr %669, align 8, !tbaa !5
  %671 = getelementptr inbounds %class.anon.813, ptr %52, i32 0, i32 3
  %672 = load i32, ptr %50, align 4, !tbaa !9
  store i32 %672, ptr %671, align 8, !tbaa !42
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_7vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull align 8 dereferenceable(28) %52)
          to label %673 unwind label %682

673:                                              ; preds = %664
  %674 = load i32, ptr %50, align 4, !tbaa !9
  %675 = sext i32 %674 to i64
  %676 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %675)
          to label %677 unwind label %686

677:                                              ; preds = %673
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %665, ptr noundef %51, i64 noundef %676, i1 noundef zeroext false)
          to label %678 unwind label %686

678:                                              ; preds = %677
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #6
  br label %679

679:                                              ; preds = %678
  %680 = load i32, ptr %50, align 4, !tbaa !9
  %681 = add nsw i32 %680, 1
  store i32 %681, ptr %50, align 4, !tbaa !9
  br label %659, !llvm.loop !43

682:                                              ; preds = %664
  %683 = landingpad { ptr, i32 }
          cleanup
  %684 = extractvalue { ptr, i32 } %683, 0
  store ptr %684, ptr %13, align 8
  %685 = extractvalue { ptr, i32 } %683, 1
  store i32 %685, ptr %14, align 4
  br label %690

686:                                              ; preds = %677, %673
  %687 = landingpad { ptr, i32 }
          cleanup
  %688 = extractvalue { ptr, i32 } %687, 0
  store ptr %688, ptr %13, align 8
  %689 = extractvalue { ptr, i32 } %687, 1
  store i32 %689, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %690

690:                                              ; preds = %686, %682
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #6
  br label %698

691:                                              ; preds = %663
  %692 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %692, i1 noundef zeroext true)
          to label %693 unwind label %694

693:                                              ; preds = %691
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #6
  br label %815

694:                                              ; preds = %691
  %695 = landingpad { ptr, i32 }
          cleanup
  %696 = extractvalue { ptr, i32 } %695, 0
  store ptr %696, ptr %13, align 8
  %697 = extractvalue { ptr, i32 } %695, 1
  store i32 %697, ptr %14, align 4
  br label %698

698:                                              ; preds = %694, %690
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #6
  br label %3032

699:                                              ; preds = %574
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #6
  store i32 4, ptr %53, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #6
  store i32 0, ptr %54, align 4, !tbaa !9
  br label %700

700:                                              ; preds = %720, %699
  %701 = load i32, ptr %54, align 4, !tbaa !9
  %702 = load i32, ptr %9, align 4, !tbaa !9
  %703 = icmp slt i32 %701, %702
  br i1 %703, label %705, label %704

704:                                              ; preds = %700
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #6
  br label %732

705:                                              ; preds = %700
  %706 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #6
  %707 = getelementptr inbounds %class.anon.815, ptr %56, i32 0, i32 0
  store ptr %308, ptr %707, align 8, !tbaa !44
  %708 = getelementptr inbounds %class.anon.815, ptr %56, i32 0, i32 1
  %709 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %709, ptr %708, align 8, !tbaa !5
  %710 = getelementptr inbounds %class.anon.815, ptr %56, i32 0, i32 2
  %711 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %711, ptr %710, align 8, !tbaa !5
  %712 = getelementptr inbounds %class.anon.815, ptr %56, i32 0, i32 3
  %713 = load i32, ptr %54, align 4, !tbaa !9
  store i32 %713, ptr %712, align 8, !tbaa !46
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_8vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull align 8 dereferenceable(28) %56)
          to label %714 unwind label %723

714:                                              ; preds = %705
  %715 = load i32, ptr %54, align 4, !tbaa !9
  %716 = sext i32 %715 to i64
  %717 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %716)
          to label %718 unwind label %727

718:                                              ; preds = %714
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %706, ptr noundef %55, i64 noundef %717, i1 noundef zeroext false)
          to label %719 unwind label %727

719:                                              ; preds = %718
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #6
  br label %720

720:                                              ; preds = %719
  %721 = load i32, ptr %54, align 4, !tbaa !9
  %722 = add nsw i32 %721, 1
  store i32 %722, ptr %54, align 4, !tbaa !9
  br label %700, !llvm.loop !47

723:                                              ; preds = %705
  %724 = landingpad { ptr, i32 }
          cleanup
  %725 = extractvalue { ptr, i32 } %724, 0
  store ptr %725, ptr %13, align 8
  %726 = extractvalue { ptr, i32 } %724, 1
  store i32 %726, ptr %14, align 4
  br label %731

727:                                              ; preds = %718, %714
  %728 = landingpad { ptr, i32 }
          cleanup
  %729 = extractvalue { ptr, i32 } %728, 0
  store ptr %729, ptr %13, align 8
  %730 = extractvalue { ptr, i32 } %728, 1
  store i32 %730, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  br label %731

731:                                              ; preds = %727, %723
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #6
  br label %739

732:                                              ; preds = %704
  %733 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %733, i1 noundef zeroext true)
          to label %734 unwind label %735

734:                                              ; preds = %732
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #6
  br label %815

735:                                              ; preds = %732
  %736 = landingpad { ptr, i32 }
          cleanup
  %737 = extractvalue { ptr, i32 } %736, 0
  store ptr %737, ptr %13, align 8
  %738 = extractvalue { ptr, i32 } %736, 1
  store i32 %738, ptr %14, align 4
  br label %739

739:                                              ; preds = %735, %731
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #6
  br label %3032

740:                                              ; preds = %574
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #6
  store i32 5, ptr %57, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #6
  store i32 0, ptr %58, align 4, !tbaa !9
  br label %741

741:                                              ; preds = %761, %740
  %742 = load i32, ptr %58, align 4, !tbaa !9
  %743 = load i32, ptr %9, align 4, !tbaa !9
  %744 = icmp slt i32 %742, %743
  br i1 %744, label %746, label %745

745:                                              ; preds = %741
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #6
  br label %773

746:                                              ; preds = %741
  %747 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #6
  %748 = getelementptr inbounds %class.anon.817, ptr %60, i32 0, i32 0
  store ptr %308, ptr %748, align 8, !tbaa !48
  %749 = getelementptr inbounds %class.anon.817, ptr %60, i32 0, i32 1
  %750 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %750, ptr %749, align 8, !tbaa !5
  %751 = getelementptr inbounds %class.anon.817, ptr %60, i32 0, i32 2
  %752 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %752, ptr %751, align 8, !tbaa !5
  %753 = getelementptr inbounds %class.anon.817, ptr %60, i32 0, i32 3
  %754 = load i32, ptr %58, align 4, !tbaa !9
  store i32 %754, ptr %753, align 8, !tbaa !50
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_9vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull align 8 dereferenceable(28) %60)
          to label %755 unwind label %764

755:                                              ; preds = %746
  %756 = load i32, ptr %58, align 4, !tbaa !9
  %757 = sext i32 %756 to i64
  %758 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %757)
          to label %759 unwind label %768

759:                                              ; preds = %755
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %747, ptr noundef %59, i64 noundef %758, i1 noundef zeroext false)
          to label %760 unwind label %768

760:                                              ; preds = %759
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #6
  br label %761

761:                                              ; preds = %760
  %762 = load i32, ptr %58, align 4, !tbaa !9
  %763 = add nsw i32 %762, 1
  store i32 %763, ptr %58, align 4, !tbaa !9
  br label %741, !llvm.loop !51

764:                                              ; preds = %746
  %765 = landingpad { ptr, i32 }
          cleanup
  %766 = extractvalue { ptr, i32 } %765, 0
  store ptr %766, ptr %13, align 8
  %767 = extractvalue { ptr, i32 } %765, 1
  store i32 %767, ptr %14, align 4
  br label %772

768:                                              ; preds = %759, %755
  %769 = landingpad { ptr, i32 }
          cleanup
  %770 = extractvalue { ptr, i32 } %769, 0
  store ptr %770, ptr %13, align 8
  %771 = extractvalue { ptr, i32 } %769, 1
  store i32 %771, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  br label %772

772:                                              ; preds = %768, %764
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #6
  br label %780

773:                                              ; preds = %745
  %774 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %774, i1 noundef zeroext true)
          to label %775 unwind label %776

775:                                              ; preds = %773
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #6
  br label %815

776:                                              ; preds = %773
  %777 = landingpad { ptr, i32 }
          cleanup
  %778 = extractvalue { ptr, i32 } %777, 0
  store ptr %778, ptr %13, align 8
  %779 = extractvalue { ptr, i32 } %777, 1
  store i32 %779, ptr %14, align 4
  br label %780

780:                                              ; preds = %776, %772
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #6
  br label %3032

781:                                              ; preds = %574
  store i1 true, ptr %66, align 1
  %782 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %62, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %783 unwind label %788

783:                                              ; preds = %781
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %784 unwind label %792

784:                                              ; preds = %783
  call void @llvm.lifetime.start.p0(i64 1, ptr %64) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %64)
          to label %785 unwind label %796

785:                                              ; preds = %784
  call void @llvm.lifetime.start.p0(i64 32, ptr %65) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %65)
          to label %786 unwind label %800

786:                                              ; preds = %785
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %782, ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef %63, ptr noundef nonnull align 8 dereferenceable(32) %65)
          to label %787 unwind label %804

787:                                              ; preds = %786
  store i1 false, ptr %66, align 1
  invoke void @__cxa_throw(ptr %782, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %3038 unwind label %804

788:                                              ; preds = %781
  %789 = landingpad { ptr, i32 }
          cleanup
  %790 = extractvalue { ptr, i32 } %789, 0
  store ptr %790, ptr %13, align 8
  %791 = extractvalue { ptr, i32 } %789, 1
  store i32 %791, ptr %14, align 4
  br label %811

792:                                              ; preds = %783
  %793 = landingpad { ptr, i32 }
          cleanup
  %794 = extractvalue { ptr, i32 } %793, 0
  store ptr %794, ptr %13, align 8
  %795 = extractvalue { ptr, i32 } %793, 1
  store i32 %795, ptr %14, align 4
  br label %810

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

800:                                              ; preds = %785
  %801 = landingpad { ptr, i32 }
          cleanup
  %802 = extractvalue { ptr, i32 } %801, 0
  store ptr %802, ptr %13, align 8
  %803 = extractvalue { ptr, i32 } %801, 1
  store i32 %803, ptr %14, align 4
  br label %808

804:                                              ; preds = %787, %786
  %805 = landingpad { ptr, i32 }
          cleanup
  %806 = extractvalue { ptr, i32 } %805, 0
  store ptr %806, ptr %13, align 8
  %807 = extractvalue { ptr, i32 } %805, 1
  store i32 %807, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  br label %808

808:                                              ; preds = %804, %800
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %809

809:                                              ; preds = %808, %796
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  br label %810

810:                                              ; preds = %809, %792
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  br label %811

811:                                              ; preds = %810, %788
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #6
  %812 = load i1, ptr %66, align 1
  br i1 %812, label %813, label %814

813:                                              ; preds = %811
  call void @__cxa_free_exception(ptr %782) #6
  br label %814

814:                                              ; preds = %813, %811
  br label %3032

815:                                              ; preds = %775, %734, %693, %652, %611
  br label %3031

816:                                              ; preds = %327
  %817 = load i32, ptr %10, align 4, !tbaa !9
  switch i32 %817, label %1023 [
    i32 1, label %818
    i32 2, label %859
    i32 3, label %900
    i32 4, label %941
    i32 5, label %982
  ]

818:                                              ; preds = %816
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #6
  store i32 1, ptr %67, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #6
  store i32 0, ptr %68, align 4, !tbaa !9
  br label %819

819:                                              ; preds = %839, %818
  %820 = load i32, ptr %68, align 4, !tbaa !9
  %821 = load i32, ptr %9, align 4, !tbaa !9
  %822 = icmp slt i32 %820, %821
  br i1 %822, label %824, label %823

823:                                              ; preds = %819
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #6
  br label %851

824:                                              ; preds = %819
  %825 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #6
  %826 = getelementptr inbounds %class.anon.819, ptr %70, i32 0, i32 0
  store ptr %308, ptr %826, align 8, !tbaa !52
  %827 = getelementptr inbounds %class.anon.819, ptr %70, i32 0, i32 1
  %828 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %828, ptr %827, align 8, !tbaa !5
  %829 = getelementptr inbounds %class.anon.819, ptr %70, i32 0, i32 2
  %830 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %830, ptr %829, align 8, !tbaa !5
  %831 = getelementptr inbounds %class.anon.819, ptr %70, i32 0, i32 3
  %832 = load i32, ptr %68, align 4, !tbaa !9
  store i32 %832, ptr %831, align 8, !tbaa !54
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_10vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 8 dereferenceable(28) %70)
          to label %833 unwind label %842

833:                                              ; preds = %824
  %834 = load i32, ptr %68, align 4, !tbaa !9
  %835 = sext i32 %834 to i64
  %836 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %835)
          to label %837 unwind label %846

837:                                              ; preds = %833
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %825, ptr noundef %69, i64 noundef %836, i1 noundef zeroext false)
          to label %838 unwind label %846

838:                                              ; preds = %837
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #6
  br label %839

839:                                              ; preds = %838
  %840 = load i32, ptr %68, align 4, !tbaa !9
  %841 = add nsw i32 %840, 1
  store i32 %841, ptr %68, align 4, !tbaa !9
  br label %819, !llvm.loop !55

842:                                              ; preds = %824
  %843 = landingpad { ptr, i32 }
          cleanup
  %844 = extractvalue { ptr, i32 } %843, 0
  store ptr %844, ptr %13, align 8
  %845 = extractvalue { ptr, i32 } %843, 1
  store i32 %845, ptr %14, align 4
  br label %850

846:                                              ; preds = %837, %833
  %847 = landingpad { ptr, i32 }
          cleanup
  %848 = extractvalue { ptr, i32 } %847, 0
  store ptr %848, ptr %13, align 8
  %849 = extractvalue { ptr, i32 } %847, 1
  store i32 %849, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  br label %850

850:                                              ; preds = %846, %842
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #6
  br label %858

851:                                              ; preds = %823
  %852 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %852, i1 noundef zeroext true)
          to label %853 unwind label %854

853:                                              ; preds = %851
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #6
  br label %1057

854:                                              ; preds = %851
  %855 = landingpad { ptr, i32 }
          cleanup
  %856 = extractvalue { ptr, i32 } %855, 0
  store ptr %856, ptr %13, align 8
  %857 = extractvalue { ptr, i32 } %855, 1
  store i32 %857, ptr %14, align 4
  br label %858

858:                                              ; preds = %854, %850
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #6
  br label %3032

859:                                              ; preds = %816
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #6
  store i32 2, ptr %71, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #6
  store i32 0, ptr %72, align 4, !tbaa !9
  br label %860

860:                                              ; preds = %880, %859
  %861 = load i32, ptr %72, align 4, !tbaa !9
  %862 = load i32, ptr %9, align 4, !tbaa !9
  %863 = icmp slt i32 %861, %862
  br i1 %863, label %865, label %864

864:                                              ; preds = %860
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #6
  br label %892

865:                                              ; preds = %860
  %866 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %74) #6
  %867 = getelementptr inbounds %class.anon.821, ptr %74, i32 0, i32 0
  store ptr %308, ptr %867, align 8, !tbaa !56
  %868 = getelementptr inbounds %class.anon.821, ptr %74, i32 0, i32 1
  %869 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %869, ptr %868, align 8, !tbaa !5
  %870 = getelementptr inbounds %class.anon.821, ptr %74, i32 0, i32 2
  %871 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %871, ptr %870, align 8, !tbaa !5
  %872 = getelementptr inbounds %class.anon.821, ptr %74, i32 0, i32 3
  %873 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %873, ptr %872, align 8, !tbaa !58
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_11vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(28) %74)
          to label %874 unwind label %883

874:                                              ; preds = %865
  %875 = load i32, ptr %72, align 4, !tbaa !9
  %876 = sext i32 %875 to i64
  %877 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %876)
          to label %878 unwind label %887

878:                                              ; preds = %874
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %866, ptr noundef %73, i64 noundef %877, i1 noundef zeroext false)
          to label %879 unwind label %887

879:                                              ; preds = %878
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #6
  br label %880

880:                                              ; preds = %879
  %881 = load i32, ptr %72, align 4, !tbaa !9
  %882 = add nsw i32 %881, 1
  store i32 %882, ptr %72, align 4, !tbaa !9
  br label %860, !llvm.loop !59

883:                                              ; preds = %865
  %884 = landingpad { ptr, i32 }
          cleanup
  %885 = extractvalue { ptr, i32 } %884, 0
  store ptr %885, ptr %13, align 8
  %886 = extractvalue { ptr, i32 } %884, 1
  store i32 %886, ptr %14, align 4
  br label %891

887:                                              ; preds = %878, %874
  %888 = landingpad { ptr, i32 }
          cleanup
  %889 = extractvalue { ptr, i32 } %888, 0
  store ptr %889, ptr %13, align 8
  %890 = extractvalue { ptr, i32 } %888, 1
  store i32 %890, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %891

891:                                              ; preds = %887, %883
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #6
  br label %899

892:                                              ; preds = %864
  %893 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %893, i1 noundef zeroext true)
          to label %894 unwind label %895

894:                                              ; preds = %892
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #6
  br label %1057

895:                                              ; preds = %892
  %896 = landingpad { ptr, i32 }
          cleanup
  %897 = extractvalue { ptr, i32 } %896, 0
  store ptr %897, ptr %13, align 8
  %898 = extractvalue { ptr, i32 } %896, 1
  store i32 %898, ptr %14, align 4
  br label %899

899:                                              ; preds = %895, %891
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #6
  br label %3032

900:                                              ; preds = %816
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #6
  store i32 3, ptr %75, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #6
  store i32 0, ptr %76, align 4, !tbaa !9
  br label %901

901:                                              ; preds = %921, %900
  %902 = load i32, ptr %76, align 4, !tbaa !9
  %903 = load i32, ptr %9, align 4, !tbaa !9
  %904 = icmp slt i32 %902, %903
  br i1 %904, label %906, label %905

905:                                              ; preds = %901
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #6
  br label %933

906:                                              ; preds = %901
  %907 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %78) #6
  %908 = getelementptr inbounds %class.anon.823, ptr %78, i32 0, i32 0
  store ptr %308, ptr %908, align 8, !tbaa !60
  %909 = getelementptr inbounds %class.anon.823, ptr %78, i32 0, i32 1
  %910 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %910, ptr %909, align 8, !tbaa !5
  %911 = getelementptr inbounds %class.anon.823, ptr %78, i32 0, i32 2
  %912 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %912, ptr %911, align 8, !tbaa !5
  %913 = getelementptr inbounds %class.anon.823, ptr %78, i32 0, i32 3
  %914 = load i32, ptr %76, align 4, !tbaa !9
  store i32 %914, ptr %913, align 8, !tbaa !62
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_12vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(28) %78)
          to label %915 unwind label %924

915:                                              ; preds = %906
  %916 = load i32, ptr %76, align 4, !tbaa !9
  %917 = sext i32 %916 to i64
  %918 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %917)
          to label %919 unwind label %928

919:                                              ; preds = %915
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %907, ptr noundef %77, i64 noundef %918, i1 noundef zeroext false)
          to label %920 unwind label %928

920:                                              ; preds = %919
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #6
  br label %921

921:                                              ; preds = %920
  %922 = load i32, ptr %76, align 4, !tbaa !9
  %923 = add nsw i32 %922, 1
  store i32 %923, ptr %76, align 4, !tbaa !9
  br label %901, !llvm.loop !63

924:                                              ; preds = %906
  %925 = landingpad { ptr, i32 }
          cleanup
  %926 = extractvalue { ptr, i32 } %925, 0
  store ptr %926, ptr %13, align 8
  %927 = extractvalue { ptr, i32 } %925, 1
  store i32 %927, ptr %14, align 4
  br label %932

928:                                              ; preds = %919, %915
  %929 = landingpad { ptr, i32 }
          cleanup
  %930 = extractvalue { ptr, i32 } %929, 0
  store ptr %930, ptr %13, align 8
  %931 = extractvalue { ptr, i32 } %929, 1
  store i32 %931, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  br label %932

932:                                              ; preds = %928, %924
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #6
  br label %940

933:                                              ; preds = %905
  %934 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %934, i1 noundef zeroext true)
          to label %935 unwind label %936

935:                                              ; preds = %933
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #6
  br label %1057

936:                                              ; preds = %933
  %937 = landingpad { ptr, i32 }
          cleanup
  %938 = extractvalue { ptr, i32 } %937, 0
  store ptr %938, ptr %13, align 8
  %939 = extractvalue { ptr, i32 } %937, 1
  store i32 %939, ptr %14, align 4
  br label %940

940:                                              ; preds = %936, %932
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #6
  br label %3032

941:                                              ; preds = %816
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #6
  store i32 4, ptr %79, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #6
  store i32 0, ptr %80, align 4, !tbaa !9
  br label %942

942:                                              ; preds = %962, %941
  %943 = load i32, ptr %80, align 4, !tbaa !9
  %944 = load i32, ptr %9, align 4, !tbaa !9
  %945 = icmp slt i32 %943, %944
  br i1 %945, label %947, label %946

946:                                              ; preds = %942
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #6
  br label %974

947:                                              ; preds = %942
  %948 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %82) #6
  %949 = getelementptr inbounds %class.anon.825, ptr %82, i32 0, i32 0
  store ptr %308, ptr %949, align 8, !tbaa !64
  %950 = getelementptr inbounds %class.anon.825, ptr %82, i32 0, i32 1
  %951 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %951, ptr %950, align 8, !tbaa !5
  %952 = getelementptr inbounds %class.anon.825, ptr %82, i32 0, i32 2
  %953 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %953, ptr %952, align 8, !tbaa !5
  %954 = getelementptr inbounds %class.anon.825, ptr %82, i32 0, i32 3
  %955 = load i32, ptr %80, align 4, !tbaa !9
  store i32 %955, ptr %954, align 8, !tbaa !66
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_13vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull align 8 dereferenceable(28) %82)
          to label %956 unwind label %965

956:                                              ; preds = %947
  %957 = load i32, ptr %80, align 4, !tbaa !9
  %958 = sext i32 %957 to i64
  %959 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %958)
          to label %960 unwind label %969

960:                                              ; preds = %956
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %948, ptr noundef %81, i64 noundef %959, i1 noundef zeroext false)
          to label %961 unwind label %969

961:                                              ; preds = %960
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #6
  br label %962

962:                                              ; preds = %961
  %963 = load i32, ptr %80, align 4, !tbaa !9
  %964 = add nsw i32 %963, 1
  store i32 %964, ptr %80, align 4, !tbaa !9
  br label %942, !llvm.loop !67

965:                                              ; preds = %947
  %966 = landingpad { ptr, i32 }
          cleanup
  %967 = extractvalue { ptr, i32 } %966, 0
  store ptr %967, ptr %13, align 8
  %968 = extractvalue { ptr, i32 } %966, 1
  store i32 %968, ptr %14, align 4
  br label %973

969:                                              ; preds = %960, %956
  %970 = landingpad { ptr, i32 }
          cleanup
  %971 = extractvalue { ptr, i32 } %970, 0
  store ptr %971, ptr %13, align 8
  %972 = extractvalue { ptr, i32 } %970, 1
  store i32 %972, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  br label %973

973:                                              ; preds = %969, %965
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #6
  br label %981

974:                                              ; preds = %946
  %975 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %975, i1 noundef zeroext true)
          to label %976 unwind label %977

976:                                              ; preds = %974
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #6
  br label %1057

977:                                              ; preds = %974
  %978 = landingpad { ptr, i32 }
          cleanup
  %979 = extractvalue { ptr, i32 } %978, 0
  store ptr %979, ptr %13, align 8
  %980 = extractvalue { ptr, i32 } %978, 1
  store i32 %980, ptr %14, align 4
  br label %981

981:                                              ; preds = %977, %973
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #6
  br label %3032

982:                                              ; preds = %816
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #6
  store i32 5, ptr %83, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #6
  store i32 0, ptr %84, align 4, !tbaa !9
  br label %983

983:                                              ; preds = %1003, %982
  %984 = load i32, ptr %84, align 4, !tbaa !9
  %985 = load i32, ptr %9, align 4, !tbaa !9
  %986 = icmp slt i32 %984, %985
  br i1 %986, label %988, label %987

987:                                              ; preds = %983
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #6
  br label %1015

988:                                              ; preds = %983
  %989 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #6
  %990 = getelementptr inbounds %class.anon.827, ptr %86, i32 0, i32 0
  store ptr %308, ptr %990, align 8, !tbaa !68
  %991 = getelementptr inbounds %class.anon.827, ptr %86, i32 0, i32 1
  %992 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %992, ptr %991, align 8, !tbaa !5
  %993 = getelementptr inbounds %class.anon.827, ptr %86, i32 0, i32 2
  %994 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %994, ptr %993, align 8, !tbaa !5
  %995 = getelementptr inbounds %class.anon.827, ptr %86, i32 0, i32 3
  %996 = load i32, ptr %84, align 4, !tbaa !9
  store i32 %996, ptr %995, align 8, !tbaa !70
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_14vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull align 8 dereferenceable(28) %86)
          to label %997 unwind label %1006

997:                                              ; preds = %988
  %998 = load i32, ptr %84, align 4, !tbaa !9
  %999 = sext i32 %998 to i64
  %1000 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %999)
          to label %1001 unwind label %1010

1001:                                             ; preds = %997
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %989, ptr noundef %85, i64 noundef %1000, i1 noundef zeroext false)
          to label %1002 unwind label %1010

1002:                                             ; preds = %1001
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #6
  br label %1003

1003:                                             ; preds = %1002
  %1004 = load i32, ptr %84, align 4, !tbaa !9
  %1005 = add nsw i32 %1004, 1
  store i32 %1005, ptr %84, align 4, !tbaa !9
  br label %983, !llvm.loop !71

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

1010:                                             ; preds = %1001, %997
  %1011 = landingpad { ptr, i32 }
          cleanup
  %1012 = extractvalue { ptr, i32 } %1011, 0
  store ptr %1012, ptr %13, align 8
  %1013 = extractvalue { ptr, i32 } %1011, 1
  store i32 %1013, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #6
  br label %1014

1014:                                             ; preds = %1010, %1006
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #6
  br label %1022

1015:                                             ; preds = %987
  %1016 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1016, i1 noundef zeroext true)
          to label %1017 unwind label %1018

1017:                                             ; preds = %1015
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #6
  br label %1057

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

1022:                                             ; preds = %1018, %1014
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #6
  br label %3032

1023:                                             ; preds = %816
  store i1 true, ptr %92, align 1
  %1024 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %87) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %88) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %88, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %1025 unwind label %1030

1025:                                             ; preds = %1023
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %87, ptr noundef nonnull align 8 dereferenceable(32) %88)
          to label %1026 unwind label %1034

1026:                                             ; preds = %1025
  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.22, ptr noundef nonnull align 1 dereferenceable(1) %90)
          to label %1027 unwind label %1038

1027:                                             ; preds = %1026
  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 %1028 unwind label %1042

1028:                                             ; preds = %1027
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %1024, ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef %89, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %1029 unwind label %1046

1029:                                             ; preds = %1028
  store i1 false, ptr %92, align 1
  invoke void @__cxa_throw(ptr %1024, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %3038 unwind label %1046

1030:                                             ; preds = %1023
  %1031 = landingpad { ptr, i32 }
          cleanup
  %1032 = extractvalue { ptr, i32 } %1031, 0
  store ptr %1032, ptr %13, align 8
  %1033 = extractvalue { ptr, i32 } %1031, 1
  store i32 %1033, ptr %14, align 4
  br label %1053

1034:                                             ; preds = %1025
  %1035 = landingpad { ptr, i32 }
          cleanup
  %1036 = extractvalue { ptr, i32 } %1035, 0
  store ptr %1036, ptr %13, align 8
  %1037 = extractvalue { ptr, i32 } %1035, 1
  store i32 %1037, ptr %14, align 4
  br label %1052

1038:                                             ; preds = %1026
  %1039 = landingpad { ptr, i32 }
          cleanup
  %1040 = extractvalue { ptr, i32 } %1039, 0
  store ptr %1040, ptr %13, align 8
  %1041 = extractvalue { ptr, i32 } %1039, 1
  store i32 %1041, ptr %14, align 4
  br label %1051

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

1046:                                             ; preds = %1029, %1028
  %1047 = landingpad { ptr, i32 }
          cleanup
  %1048 = extractvalue { ptr, i32 } %1047, 0
  store ptr %1048, ptr %13, align 8
  %1049 = extractvalue { ptr, i32 } %1047, 1
  store i32 %1049, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  br label %1050

1050:                                             ; preds = %1046, %1042
  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 %1051

1051:                                             ; preds = %1050, %1038
  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) %87) #6
  br label %1052

1052:                                             ; preds = %1051, %1034
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %1053

1053:                                             ; preds = %1052, %1030
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #6
  %1054 = load i1, ptr %92, align 1
  br i1 %1054, label %1055, label %1056

1055:                                             ; preds = %1053
  call void @__cxa_free_exception(ptr %1024) #6
  br label %1056

1056:                                             ; preds = %1055, %1053
  br label %3032

1057:                                             ; preds = %1017, %976, %935, %894, %853
  br label %3031

1058:                                             ; preds = %327
  %1059 = load i32, ptr %10, align 4, !tbaa !9
  switch i32 %1059, label %1265 [
    i32 1, label %1060
    i32 2, label %1101
    i32 3, label %1142
    i32 4, label %1183
    i32 5, label %1224
  ]

1060:                                             ; preds = %1058
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #6
  store i32 1, ptr %93, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #6
  store i32 0, ptr %94, align 4, !tbaa !9
  br label %1061

1061:                                             ; preds = %1081, %1060
  %1062 = load i32, ptr %94, align 4, !tbaa !9
  %1063 = load i32, ptr %9, align 4, !tbaa !9
  %1064 = icmp slt i32 %1062, %1063
  br i1 %1064, label %1066, label %1065

1065:                                             ; preds = %1061
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #6
  br label %1093

1066:                                             ; preds = %1061
  %1067 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %96) #6
  %1068 = getelementptr inbounds %class.anon.829, ptr %96, i32 0, i32 0
  store ptr %308, ptr %1068, align 8, !tbaa !72
  %1069 = getelementptr inbounds %class.anon.829, ptr %96, i32 0, i32 1
  %1070 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1070, ptr %1069, align 8, !tbaa !5
  %1071 = getelementptr inbounds %class.anon.829, ptr %96, i32 0, i32 2
  %1072 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1072, ptr %1071, align 8, !tbaa !5
  %1073 = getelementptr inbounds %class.anon.829, ptr %96, i32 0, i32 3
  %1074 = load i32, ptr %94, align 4, !tbaa !9
  store i32 %1074, ptr %1073, align 8, !tbaa !74
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_15vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef nonnull align 8 dereferenceable(28) %96)
          to label %1075 unwind label %1084

1075:                                             ; preds = %1066
  %1076 = load i32, ptr %94, align 4, !tbaa !9
  %1077 = sext i32 %1076 to i64
  %1078 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1077)
          to label %1079 unwind label %1088

1079:                                             ; preds = %1075
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1067, ptr noundef %95, i64 noundef %1078, i1 noundef zeroext false)
          to label %1080 unwind label %1088

1080:                                             ; preds = %1079
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %96) #6
  br label %1081

1081:                                             ; preds = %1080
  %1082 = load i32, ptr %94, align 4, !tbaa !9
  %1083 = add nsw i32 %1082, 1
  store i32 %1083, ptr %94, align 4, !tbaa !9
  br label %1061, !llvm.loop !75

1084:                                             ; preds = %1066
  %1085 = landingpad { ptr, i32 }
          cleanup
  %1086 = extractvalue { ptr, i32 } %1085, 0
  store ptr %1086, ptr %13, align 8
  %1087 = extractvalue { ptr, i32 } %1085, 1
  store i32 %1087, ptr %14, align 4
  br label %1092

1088:                                             ; preds = %1079, %1075
  %1089 = landingpad { ptr, i32 }
          cleanup
  %1090 = extractvalue { ptr, i32 } %1089, 0
  store ptr %1090, ptr %13, align 8
  %1091 = extractvalue { ptr, i32 } %1089, 1
  store i32 %1091, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  br label %1092

1092:                                             ; preds = %1088, %1084
  call void @llvm.lifetime.end.p0(i64 32, ptr %96) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #6
  br label %1100

1093:                                             ; preds = %1065
  %1094 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1094, i1 noundef zeroext true)
          to label %1095 unwind label %1096

1095:                                             ; preds = %1093
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #6
  br label %1299

1096:                                             ; preds = %1093
  %1097 = landingpad { ptr, i32 }
          cleanup
  %1098 = extractvalue { ptr, i32 } %1097, 0
  store ptr %1098, ptr %13, align 8
  %1099 = extractvalue { ptr, i32 } %1097, 1
  store i32 %1099, ptr %14, align 4
  br label %1100

1100:                                             ; preds = %1096, %1092
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #6
  br label %3032

1101:                                             ; preds = %1058
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #6
  store i32 2, ptr %97, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #6
  store i32 0, ptr %98, align 4, !tbaa !9
  br label %1102

1102:                                             ; preds = %1122, %1101
  %1103 = load i32, ptr %98, align 4, !tbaa !9
  %1104 = load i32, ptr %9, align 4, !tbaa !9
  %1105 = icmp slt i32 %1103, %1104
  br i1 %1105, label %1107, label %1106

1106:                                             ; preds = %1102
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #6
  br label %1134

1107:                                             ; preds = %1102
  %1108 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %100) #6
  %1109 = getelementptr inbounds %class.anon.831, ptr %100, i32 0, i32 0
  store ptr %308, ptr %1109, align 8, !tbaa !76
  %1110 = getelementptr inbounds %class.anon.831, ptr %100, i32 0, i32 1
  %1111 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1111, ptr %1110, align 8, !tbaa !5
  %1112 = getelementptr inbounds %class.anon.831, ptr %100, i32 0, i32 2
  %1113 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1113, ptr %1112, align 8, !tbaa !5
  %1114 = getelementptr inbounds %class.anon.831, ptr %100, i32 0, i32 3
  %1115 = load i32, ptr %98, align 4, !tbaa !9
  store i32 %1115, ptr %1114, align 8, !tbaa !78
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_16vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef nonnull align 8 dereferenceable(28) %100)
          to label %1116 unwind label %1125

1116:                                             ; preds = %1107
  %1117 = load i32, ptr %98, align 4, !tbaa !9
  %1118 = sext i32 %1117 to i64
  %1119 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1118)
          to label %1120 unwind label %1129

1120:                                             ; preds = %1116
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1108, ptr noundef %99, i64 noundef %1119, i1 noundef zeroext false)
          to label %1121 unwind label %1129

1121:                                             ; preds = %1120
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %100) #6
  br label %1122

1122:                                             ; preds = %1121
  %1123 = load i32, ptr %98, align 4, !tbaa !9
  %1124 = add nsw i32 %1123, 1
  store i32 %1124, ptr %98, align 4, !tbaa !9
  br label %1102, !llvm.loop !79

1125:                                             ; preds = %1107
  %1126 = landingpad { ptr, i32 }
          cleanup
  %1127 = extractvalue { ptr, i32 } %1126, 0
  store ptr %1127, ptr %13, align 8
  %1128 = extractvalue { ptr, i32 } %1126, 1
  store i32 %1128, ptr %14, align 4
  br label %1133

1129:                                             ; preds = %1120, %1116
  %1130 = landingpad { ptr, i32 }
          cleanup
  %1131 = extractvalue { ptr, i32 } %1130, 0
  store ptr %1131, ptr %13, align 8
  %1132 = extractvalue { ptr, i32 } %1130, 1
  store i32 %1132, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  br label %1133

1133:                                             ; preds = %1129, %1125
  call void @llvm.lifetime.end.p0(i64 32, ptr %100) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #6
  br label %1141

1134:                                             ; preds = %1106
  %1135 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1135, i1 noundef zeroext true)
          to label %1136 unwind label %1137

1136:                                             ; preds = %1134
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #6
  br label %1299

1137:                                             ; preds = %1134
  %1138 = landingpad { ptr, i32 }
          cleanup
  %1139 = extractvalue { ptr, i32 } %1138, 0
  store ptr %1139, ptr %13, align 8
  %1140 = extractvalue { ptr, i32 } %1138, 1
  store i32 %1140, ptr %14, align 4
  br label %1141

1141:                                             ; preds = %1137, %1133
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #6
  br label %3032

1142:                                             ; preds = %1058
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #6
  store i32 3, ptr %101, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #6
  store i32 0, ptr %102, align 4, !tbaa !9
  br label %1143

1143:                                             ; preds = %1163, %1142
  %1144 = load i32, ptr %102, align 4, !tbaa !9
  %1145 = load i32, ptr %9, align 4, !tbaa !9
  %1146 = icmp slt i32 %1144, %1145
  br i1 %1146, label %1148, label %1147

1147:                                             ; preds = %1143
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #6
  br label %1175

1148:                                             ; preds = %1143
  %1149 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %104) #6
  %1150 = getelementptr inbounds %class.anon.833, ptr %104, i32 0, i32 0
  store ptr %308, ptr %1150, align 8, !tbaa !80
  %1151 = getelementptr inbounds %class.anon.833, ptr %104, i32 0, i32 1
  %1152 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1152, ptr %1151, align 8, !tbaa !5
  %1153 = getelementptr inbounds %class.anon.833, ptr %104, i32 0, i32 2
  %1154 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1154, ptr %1153, align 8, !tbaa !5
  %1155 = getelementptr inbounds %class.anon.833, ptr %104, i32 0, i32 3
  %1156 = load i32, ptr %102, align 4, !tbaa !9
  store i32 %1156, ptr %1155, align 8, !tbaa !82
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_17vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull align 8 dereferenceable(28) %104)
          to label %1157 unwind label %1166

1157:                                             ; preds = %1148
  %1158 = load i32, ptr %102, align 4, !tbaa !9
  %1159 = sext i32 %1158 to i64
  %1160 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1159)
          to label %1161 unwind label %1170

1161:                                             ; preds = %1157
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1149, ptr noundef %103, i64 noundef %1160, i1 noundef zeroext false)
          to label %1162 unwind label %1170

1162:                                             ; preds = %1161
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %104) #6
  br label %1163

1163:                                             ; preds = %1162
  %1164 = load i32, ptr %102, align 4, !tbaa !9
  %1165 = add nsw i32 %1164, 1
  store i32 %1165, ptr %102, align 4, !tbaa !9
  br label %1143, !llvm.loop !83

1166:                                             ; preds = %1148
  %1167 = landingpad { ptr, i32 }
          cleanup
  %1168 = extractvalue { ptr, i32 } %1167, 0
  store ptr %1168, ptr %13, align 8
  %1169 = extractvalue { ptr, i32 } %1167, 1
  store i32 %1169, ptr %14, align 4
  br label %1174

1170:                                             ; preds = %1161, %1157
  %1171 = landingpad { ptr, i32 }
          cleanup
  %1172 = extractvalue { ptr, i32 } %1171, 0
  store ptr %1172, ptr %13, align 8
  %1173 = extractvalue { ptr, i32 } %1171, 1
  store i32 %1173, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  br label %1174

1174:                                             ; preds = %1170, %1166
  call void @llvm.lifetime.end.p0(i64 32, ptr %104) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #6
  br label %1182

1175:                                             ; preds = %1147
  %1176 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1176, i1 noundef zeroext true)
          to label %1177 unwind label %1178

1177:                                             ; preds = %1175
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #6
  br label %1299

1178:                                             ; preds = %1175
  %1179 = landingpad { ptr, i32 }
          cleanup
  %1180 = extractvalue { ptr, i32 } %1179, 0
  store ptr %1180, ptr %13, align 8
  %1181 = extractvalue { ptr, i32 } %1179, 1
  store i32 %1181, ptr %14, align 4
  br label %1182

1182:                                             ; preds = %1178, %1174
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #6
  br label %3032

1183:                                             ; preds = %1058
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #6
  store i32 4, ptr %105, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #6
  store i32 0, ptr %106, align 4, !tbaa !9
  br label %1184

1184:                                             ; preds = %1204, %1183
  %1185 = load i32, ptr %106, align 4, !tbaa !9
  %1186 = load i32, ptr %9, align 4, !tbaa !9
  %1187 = icmp slt i32 %1185, %1186
  br i1 %1187, label %1189, label %1188

1188:                                             ; preds = %1184
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #6
  br label %1216

1189:                                             ; preds = %1184
  %1190 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %108) #6
  %1191 = getelementptr inbounds %class.anon.835, ptr %108, i32 0, i32 0
  store ptr %308, ptr %1191, align 8, !tbaa !84
  %1192 = getelementptr inbounds %class.anon.835, ptr %108, i32 0, i32 1
  %1193 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1193, ptr %1192, align 8, !tbaa !5
  %1194 = getelementptr inbounds %class.anon.835, ptr %108, i32 0, i32 2
  %1195 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1195, ptr %1194, align 8, !tbaa !5
  %1196 = getelementptr inbounds %class.anon.835, ptr %108, i32 0, i32 3
  %1197 = load i32, ptr %106, align 4, !tbaa !9
  store i32 %1197, ptr %1196, align 8, !tbaa !86
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_18vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef nonnull align 8 dereferenceable(28) %108)
          to label %1198 unwind label %1207

1198:                                             ; preds = %1189
  %1199 = load i32, ptr %106, align 4, !tbaa !9
  %1200 = sext i32 %1199 to i64
  %1201 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1200)
          to label %1202 unwind label %1211

1202:                                             ; preds = %1198
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1190, ptr noundef %107, i64 noundef %1201, i1 noundef zeroext false)
          to label %1203 unwind label %1211

1203:                                             ; preds = %1202
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %108) #6
  br label %1204

1204:                                             ; preds = %1203
  %1205 = load i32, ptr %106, align 4, !tbaa !9
  %1206 = add nsw i32 %1205, 1
  store i32 %1206, ptr %106, align 4, !tbaa !9
  br label %1184, !llvm.loop !87

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

1211:                                             ; preds = %1202, %1198
  %1212 = landingpad { ptr, i32 }
          cleanup
  %1213 = extractvalue { ptr, i32 } %1212, 0
  store ptr %1213, ptr %13, align 8
  %1214 = extractvalue { ptr, i32 } %1212, 1
  store i32 %1214, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #6
  br label %1215

1215:                                             ; preds = %1211, %1207
  call void @llvm.lifetime.end.p0(i64 32, ptr %108) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #6
  br label %1223

1216:                                             ; preds = %1188
  %1217 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1217, i1 noundef zeroext true)
          to label %1218 unwind label %1219

1218:                                             ; preds = %1216
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #6
  br label %1299

1219:                                             ; preds = %1216
  %1220 = landingpad { ptr, i32 }
          cleanup
  %1221 = extractvalue { ptr, i32 } %1220, 0
  store ptr %1221, ptr %13, align 8
  %1222 = extractvalue { ptr, i32 } %1220, 1
  store i32 %1222, ptr %14, align 4
  br label %1223

1223:                                             ; preds = %1219, %1215
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #6
  br label %3032

1224:                                             ; preds = %1058
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #6
  store i32 5, ptr %109, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #6
  store i32 0, ptr %110, align 4, !tbaa !9
  br label %1225

1225:                                             ; preds = %1245, %1224
  %1226 = load i32, ptr %110, align 4, !tbaa !9
  %1227 = load i32, ptr %9, align 4, !tbaa !9
  %1228 = icmp slt i32 %1226, %1227
  br i1 %1228, label %1230, label %1229

1229:                                             ; preds = %1225
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #6
  br label %1257

1230:                                             ; preds = %1225
  %1231 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %112) #6
  %1232 = getelementptr inbounds %class.anon.837, ptr %112, i32 0, i32 0
  store ptr %308, ptr %1232, align 8, !tbaa !88
  %1233 = getelementptr inbounds %class.anon.837, ptr %112, i32 0, i32 1
  %1234 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1234, ptr %1233, align 8, !tbaa !5
  %1235 = getelementptr inbounds %class.anon.837, ptr %112, i32 0, i32 2
  %1236 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1236, ptr %1235, align 8, !tbaa !5
  %1237 = getelementptr inbounds %class.anon.837, ptr %112, i32 0, i32 3
  %1238 = load i32, ptr %110, align 4, !tbaa !9
  store i32 %1238, ptr %1237, align 8, !tbaa !90
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_19vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef nonnull align 8 dereferenceable(28) %112)
          to label %1239 unwind label %1248

1239:                                             ; preds = %1230
  %1240 = load i32, ptr %110, align 4, !tbaa !9
  %1241 = sext i32 %1240 to i64
  %1242 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1241)
          to label %1243 unwind label %1252

1243:                                             ; preds = %1239
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1231, ptr noundef %111, i64 noundef %1242, i1 noundef zeroext false)
          to label %1244 unwind label %1252

1244:                                             ; preds = %1243
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %112) #6
  br label %1245

1245:                                             ; preds = %1244
  %1246 = load i32, ptr %110, align 4, !tbaa !9
  %1247 = add nsw i32 %1246, 1
  store i32 %1247, ptr %110, align 4, !tbaa !9
  br label %1225, !llvm.loop !91

1248:                                             ; preds = %1230
  %1249 = landingpad { ptr, i32 }
          cleanup
  %1250 = extractvalue { ptr, i32 } %1249, 0
  store ptr %1250, ptr %13, align 8
  %1251 = extractvalue { ptr, i32 } %1249, 1
  store i32 %1251, ptr %14, align 4
  br label %1256

1252:                                             ; preds = %1243, %1239
  %1253 = landingpad { ptr, i32 }
          cleanup
  %1254 = extractvalue { ptr, i32 } %1253, 0
  store ptr %1254, ptr %13, align 8
  %1255 = extractvalue { ptr, i32 } %1253, 1
  store i32 %1255, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  br label %1256

1256:                                             ; preds = %1252, %1248
  call void @llvm.lifetime.end.p0(i64 32, ptr %112) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #6
  br label %1264

1257:                                             ; preds = %1229
  %1258 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1258, i1 noundef zeroext true)
          to label %1259 unwind label %1260

1259:                                             ; preds = %1257
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #6
  br label %1299

1260:                                             ; preds = %1257
  %1261 = landingpad { ptr, i32 }
          cleanup
  %1262 = extractvalue { ptr, i32 } %1261, 0
  store ptr %1262, ptr %13, align 8
  %1263 = extractvalue { ptr, i32 } %1261, 1
  store i32 %1263, ptr %14, align 4
  br label %1264

1264:                                             ; preds = %1260, %1256
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #6
  br label %3032

1265:                                             ; preds = %1058
  store i1 true, ptr %118, align 1
  %1266 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %113) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %114) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %114, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %1267 unwind label %1272

1267:                                             ; preds = %1265
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %113, ptr noundef nonnull align 8 dereferenceable(32) %114)
          to label %1268 unwind label %1276

1268:                                             ; preds = %1267
  call void @llvm.lifetime.start.p0(i64 1, ptr %116) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %116)
          to label %1269 unwind label %1280

1269:                                             ; preds = %1268
  call void @llvm.lifetime.start.p0(i64 32, ptr %117) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %117)
          to label %1270 unwind label %1284

1270:                                             ; preds = %1269
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %1266, ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef %115, ptr noundef nonnull align 8 dereferenceable(32) %117)
          to label %1271 unwind label %1288

1271:                                             ; preds = %1270
  store i1 false, ptr %118, align 1
  invoke void @__cxa_throw(ptr %1266, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %3038 unwind label %1288

1272:                                             ; preds = %1265
  %1273 = landingpad { ptr, i32 }
          cleanup
  %1274 = extractvalue { ptr, i32 } %1273, 0
  store ptr %1274, ptr %13, align 8
  %1275 = extractvalue { ptr, i32 } %1273, 1
  store i32 %1275, ptr %14, align 4
  br label %1295

1276:                                             ; preds = %1267
  %1277 = landingpad { ptr, i32 }
          cleanup
  %1278 = extractvalue { ptr, i32 } %1277, 0
  store ptr %1278, ptr %13, align 8
  %1279 = extractvalue { ptr, i32 } %1277, 1
  store i32 %1279, ptr %14, align 4
  br label %1294

1280:                                             ; preds = %1268
  %1281 = landingpad { ptr, i32 }
          cleanup
  %1282 = extractvalue { ptr, i32 } %1281, 0
  store ptr %1282, ptr %13, align 8
  %1283 = extractvalue { ptr, i32 } %1281, 1
  store i32 %1283, ptr %14, align 4
  br label %1293

1284:                                             ; preds = %1269
  %1285 = landingpad { ptr, i32 }
          cleanup
  %1286 = extractvalue { ptr, i32 } %1285, 0
  store ptr %1286, ptr %13, align 8
  %1287 = extractvalue { ptr, i32 } %1285, 1
  store i32 %1287, ptr %14, align 4
  br label %1292

1288:                                             ; preds = %1271, %1270
  %1289 = landingpad { ptr, i32 }
          cleanup
  %1290 = extractvalue { ptr, i32 } %1289, 0
  store ptr %1290, ptr %13, align 8
  %1291 = extractvalue { ptr, i32 } %1289, 1
  store i32 %1291, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #6
  br label %1292

1292:                                             ; preds = %1288, %1284
  call void @llvm.lifetime.end.p0(i64 32, ptr %117) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #6
  br label %1293

1293:                                             ; preds = %1292, %1280
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %116) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #6
  br label %1294

1294:                                             ; preds = %1293, %1276
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  br label %1295

1295:                                             ; preds = %1294, %1272
  call void @llvm.lifetime.end.p0(i64 32, ptr %114) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %113) #6
  %1296 = load i1, ptr %118, align 1
  br i1 %1296, label %1297, label %1298

1297:                                             ; preds = %1295
  call void @__cxa_free_exception(ptr %1266) #6
  br label %1298

1298:                                             ; preds = %1297, %1295
  br label %3032

1299:                                             ; preds = %1259, %1218, %1177, %1136, %1095
  br label %3031

1300:                                             ; preds = %327
  %1301 = load i32, ptr %10, align 4, !tbaa !9
  switch i32 %1301, label %1507 [
    i32 1, label %1302
    i32 2, label %1343
    i32 3, label %1384
    i32 4, label %1425
    i32 5, label %1466
  ]

1302:                                             ; preds = %1300
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #6
  store i32 1, ptr %119, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #6
  store i32 0, ptr %120, align 4, !tbaa !9
  br label %1303

1303:                                             ; preds = %1323, %1302
  %1304 = load i32, ptr %120, align 4, !tbaa !9
  %1305 = load i32, ptr %9, align 4, !tbaa !9
  %1306 = icmp slt i32 %1304, %1305
  br i1 %1306, label %1308, label %1307

1307:                                             ; preds = %1303
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #6
  br label %1335

1308:                                             ; preds = %1303
  %1309 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %122) #6
  %1310 = getelementptr inbounds %class.anon.839, ptr %122, i32 0, i32 0
  store ptr %308, ptr %1310, align 8, !tbaa !92
  %1311 = getelementptr inbounds %class.anon.839, ptr %122, i32 0, i32 1
  %1312 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1312, ptr %1311, align 8, !tbaa !5
  %1313 = getelementptr inbounds %class.anon.839, ptr %122, i32 0, i32 2
  %1314 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1314, ptr %1313, align 8, !tbaa !5
  %1315 = getelementptr inbounds %class.anon.839, ptr %122, i32 0, i32 3
  %1316 = load i32, ptr %120, align 4, !tbaa !9
  store i32 %1316, ptr %1315, align 8, !tbaa !94
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_20vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %121, ptr noundef nonnull align 8 dereferenceable(28) %122)
          to label %1317 unwind label %1326

1317:                                             ; preds = %1308
  %1318 = load i32, ptr %120, align 4, !tbaa !9
  %1319 = sext i32 %1318 to i64
  %1320 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1319)
          to label %1321 unwind label %1330

1321:                                             ; preds = %1317
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1309, ptr noundef %121, i64 noundef %1320, i1 noundef zeroext false)
          to label %1322 unwind label %1330

1322:                                             ; preds = %1321
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %122) #6
  br label %1323

1323:                                             ; preds = %1322
  %1324 = load i32, ptr %120, align 4, !tbaa !9
  %1325 = add nsw i32 %1324, 1
  store i32 %1325, ptr %120, align 4, !tbaa !9
  br label %1303, !llvm.loop !95

1326:                                             ; preds = %1308
  %1327 = landingpad { ptr, i32 }
          cleanup
  %1328 = extractvalue { ptr, i32 } %1327, 0
  store ptr %1328, ptr %13, align 8
  %1329 = extractvalue { ptr, i32 } %1327, 1
  store i32 %1329, ptr %14, align 4
  br label %1334

1330:                                             ; preds = %1321, %1317
  %1331 = landingpad { ptr, i32 }
          cleanup
  %1332 = extractvalue { ptr, i32 } %1331, 0
  store ptr %1332, ptr %13, align 8
  %1333 = extractvalue { ptr, i32 } %1331, 1
  store i32 %1333, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #6
  br label %1334

1334:                                             ; preds = %1330, %1326
  call void @llvm.lifetime.end.p0(i64 32, ptr %122) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #6
  br label %1342

1335:                                             ; preds = %1307
  %1336 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1336, i1 noundef zeroext true)
          to label %1337 unwind label %1338

1337:                                             ; preds = %1335
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #6
  br label %1541

1338:                                             ; preds = %1335
  %1339 = landingpad { ptr, i32 }
          cleanup
  %1340 = extractvalue { ptr, i32 } %1339, 0
  store ptr %1340, ptr %13, align 8
  %1341 = extractvalue { ptr, i32 } %1339, 1
  store i32 %1341, ptr %14, align 4
  br label %1342

1342:                                             ; preds = %1338, %1334
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #6
  br label %3032

1343:                                             ; preds = %1300
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #6
  store i32 2, ptr %123, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #6
  store i32 0, ptr %124, align 4, !tbaa !9
  br label %1344

1344:                                             ; preds = %1364, %1343
  %1345 = load i32, ptr %124, align 4, !tbaa !9
  %1346 = load i32, ptr %9, align 4, !tbaa !9
  %1347 = icmp slt i32 %1345, %1346
  br i1 %1347, label %1349, label %1348

1348:                                             ; preds = %1344
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #6
  br label %1376

1349:                                             ; preds = %1344
  %1350 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %126) #6
  %1351 = getelementptr inbounds %class.anon.841, ptr %126, i32 0, i32 0
  store ptr %308, ptr %1351, align 8, !tbaa !96
  %1352 = getelementptr inbounds %class.anon.841, ptr %126, i32 0, i32 1
  %1353 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1353, ptr %1352, align 8, !tbaa !5
  %1354 = getelementptr inbounds %class.anon.841, ptr %126, i32 0, i32 2
  %1355 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1355, ptr %1354, align 8, !tbaa !5
  %1356 = getelementptr inbounds %class.anon.841, ptr %126, i32 0, i32 3
  %1357 = load i32, ptr %124, align 4, !tbaa !9
  store i32 %1357, ptr %1356, align 8, !tbaa !98
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_21vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull align 8 dereferenceable(28) %126)
          to label %1358 unwind label %1367

1358:                                             ; preds = %1349
  %1359 = load i32, ptr %124, align 4, !tbaa !9
  %1360 = sext i32 %1359 to i64
  %1361 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1360)
          to label %1362 unwind label %1371

1362:                                             ; preds = %1358
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1350, ptr noundef %125, i64 noundef %1361, i1 noundef zeroext false)
          to label %1363 unwind label %1371

1363:                                             ; preds = %1362
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %126) #6
  br label %1364

1364:                                             ; preds = %1363
  %1365 = load i32, ptr %124, align 4, !tbaa !9
  %1366 = add nsw i32 %1365, 1
  store i32 %1366, ptr %124, align 4, !tbaa !9
  br label %1344, !llvm.loop !99

1367:                                             ; preds = %1349
  %1368 = landingpad { ptr, i32 }
          cleanup
  %1369 = extractvalue { ptr, i32 } %1368, 0
  store ptr %1369, ptr %13, align 8
  %1370 = extractvalue { ptr, i32 } %1368, 1
  store i32 %1370, ptr %14, align 4
  br label %1375

1371:                                             ; preds = %1362, %1358
  %1372 = landingpad { ptr, i32 }
          cleanup
  %1373 = extractvalue { ptr, i32 } %1372, 0
  store ptr %1373, ptr %13, align 8
  %1374 = extractvalue { ptr, i32 } %1372, 1
  store i32 %1374, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  br label %1375

1375:                                             ; preds = %1371, %1367
  call void @llvm.lifetime.end.p0(i64 32, ptr %126) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #6
  br label %1383

1376:                                             ; preds = %1348
  %1377 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1377, i1 noundef zeroext true)
          to label %1378 unwind label %1379

1378:                                             ; preds = %1376
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #6
  br label %1541

1379:                                             ; preds = %1376
  %1380 = landingpad { ptr, i32 }
          cleanup
  %1381 = extractvalue { ptr, i32 } %1380, 0
  store ptr %1381, ptr %13, align 8
  %1382 = extractvalue { ptr, i32 } %1380, 1
  store i32 %1382, ptr %14, align 4
  br label %1383

1383:                                             ; preds = %1379, %1375
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #6
  br label %3032

1384:                                             ; preds = %1300
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #6
  store i32 3, ptr %127, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #6
  store i32 0, ptr %128, align 4, !tbaa !9
  br label %1385

1385:                                             ; preds = %1405, %1384
  %1386 = load i32, ptr %128, align 4, !tbaa !9
  %1387 = load i32, ptr %9, align 4, !tbaa !9
  %1388 = icmp slt i32 %1386, %1387
  br i1 %1388, label %1390, label %1389

1389:                                             ; preds = %1385
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #6
  br label %1417

1390:                                             ; preds = %1385
  %1391 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %130) #6
  %1392 = getelementptr inbounds %class.anon.843, ptr %130, i32 0, i32 0
  store ptr %308, ptr %1392, align 8, !tbaa !100
  %1393 = getelementptr inbounds %class.anon.843, ptr %130, i32 0, i32 1
  %1394 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1394, ptr %1393, align 8, !tbaa !5
  %1395 = getelementptr inbounds %class.anon.843, ptr %130, i32 0, i32 2
  %1396 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1396, ptr %1395, align 8, !tbaa !5
  %1397 = getelementptr inbounds %class.anon.843, ptr %130, i32 0, i32 3
  %1398 = load i32, ptr %128, align 4, !tbaa !9
  store i32 %1398, ptr %1397, align 8, !tbaa !102
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_22vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %129, ptr noundef nonnull align 8 dereferenceable(28) %130)
          to label %1399 unwind label %1408

1399:                                             ; preds = %1390
  %1400 = load i32, ptr %128, align 4, !tbaa !9
  %1401 = sext i32 %1400 to i64
  %1402 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1401)
          to label %1403 unwind label %1412

1403:                                             ; preds = %1399
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1391, ptr noundef %129, i64 noundef %1402, i1 noundef zeroext false)
          to label %1404 unwind label %1412

1404:                                             ; preds = %1403
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #6
  br label %1405

1405:                                             ; preds = %1404
  %1406 = load i32, ptr %128, align 4, !tbaa !9
  %1407 = add nsw i32 %1406, 1
  store i32 %1407, ptr %128, align 4, !tbaa !9
  br label %1385, !llvm.loop !103

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

1412:                                             ; preds = %1403, %1399
  %1413 = landingpad { ptr, i32 }
          cleanup
  %1414 = extractvalue { ptr, i32 } %1413, 0
  store ptr %1414, ptr %13, align 8
  %1415 = extractvalue { ptr, i32 } %1413, 1
  store i32 %1415, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #6
  br label %1416

1416:                                             ; preds = %1412, %1408
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #6
  br label %1424

1417:                                             ; preds = %1389
  %1418 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1418, i1 noundef zeroext true)
          to label %1419 unwind label %1420

1419:                                             ; preds = %1417
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #6
  br label %1541

1420:                                             ; preds = %1417
  %1421 = landingpad { ptr, i32 }
          cleanup
  %1422 = extractvalue { ptr, i32 } %1421, 0
  store ptr %1422, ptr %13, align 8
  %1423 = extractvalue { ptr, i32 } %1421, 1
  store i32 %1423, ptr %14, align 4
  br label %1424

1424:                                             ; preds = %1420, %1416
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #6
  br label %3032

1425:                                             ; preds = %1300
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #6
  store i32 4, ptr %131, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #6
  store i32 0, ptr %132, align 4, !tbaa !9
  br label %1426

1426:                                             ; preds = %1446, %1425
  %1427 = load i32, ptr %132, align 4, !tbaa !9
  %1428 = load i32, ptr %9, align 4, !tbaa !9
  %1429 = icmp slt i32 %1427, %1428
  br i1 %1429, label %1431, label %1430

1430:                                             ; preds = %1426
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #6
  br label %1458

1431:                                             ; preds = %1426
  %1432 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %134) #6
  %1433 = getelementptr inbounds %class.anon.845, ptr %134, i32 0, i32 0
  store ptr %308, ptr %1433, align 8, !tbaa !104
  %1434 = getelementptr inbounds %class.anon.845, ptr %134, i32 0, i32 1
  %1435 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1435, ptr %1434, align 8, !tbaa !5
  %1436 = getelementptr inbounds %class.anon.845, ptr %134, i32 0, i32 2
  %1437 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1437, ptr %1436, align 8, !tbaa !5
  %1438 = getelementptr inbounds %class.anon.845, ptr %134, i32 0, i32 3
  %1439 = load i32, ptr %132, align 4, !tbaa !9
  store i32 %1439, ptr %1438, align 8, !tbaa !106
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_23vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %133, ptr noundef nonnull align 8 dereferenceable(28) %134)
          to label %1440 unwind label %1449

1440:                                             ; preds = %1431
  %1441 = load i32, ptr %132, align 4, !tbaa !9
  %1442 = sext i32 %1441 to i64
  %1443 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1442)
          to label %1444 unwind label %1453

1444:                                             ; preds = %1440
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1432, ptr noundef %133, i64 noundef %1443, i1 noundef zeroext false)
          to label %1445 unwind label %1453

1445:                                             ; preds = %1444
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #6
  br label %1446

1446:                                             ; preds = %1445
  %1447 = load i32, ptr %132, align 4, !tbaa !9
  %1448 = add nsw i32 %1447, 1
  store i32 %1448, ptr %132, align 4, !tbaa !9
  br label %1426, !llvm.loop !107

1449:                                             ; preds = %1431
  %1450 = landingpad { ptr, i32 }
          cleanup
  %1451 = extractvalue { ptr, i32 } %1450, 0
  store ptr %1451, ptr %13, align 8
  %1452 = extractvalue { ptr, i32 } %1450, 1
  store i32 %1452, ptr %14, align 4
  br label %1457

1453:                                             ; preds = %1444, %1440
  %1454 = landingpad { ptr, i32 }
          cleanup
  %1455 = extractvalue { ptr, i32 } %1454, 0
  store ptr %1455, ptr %13, align 8
  %1456 = extractvalue { ptr, i32 } %1454, 1
  store i32 %1456, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #6
  br label %1457

1457:                                             ; preds = %1453, %1449
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #6
  br label %1465

1458:                                             ; preds = %1430
  %1459 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1459, i1 noundef zeroext true)
          to label %1460 unwind label %1461

1460:                                             ; preds = %1458
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #6
  br label %1541

1461:                                             ; preds = %1458
  %1462 = landingpad { ptr, i32 }
          cleanup
  %1463 = extractvalue { ptr, i32 } %1462, 0
  store ptr %1463, ptr %13, align 8
  %1464 = extractvalue { ptr, i32 } %1462, 1
  store i32 %1464, ptr %14, align 4
  br label %1465

1465:                                             ; preds = %1461, %1457
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #6
  br label %3032

1466:                                             ; preds = %1300
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #6
  store i32 5, ptr %135, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #6
  store i32 0, ptr %136, align 4, !tbaa !9
  br label %1467

1467:                                             ; preds = %1487, %1466
  %1468 = load i32, ptr %136, align 4, !tbaa !9
  %1469 = load i32, ptr %9, align 4, !tbaa !9
  %1470 = icmp slt i32 %1468, %1469
  br i1 %1470, label %1472, label %1471

1471:                                             ; preds = %1467
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #6
  br label %1499

1472:                                             ; preds = %1467
  %1473 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %138) #6
  %1474 = getelementptr inbounds %class.anon.847, ptr %138, i32 0, i32 0
  store ptr %308, ptr %1474, align 8, !tbaa !108
  %1475 = getelementptr inbounds %class.anon.847, ptr %138, i32 0, i32 1
  %1476 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1476, ptr %1475, align 8, !tbaa !5
  %1477 = getelementptr inbounds %class.anon.847, ptr %138, i32 0, i32 2
  %1478 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1478, ptr %1477, align 8, !tbaa !5
  %1479 = getelementptr inbounds %class.anon.847, ptr %138, i32 0, i32 3
  %1480 = load i32, ptr %136, align 4, !tbaa !9
  store i32 %1480, ptr %1479, align 8, !tbaa !110
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_24vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %137, ptr noundef nonnull align 8 dereferenceable(28) %138)
          to label %1481 unwind label %1490

1481:                                             ; preds = %1472
  %1482 = load i32, ptr %136, align 4, !tbaa !9
  %1483 = sext i32 %1482 to i64
  %1484 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1483)
          to label %1485 unwind label %1494

1485:                                             ; preds = %1481
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1473, ptr noundef %137, i64 noundef %1484, i1 noundef zeroext false)
          to label %1486 unwind label %1494

1486:                                             ; preds = %1485
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %138) #6
  br label %1487

1487:                                             ; preds = %1486
  %1488 = load i32, ptr %136, align 4, !tbaa !9
  %1489 = add nsw i32 %1488, 1
  store i32 %1489, ptr %136, align 4, !tbaa !9
  br label %1467, !llvm.loop !111

1490:                                             ; preds = %1472
  %1491 = landingpad { ptr, i32 }
          cleanup
  %1492 = extractvalue { ptr, i32 } %1491, 0
  store ptr %1492, ptr %13, align 8
  %1493 = extractvalue { ptr, i32 } %1491, 1
  store i32 %1493, ptr %14, align 4
  br label %1498

1494:                                             ; preds = %1485, %1481
  %1495 = landingpad { ptr, i32 }
          cleanup
  %1496 = extractvalue { ptr, i32 } %1495, 0
  store ptr %1496, ptr %13, align 8
  %1497 = extractvalue { ptr, i32 } %1495, 1
  store i32 %1497, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #6
  br label %1498

1498:                                             ; preds = %1494, %1490
  call void @llvm.lifetime.end.p0(i64 32, ptr %138) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #6
  br label %1506

1499:                                             ; preds = %1471
  %1500 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1500, i1 noundef zeroext true)
          to label %1501 unwind label %1502

1501:                                             ; preds = %1499
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #6
  br label %1541

1502:                                             ; preds = %1499
  %1503 = landingpad { ptr, i32 }
          cleanup
  %1504 = extractvalue { ptr, i32 } %1503, 0
  store ptr %1504, ptr %13, align 8
  %1505 = extractvalue { ptr, i32 } %1503, 1
  store i32 %1505, ptr %14, align 4
  br label %1506

1506:                                             ; preds = %1502, %1498
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #6
  br label %3032

1507:                                             ; preds = %1300
  store i1 true, ptr %144, align 1
  %1508 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %139) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %140) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %140, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %1509 unwind label %1514

1509:                                             ; preds = %1507
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %139, ptr noundef nonnull align 8 dereferenceable(32) %140)
          to label %1510 unwind label %1518

1510:                                             ; preds = %1509
  call void @llvm.lifetime.start.p0(i64 1, ptr %142) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %142)
          to label %1511 unwind label %1522

1511:                                             ; preds = %1510
  call void @llvm.lifetime.start.p0(i64 32, ptr %143) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %143)
          to label %1512 unwind label %1526

1512:                                             ; preds = %1511
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %1508, ptr noundef nonnull align 8 dereferenceable(32) %139, ptr noundef %141, ptr noundef nonnull align 8 dereferenceable(32) %143)
          to label %1513 unwind label %1530

1513:                                             ; preds = %1512
  store i1 false, ptr %144, align 1
  invoke void @__cxa_throw(ptr %1508, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %3038 unwind label %1530

1514:                                             ; preds = %1507
  %1515 = landingpad { ptr, i32 }
          cleanup
  %1516 = extractvalue { ptr, i32 } %1515, 0
  store ptr %1516, ptr %13, align 8
  %1517 = extractvalue { ptr, i32 } %1515, 1
  store i32 %1517, ptr %14, align 4
  br label %1537

1518:                                             ; preds = %1509
  %1519 = landingpad { ptr, i32 }
          cleanup
  %1520 = extractvalue { ptr, i32 } %1519, 0
  store ptr %1520, ptr %13, align 8
  %1521 = extractvalue { ptr, i32 } %1519, 1
  store i32 %1521, ptr %14, align 4
  br label %1536

1522:                                             ; preds = %1510
  %1523 = landingpad { ptr, i32 }
          cleanup
  %1524 = extractvalue { ptr, i32 } %1523, 0
  store ptr %1524, ptr %13, align 8
  %1525 = extractvalue { ptr, i32 } %1523, 1
  store i32 %1525, ptr %14, align 4
  br label %1535

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

1530:                                             ; preds = %1513, %1512
  %1531 = landingpad { ptr, i32 }
          cleanup
  %1532 = extractvalue { ptr, i32 } %1531, 0
  store ptr %1532, ptr %13, align 8
  %1533 = extractvalue { ptr, i32 } %1531, 1
  store i32 %1533, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #6
  br label %1534

1534:                                             ; preds = %1530, %1526
  call void @llvm.lifetime.end.p0(i64 32, ptr %143) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #6
  br label %1535

1535:                                             ; preds = %1534, %1522
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %142) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #6
  br label %1536

1536:                                             ; preds = %1535, %1518
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #6
  br label %1537

1537:                                             ; preds = %1536, %1514
  call void @llvm.lifetime.end.p0(i64 32, ptr %140) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %139) #6
  %1538 = load i1, ptr %144, align 1
  br i1 %1538, label %1539, label %1540

1539:                                             ; preds = %1537
  call void @__cxa_free_exception(ptr %1508) #6
  br label %1540

1540:                                             ; preds = %1539, %1537
  br label %3032

1541:                                             ; preds = %1501, %1460, %1419, %1378, %1337
  br label %3031

1542:                                             ; preds = %327
  %1543 = load i32, ptr %10, align 4, !tbaa !9
  switch i32 %1543, label %1749 [
    i32 1, label %1544
    i32 2, label %1585
    i32 3, label %1626
    i32 4, label %1667
    i32 5, label %1708
  ]

1544:                                             ; preds = %1542
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #6
  store i32 1, ptr %145, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #6
  store i32 0, ptr %146, align 4, !tbaa !9
  br label %1545

1545:                                             ; preds = %1565, %1544
  %1546 = load i32, ptr %146, align 4, !tbaa !9
  %1547 = load i32, ptr %9, align 4, !tbaa !9
  %1548 = icmp slt i32 %1546, %1547
  br i1 %1548, label %1550, label %1549

1549:                                             ; preds = %1545
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #6
  br label %1577

1550:                                             ; preds = %1545
  %1551 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %148) #6
  %1552 = getelementptr inbounds %class.anon.849, ptr %148, i32 0, i32 0
  store ptr %308, ptr %1552, align 8, !tbaa !112
  %1553 = getelementptr inbounds %class.anon.849, ptr %148, i32 0, i32 1
  %1554 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1554, ptr %1553, align 8, !tbaa !5
  %1555 = getelementptr inbounds %class.anon.849, ptr %148, i32 0, i32 2
  %1556 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1556, ptr %1555, align 8, !tbaa !5
  %1557 = getelementptr inbounds %class.anon.849, ptr %148, i32 0, i32 3
  %1558 = load i32, ptr %146, align 4, !tbaa !9
  store i32 %1558, ptr %1557, align 8, !tbaa !114
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_25vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %147, ptr noundef nonnull align 8 dereferenceable(28) %148)
          to label %1559 unwind label %1568

1559:                                             ; preds = %1550
  %1560 = load i32, ptr %146, align 4, !tbaa !9
  %1561 = sext i32 %1560 to i64
  %1562 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1561)
          to label %1563 unwind label %1572

1563:                                             ; preds = %1559
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1551, ptr noundef %147, i64 noundef %1562, i1 noundef zeroext false)
          to label %1564 unwind label %1572

1564:                                             ; preds = %1563
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %148) #6
  br label %1565

1565:                                             ; preds = %1564
  %1566 = load i32, ptr %146, align 4, !tbaa !9
  %1567 = add nsw i32 %1566, 1
  store i32 %1567, ptr %146, align 4, !tbaa !9
  br label %1545, !llvm.loop !115

1568:                                             ; preds = %1550
  %1569 = landingpad { ptr, i32 }
          cleanup
  %1570 = extractvalue { ptr, i32 } %1569, 0
  store ptr %1570, ptr %13, align 8
  %1571 = extractvalue { ptr, i32 } %1569, 1
  store i32 %1571, ptr %14, align 4
  br label %1576

1572:                                             ; preds = %1563, %1559
  %1573 = landingpad { ptr, i32 }
          cleanup
  %1574 = extractvalue { ptr, i32 } %1573, 0
  store ptr %1574, ptr %13, align 8
  %1575 = extractvalue { ptr, i32 } %1573, 1
  store i32 %1575, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #6
  br label %1576

1576:                                             ; preds = %1572, %1568
  call void @llvm.lifetime.end.p0(i64 32, ptr %148) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #6
  br label %1584

1577:                                             ; preds = %1549
  %1578 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1578, i1 noundef zeroext true)
          to label %1579 unwind label %1580

1579:                                             ; preds = %1577
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #6
  br label %1783

1580:                                             ; preds = %1577
  %1581 = landingpad { ptr, i32 }
          cleanup
  %1582 = extractvalue { ptr, i32 } %1581, 0
  store ptr %1582, ptr %13, align 8
  %1583 = extractvalue { ptr, i32 } %1581, 1
  store i32 %1583, ptr %14, align 4
  br label %1584

1584:                                             ; preds = %1580, %1576
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #6
  br label %3032

1585:                                             ; preds = %1542
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #6
  store i32 2, ptr %149, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #6
  store i32 0, ptr %150, align 4, !tbaa !9
  br label %1586

1586:                                             ; preds = %1606, %1585
  %1587 = load i32, ptr %150, align 4, !tbaa !9
  %1588 = load i32, ptr %9, align 4, !tbaa !9
  %1589 = icmp slt i32 %1587, %1588
  br i1 %1589, label %1591, label %1590

1590:                                             ; preds = %1586
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #6
  br label %1618

1591:                                             ; preds = %1586
  %1592 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %152) #6
  %1593 = getelementptr inbounds %class.anon.851, ptr %152, i32 0, i32 0
  store ptr %308, ptr %1593, align 8, !tbaa !116
  %1594 = getelementptr inbounds %class.anon.851, ptr %152, i32 0, i32 1
  %1595 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1595, ptr %1594, align 8, !tbaa !5
  %1596 = getelementptr inbounds %class.anon.851, ptr %152, i32 0, i32 2
  %1597 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1597, ptr %1596, align 8, !tbaa !5
  %1598 = getelementptr inbounds %class.anon.851, ptr %152, i32 0, i32 3
  %1599 = load i32, ptr %150, align 4, !tbaa !9
  store i32 %1599, ptr %1598, align 8, !tbaa !118
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_26vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %151, ptr noundef nonnull align 8 dereferenceable(28) %152)
          to label %1600 unwind label %1609

1600:                                             ; preds = %1591
  %1601 = load i32, ptr %150, align 4, !tbaa !9
  %1602 = sext i32 %1601 to i64
  %1603 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1602)
          to label %1604 unwind label %1613

1604:                                             ; preds = %1600
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1592, ptr noundef %151, i64 noundef %1603, i1 noundef zeroext false)
          to label %1605 unwind label %1613

1605:                                             ; preds = %1604
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %152) #6
  br label %1606

1606:                                             ; preds = %1605
  %1607 = load i32, ptr %150, align 4, !tbaa !9
  %1608 = add nsw i32 %1607, 1
  store i32 %1608, ptr %150, align 4, !tbaa !9
  br label %1586, !llvm.loop !119

1609:                                             ; preds = %1591
  %1610 = landingpad { ptr, i32 }
          cleanup
  %1611 = extractvalue { ptr, i32 } %1610, 0
  store ptr %1611, ptr %13, align 8
  %1612 = extractvalue { ptr, i32 } %1610, 1
  store i32 %1612, ptr %14, align 4
  br label %1617

1613:                                             ; preds = %1604, %1600
  %1614 = landingpad { ptr, i32 }
          cleanup
  %1615 = extractvalue { ptr, i32 } %1614, 0
  store ptr %1615, ptr %13, align 8
  %1616 = extractvalue { ptr, i32 } %1614, 1
  store i32 %1616, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  br label %1617

1617:                                             ; preds = %1613, %1609
  call void @llvm.lifetime.end.p0(i64 32, ptr %152) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #6
  br label %1625

1618:                                             ; preds = %1590
  %1619 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1619, i1 noundef zeroext true)
          to label %1620 unwind label %1621

1620:                                             ; preds = %1618
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #6
  br label %1783

1621:                                             ; preds = %1618
  %1622 = landingpad { ptr, i32 }
          cleanup
  %1623 = extractvalue { ptr, i32 } %1622, 0
  store ptr %1623, ptr %13, align 8
  %1624 = extractvalue { ptr, i32 } %1622, 1
  store i32 %1624, ptr %14, align 4
  br label %1625

1625:                                             ; preds = %1621, %1617
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #6
  br label %3032

1626:                                             ; preds = %1542
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #6
  store i32 3, ptr %153, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #6
  store i32 0, ptr %154, align 4, !tbaa !9
  br label %1627

1627:                                             ; preds = %1647, %1626
  %1628 = load i32, ptr %154, align 4, !tbaa !9
  %1629 = load i32, ptr %9, align 4, !tbaa !9
  %1630 = icmp slt i32 %1628, %1629
  br i1 %1630, label %1632, label %1631

1631:                                             ; preds = %1627
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #6
  br label %1659

1632:                                             ; preds = %1627
  %1633 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %156) #6
  %1634 = getelementptr inbounds %class.anon.853, ptr %156, i32 0, i32 0
  store ptr %308, ptr %1634, align 8, !tbaa !120
  %1635 = getelementptr inbounds %class.anon.853, ptr %156, i32 0, i32 1
  %1636 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1636, ptr %1635, align 8, !tbaa !5
  %1637 = getelementptr inbounds %class.anon.853, ptr %156, i32 0, i32 2
  %1638 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1638, ptr %1637, align 8, !tbaa !5
  %1639 = getelementptr inbounds %class.anon.853, ptr %156, i32 0, i32 3
  %1640 = load i32, ptr %154, align 4, !tbaa !9
  store i32 %1640, ptr %1639, align 8, !tbaa !122
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_27vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %155, ptr noundef nonnull align 8 dereferenceable(28) %156)
          to label %1641 unwind label %1650

1641:                                             ; preds = %1632
  %1642 = load i32, ptr %154, align 4, !tbaa !9
  %1643 = sext i32 %1642 to i64
  %1644 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1643)
          to label %1645 unwind label %1654

1645:                                             ; preds = %1641
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1633, ptr noundef %155, i64 noundef %1644, i1 noundef zeroext false)
          to label %1646 unwind label %1654

1646:                                             ; preds = %1645
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %156) #6
  br label %1647

1647:                                             ; preds = %1646
  %1648 = load i32, ptr %154, align 4, !tbaa !9
  %1649 = add nsw i32 %1648, 1
  store i32 %1649, ptr %154, align 4, !tbaa !9
  br label %1627, !llvm.loop !123

1650:                                             ; preds = %1632
  %1651 = landingpad { ptr, i32 }
          cleanup
  %1652 = extractvalue { ptr, i32 } %1651, 0
  store ptr %1652, ptr %13, align 8
  %1653 = extractvalue { ptr, i32 } %1651, 1
  store i32 %1653, ptr %14, align 4
  br label %1658

1654:                                             ; preds = %1645, %1641
  %1655 = landingpad { ptr, i32 }
          cleanup
  %1656 = extractvalue { ptr, i32 } %1655, 0
  store ptr %1656, ptr %13, align 8
  %1657 = extractvalue { ptr, i32 } %1655, 1
  store i32 %1657, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  br label %1658

1658:                                             ; preds = %1654, %1650
  call void @llvm.lifetime.end.p0(i64 32, ptr %156) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #6
  br label %1666

1659:                                             ; preds = %1631
  %1660 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1660, i1 noundef zeroext true)
          to label %1661 unwind label %1662

1661:                                             ; preds = %1659
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #6
  br label %1783

1662:                                             ; preds = %1659
  %1663 = landingpad { ptr, i32 }
          cleanup
  %1664 = extractvalue { ptr, i32 } %1663, 0
  store ptr %1664, ptr %13, align 8
  %1665 = extractvalue { ptr, i32 } %1663, 1
  store i32 %1665, ptr %14, align 4
  br label %1666

1666:                                             ; preds = %1662, %1658
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #6
  br label %3032

1667:                                             ; preds = %1542
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #6
  store i32 4, ptr %157, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #6
  store i32 0, ptr %158, align 4, !tbaa !9
  br label %1668

1668:                                             ; preds = %1688, %1667
  %1669 = load i32, ptr %158, align 4, !tbaa !9
  %1670 = load i32, ptr %9, align 4, !tbaa !9
  %1671 = icmp slt i32 %1669, %1670
  br i1 %1671, label %1673, label %1672

1672:                                             ; preds = %1668
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #6
  br label %1700

1673:                                             ; preds = %1668
  %1674 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %160) #6
  %1675 = getelementptr inbounds %class.anon.855, ptr %160, i32 0, i32 0
  store ptr %308, ptr %1675, align 8, !tbaa !124
  %1676 = getelementptr inbounds %class.anon.855, ptr %160, i32 0, i32 1
  %1677 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1677, ptr %1676, align 8, !tbaa !5
  %1678 = getelementptr inbounds %class.anon.855, ptr %160, i32 0, i32 2
  %1679 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1679, ptr %1678, align 8, !tbaa !5
  %1680 = getelementptr inbounds %class.anon.855, ptr %160, i32 0, i32 3
  %1681 = load i32, ptr %158, align 4, !tbaa !9
  store i32 %1681, ptr %1680, align 8, !tbaa !126
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_28vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %159, ptr noundef nonnull align 8 dereferenceable(28) %160)
          to label %1682 unwind label %1691

1682:                                             ; preds = %1673
  %1683 = load i32, ptr %158, align 4, !tbaa !9
  %1684 = sext i32 %1683 to i64
  %1685 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1684)
          to label %1686 unwind label %1695

1686:                                             ; preds = %1682
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1674, ptr noundef %159, i64 noundef %1685, i1 noundef zeroext false)
          to label %1687 unwind label %1695

1687:                                             ; preds = %1686
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %160) #6
  br label %1688

1688:                                             ; preds = %1687
  %1689 = load i32, ptr %158, align 4, !tbaa !9
  %1690 = add nsw i32 %1689, 1
  store i32 %1690, ptr %158, align 4, !tbaa !9
  br label %1668, !llvm.loop !127

1691:                                             ; preds = %1673
  %1692 = landingpad { ptr, i32 }
          cleanup
  %1693 = extractvalue { ptr, i32 } %1692, 0
  store ptr %1693, ptr %13, align 8
  %1694 = extractvalue { ptr, i32 } %1692, 1
  store i32 %1694, ptr %14, align 4
  br label %1699

1695:                                             ; preds = %1686, %1682
  %1696 = landingpad { ptr, i32 }
          cleanup
  %1697 = extractvalue { ptr, i32 } %1696, 0
  store ptr %1697, ptr %13, align 8
  %1698 = extractvalue { ptr, i32 } %1696, 1
  store i32 %1698, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  br label %1699

1699:                                             ; preds = %1695, %1691
  call void @llvm.lifetime.end.p0(i64 32, ptr %160) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #6
  br label %1707

1700:                                             ; preds = %1672
  %1701 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1701, i1 noundef zeroext true)
          to label %1702 unwind label %1703

1702:                                             ; preds = %1700
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #6
  br label %1783

1703:                                             ; preds = %1700
  %1704 = landingpad { ptr, i32 }
          cleanup
  %1705 = extractvalue { ptr, i32 } %1704, 0
  store ptr %1705, ptr %13, align 8
  %1706 = extractvalue { ptr, i32 } %1704, 1
  store i32 %1706, ptr %14, align 4
  br label %1707

1707:                                             ; preds = %1703, %1699
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #6
  br label %3032

1708:                                             ; preds = %1542
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #6
  store i32 5, ptr %161, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #6
  store i32 0, ptr %162, align 4, !tbaa !9
  br label %1709

1709:                                             ; preds = %1729, %1708
  %1710 = load i32, ptr %162, align 4, !tbaa !9
  %1711 = load i32, ptr %9, align 4, !tbaa !9
  %1712 = icmp slt i32 %1710, %1711
  br i1 %1712, label %1714, label %1713

1713:                                             ; preds = %1709
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #6
  br label %1741

1714:                                             ; preds = %1709
  %1715 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %164) #6
  %1716 = getelementptr inbounds %class.anon.857, ptr %164, i32 0, i32 0
  store ptr %308, ptr %1716, align 8, !tbaa !128
  %1717 = getelementptr inbounds %class.anon.857, ptr %164, i32 0, i32 1
  %1718 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1718, ptr %1717, align 8, !tbaa !5
  %1719 = getelementptr inbounds %class.anon.857, ptr %164, i32 0, i32 2
  %1720 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1720, ptr %1719, align 8, !tbaa !5
  %1721 = getelementptr inbounds %class.anon.857, ptr %164, i32 0, i32 3
  %1722 = load i32, ptr %162, align 4, !tbaa !9
  store i32 %1722, ptr %1721, align 8, !tbaa !130
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_29vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %163, ptr noundef nonnull align 8 dereferenceable(28) %164)
          to label %1723 unwind label %1732

1723:                                             ; preds = %1714
  %1724 = load i32, ptr %162, align 4, !tbaa !9
  %1725 = sext i32 %1724 to i64
  %1726 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1725)
          to label %1727 unwind label %1736

1727:                                             ; preds = %1723
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1715, ptr noundef %163, i64 noundef %1726, i1 noundef zeroext false)
          to label %1728 unwind label %1736

1728:                                             ; preds = %1727
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %164) #6
  br label %1729

1729:                                             ; preds = %1728
  %1730 = load i32, ptr %162, align 4, !tbaa !9
  %1731 = add nsw i32 %1730, 1
  store i32 %1731, ptr %162, align 4, !tbaa !9
  br label %1709, !llvm.loop !131

1732:                                             ; preds = %1714
  %1733 = landingpad { ptr, i32 }
          cleanup
  %1734 = extractvalue { ptr, i32 } %1733, 0
  store ptr %1734, ptr %13, align 8
  %1735 = extractvalue { ptr, i32 } %1733, 1
  store i32 %1735, ptr %14, align 4
  br label %1740

1736:                                             ; preds = %1727, %1723
  %1737 = landingpad { ptr, i32 }
          cleanup
  %1738 = extractvalue { ptr, i32 } %1737, 0
  store ptr %1738, ptr %13, align 8
  %1739 = extractvalue { ptr, i32 } %1737, 1
  store i32 %1739, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #6
  br label %1740

1740:                                             ; preds = %1736, %1732
  call void @llvm.lifetime.end.p0(i64 32, ptr %164) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #6
  br label %1748

1741:                                             ; preds = %1713
  %1742 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1742, i1 noundef zeroext true)
          to label %1743 unwind label %1744

1743:                                             ; preds = %1741
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #6
  br label %1783

1744:                                             ; preds = %1741
  %1745 = landingpad { ptr, i32 }
          cleanup
  %1746 = extractvalue { ptr, i32 } %1745, 0
  store ptr %1746, ptr %13, align 8
  %1747 = extractvalue { ptr, i32 } %1745, 1
  store i32 %1747, ptr %14, align 4
  br label %1748

1748:                                             ; preds = %1744, %1740
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #6
  br label %3032

1749:                                             ; preds = %1542
  store i1 true, ptr %170, align 1
  %1750 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %165) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %166) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %166, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %1751 unwind label %1756

1751:                                             ; preds = %1749
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %165, ptr noundef nonnull align 8 dereferenceable(32) %166)
          to label %1752 unwind label %1760

1752:                                             ; preds = %1751
  call void @llvm.lifetime.start.p0(i64 1, ptr %168) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %167, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %168)
          to label %1753 unwind label %1764

1753:                                             ; preds = %1752
  call void @llvm.lifetime.start.p0(i64 32, ptr %169) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %169)
          to label %1754 unwind label %1768

1754:                                             ; preds = %1753
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %1750, ptr noundef nonnull align 8 dereferenceable(32) %165, ptr noundef %167, ptr noundef nonnull align 8 dereferenceable(32) %169)
          to label %1755 unwind label %1772

1755:                                             ; preds = %1754
  store i1 false, ptr %170, align 1
  invoke void @__cxa_throw(ptr %1750, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %3038 unwind label %1772

1756:                                             ; preds = %1749
  %1757 = landingpad { ptr, i32 }
          cleanup
  %1758 = extractvalue { ptr, i32 } %1757, 0
  store ptr %1758, ptr %13, align 8
  %1759 = extractvalue { ptr, i32 } %1757, 1
  store i32 %1759, ptr %14, align 4
  br label %1779

1760:                                             ; preds = %1751
  %1761 = landingpad { ptr, i32 }
          cleanup
  %1762 = extractvalue { ptr, i32 } %1761, 0
  store ptr %1762, ptr %13, align 8
  %1763 = extractvalue { ptr, i32 } %1761, 1
  store i32 %1763, ptr %14, align 4
  br label %1778

1764:                                             ; preds = %1752
  %1765 = landingpad { ptr, i32 }
          cleanup
  %1766 = extractvalue { ptr, i32 } %1765, 0
  store ptr %1766, ptr %13, align 8
  %1767 = extractvalue { ptr, i32 } %1765, 1
  store i32 %1767, ptr %14, align 4
  br label %1777

1768:                                             ; preds = %1753
  %1769 = landingpad { ptr, i32 }
          cleanup
  %1770 = extractvalue { ptr, i32 } %1769, 0
  store ptr %1770, ptr %13, align 8
  %1771 = extractvalue { ptr, i32 } %1769, 1
  store i32 %1771, ptr %14, align 4
  br label %1776

1772:                                             ; preds = %1755, %1754
  %1773 = landingpad { ptr, i32 }
          cleanup
  %1774 = extractvalue { ptr, i32 } %1773, 0
  store ptr %1774, ptr %13, align 8
  %1775 = extractvalue { ptr, i32 } %1773, 1
  store i32 %1775, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #6
  br label %1776

1776:                                             ; preds = %1772, %1768
  call void @llvm.lifetime.end.p0(i64 32, ptr %169) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #6
  br label %1777

1777:                                             ; preds = %1776, %1764
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %168) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #6
  br label %1778

1778:                                             ; preds = %1777, %1760
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #6
  br label %1779

1779:                                             ; preds = %1778, %1756
  call void @llvm.lifetime.end.p0(i64 32, ptr %166) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %165) #6
  %1780 = load i1, ptr %170, align 1
  br i1 %1780, label %1781, label %1782

1781:                                             ; preds = %1779
  call void @__cxa_free_exception(ptr %1750) #6
  br label %1782

1782:                                             ; preds = %1781, %1779
  br label %3032

1783:                                             ; preds = %1743, %1702, %1661, %1620, %1579
  br label %3031

1784:                                             ; preds = %327
  %1785 = load i32, ptr %10, align 4, !tbaa !9
  switch i32 %1785, label %1991 [
    i32 1, label %1786
    i32 2, label %1827
    i32 3, label %1868
    i32 4, label %1909
    i32 5, label %1950
  ]

1786:                                             ; preds = %1784
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #6
  store i32 1, ptr %171, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #6
  store i32 0, ptr %172, align 4, !tbaa !9
  br label %1787

1787:                                             ; preds = %1807, %1786
  %1788 = load i32, ptr %172, align 4, !tbaa !9
  %1789 = load i32, ptr %9, align 4, !tbaa !9
  %1790 = icmp slt i32 %1788, %1789
  br i1 %1790, label %1792, label %1791

1791:                                             ; preds = %1787
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #6
  br label %1819

1792:                                             ; preds = %1787
  %1793 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %174) #6
  %1794 = getelementptr inbounds %class.anon.859, ptr %174, i32 0, i32 0
  store ptr %308, ptr %1794, align 8, !tbaa !132
  %1795 = getelementptr inbounds %class.anon.859, ptr %174, i32 0, i32 1
  %1796 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1796, ptr %1795, align 8, !tbaa !5
  %1797 = getelementptr inbounds %class.anon.859, ptr %174, i32 0, i32 2
  %1798 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1798, ptr %1797, align 8, !tbaa !5
  %1799 = getelementptr inbounds %class.anon.859, ptr %174, i32 0, i32 3
  %1800 = load i32, ptr %172, align 4, !tbaa !9
  store i32 %1800, ptr %1799, align 8, !tbaa !134
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_30vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef nonnull align 8 dereferenceable(28) %174)
          to label %1801 unwind label %1810

1801:                                             ; preds = %1792
  %1802 = load i32, ptr %172, align 4, !tbaa !9
  %1803 = sext i32 %1802 to i64
  %1804 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1803)
          to label %1805 unwind label %1814

1805:                                             ; preds = %1801
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1793, ptr noundef %173, i64 noundef %1804, i1 noundef zeroext false)
          to label %1806 unwind label %1814

1806:                                             ; preds = %1805
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #6
  br label %1807

1807:                                             ; preds = %1806
  %1808 = load i32, ptr %172, align 4, !tbaa !9
  %1809 = add nsw i32 %1808, 1
  store i32 %1809, ptr %172, align 4, !tbaa !9
  br label %1787, !llvm.loop !135

1810:                                             ; preds = %1792
  %1811 = landingpad { ptr, i32 }
          cleanup
  %1812 = extractvalue { ptr, i32 } %1811, 0
  store ptr %1812, ptr %13, align 8
  %1813 = extractvalue { ptr, i32 } %1811, 1
  store i32 %1813, ptr %14, align 4
  br label %1818

1814:                                             ; preds = %1805, %1801
  %1815 = landingpad { ptr, i32 }
          cleanup
  %1816 = extractvalue { ptr, i32 } %1815, 0
  store ptr %1816, ptr %13, align 8
  %1817 = extractvalue { ptr, i32 } %1815, 1
  store i32 %1817, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #6
  br label %1818

1818:                                             ; preds = %1814, %1810
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #6
  br label %1826

1819:                                             ; preds = %1791
  %1820 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1820, i1 noundef zeroext true)
          to label %1821 unwind label %1822

1821:                                             ; preds = %1819
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #6
  br label %2025

1822:                                             ; preds = %1819
  %1823 = landingpad { ptr, i32 }
          cleanup
  %1824 = extractvalue { ptr, i32 } %1823, 0
  store ptr %1824, ptr %13, align 8
  %1825 = extractvalue { ptr, i32 } %1823, 1
  store i32 %1825, ptr %14, align 4
  br label %1826

1826:                                             ; preds = %1822, %1818
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #6
  br label %3032

1827:                                             ; preds = %1784
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #6
  store i32 2, ptr %175, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #6
  store i32 0, ptr %176, align 4, !tbaa !9
  br label %1828

1828:                                             ; preds = %1848, %1827
  %1829 = load i32, ptr %176, align 4, !tbaa !9
  %1830 = load i32, ptr %9, align 4, !tbaa !9
  %1831 = icmp slt i32 %1829, %1830
  br i1 %1831, label %1833, label %1832

1832:                                             ; preds = %1828
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #6
  br label %1860

1833:                                             ; preds = %1828
  %1834 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %178) #6
  %1835 = getelementptr inbounds %class.anon.861, ptr %178, i32 0, i32 0
  store ptr %308, ptr %1835, align 8, !tbaa !136
  %1836 = getelementptr inbounds %class.anon.861, ptr %178, i32 0, i32 1
  %1837 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1837, ptr %1836, align 8, !tbaa !5
  %1838 = getelementptr inbounds %class.anon.861, ptr %178, i32 0, i32 2
  %1839 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1839, ptr %1838, align 8, !tbaa !5
  %1840 = getelementptr inbounds %class.anon.861, ptr %178, i32 0, i32 3
  %1841 = load i32, ptr %176, align 4, !tbaa !9
  store i32 %1841, ptr %1840, align 8, !tbaa !138
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_31vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %177, ptr noundef nonnull align 8 dereferenceable(28) %178)
          to label %1842 unwind label %1851

1842:                                             ; preds = %1833
  %1843 = load i32, ptr %176, align 4, !tbaa !9
  %1844 = sext i32 %1843 to i64
  %1845 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1844)
          to label %1846 unwind label %1855

1846:                                             ; preds = %1842
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1834, ptr noundef %177, i64 noundef %1845, i1 noundef zeroext false)
          to label %1847 unwind label %1855

1847:                                             ; preds = %1846
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %177) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %178) #6
  br label %1848

1848:                                             ; preds = %1847
  %1849 = load i32, ptr %176, align 4, !tbaa !9
  %1850 = add nsw i32 %1849, 1
  store i32 %1850, ptr %176, align 4, !tbaa !9
  br label %1828, !llvm.loop !139

1851:                                             ; preds = %1833
  %1852 = landingpad { ptr, i32 }
          cleanup
  %1853 = extractvalue { ptr, i32 } %1852, 0
  store ptr %1853, ptr %13, align 8
  %1854 = extractvalue { ptr, i32 } %1852, 1
  store i32 %1854, ptr %14, align 4
  br label %1859

1855:                                             ; preds = %1846, %1842
  %1856 = landingpad { ptr, i32 }
          cleanup
  %1857 = extractvalue { ptr, i32 } %1856, 0
  store ptr %1857, ptr %13, align 8
  %1858 = extractvalue { ptr, i32 } %1856, 1
  store i32 %1858, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %177) #6
  br label %1859

1859:                                             ; preds = %1855, %1851
  call void @llvm.lifetime.end.p0(i64 32, ptr %178) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #6
  br label %1867

1860:                                             ; preds = %1832
  %1861 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1861, i1 noundef zeroext true)
          to label %1862 unwind label %1863

1862:                                             ; preds = %1860
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #6
  br label %2025

1863:                                             ; preds = %1860
  %1864 = landingpad { ptr, i32 }
          cleanup
  %1865 = extractvalue { ptr, i32 } %1864, 0
  store ptr %1865, ptr %13, align 8
  %1866 = extractvalue { ptr, i32 } %1864, 1
  store i32 %1866, ptr %14, align 4
  br label %1867

1867:                                             ; preds = %1863, %1859
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #6
  br label %3032

1868:                                             ; preds = %1784
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #6
  store i32 3, ptr %179, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #6
  store i32 0, ptr %180, align 4, !tbaa !9
  br label %1869

1869:                                             ; preds = %1889, %1868
  %1870 = load i32, ptr %180, align 4, !tbaa !9
  %1871 = load i32, ptr %9, align 4, !tbaa !9
  %1872 = icmp slt i32 %1870, %1871
  br i1 %1872, label %1874, label %1873

1873:                                             ; preds = %1869
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #6
  br label %1901

1874:                                             ; preds = %1869
  %1875 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %182) #6
  %1876 = getelementptr inbounds %class.anon.863, ptr %182, i32 0, i32 0
  store ptr %308, ptr %1876, align 8, !tbaa !140
  %1877 = getelementptr inbounds %class.anon.863, ptr %182, i32 0, i32 1
  %1878 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1878, ptr %1877, align 8, !tbaa !5
  %1879 = getelementptr inbounds %class.anon.863, ptr %182, i32 0, i32 2
  %1880 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1880, ptr %1879, align 8, !tbaa !5
  %1881 = getelementptr inbounds %class.anon.863, ptr %182, i32 0, i32 3
  %1882 = load i32, ptr %180, align 4, !tbaa !9
  store i32 %1882, ptr %1881, align 8, !tbaa !142
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_32vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %181, ptr noundef nonnull align 8 dereferenceable(28) %182)
          to label %1883 unwind label %1892

1883:                                             ; preds = %1874
  %1884 = load i32, ptr %180, align 4, !tbaa !9
  %1885 = sext i32 %1884 to i64
  %1886 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1885)
          to label %1887 unwind label %1896

1887:                                             ; preds = %1883
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1875, ptr noundef %181, i64 noundef %1886, i1 noundef zeroext false)
          to label %1888 unwind label %1896

1888:                                             ; preds = %1887
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %182) #6
  br label %1889

1889:                                             ; preds = %1888
  %1890 = load i32, ptr %180, align 4, !tbaa !9
  %1891 = add nsw i32 %1890, 1
  store i32 %1891, ptr %180, align 4, !tbaa !9
  br label %1869, !llvm.loop !143

1892:                                             ; preds = %1874
  %1893 = landingpad { ptr, i32 }
          cleanup
  %1894 = extractvalue { ptr, i32 } %1893, 0
  store ptr %1894, ptr %13, align 8
  %1895 = extractvalue { ptr, i32 } %1893, 1
  store i32 %1895, ptr %14, align 4
  br label %1900

1896:                                             ; preds = %1887, %1883
  %1897 = landingpad { ptr, i32 }
          cleanup
  %1898 = extractvalue { ptr, i32 } %1897, 0
  store ptr %1898, ptr %13, align 8
  %1899 = extractvalue { ptr, i32 } %1897, 1
  store i32 %1899, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #6
  br label %1900

1900:                                             ; preds = %1896, %1892
  call void @llvm.lifetime.end.p0(i64 32, ptr %182) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #6
  br label %1908

1901:                                             ; preds = %1873
  %1902 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1902, i1 noundef zeroext true)
          to label %1903 unwind label %1904

1903:                                             ; preds = %1901
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #6
  br label %2025

1904:                                             ; preds = %1901
  %1905 = landingpad { ptr, i32 }
          cleanup
  %1906 = extractvalue { ptr, i32 } %1905, 0
  store ptr %1906, ptr %13, align 8
  %1907 = extractvalue { ptr, i32 } %1905, 1
  store i32 %1907, ptr %14, align 4
  br label %1908

1908:                                             ; preds = %1904, %1900
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #6
  br label %3032

1909:                                             ; preds = %1784
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #6
  store i32 4, ptr %183, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #6
  store i32 0, ptr %184, align 4, !tbaa !9
  br label %1910

1910:                                             ; preds = %1930, %1909
  %1911 = load i32, ptr %184, align 4, !tbaa !9
  %1912 = load i32, ptr %9, align 4, !tbaa !9
  %1913 = icmp slt i32 %1911, %1912
  br i1 %1913, label %1915, label %1914

1914:                                             ; preds = %1910
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #6
  br label %1942

1915:                                             ; preds = %1910
  %1916 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %186) #6
  %1917 = getelementptr inbounds %class.anon.865, ptr %186, i32 0, i32 0
  store ptr %308, ptr %1917, align 8, !tbaa !144
  %1918 = getelementptr inbounds %class.anon.865, ptr %186, i32 0, i32 1
  %1919 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1919, ptr %1918, align 8, !tbaa !5
  %1920 = getelementptr inbounds %class.anon.865, ptr %186, i32 0, i32 2
  %1921 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1921, ptr %1920, align 8, !tbaa !5
  %1922 = getelementptr inbounds %class.anon.865, ptr %186, i32 0, i32 3
  %1923 = load i32, ptr %184, align 4, !tbaa !9
  store i32 %1923, ptr %1922, align 8, !tbaa !146
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_33vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %185, ptr noundef nonnull align 8 dereferenceable(28) %186)
          to label %1924 unwind label %1933

1924:                                             ; preds = %1915
  %1925 = load i32, ptr %184, align 4, !tbaa !9
  %1926 = sext i32 %1925 to i64
  %1927 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1926)
          to label %1928 unwind label %1937

1928:                                             ; preds = %1924
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1916, ptr noundef %185, i64 noundef %1927, i1 noundef zeroext false)
          to label %1929 unwind label %1937

1929:                                             ; preds = %1928
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %185) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %186) #6
  br label %1930

1930:                                             ; preds = %1929
  %1931 = load i32, ptr %184, align 4, !tbaa !9
  %1932 = add nsw i32 %1931, 1
  store i32 %1932, ptr %184, align 4, !tbaa !9
  br label %1910, !llvm.loop !147

1933:                                             ; preds = %1915
  %1934 = landingpad { ptr, i32 }
          cleanup
  %1935 = extractvalue { ptr, i32 } %1934, 0
  store ptr %1935, ptr %13, align 8
  %1936 = extractvalue { ptr, i32 } %1934, 1
  store i32 %1936, ptr %14, align 4
  br label %1941

1937:                                             ; preds = %1928, %1924
  %1938 = landingpad { ptr, i32 }
          cleanup
  %1939 = extractvalue { ptr, i32 } %1938, 0
  store ptr %1939, ptr %13, align 8
  %1940 = extractvalue { ptr, i32 } %1938, 1
  store i32 %1940, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %185) #6
  br label %1941

1941:                                             ; preds = %1937, %1933
  call void @llvm.lifetime.end.p0(i64 32, ptr %186) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #6
  br label %1949

1942:                                             ; preds = %1914
  %1943 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1943, i1 noundef zeroext true)
          to label %1944 unwind label %1945

1944:                                             ; preds = %1942
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #6
  br label %2025

1945:                                             ; preds = %1942
  %1946 = landingpad { ptr, i32 }
          cleanup
  %1947 = extractvalue { ptr, i32 } %1946, 0
  store ptr %1947, ptr %13, align 8
  %1948 = extractvalue { ptr, i32 } %1946, 1
  store i32 %1948, ptr %14, align 4
  br label %1949

1949:                                             ; preds = %1945, %1941
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #6
  br label %3032

1950:                                             ; preds = %1784
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #6
  store i32 5, ptr %187, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #6
  store i32 0, ptr %188, align 4, !tbaa !9
  br label %1951

1951:                                             ; preds = %1971, %1950
  %1952 = load i32, ptr %188, align 4, !tbaa !9
  %1953 = load i32, ptr %9, align 4, !tbaa !9
  %1954 = icmp slt i32 %1952, %1953
  br i1 %1954, label %1956, label %1955

1955:                                             ; preds = %1951
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #6
  br label %1983

1956:                                             ; preds = %1951
  %1957 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %190) #6
  %1958 = getelementptr inbounds %class.anon.867, ptr %190, i32 0, i32 0
  store ptr %308, ptr %1958, align 8, !tbaa !148
  %1959 = getelementptr inbounds %class.anon.867, ptr %190, i32 0, i32 1
  %1960 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %1960, ptr %1959, align 8, !tbaa !5
  %1961 = getelementptr inbounds %class.anon.867, ptr %190, i32 0, i32 2
  %1962 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1962, ptr %1961, align 8, !tbaa !5
  %1963 = getelementptr inbounds %class.anon.867, ptr %190, i32 0, i32 3
  %1964 = load i32, ptr %188, align 4, !tbaa !9
  store i32 %1964, ptr %1963, align 8, !tbaa !150
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_34vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %189, ptr noundef nonnull align 8 dereferenceable(28) %190)
          to label %1965 unwind label %1974

1965:                                             ; preds = %1956
  %1966 = load i32, ptr %188, align 4, !tbaa !9
  %1967 = sext i32 %1966 to i64
  %1968 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %1967)
          to label %1969 unwind label %1978

1969:                                             ; preds = %1965
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %1957, ptr noundef %189, i64 noundef %1968, i1 noundef zeroext false)
          to label %1970 unwind label %1978

1970:                                             ; preds = %1969
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %190) #6
  br label %1971

1971:                                             ; preds = %1970
  %1972 = load i32, ptr %188, align 4, !tbaa !9
  %1973 = add nsw i32 %1972, 1
  store i32 %1973, ptr %188, align 4, !tbaa !9
  br label %1951, !llvm.loop !151

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

1978:                                             ; preds = %1969, %1965
  %1979 = landingpad { ptr, i32 }
          cleanup
  %1980 = extractvalue { ptr, i32 } %1979, 0
  store ptr %1980, ptr %13, align 8
  %1981 = extractvalue { ptr, i32 } %1979, 1
  store i32 %1981, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #6
  br label %1982

1982:                                             ; preds = %1978, %1974
  call void @llvm.lifetime.end.p0(i64 32, ptr %190) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #6
  br label %1990

1983:                                             ; preds = %1955
  %1984 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %1984, i1 noundef zeroext true)
          to label %1985 unwind label %1986

1985:                                             ; preds = %1983
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #6
  br label %2025

1986:                                             ; preds = %1983
  %1987 = landingpad { ptr, i32 }
          cleanup
  %1988 = extractvalue { ptr, i32 } %1987, 0
  store ptr %1988, ptr %13, align 8
  %1989 = extractvalue { ptr, i32 } %1987, 1
  store i32 %1989, ptr %14, align 4
  br label %1990

1990:                                             ; preds = %1986, %1982
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #6
  br label %3032

1991:                                             ; preds = %1784
  store i1 true, ptr %196, align 1
  %1992 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %191) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %192) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %192, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %1993 unwind label %1998

1993:                                             ; preds = %1991
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %191, ptr noundef nonnull align 8 dereferenceable(32) %192)
          to label %1994 unwind label %2002

1994:                                             ; preds = %1993
  call void @llvm.lifetime.start.p0(i64 1, ptr %194) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %194) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %193, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %194)
          to label %1995 unwind label %2006

1995:                                             ; preds = %1994
  call void @llvm.lifetime.start.p0(i64 32, ptr %195) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %195)
          to label %1996 unwind label %2010

1996:                                             ; preds = %1995
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %1992, ptr noundef nonnull align 8 dereferenceable(32) %191, ptr noundef %193, ptr noundef nonnull align 8 dereferenceable(32) %195)
          to label %1997 unwind label %2014

1997:                                             ; preds = %1996
  store i1 false, ptr %196, align 1
  invoke void @__cxa_throw(ptr %1992, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %3038 unwind label %2014

1998:                                             ; preds = %1991
  %1999 = landingpad { ptr, i32 }
          cleanup
  %2000 = extractvalue { ptr, i32 } %1999, 0
  store ptr %2000, ptr %13, align 8
  %2001 = extractvalue { ptr, i32 } %1999, 1
  store i32 %2001, ptr %14, align 4
  br label %2021

2002:                                             ; preds = %1993
  %2003 = landingpad { ptr, i32 }
          cleanup
  %2004 = extractvalue { ptr, i32 } %2003, 0
  store ptr %2004, ptr %13, align 8
  %2005 = extractvalue { ptr, i32 } %2003, 1
  store i32 %2005, ptr %14, align 4
  br label %2020

2006:                                             ; preds = %1994
  %2007 = landingpad { ptr, i32 }
          cleanup
  %2008 = extractvalue { ptr, i32 } %2007, 0
  store ptr %2008, ptr %13, align 8
  %2009 = extractvalue { ptr, i32 } %2007, 1
  store i32 %2009, ptr %14, align 4
  br label %2019

2010:                                             ; preds = %1995
  %2011 = landingpad { ptr, i32 }
          cleanup
  %2012 = extractvalue { ptr, i32 } %2011, 0
  store ptr %2012, ptr %13, align 8
  %2013 = extractvalue { ptr, i32 } %2011, 1
  store i32 %2013, ptr %14, align 4
  br label %2018

2014:                                             ; preds = %1997, %1996
  %2015 = landingpad { ptr, i32 }
          cleanup
  %2016 = extractvalue { ptr, i32 } %2015, 0
  store ptr %2016, ptr %13, align 8
  %2017 = extractvalue { ptr, i32 } %2015, 1
  store i32 %2017, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #6
  br label %2018

2018:                                             ; preds = %2014, %2010
  call void @llvm.lifetime.end.p0(i64 32, ptr %195) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #6
  br label %2019

2019:                                             ; preds = %2018, %2006
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %194) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %194) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #6
  br label %2020

2020:                                             ; preds = %2019, %2002
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %192) #6
  br label %2021

2021:                                             ; preds = %2020, %1998
  call void @llvm.lifetime.end.p0(i64 32, ptr %192) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %191) #6
  %2022 = load i1, ptr %196, align 1
  br i1 %2022, label %2023, label %2024

2023:                                             ; preds = %2021
  call void @__cxa_free_exception(ptr %1992) #6
  br label %2024

2024:                                             ; preds = %2023, %2021
  br label %3032

2025:                                             ; preds = %1985, %1944, %1903, %1862, %1821
  br label %3031

2026:                                             ; preds = %327
  %2027 = load i32, ptr %10, align 4, !tbaa !9
  switch i32 %2027, label %2233 [
    i32 1, label %2028
    i32 2, label %2069
    i32 3, label %2110
    i32 4, label %2151
    i32 5, label %2192
  ]

2028:                                             ; preds = %2026
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #6
  store i32 1, ptr %197, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #6
  store i32 0, ptr %198, align 4, !tbaa !9
  br label %2029

2029:                                             ; preds = %2049, %2028
  %2030 = load i32, ptr %198, align 4, !tbaa !9
  %2031 = load i32, ptr %9, align 4, !tbaa !9
  %2032 = icmp slt i32 %2030, %2031
  br i1 %2032, label %2034, label %2033

2033:                                             ; preds = %2029
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #6
  br label %2061

2034:                                             ; preds = %2029
  %2035 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %200) #6
  %2036 = getelementptr inbounds %class.anon.869, ptr %200, i32 0, i32 0
  store ptr %308, ptr %2036, align 8, !tbaa !152
  %2037 = getelementptr inbounds %class.anon.869, ptr %200, i32 0, i32 1
  %2038 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2038, ptr %2037, align 8, !tbaa !5
  %2039 = getelementptr inbounds %class.anon.869, ptr %200, i32 0, i32 2
  %2040 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2040, ptr %2039, align 8, !tbaa !5
  %2041 = getelementptr inbounds %class.anon.869, ptr %200, i32 0, i32 3
  %2042 = load i32, ptr %198, align 4, !tbaa !9
  store i32 %2042, ptr %2041, align 8, !tbaa !154
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_35vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %199, ptr noundef nonnull align 8 dereferenceable(28) %200)
          to label %2043 unwind label %2052

2043:                                             ; preds = %2034
  %2044 = load i32, ptr %198, align 4, !tbaa !9
  %2045 = sext i32 %2044 to i64
  %2046 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2045)
          to label %2047 unwind label %2056

2047:                                             ; preds = %2043
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2035, ptr noundef %199, i64 noundef %2046, i1 noundef zeroext false)
          to label %2048 unwind label %2056

2048:                                             ; preds = %2047
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %199) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %200) #6
  br label %2049

2049:                                             ; preds = %2048
  %2050 = load i32, ptr %198, align 4, !tbaa !9
  %2051 = add nsw i32 %2050, 1
  store i32 %2051, ptr %198, align 4, !tbaa !9
  br label %2029, !llvm.loop !155

2052:                                             ; preds = %2034
  %2053 = landingpad { ptr, i32 }
          cleanup
  %2054 = extractvalue { ptr, i32 } %2053, 0
  store ptr %2054, ptr %13, align 8
  %2055 = extractvalue { ptr, i32 } %2053, 1
  store i32 %2055, ptr %14, align 4
  br label %2060

2056:                                             ; preds = %2047, %2043
  %2057 = landingpad { ptr, i32 }
          cleanup
  %2058 = extractvalue { ptr, i32 } %2057, 0
  store ptr %2058, ptr %13, align 8
  %2059 = extractvalue { ptr, i32 } %2057, 1
  store i32 %2059, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %199) #6
  br label %2060

2060:                                             ; preds = %2056, %2052
  call void @llvm.lifetime.end.p0(i64 32, ptr %200) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #6
  br label %2068

2061:                                             ; preds = %2033
  %2062 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2062, i1 noundef zeroext true)
          to label %2063 unwind label %2064

2063:                                             ; preds = %2061
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #6
  br label %2267

2064:                                             ; preds = %2061
  %2065 = landingpad { ptr, i32 }
          cleanup
  %2066 = extractvalue { ptr, i32 } %2065, 0
  store ptr %2066, ptr %13, align 8
  %2067 = extractvalue { ptr, i32 } %2065, 1
  store i32 %2067, ptr %14, align 4
  br label %2068

2068:                                             ; preds = %2064, %2060
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #6
  br label %3032

2069:                                             ; preds = %2026
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #6
  store i32 2, ptr %201, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #6
  store i32 0, ptr %202, align 4, !tbaa !9
  br label %2070

2070:                                             ; preds = %2090, %2069
  %2071 = load i32, ptr %202, align 4, !tbaa !9
  %2072 = load i32, ptr %9, align 4, !tbaa !9
  %2073 = icmp slt i32 %2071, %2072
  br i1 %2073, label %2075, label %2074

2074:                                             ; preds = %2070
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #6
  br label %2102

2075:                                             ; preds = %2070
  %2076 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %204) #6
  %2077 = getelementptr inbounds %class.anon.871, ptr %204, i32 0, i32 0
  store ptr %308, ptr %2077, align 8, !tbaa !156
  %2078 = getelementptr inbounds %class.anon.871, ptr %204, i32 0, i32 1
  %2079 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2079, ptr %2078, align 8, !tbaa !5
  %2080 = getelementptr inbounds %class.anon.871, ptr %204, i32 0, i32 2
  %2081 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2081, ptr %2080, align 8, !tbaa !5
  %2082 = getelementptr inbounds %class.anon.871, ptr %204, i32 0, i32 3
  %2083 = load i32, ptr %202, align 4, !tbaa !9
  store i32 %2083, ptr %2082, align 8, !tbaa !158
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_36vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %203, ptr noundef nonnull align 8 dereferenceable(28) %204)
          to label %2084 unwind label %2093

2084:                                             ; preds = %2075
  %2085 = load i32, ptr %202, align 4, !tbaa !9
  %2086 = sext i32 %2085 to i64
  %2087 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2086)
          to label %2088 unwind label %2097

2088:                                             ; preds = %2084
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2076, ptr noundef %203, i64 noundef %2087, i1 noundef zeroext false)
          to label %2089 unwind label %2097

2089:                                             ; preds = %2088
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %203) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %204) #6
  br label %2090

2090:                                             ; preds = %2089
  %2091 = load i32, ptr %202, align 4, !tbaa !9
  %2092 = add nsw i32 %2091, 1
  store i32 %2092, ptr %202, align 4, !tbaa !9
  br label %2070, !llvm.loop !159

2093:                                             ; preds = %2075
  %2094 = landingpad { ptr, i32 }
          cleanup
  %2095 = extractvalue { ptr, i32 } %2094, 0
  store ptr %2095, ptr %13, align 8
  %2096 = extractvalue { ptr, i32 } %2094, 1
  store i32 %2096, ptr %14, align 4
  br label %2101

2097:                                             ; preds = %2088, %2084
  %2098 = landingpad { ptr, i32 }
          cleanup
  %2099 = extractvalue { ptr, i32 } %2098, 0
  store ptr %2099, ptr %13, align 8
  %2100 = extractvalue { ptr, i32 } %2098, 1
  store i32 %2100, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %203) #6
  br label %2101

2101:                                             ; preds = %2097, %2093
  call void @llvm.lifetime.end.p0(i64 32, ptr %204) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #6
  br label %2109

2102:                                             ; preds = %2074
  %2103 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2103, i1 noundef zeroext true)
          to label %2104 unwind label %2105

2104:                                             ; preds = %2102
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #6
  br label %2267

2105:                                             ; preds = %2102
  %2106 = landingpad { ptr, i32 }
          cleanup
  %2107 = extractvalue { ptr, i32 } %2106, 0
  store ptr %2107, ptr %13, align 8
  %2108 = extractvalue { ptr, i32 } %2106, 1
  store i32 %2108, ptr %14, align 4
  br label %2109

2109:                                             ; preds = %2105, %2101
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #6
  br label %3032

2110:                                             ; preds = %2026
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #6
  store i32 3, ptr %205, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #6
  store i32 0, ptr %206, align 4, !tbaa !9
  br label %2111

2111:                                             ; preds = %2131, %2110
  %2112 = load i32, ptr %206, align 4, !tbaa !9
  %2113 = load i32, ptr %9, align 4, !tbaa !9
  %2114 = icmp slt i32 %2112, %2113
  br i1 %2114, label %2116, label %2115

2115:                                             ; preds = %2111
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #6
  br label %2143

2116:                                             ; preds = %2111
  %2117 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %208) #6
  %2118 = getelementptr inbounds %class.anon.873, ptr %208, i32 0, i32 0
  store ptr %308, ptr %2118, align 8, !tbaa !160
  %2119 = getelementptr inbounds %class.anon.873, ptr %208, i32 0, i32 1
  %2120 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2120, ptr %2119, align 8, !tbaa !5
  %2121 = getelementptr inbounds %class.anon.873, ptr %208, i32 0, i32 2
  %2122 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2122, ptr %2121, align 8, !tbaa !5
  %2123 = getelementptr inbounds %class.anon.873, ptr %208, i32 0, i32 3
  %2124 = load i32, ptr %206, align 4, !tbaa !9
  store i32 %2124, ptr %2123, align 8, !tbaa !162
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_37vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %207, ptr noundef nonnull align 8 dereferenceable(28) %208)
          to label %2125 unwind label %2134

2125:                                             ; preds = %2116
  %2126 = load i32, ptr %206, align 4, !tbaa !9
  %2127 = sext i32 %2126 to i64
  %2128 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2127)
          to label %2129 unwind label %2138

2129:                                             ; preds = %2125
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2117, ptr noundef %207, i64 noundef %2128, i1 noundef zeroext false)
          to label %2130 unwind label %2138

2130:                                             ; preds = %2129
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %207) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %208) #6
  br label %2131

2131:                                             ; preds = %2130
  %2132 = load i32, ptr %206, align 4, !tbaa !9
  %2133 = add nsw i32 %2132, 1
  store i32 %2133, ptr %206, align 4, !tbaa !9
  br label %2111, !llvm.loop !163

2134:                                             ; preds = %2116
  %2135 = landingpad { ptr, i32 }
          cleanup
  %2136 = extractvalue { ptr, i32 } %2135, 0
  store ptr %2136, ptr %13, align 8
  %2137 = extractvalue { ptr, i32 } %2135, 1
  store i32 %2137, ptr %14, align 4
  br label %2142

2138:                                             ; preds = %2129, %2125
  %2139 = landingpad { ptr, i32 }
          cleanup
  %2140 = extractvalue { ptr, i32 } %2139, 0
  store ptr %2140, ptr %13, align 8
  %2141 = extractvalue { ptr, i32 } %2139, 1
  store i32 %2141, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %207) #6
  br label %2142

2142:                                             ; preds = %2138, %2134
  call void @llvm.lifetime.end.p0(i64 32, ptr %208) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #6
  br label %2150

2143:                                             ; preds = %2115
  %2144 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2144, i1 noundef zeroext true)
          to label %2145 unwind label %2146

2145:                                             ; preds = %2143
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #6
  br label %2267

2146:                                             ; preds = %2143
  %2147 = landingpad { ptr, i32 }
          cleanup
  %2148 = extractvalue { ptr, i32 } %2147, 0
  store ptr %2148, ptr %13, align 8
  %2149 = extractvalue { ptr, i32 } %2147, 1
  store i32 %2149, ptr %14, align 4
  br label %2150

2150:                                             ; preds = %2146, %2142
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #6
  br label %3032

2151:                                             ; preds = %2026
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #6
  store i32 4, ptr %209, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #6
  store i32 0, ptr %210, align 4, !tbaa !9
  br label %2152

2152:                                             ; preds = %2172, %2151
  %2153 = load i32, ptr %210, align 4, !tbaa !9
  %2154 = load i32, ptr %9, align 4, !tbaa !9
  %2155 = icmp slt i32 %2153, %2154
  br i1 %2155, label %2157, label %2156

2156:                                             ; preds = %2152
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #6
  br label %2184

2157:                                             ; preds = %2152
  %2158 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %212) #6
  %2159 = getelementptr inbounds %class.anon.875, ptr %212, i32 0, i32 0
  store ptr %308, ptr %2159, align 8, !tbaa !164
  %2160 = getelementptr inbounds %class.anon.875, ptr %212, i32 0, i32 1
  %2161 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2161, ptr %2160, align 8, !tbaa !5
  %2162 = getelementptr inbounds %class.anon.875, ptr %212, i32 0, i32 2
  %2163 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2163, ptr %2162, align 8, !tbaa !5
  %2164 = getelementptr inbounds %class.anon.875, ptr %212, i32 0, i32 3
  %2165 = load i32, ptr %210, align 4, !tbaa !9
  store i32 %2165, ptr %2164, align 8, !tbaa !166
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_38vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %211, ptr noundef nonnull align 8 dereferenceable(28) %212)
          to label %2166 unwind label %2175

2166:                                             ; preds = %2157
  %2167 = load i32, ptr %210, align 4, !tbaa !9
  %2168 = sext i32 %2167 to i64
  %2169 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2168)
          to label %2170 unwind label %2179

2170:                                             ; preds = %2166
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2158, ptr noundef %211, i64 noundef %2169, i1 noundef zeroext false)
          to label %2171 unwind label %2179

2171:                                             ; preds = %2170
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %211) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %212) #6
  br label %2172

2172:                                             ; preds = %2171
  %2173 = load i32, ptr %210, align 4, !tbaa !9
  %2174 = add nsw i32 %2173, 1
  store i32 %2174, ptr %210, align 4, !tbaa !9
  br label %2152, !llvm.loop !167

2175:                                             ; preds = %2157
  %2176 = landingpad { ptr, i32 }
          cleanup
  %2177 = extractvalue { ptr, i32 } %2176, 0
  store ptr %2177, ptr %13, align 8
  %2178 = extractvalue { ptr, i32 } %2176, 1
  store i32 %2178, ptr %14, align 4
  br label %2183

2179:                                             ; preds = %2170, %2166
  %2180 = landingpad { ptr, i32 }
          cleanup
  %2181 = extractvalue { ptr, i32 } %2180, 0
  store ptr %2181, ptr %13, align 8
  %2182 = extractvalue { ptr, i32 } %2180, 1
  store i32 %2182, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %211) #6
  br label %2183

2183:                                             ; preds = %2179, %2175
  call void @llvm.lifetime.end.p0(i64 32, ptr %212) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #6
  br label %2191

2184:                                             ; preds = %2156
  %2185 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2185, i1 noundef zeroext true)
          to label %2186 unwind label %2187

2186:                                             ; preds = %2184
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #6
  br label %2267

2187:                                             ; preds = %2184
  %2188 = landingpad { ptr, i32 }
          cleanup
  %2189 = extractvalue { ptr, i32 } %2188, 0
  store ptr %2189, ptr %13, align 8
  %2190 = extractvalue { ptr, i32 } %2188, 1
  store i32 %2190, ptr %14, align 4
  br label %2191

2191:                                             ; preds = %2187, %2183
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #6
  br label %3032

2192:                                             ; preds = %2026
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #6
  store i32 5, ptr %213, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #6
  store i32 0, ptr %214, align 4, !tbaa !9
  br label %2193

2193:                                             ; preds = %2213, %2192
  %2194 = load i32, ptr %214, align 4, !tbaa !9
  %2195 = load i32, ptr %9, align 4, !tbaa !9
  %2196 = icmp slt i32 %2194, %2195
  br i1 %2196, label %2198, label %2197

2197:                                             ; preds = %2193
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #6
  br label %2225

2198:                                             ; preds = %2193
  %2199 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %216) #6
  %2200 = getelementptr inbounds %class.anon.877, ptr %216, i32 0, i32 0
  store ptr %308, ptr %2200, align 8, !tbaa !168
  %2201 = getelementptr inbounds %class.anon.877, ptr %216, i32 0, i32 1
  %2202 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2202, ptr %2201, align 8, !tbaa !5
  %2203 = getelementptr inbounds %class.anon.877, ptr %216, i32 0, i32 2
  %2204 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2204, ptr %2203, align 8, !tbaa !5
  %2205 = getelementptr inbounds %class.anon.877, ptr %216, i32 0, i32 3
  %2206 = load i32, ptr %214, align 4, !tbaa !9
  store i32 %2206, ptr %2205, align 8, !tbaa !170
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_39vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %215, ptr noundef nonnull align 8 dereferenceable(28) %216)
          to label %2207 unwind label %2216

2207:                                             ; preds = %2198
  %2208 = load i32, ptr %214, align 4, !tbaa !9
  %2209 = sext i32 %2208 to i64
  %2210 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2209)
          to label %2211 unwind label %2220

2211:                                             ; preds = %2207
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2199, ptr noundef %215, i64 noundef %2210, i1 noundef zeroext false)
          to label %2212 unwind label %2220

2212:                                             ; preds = %2211
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %215) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %216) #6
  br label %2213

2213:                                             ; preds = %2212
  %2214 = load i32, ptr %214, align 4, !tbaa !9
  %2215 = add nsw i32 %2214, 1
  store i32 %2215, ptr %214, align 4, !tbaa !9
  br label %2193, !llvm.loop !171

2216:                                             ; preds = %2198
  %2217 = landingpad { ptr, i32 }
          cleanup
  %2218 = extractvalue { ptr, i32 } %2217, 0
  store ptr %2218, ptr %13, align 8
  %2219 = extractvalue { ptr, i32 } %2217, 1
  store i32 %2219, ptr %14, align 4
  br label %2224

2220:                                             ; preds = %2211, %2207
  %2221 = landingpad { ptr, i32 }
          cleanup
  %2222 = extractvalue { ptr, i32 } %2221, 0
  store ptr %2222, ptr %13, align 8
  %2223 = extractvalue { ptr, i32 } %2221, 1
  store i32 %2223, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %215) #6
  br label %2224

2224:                                             ; preds = %2220, %2216
  call void @llvm.lifetime.end.p0(i64 32, ptr %216) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #6
  br label %2232

2225:                                             ; preds = %2197
  %2226 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2226, i1 noundef zeroext true)
          to label %2227 unwind label %2228

2227:                                             ; preds = %2225
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #6
  br label %2267

2228:                                             ; preds = %2225
  %2229 = landingpad { ptr, i32 }
          cleanup
  %2230 = extractvalue { ptr, i32 } %2229, 0
  store ptr %2230, ptr %13, align 8
  %2231 = extractvalue { ptr, i32 } %2229, 1
  store i32 %2231, ptr %14, align 4
  br label %2232

2232:                                             ; preds = %2228, %2224
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #6
  br label %3032

2233:                                             ; preds = %2026
  store i1 true, ptr %222, align 1
  %2234 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %217) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %218) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %218, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %2235 unwind label %2240

2235:                                             ; preds = %2233
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %217, ptr noundef nonnull align 8 dereferenceable(32) %218)
          to label %2236 unwind label %2244

2236:                                             ; preds = %2235
  call void @llvm.lifetime.start.p0(i64 1, ptr %220) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %220) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %219, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %220)
          to label %2237 unwind label %2248

2237:                                             ; preds = %2236
  call void @llvm.lifetime.start.p0(i64 32, ptr %221) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %221)
          to label %2238 unwind label %2252

2238:                                             ; preds = %2237
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %2234, ptr noundef nonnull align 8 dereferenceable(32) %217, ptr noundef %219, ptr noundef nonnull align 8 dereferenceable(32) %221)
          to label %2239 unwind label %2256

2239:                                             ; preds = %2238
  store i1 false, ptr %222, align 1
  invoke void @__cxa_throw(ptr %2234, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %3038 unwind label %2256

2240:                                             ; preds = %2233
  %2241 = landingpad { ptr, i32 }
          cleanup
  %2242 = extractvalue { ptr, i32 } %2241, 0
  store ptr %2242, ptr %13, align 8
  %2243 = extractvalue { ptr, i32 } %2241, 1
  store i32 %2243, ptr %14, align 4
  br label %2263

2244:                                             ; preds = %2235
  %2245 = landingpad { ptr, i32 }
          cleanup
  %2246 = extractvalue { ptr, i32 } %2245, 0
  store ptr %2246, ptr %13, align 8
  %2247 = extractvalue { ptr, i32 } %2245, 1
  store i32 %2247, ptr %14, align 4
  br label %2262

2248:                                             ; preds = %2236
  %2249 = landingpad { ptr, i32 }
          cleanup
  %2250 = extractvalue { ptr, i32 } %2249, 0
  store ptr %2250, ptr %13, align 8
  %2251 = extractvalue { ptr, i32 } %2249, 1
  store i32 %2251, ptr %14, align 4
  br label %2261

2252:                                             ; preds = %2237
  %2253 = landingpad { ptr, i32 }
          cleanup
  %2254 = extractvalue { ptr, i32 } %2253, 0
  store ptr %2254, ptr %13, align 8
  %2255 = extractvalue { ptr, i32 } %2253, 1
  store i32 %2255, ptr %14, align 4
  br label %2260

2256:                                             ; preds = %2239, %2238
  %2257 = landingpad { ptr, i32 }
          cleanup
  %2258 = extractvalue { ptr, i32 } %2257, 0
  store ptr %2258, ptr %13, align 8
  %2259 = extractvalue { ptr, i32 } %2257, 1
  store i32 %2259, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %221) #6
  br label %2260

2260:                                             ; preds = %2256, %2252
  call void @llvm.lifetime.end.p0(i64 32, ptr %221) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %219) #6
  br label %2261

2261:                                             ; preds = %2260, %2248
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %220) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %220) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %217) #6
  br label %2262

2262:                                             ; preds = %2261, %2244
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %218) #6
  br label %2263

2263:                                             ; preds = %2262, %2240
  call void @llvm.lifetime.end.p0(i64 32, ptr %218) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %217) #6
  %2264 = load i1, ptr %222, align 1
  br i1 %2264, label %2265, label %2266

2265:                                             ; preds = %2263
  call void @__cxa_free_exception(ptr %2234) #6
  br label %2266

2266:                                             ; preds = %2265, %2263
  br label %3032

2267:                                             ; preds = %2227, %2186, %2145, %2104, %2063
  br label %3031

2268:                                             ; preds = %327
  %2269 = load i32, ptr %10, align 4, !tbaa !9
  switch i32 %2269, label %2475 [
    i32 1, label %2270
    i32 2, label %2311
    i32 3, label %2352
    i32 4, label %2393
    i32 5, label %2434
  ]

2270:                                             ; preds = %2268
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #6
  store i32 1, ptr %223, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #6
  store i32 0, ptr %224, align 4, !tbaa !9
  br label %2271

2271:                                             ; preds = %2291, %2270
  %2272 = load i32, ptr %224, align 4, !tbaa !9
  %2273 = load i32, ptr %9, align 4, !tbaa !9
  %2274 = icmp slt i32 %2272, %2273
  br i1 %2274, label %2276, label %2275

2275:                                             ; preds = %2271
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #6
  br label %2303

2276:                                             ; preds = %2271
  %2277 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %226) #6
  %2278 = getelementptr inbounds %class.anon.879, ptr %226, i32 0, i32 0
  store ptr %308, ptr %2278, align 8, !tbaa !172
  %2279 = getelementptr inbounds %class.anon.879, ptr %226, i32 0, i32 1
  %2280 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2280, ptr %2279, align 8, !tbaa !5
  %2281 = getelementptr inbounds %class.anon.879, ptr %226, i32 0, i32 2
  %2282 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2282, ptr %2281, align 8, !tbaa !5
  %2283 = getelementptr inbounds %class.anon.879, ptr %226, i32 0, i32 3
  %2284 = load i32, ptr %224, align 4, !tbaa !9
  store i32 %2284, ptr %2283, align 8, !tbaa !174
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_40vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %225, ptr noundef nonnull align 8 dereferenceable(28) %226)
          to label %2285 unwind label %2294

2285:                                             ; preds = %2276
  %2286 = load i32, ptr %224, align 4, !tbaa !9
  %2287 = sext i32 %2286 to i64
  %2288 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2287)
          to label %2289 unwind label %2298

2289:                                             ; preds = %2285
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2277, ptr noundef %225, i64 noundef %2288, i1 noundef zeroext false)
          to label %2290 unwind label %2298

2290:                                             ; preds = %2289
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %225) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %226) #6
  br label %2291

2291:                                             ; preds = %2290
  %2292 = load i32, ptr %224, align 4, !tbaa !9
  %2293 = add nsw i32 %2292, 1
  store i32 %2293, ptr %224, align 4, !tbaa !9
  br label %2271, !llvm.loop !175

2294:                                             ; preds = %2276
  %2295 = landingpad { ptr, i32 }
          cleanup
  %2296 = extractvalue { ptr, i32 } %2295, 0
  store ptr %2296, ptr %13, align 8
  %2297 = extractvalue { ptr, i32 } %2295, 1
  store i32 %2297, ptr %14, align 4
  br label %2302

2298:                                             ; preds = %2289, %2285
  %2299 = landingpad { ptr, i32 }
          cleanup
  %2300 = extractvalue { ptr, i32 } %2299, 0
  store ptr %2300, ptr %13, align 8
  %2301 = extractvalue { ptr, i32 } %2299, 1
  store i32 %2301, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %225) #6
  br label %2302

2302:                                             ; preds = %2298, %2294
  call void @llvm.lifetime.end.p0(i64 32, ptr %226) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #6
  br label %2310

2303:                                             ; preds = %2275
  %2304 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2304, i1 noundef zeroext true)
          to label %2305 unwind label %2306

2305:                                             ; preds = %2303
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #6
  br label %2509

2306:                                             ; preds = %2303
  %2307 = landingpad { ptr, i32 }
          cleanup
  %2308 = extractvalue { ptr, i32 } %2307, 0
  store ptr %2308, ptr %13, align 8
  %2309 = extractvalue { ptr, i32 } %2307, 1
  store i32 %2309, ptr %14, align 4
  br label %2310

2310:                                             ; preds = %2306, %2302
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #6
  br label %3032

2311:                                             ; preds = %2268
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #6
  store i32 2, ptr %227, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #6
  store i32 0, ptr %228, align 4, !tbaa !9
  br label %2312

2312:                                             ; preds = %2332, %2311
  %2313 = load i32, ptr %228, align 4, !tbaa !9
  %2314 = load i32, ptr %9, align 4, !tbaa !9
  %2315 = icmp slt i32 %2313, %2314
  br i1 %2315, label %2317, label %2316

2316:                                             ; preds = %2312
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #6
  br label %2344

2317:                                             ; preds = %2312
  %2318 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %230) #6
  %2319 = getelementptr inbounds %class.anon.881, ptr %230, i32 0, i32 0
  store ptr %308, ptr %2319, align 8, !tbaa !176
  %2320 = getelementptr inbounds %class.anon.881, ptr %230, i32 0, i32 1
  %2321 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2321, ptr %2320, align 8, !tbaa !5
  %2322 = getelementptr inbounds %class.anon.881, ptr %230, i32 0, i32 2
  %2323 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2323, ptr %2322, align 8, !tbaa !5
  %2324 = getelementptr inbounds %class.anon.881, ptr %230, i32 0, i32 3
  %2325 = load i32, ptr %228, align 4, !tbaa !9
  store i32 %2325, ptr %2324, align 8, !tbaa !178
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_41vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %229, ptr noundef nonnull align 8 dereferenceable(28) %230)
          to label %2326 unwind label %2335

2326:                                             ; preds = %2317
  %2327 = load i32, ptr %228, align 4, !tbaa !9
  %2328 = sext i32 %2327 to i64
  %2329 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2328)
          to label %2330 unwind label %2339

2330:                                             ; preds = %2326
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2318, ptr noundef %229, i64 noundef %2329, i1 noundef zeroext false)
          to label %2331 unwind label %2339

2331:                                             ; preds = %2330
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %229) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %230) #6
  br label %2332

2332:                                             ; preds = %2331
  %2333 = load i32, ptr %228, align 4, !tbaa !9
  %2334 = add nsw i32 %2333, 1
  store i32 %2334, ptr %228, align 4, !tbaa !9
  br label %2312, !llvm.loop !179

2335:                                             ; preds = %2317
  %2336 = landingpad { ptr, i32 }
          cleanup
  %2337 = extractvalue { ptr, i32 } %2336, 0
  store ptr %2337, ptr %13, align 8
  %2338 = extractvalue { ptr, i32 } %2336, 1
  store i32 %2338, ptr %14, align 4
  br label %2343

2339:                                             ; preds = %2330, %2326
  %2340 = landingpad { ptr, i32 }
          cleanup
  %2341 = extractvalue { ptr, i32 } %2340, 0
  store ptr %2341, ptr %13, align 8
  %2342 = extractvalue { ptr, i32 } %2340, 1
  store i32 %2342, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %229) #6
  br label %2343

2343:                                             ; preds = %2339, %2335
  call void @llvm.lifetime.end.p0(i64 32, ptr %230) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #6
  br label %2351

2344:                                             ; preds = %2316
  %2345 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2345, i1 noundef zeroext true)
          to label %2346 unwind label %2347

2346:                                             ; preds = %2344
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #6
  br label %2509

2347:                                             ; preds = %2344
  %2348 = landingpad { ptr, i32 }
          cleanup
  %2349 = extractvalue { ptr, i32 } %2348, 0
  store ptr %2349, ptr %13, align 8
  %2350 = extractvalue { ptr, i32 } %2348, 1
  store i32 %2350, ptr %14, align 4
  br label %2351

2351:                                             ; preds = %2347, %2343
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #6
  br label %3032

2352:                                             ; preds = %2268
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #6
  store i32 3, ptr %231, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #6
  store i32 0, ptr %232, align 4, !tbaa !9
  br label %2353

2353:                                             ; preds = %2373, %2352
  %2354 = load i32, ptr %232, align 4, !tbaa !9
  %2355 = load i32, ptr %9, align 4, !tbaa !9
  %2356 = icmp slt i32 %2354, %2355
  br i1 %2356, label %2358, label %2357

2357:                                             ; preds = %2353
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #6
  br label %2385

2358:                                             ; preds = %2353
  %2359 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %234) #6
  %2360 = getelementptr inbounds %class.anon.883, ptr %234, i32 0, i32 0
  store ptr %308, ptr %2360, align 8, !tbaa !180
  %2361 = getelementptr inbounds %class.anon.883, ptr %234, i32 0, i32 1
  %2362 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2362, ptr %2361, align 8, !tbaa !5
  %2363 = getelementptr inbounds %class.anon.883, ptr %234, i32 0, i32 2
  %2364 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2364, ptr %2363, align 8, !tbaa !5
  %2365 = getelementptr inbounds %class.anon.883, ptr %234, i32 0, i32 3
  %2366 = load i32, ptr %232, align 4, !tbaa !9
  store i32 %2366, ptr %2365, align 8, !tbaa !182
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_42vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %233, ptr noundef nonnull align 8 dereferenceable(28) %234)
          to label %2367 unwind label %2376

2367:                                             ; preds = %2358
  %2368 = load i32, ptr %232, align 4, !tbaa !9
  %2369 = sext i32 %2368 to i64
  %2370 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2369)
          to label %2371 unwind label %2380

2371:                                             ; preds = %2367
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2359, ptr noundef %233, i64 noundef %2370, i1 noundef zeroext false)
          to label %2372 unwind label %2380

2372:                                             ; preds = %2371
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %233) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %234) #6
  br label %2373

2373:                                             ; preds = %2372
  %2374 = load i32, ptr %232, align 4, !tbaa !9
  %2375 = add nsw i32 %2374, 1
  store i32 %2375, ptr %232, align 4, !tbaa !9
  br label %2353, !llvm.loop !183

2376:                                             ; preds = %2358
  %2377 = landingpad { ptr, i32 }
          cleanup
  %2378 = extractvalue { ptr, i32 } %2377, 0
  store ptr %2378, ptr %13, align 8
  %2379 = extractvalue { ptr, i32 } %2377, 1
  store i32 %2379, ptr %14, align 4
  br label %2384

2380:                                             ; preds = %2371, %2367
  %2381 = landingpad { ptr, i32 }
          cleanup
  %2382 = extractvalue { ptr, i32 } %2381, 0
  store ptr %2382, ptr %13, align 8
  %2383 = extractvalue { ptr, i32 } %2381, 1
  store i32 %2383, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %233) #6
  br label %2384

2384:                                             ; preds = %2380, %2376
  call void @llvm.lifetime.end.p0(i64 32, ptr %234) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #6
  br label %2392

2385:                                             ; preds = %2357
  %2386 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2386, i1 noundef zeroext true)
          to label %2387 unwind label %2388

2387:                                             ; preds = %2385
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #6
  br label %2509

2388:                                             ; preds = %2385
  %2389 = landingpad { ptr, i32 }
          cleanup
  %2390 = extractvalue { ptr, i32 } %2389, 0
  store ptr %2390, ptr %13, align 8
  %2391 = extractvalue { ptr, i32 } %2389, 1
  store i32 %2391, ptr %14, align 4
  br label %2392

2392:                                             ; preds = %2388, %2384
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #6
  br label %3032

2393:                                             ; preds = %2268
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #6
  store i32 4, ptr %235, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #6
  store i32 0, ptr %236, align 4, !tbaa !9
  br label %2394

2394:                                             ; preds = %2414, %2393
  %2395 = load i32, ptr %236, align 4, !tbaa !9
  %2396 = load i32, ptr %9, align 4, !tbaa !9
  %2397 = icmp slt i32 %2395, %2396
  br i1 %2397, label %2399, label %2398

2398:                                             ; preds = %2394
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #6
  br label %2426

2399:                                             ; preds = %2394
  %2400 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %238) #6
  %2401 = getelementptr inbounds %class.anon.885, ptr %238, i32 0, i32 0
  store ptr %308, ptr %2401, align 8, !tbaa !184
  %2402 = getelementptr inbounds %class.anon.885, ptr %238, i32 0, i32 1
  %2403 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2403, ptr %2402, align 8, !tbaa !5
  %2404 = getelementptr inbounds %class.anon.885, ptr %238, i32 0, i32 2
  %2405 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2405, ptr %2404, align 8, !tbaa !5
  %2406 = getelementptr inbounds %class.anon.885, ptr %238, i32 0, i32 3
  %2407 = load i32, ptr %236, align 4, !tbaa !9
  store i32 %2407, ptr %2406, align 8, !tbaa !186
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_43vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %237, ptr noundef nonnull align 8 dereferenceable(28) %238)
          to label %2408 unwind label %2417

2408:                                             ; preds = %2399
  %2409 = load i32, ptr %236, align 4, !tbaa !9
  %2410 = sext i32 %2409 to i64
  %2411 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2410)
          to label %2412 unwind label %2421

2412:                                             ; preds = %2408
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2400, ptr noundef %237, i64 noundef %2411, i1 noundef zeroext false)
          to label %2413 unwind label %2421

2413:                                             ; preds = %2412
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %237) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %238) #6
  br label %2414

2414:                                             ; preds = %2413
  %2415 = load i32, ptr %236, align 4, !tbaa !9
  %2416 = add nsw i32 %2415, 1
  store i32 %2416, ptr %236, align 4, !tbaa !9
  br label %2394, !llvm.loop !187

2417:                                             ; preds = %2399
  %2418 = landingpad { ptr, i32 }
          cleanup
  %2419 = extractvalue { ptr, i32 } %2418, 0
  store ptr %2419, ptr %13, align 8
  %2420 = extractvalue { ptr, i32 } %2418, 1
  store i32 %2420, ptr %14, align 4
  br label %2425

2421:                                             ; preds = %2412, %2408
  %2422 = landingpad { ptr, i32 }
          cleanup
  %2423 = extractvalue { ptr, i32 } %2422, 0
  store ptr %2423, ptr %13, align 8
  %2424 = extractvalue { ptr, i32 } %2422, 1
  store i32 %2424, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %237) #6
  br label %2425

2425:                                             ; preds = %2421, %2417
  call void @llvm.lifetime.end.p0(i64 32, ptr %238) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #6
  br label %2433

2426:                                             ; preds = %2398
  %2427 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2427, i1 noundef zeroext true)
          to label %2428 unwind label %2429

2428:                                             ; preds = %2426
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #6
  br label %2509

2429:                                             ; preds = %2426
  %2430 = landingpad { ptr, i32 }
          cleanup
  %2431 = extractvalue { ptr, i32 } %2430, 0
  store ptr %2431, ptr %13, align 8
  %2432 = extractvalue { ptr, i32 } %2430, 1
  store i32 %2432, ptr %14, align 4
  br label %2433

2433:                                             ; preds = %2429, %2425
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #6
  br label %3032

2434:                                             ; preds = %2268
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #6
  store i32 5, ptr %239, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #6
  store i32 0, ptr %240, align 4, !tbaa !9
  br label %2435

2435:                                             ; preds = %2455, %2434
  %2436 = load i32, ptr %240, align 4, !tbaa !9
  %2437 = load i32, ptr %9, align 4, !tbaa !9
  %2438 = icmp slt i32 %2436, %2437
  br i1 %2438, label %2440, label %2439

2439:                                             ; preds = %2435
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #6
  br label %2467

2440:                                             ; preds = %2435
  %2441 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %242) #6
  %2442 = getelementptr inbounds %class.anon.887, ptr %242, i32 0, i32 0
  store ptr %308, ptr %2442, align 8, !tbaa !188
  %2443 = getelementptr inbounds %class.anon.887, ptr %242, i32 0, i32 1
  %2444 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2444, ptr %2443, align 8, !tbaa !5
  %2445 = getelementptr inbounds %class.anon.887, ptr %242, i32 0, i32 2
  %2446 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2446, ptr %2445, align 8, !tbaa !5
  %2447 = getelementptr inbounds %class.anon.887, ptr %242, i32 0, i32 3
  %2448 = load i32, ptr %240, align 4, !tbaa !9
  store i32 %2448, ptr %2447, align 8, !tbaa !190
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_44vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %241, ptr noundef nonnull align 8 dereferenceable(28) %242)
          to label %2449 unwind label %2458

2449:                                             ; preds = %2440
  %2450 = load i32, ptr %240, align 4, !tbaa !9
  %2451 = sext i32 %2450 to i64
  %2452 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2451)
          to label %2453 unwind label %2462

2453:                                             ; preds = %2449
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2441, ptr noundef %241, i64 noundef %2452, i1 noundef zeroext false)
          to label %2454 unwind label %2462

2454:                                             ; preds = %2453
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %241) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %242) #6
  br label %2455

2455:                                             ; preds = %2454
  %2456 = load i32, ptr %240, align 4, !tbaa !9
  %2457 = add nsw i32 %2456, 1
  store i32 %2457, ptr %240, align 4, !tbaa !9
  br label %2435, !llvm.loop !191

2458:                                             ; preds = %2440
  %2459 = landingpad { ptr, i32 }
          cleanup
  %2460 = extractvalue { ptr, i32 } %2459, 0
  store ptr %2460, ptr %13, align 8
  %2461 = extractvalue { ptr, i32 } %2459, 1
  store i32 %2461, ptr %14, align 4
  br label %2466

2462:                                             ; preds = %2453, %2449
  %2463 = landingpad { ptr, i32 }
          cleanup
  %2464 = extractvalue { ptr, i32 } %2463, 0
  store ptr %2464, ptr %13, align 8
  %2465 = extractvalue { ptr, i32 } %2463, 1
  store i32 %2465, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %241) #6
  br label %2466

2466:                                             ; preds = %2462, %2458
  call void @llvm.lifetime.end.p0(i64 32, ptr %242) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #6
  br label %2474

2467:                                             ; preds = %2439
  %2468 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2468, i1 noundef zeroext true)
          to label %2469 unwind label %2470

2469:                                             ; preds = %2467
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #6
  br label %2509

2470:                                             ; preds = %2467
  %2471 = landingpad { ptr, i32 }
          cleanup
  %2472 = extractvalue { ptr, i32 } %2471, 0
  store ptr %2472, ptr %13, align 8
  %2473 = extractvalue { ptr, i32 } %2471, 1
  store i32 %2473, ptr %14, align 4
  br label %2474

2474:                                             ; preds = %2470, %2466
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #6
  br label %3032

2475:                                             ; preds = %2268
  store i1 true, ptr %248, align 1
  %2476 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %243) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %244) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %244, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %2477 unwind label %2482

2477:                                             ; preds = %2475
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %243, ptr noundef nonnull align 8 dereferenceable(32) %244)
          to label %2478 unwind label %2486

2478:                                             ; preds = %2477
  call void @llvm.lifetime.start.p0(i64 1, ptr %246) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %246) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %245, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %246)
          to label %2479 unwind label %2490

2479:                                             ; preds = %2478
  call void @llvm.lifetime.start.p0(i64 32, ptr %247) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %247)
          to label %2480 unwind label %2494

2480:                                             ; preds = %2479
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %2476, ptr noundef nonnull align 8 dereferenceable(32) %243, ptr noundef %245, ptr noundef nonnull align 8 dereferenceable(32) %247)
          to label %2481 unwind label %2498

2481:                                             ; preds = %2480
  store i1 false, ptr %248, align 1
  invoke void @__cxa_throw(ptr %2476, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %3038 unwind label %2498

2482:                                             ; preds = %2475
  %2483 = landingpad { ptr, i32 }
          cleanup
  %2484 = extractvalue { ptr, i32 } %2483, 0
  store ptr %2484, ptr %13, align 8
  %2485 = extractvalue { ptr, i32 } %2483, 1
  store i32 %2485, ptr %14, align 4
  br label %2505

2486:                                             ; preds = %2477
  %2487 = landingpad { ptr, i32 }
          cleanup
  %2488 = extractvalue { ptr, i32 } %2487, 0
  store ptr %2488, ptr %13, align 8
  %2489 = extractvalue { ptr, i32 } %2487, 1
  store i32 %2489, ptr %14, align 4
  br label %2504

2490:                                             ; preds = %2478
  %2491 = landingpad { ptr, i32 }
          cleanup
  %2492 = extractvalue { ptr, i32 } %2491, 0
  store ptr %2492, ptr %13, align 8
  %2493 = extractvalue { ptr, i32 } %2491, 1
  store i32 %2493, ptr %14, align 4
  br label %2503

2494:                                             ; preds = %2479
  %2495 = landingpad { ptr, i32 }
          cleanup
  %2496 = extractvalue { ptr, i32 } %2495, 0
  store ptr %2496, ptr %13, align 8
  %2497 = extractvalue { ptr, i32 } %2495, 1
  store i32 %2497, ptr %14, align 4
  br label %2502

2498:                                             ; preds = %2481, %2480
  %2499 = landingpad { ptr, i32 }
          cleanup
  %2500 = extractvalue { ptr, i32 } %2499, 0
  store ptr %2500, ptr %13, align 8
  %2501 = extractvalue { ptr, i32 } %2499, 1
  store i32 %2501, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %247) #6
  br label %2502

2502:                                             ; preds = %2498, %2494
  call void @llvm.lifetime.end.p0(i64 32, ptr %247) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %245) #6
  br label %2503

2503:                                             ; preds = %2502, %2490
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %246) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %246) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %243) #6
  br label %2504

2504:                                             ; preds = %2503, %2486
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %244) #6
  br label %2505

2505:                                             ; preds = %2504, %2482
  call void @llvm.lifetime.end.p0(i64 32, ptr %244) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %243) #6
  %2506 = load i1, ptr %248, align 1
  br i1 %2506, label %2507, label %2508

2507:                                             ; preds = %2505
  call void @__cxa_free_exception(ptr %2476) #6
  br label %2508

2508:                                             ; preds = %2507, %2505
  br label %3032

2509:                                             ; preds = %2469, %2428, %2387, %2346, %2305
  br label %3031

2510:                                             ; preds = %327
  %2511 = load i32, ptr %10, align 4, !tbaa !9
  switch i32 %2511, label %2717 [
    i32 1, label %2512
    i32 2, label %2553
    i32 3, label %2594
    i32 4, label %2635
    i32 5, label %2676
  ]

2512:                                             ; preds = %2510
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #6
  store i32 1, ptr %249, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #6
  store i32 0, ptr %250, align 4, !tbaa !9
  br label %2513

2513:                                             ; preds = %2533, %2512
  %2514 = load i32, ptr %250, align 4, !tbaa !9
  %2515 = load i32, ptr %9, align 4, !tbaa !9
  %2516 = icmp slt i32 %2514, %2515
  br i1 %2516, label %2518, label %2517

2517:                                             ; preds = %2513
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #6
  br label %2545

2518:                                             ; preds = %2513
  %2519 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %252) #6
  %2520 = getelementptr inbounds %class.anon.889, ptr %252, i32 0, i32 0
  store ptr %308, ptr %2520, align 8, !tbaa !192
  %2521 = getelementptr inbounds %class.anon.889, ptr %252, i32 0, i32 1
  %2522 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2522, ptr %2521, align 8, !tbaa !5
  %2523 = getelementptr inbounds %class.anon.889, ptr %252, i32 0, i32 2
  %2524 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2524, ptr %2523, align 8, !tbaa !5
  %2525 = getelementptr inbounds %class.anon.889, ptr %252, i32 0, i32 3
  %2526 = load i32, ptr %250, align 4, !tbaa !9
  store i32 %2526, ptr %2525, align 8, !tbaa !194
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_45vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %251, ptr noundef nonnull align 8 dereferenceable(28) %252)
          to label %2527 unwind label %2536

2527:                                             ; preds = %2518
  %2528 = load i32, ptr %250, align 4, !tbaa !9
  %2529 = sext i32 %2528 to i64
  %2530 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2529)
          to label %2531 unwind label %2540

2531:                                             ; preds = %2527
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2519, ptr noundef %251, i64 noundef %2530, i1 noundef zeroext false)
          to label %2532 unwind label %2540

2532:                                             ; preds = %2531
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %251) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %252) #6
  br label %2533

2533:                                             ; preds = %2532
  %2534 = load i32, ptr %250, align 4, !tbaa !9
  %2535 = add nsw i32 %2534, 1
  store i32 %2535, ptr %250, align 4, !tbaa !9
  br label %2513, !llvm.loop !195

2536:                                             ; preds = %2518
  %2537 = landingpad { ptr, i32 }
          cleanup
  %2538 = extractvalue { ptr, i32 } %2537, 0
  store ptr %2538, ptr %13, align 8
  %2539 = extractvalue { ptr, i32 } %2537, 1
  store i32 %2539, ptr %14, align 4
  br label %2544

2540:                                             ; preds = %2531, %2527
  %2541 = landingpad { ptr, i32 }
          cleanup
  %2542 = extractvalue { ptr, i32 } %2541, 0
  store ptr %2542, ptr %13, align 8
  %2543 = extractvalue { ptr, i32 } %2541, 1
  store i32 %2543, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %251) #6
  br label %2544

2544:                                             ; preds = %2540, %2536
  call void @llvm.lifetime.end.p0(i64 32, ptr %252) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #6
  br label %2552

2545:                                             ; preds = %2517
  %2546 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2546, i1 noundef zeroext true)
          to label %2547 unwind label %2548

2547:                                             ; preds = %2545
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #6
  br label %2751

2548:                                             ; preds = %2545
  %2549 = landingpad { ptr, i32 }
          cleanup
  %2550 = extractvalue { ptr, i32 } %2549, 0
  store ptr %2550, ptr %13, align 8
  %2551 = extractvalue { ptr, i32 } %2549, 1
  store i32 %2551, ptr %14, align 4
  br label %2552

2552:                                             ; preds = %2548, %2544
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #6
  br label %3032

2553:                                             ; preds = %2510
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #6
  store i32 2, ptr %253, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #6
  store i32 0, ptr %254, align 4, !tbaa !9
  br label %2554

2554:                                             ; preds = %2574, %2553
  %2555 = load i32, ptr %254, align 4, !tbaa !9
  %2556 = load i32, ptr %9, align 4, !tbaa !9
  %2557 = icmp slt i32 %2555, %2556
  br i1 %2557, label %2559, label %2558

2558:                                             ; preds = %2554
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #6
  br label %2586

2559:                                             ; preds = %2554
  %2560 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %256) #6
  %2561 = getelementptr inbounds %class.anon.891, ptr %256, i32 0, i32 0
  store ptr %308, ptr %2561, align 8, !tbaa !196
  %2562 = getelementptr inbounds %class.anon.891, ptr %256, i32 0, i32 1
  %2563 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2563, ptr %2562, align 8, !tbaa !5
  %2564 = getelementptr inbounds %class.anon.891, ptr %256, i32 0, i32 2
  %2565 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2565, ptr %2564, align 8, !tbaa !5
  %2566 = getelementptr inbounds %class.anon.891, ptr %256, i32 0, i32 3
  %2567 = load i32, ptr %254, align 4, !tbaa !9
  store i32 %2567, ptr %2566, align 8, !tbaa !198
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_46vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %255, ptr noundef nonnull align 8 dereferenceable(28) %256)
          to label %2568 unwind label %2577

2568:                                             ; preds = %2559
  %2569 = load i32, ptr %254, align 4, !tbaa !9
  %2570 = sext i32 %2569 to i64
  %2571 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2570)
          to label %2572 unwind label %2581

2572:                                             ; preds = %2568
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2560, ptr noundef %255, i64 noundef %2571, i1 noundef zeroext false)
          to label %2573 unwind label %2581

2573:                                             ; preds = %2572
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %255) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %256) #6
  br label %2574

2574:                                             ; preds = %2573
  %2575 = load i32, ptr %254, align 4, !tbaa !9
  %2576 = add nsw i32 %2575, 1
  store i32 %2576, ptr %254, align 4, !tbaa !9
  br label %2554, !llvm.loop !199

2577:                                             ; preds = %2559
  %2578 = landingpad { ptr, i32 }
          cleanup
  %2579 = extractvalue { ptr, i32 } %2578, 0
  store ptr %2579, ptr %13, align 8
  %2580 = extractvalue { ptr, i32 } %2578, 1
  store i32 %2580, ptr %14, align 4
  br label %2585

2581:                                             ; preds = %2572, %2568
  %2582 = landingpad { ptr, i32 }
          cleanup
  %2583 = extractvalue { ptr, i32 } %2582, 0
  store ptr %2583, ptr %13, align 8
  %2584 = extractvalue { ptr, i32 } %2582, 1
  store i32 %2584, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %255) #6
  br label %2585

2585:                                             ; preds = %2581, %2577
  call void @llvm.lifetime.end.p0(i64 32, ptr %256) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #6
  br label %2593

2586:                                             ; preds = %2558
  %2587 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2587, i1 noundef zeroext true)
          to label %2588 unwind label %2589

2588:                                             ; preds = %2586
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #6
  br label %2751

2589:                                             ; preds = %2586
  %2590 = landingpad { ptr, i32 }
          cleanup
  %2591 = extractvalue { ptr, i32 } %2590, 0
  store ptr %2591, ptr %13, align 8
  %2592 = extractvalue { ptr, i32 } %2590, 1
  store i32 %2592, ptr %14, align 4
  br label %2593

2593:                                             ; preds = %2589, %2585
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #6
  br label %3032

2594:                                             ; preds = %2510
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #6
  store i32 3, ptr %257, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #6
  store i32 0, ptr %258, align 4, !tbaa !9
  br label %2595

2595:                                             ; preds = %2615, %2594
  %2596 = load i32, ptr %258, align 4, !tbaa !9
  %2597 = load i32, ptr %9, align 4, !tbaa !9
  %2598 = icmp slt i32 %2596, %2597
  br i1 %2598, label %2600, label %2599

2599:                                             ; preds = %2595
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #6
  br label %2627

2600:                                             ; preds = %2595
  %2601 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %260) #6
  %2602 = getelementptr inbounds %class.anon.893, ptr %260, i32 0, i32 0
  store ptr %308, ptr %2602, align 8, !tbaa !200
  %2603 = getelementptr inbounds %class.anon.893, ptr %260, i32 0, i32 1
  %2604 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2604, ptr %2603, align 8, !tbaa !5
  %2605 = getelementptr inbounds %class.anon.893, ptr %260, i32 0, i32 2
  %2606 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2606, ptr %2605, align 8, !tbaa !5
  %2607 = getelementptr inbounds %class.anon.893, ptr %260, i32 0, i32 3
  %2608 = load i32, ptr %258, align 4, !tbaa !9
  store i32 %2608, ptr %2607, align 8, !tbaa !202
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_47vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %259, ptr noundef nonnull align 8 dereferenceable(28) %260)
          to label %2609 unwind label %2618

2609:                                             ; preds = %2600
  %2610 = load i32, ptr %258, align 4, !tbaa !9
  %2611 = sext i32 %2610 to i64
  %2612 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2611)
          to label %2613 unwind label %2622

2613:                                             ; preds = %2609
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2601, ptr noundef %259, i64 noundef %2612, i1 noundef zeroext false)
          to label %2614 unwind label %2622

2614:                                             ; preds = %2613
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %259) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %260) #6
  br label %2615

2615:                                             ; preds = %2614
  %2616 = load i32, ptr %258, align 4, !tbaa !9
  %2617 = add nsw i32 %2616, 1
  store i32 %2617, ptr %258, align 4, !tbaa !9
  br label %2595, !llvm.loop !203

2618:                                             ; preds = %2600
  %2619 = landingpad { ptr, i32 }
          cleanup
  %2620 = extractvalue { ptr, i32 } %2619, 0
  store ptr %2620, ptr %13, align 8
  %2621 = extractvalue { ptr, i32 } %2619, 1
  store i32 %2621, ptr %14, align 4
  br label %2626

2622:                                             ; preds = %2613, %2609
  %2623 = landingpad { ptr, i32 }
          cleanup
  %2624 = extractvalue { ptr, i32 } %2623, 0
  store ptr %2624, ptr %13, align 8
  %2625 = extractvalue { ptr, i32 } %2623, 1
  store i32 %2625, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %259) #6
  br label %2626

2626:                                             ; preds = %2622, %2618
  call void @llvm.lifetime.end.p0(i64 32, ptr %260) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #6
  br label %2634

2627:                                             ; preds = %2599
  %2628 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2628, i1 noundef zeroext true)
          to label %2629 unwind label %2630

2629:                                             ; preds = %2627
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #6
  br label %2751

2630:                                             ; preds = %2627
  %2631 = landingpad { ptr, i32 }
          cleanup
  %2632 = extractvalue { ptr, i32 } %2631, 0
  store ptr %2632, ptr %13, align 8
  %2633 = extractvalue { ptr, i32 } %2631, 1
  store i32 %2633, ptr %14, align 4
  br label %2634

2634:                                             ; preds = %2630, %2626
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #6
  br label %3032

2635:                                             ; preds = %2510
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #6
  store i32 4, ptr %261, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #6
  store i32 0, ptr %262, align 4, !tbaa !9
  br label %2636

2636:                                             ; preds = %2656, %2635
  %2637 = load i32, ptr %262, align 4, !tbaa !9
  %2638 = load i32, ptr %9, align 4, !tbaa !9
  %2639 = icmp slt i32 %2637, %2638
  br i1 %2639, label %2641, label %2640

2640:                                             ; preds = %2636
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #6
  br label %2668

2641:                                             ; preds = %2636
  %2642 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %264) #6
  %2643 = getelementptr inbounds %class.anon.895, ptr %264, i32 0, i32 0
  store ptr %308, ptr %2643, align 8, !tbaa !204
  %2644 = getelementptr inbounds %class.anon.895, ptr %264, i32 0, i32 1
  %2645 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2645, ptr %2644, align 8, !tbaa !5
  %2646 = getelementptr inbounds %class.anon.895, ptr %264, i32 0, i32 2
  %2647 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2647, ptr %2646, align 8, !tbaa !5
  %2648 = getelementptr inbounds %class.anon.895, ptr %264, i32 0, i32 3
  %2649 = load i32, ptr %262, align 4, !tbaa !9
  store i32 %2649, ptr %2648, align 8, !tbaa !206
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_48vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %263, ptr noundef nonnull align 8 dereferenceable(28) %264)
          to label %2650 unwind label %2659

2650:                                             ; preds = %2641
  %2651 = load i32, ptr %262, align 4, !tbaa !9
  %2652 = sext i32 %2651 to i64
  %2653 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2652)
          to label %2654 unwind label %2663

2654:                                             ; preds = %2650
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2642, ptr noundef %263, i64 noundef %2653, i1 noundef zeroext false)
          to label %2655 unwind label %2663

2655:                                             ; preds = %2654
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %263) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %264) #6
  br label %2656

2656:                                             ; preds = %2655
  %2657 = load i32, ptr %262, align 4, !tbaa !9
  %2658 = add nsw i32 %2657, 1
  store i32 %2658, ptr %262, align 4, !tbaa !9
  br label %2636, !llvm.loop !207

2659:                                             ; preds = %2641
  %2660 = landingpad { ptr, i32 }
          cleanup
  %2661 = extractvalue { ptr, i32 } %2660, 0
  store ptr %2661, ptr %13, align 8
  %2662 = extractvalue { ptr, i32 } %2660, 1
  store i32 %2662, ptr %14, align 4
  br label %2667

2663:                                             ; preds = %2654, %2650
  %2664 = landingpad { ptr, i32 }
          cleanup
  %2665 = extractvalue { ptr, i32 } %2664, 0
  store ptr %2665, ptr %13, align 8
  %2666 = extractvalue { ptr, i32 } %2664, 1
  store i32 %2666, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %263) #6
  br label %2667

2667:                                             ; preds = %2663, %2659
  call void @llvm.lifetime.end.p0(i64 32, ptr %264) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #6
  br label %2675

2668:                                             ; preds = %2640
  %2669 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2669, i1 noundef zeroext true)
          to label %2670 unwind label %2671

2670:                                             ; preds = %2668
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #6
  br label %2751

2671:                                             ; preds = %2668
  %2672 = landingpad { ptr, i32 }
          cleanup
  %2673 = extractvalue { ptr, i32 } %2672, 0
  store ptr %2673, ptr %13, align 8
  %2674 = extractvalue { ptr, i32 } %2672, 1
  store i32 %2674, ptr %14, align 4
  br label %2675

2675:                                             ; preds = %2671, %2667
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #6
  br label %3032

2676:                                             ; preds = %2510
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #6
  store i32 5, ptr %265, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #6
  store i32 0, ptr %266, align 4, !tbaa !9
  br label %2677

2677:                                             ; preds = %2697, %2676
  %2678 = load i32, ptr %266, align 4, !tbaa !9
  %2679 = load i32, ptr %9, align 4, !tbaa !9
  %2680 = icmp slt i32 %2678, %2679
  br i1 %2680, label %2682, label %2681

2681:                                             ; preds = %2677
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #6
  br label %2709

2682:                                             ; preds = %2677
  %2683 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %268) #6
  %2684 = getelementptr inbounds %class.anon.897, ptr %268, i32 0, i32 0
  store ptr %308, ptr %2684, align 8, !tbaa !208
  %2685 = getelementptr inbounds %class.anon.897, ptr %268, i32 0, i32 1
  %2686 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2686, ptr %2685, align 8, !tbaa !5
  %2687 = getelementptr inbounds %class.anon.897, ptr %268, i32 0, i32 2
  %2688 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2688, ptr %2687, align 8, !tbaa !5
  %2689 = getelementptr inbounds %class.anon.897, ptr %268, i32 0, i32 3
  %2690 = load i32, ptr %266, align 4, !tbaa !9
  store i32 %2690, ptr %2689, align 8, !tbaa !210
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_49vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %267, ptr noundef nonnull align 8 dereferenceable(28) %268)
          to label %2691 unwind label %2700

2691:                                             ; preds = %2682
  %2692 = load i32, ptr %266, align 4, !tbaa !9
  %2693 = sext i32 %2692 to i64
  %2694 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2693)
          to label %2695 unwind label %2704

2695:                                             ; preds = %2691
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2683, ptr noundef %267, i64 noundef %2694, i1 noundef zeroext false)
          to label %2696 unwind label %2704

2696:                                             ; preds = %2695
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %267) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %268) #6
  br label %2697

2697:                                             ; preds = %2696
  %2698 = load i32, ptr %266, align 4, !tbaa !9
  %2699 = add nsw i32 %2698, 1
  store i32 %2699, ptr %266, align 4, !tbaa !9
  br label %2677, !llvm.loop !211

2700:                                             ; preds = %2682
  %2701 = landingpad { ptr, i32 }
          cleanup
  %2702 = extractvalue { ptr, i32 } %2701, 0
  store ptr %2702, ptr %13, align 8
  %2703 = extractvalue { ptr, i32 } %2701, 1
  store i32 %2703, ptr %14, align 4
  br label %2708

2704:                                             ; preds = %2695, %2691
  %2705 = landingpad { ptr, i32 }
          cleanup
  %2706 = extractvalue { ptr, i32 } %2705, 0
  store ptr %2706, ptr %13, align 8
  %2707 = extractvalue { ptr, i32 } %2705, 1
  store i32 %2707, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %267) #6
  br label %2708

2708:                                             ; preds = %2704, %2700
  call void @llvm.lifetime.end.p0(i64 32, ptr %268) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #6
  br label %2716

2709:                                             ; preds = %2681
  %2710 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2710, i1 noundef zeroext true)
          to label %2711 unwind label %2712

2711:                                             ; preds = %2709
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #6
  br label %2751

2712:                                             ; preds = %2709
  %2713 = landingpad { ptr, i32 }
          cleanup
  %2714 = extractvalue { ptr, i32 } %2713, 0
  store ptr %2714, ptr %13, align 8
  %2715 = extractvalue { ptr, i32 } %2713, 1
  store i32 %2715, ptr %14, align 4
  br label %2716

2716:                                             ; preds = %2712, %2708
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #6
  br label %3032

2717:                                             ; preds = %2510
  store i1 true, ptr %274, align 1
  %2718 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %269) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %270) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %270, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %2719 unwind label %2724

2719:                                             ; preds = %2717
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %269, ptr noundef nonnull align 8 dereferenceable(32) %270)
          to label %2720 unwind label %2728

2720:                                             ; preds = %2719
  call void @llvm.lifetime.start.p0(i64 1, ptr %272) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %272) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %271, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %272)
          to label %2721 unwind label %2732

2721:                                             ; preds = %2720
  call void @llvm.lifetime.start.p0(i64 32, ptr %273) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %273)
          to label %2722 unwind label %2736

2722:                                             ; preds = %2721
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %2718, ptr noundef nonnull align 8 dereferenceable(32) %269, ptr noundef %271, ptr noundef nonnull align 8 dereferenceable(32) %273)
          to label %2723 unwind label %2740

2723:                                             ; preds = %2722
  store i1 false, ptr %274, align 1
  invoke void @__cxa_throw(ptr %2718, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %3038 unwind label %2740

2724:                                             ; preds = %2717
  %2725 = landingpad { ptr, i32 }
          cleanup
  %2726 = extractvalue { ptr, i32 } %2725, 0
  store ptr %2726, ptr %13, align 8
  %2727 = extractvalue { ptr, i32 } %2725, 1
  store i32 %2727, ptr %14, align 4
  br label %2747

2728:                                             ; preds = %2719
  %2729 = landingpad { ptr, i32 }
          cleanup
  %2730 = extractvalue { ptr, i32 } %2729, 0
  store ptr %2730, ptr %13, align 8
  %2731 = extractvalue { ptr, i32 } %2729, 1
  store i32 %2731, ptr %14, align 4
  br label %2746

2732:                                             ; preds = %2720
  %2733 = landingpad { ptr, i32 }
          cleanup
  %2734 = extractvalue { ptr, i32 } %2733, 0
  store ptr %2734, ptr %13, align 8
  %2735 = extractvalue { ptr, i32 } %2733, 1
  store i32 %2735, ptr %14, align 4
  br label %2745

2736:                                             ; preds = %2721
  %2737 = landingpad { ptr, i32 }
          cleanup
  %2738 = extractvalue { ptr, i32 } %2737, 0
  store ptr %2738, ptr %13, align 8
  %2739 = extractvalue { ptr, i32 } %2737, 1
  store i32 %2739, ptr %14, align 4
  br label %2744

2740:                                             ; preds = %2723, %2722
  %2741 = landingpad { ptr, i32 }
          cleanup
  %2742 = extractvalue { ptr, i32 } %2741, 0
  store ptr %2742, ptr %13, align 8
  %2743 = extractvalue { ptr, i32 } %2741, 1
  store i32 %2743, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %273) #6
  br label %2744

2744:                                             ; preds = %2740, %2736
  call void @llvm.lifetime.end.p0(i64 32, ptr %273) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %271) #6
  br label %2745

2745:                                             ; preds = %2744, %2732
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %272) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %272) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %269) #6
  br label %2746

2746:                                             ; preds = %2745, %2728
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %270) #6
  br label %2747

2747:                                             ; preds = %2746, %2724
  call void @llvm.lifetime.end.p0(i64 32, ptr %270) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %269) #6
  %2748 = load i1, ptr %274, align 1
  br i1 %2748, label %2749, label %2750

2749:                                             ; preds = %2747
  call void @__cxa_free_exception(ptr %2718) #6
  br label %2750

2750:                                             ; preds = %2749, %2747
  br label %3032

2751:                                             ; preds = %2711, %2670, %2629, %2588, %2547
  br label %3031

2752:                                             ; preds = %327
  %2753 = load i32, ptr %10, align 4, !tbaa !9
  switch i32 %2753, label %2959 [
    i32 1, label %2754
    i32 2, label %2795
    i32 3, label %2836
    i32 4, label %2877
    i32 5, label %2918
  ]

2754:                                             ; preds = %2752
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #6
  store i32 1, ptr %275, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #6
  store i32 0, ptr %276, align 4, !tbaa !9
  br label %2755

2755:                                             ; preds = %2775, %2754
  %2756 = load i32, ptr %276, align 4, !tbaa !9
  %2757 = load i32, ptr %9, align 4, !tbaa !9
  %2758 = icmp slt i32 %2756, %2757
  br i1 %2758, label %2760, label %2759

2759:                                             ; preds = %2755
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #6
  br label %2787

2760:                                             ; preds = %2755
  %2761 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %278) #6
  %2762 = getelementptr inbounds %class.anon.899, ptr %278, i32 0, i32 0
  store ptr %308, ptr %2762, align 8, !tbaa !212
  %2763 = getelementptr inbounds %class.anon.899, ptr %278, i32 0, i32 1
  %2764 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2764, ptr %2763, align 8, !tbaa !5
  %2765 = getelementptr inbounds %class.anon.899, ptr %278, i32 0, i32 2
  %2766 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2766, ptr %2765, align 8, !tbaa !5
  %2767 = getelementptr inbounds %class.anon.899, ptr %278, i32 0, i32 3
  %2768 = load i32, ptr %276, align 4, !tbaa !9
  store i32 %2768, ptr %2767, align 8, !tbaa !214
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_50vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %277, ptr noundef nonnull align 8 dereferenceable(28) %278)
          to label %2769 unwind label %2778

2769:                                             ; preds = %2760
  %2770 = load i32, ptr %276, align 4, !tbaa !9
  %2771 = sext i32 %2770 to i64
  %2772 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2771)
          to label %2773 unwind label %2782

2773:                                             ; preds = %2769
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2761, ptr noundef %277, i64 noundef %2772, i1 noundef zeroext false)
          to label %2774 unwind label %2782

2774:                                             ; preds = %2773
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %277) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %278) #6
  br label %2775

2775:                                             ; preds = %2774
  %2776 = load i32, ptr %276, align 4, !tbaa !9
  %2777 = add nsw i32 %2776, 1
  store i32 %2777, ptr %276, align 4, !tbaa !9
  br label %2755, !llvm.loop !215

2778:                                             ; preds = %2760
  %2779 = landingpad { ptr, i32 }
          cleanup
  %2780 = extractvalue { ptr, i32 } %2779, 0
  store ptr %2780, ptr %13, align 8
  %2781 = extractvalue { ptr, i32 } %2779, 1
  store i32 %2781, ptr %14, align 4
  br label %2786

2782:                                             ; preds = %2773, %2769
  %2783 = landingpad { ptr, i32 }
          cleanup
  %2784 = extractvalue { ptr, i32 } %2783, 0
  store ptr %2784, ptr %13, align 8
  %2785 = extractvalue { ptr, i32 } %2783, 1
  store i32 %2785, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %277) #6
  br label %2786

2786:                                             ; preds = %2782, %2778
  call void @llvm.lifetime.end.p0(i64 32, ptr %278) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #6
  br label %2794

2787:                                             ; preds = %2759
  %2788 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2788, i1 noundef zeroext true)
          to label %2789 unwind label %2790

2789:                                             ; preds = %2787
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #6
  br label %2993

2790:                                             ; preds = %2787
  %2791 = landingpad { ptr, i32 }
          cleanup
  %2792 = extractvalue { ptr, i32 } %2791, 0
  store ptr %2792, ptr %13, align 8
  %2793 = extractvalue { ptr, i32 } %2791, 1
  store i32 %2793, ptr %14, align 4
  br label %2794

2794:                                             ; preds = %2790, %2786
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #6
  br label %3032

2795:                                             ; preds = %2752
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #6
  store i32 2, ptr %279, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #6
  store i32 0, ptr %280, align 4, !tbaa !9
  br label %2796

2796:                                             ; preds = %2816, %2795
  %2797 = load i32, ptr %280, align 4, !tbaa !9
  %2798 = load i32, ptr %9, align 4, !tbaa !9
  %2799 = icmp slt i32 %2797, %2798
  br i1 %2799, label %2801, label %2800

2800:                                             ; preds = %2796
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #6
  br label %2828

2801:                                             ; preds = %2796
  %2802 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %282) #6
  %2803 = getelementptr inbounds %class.anon.901, ptr %282, i32 0, i32 0
  store ptr %308, ptr %2803, align 8, !tbaa !216
  %2804 = getelementptr inbounds %class.anon.901, ptr %282, i32 0, i32 1
  %2805 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2805, ptr %2804, align 8, !tbaa !5
  %2806 = getelementptr inbounds %class.anon.901, ptr %282, i32 0, i32 2
  %2807 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2807, ptr %2806, align 8, !tbaa !5
  %2808 = getelementptr inbounds %class.anon.901, ptr %282, i32 0, i32 3
  %2809 = load i32, ptr %280, align 4, !tbaa !9
  store i32 %2809, ptr %2808, align 8, !tbaa !218
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_51vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %281, ptr noundef nonnull align 8 dereferenceable(28) %282)
          to label %2810 unwind label %2819

2810:                                             ; preds = %2801
  %2811 = load i32, ptr %280, align 4, !tbaa !9
  %2812 = sext i32 %2811 to i64
  %2813 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2812)
          to label %2814 unwind label %2823

2814:                                             ; preds = %2810
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2802, ptr noundef %281, i64 noundef %2813, i1 noundef zeroext false)
          to label %2815 unwind label %2823

2815:                                             ; preds = %2814
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %281) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %282) #6
  br label %2816

2816:                                             ; preds = %2815
  %2817 = load i32, ptr %280, align 4, !tbaa !9
  %2818 = add nsw i32 %2817, 1
  store i32 %2818, ptr %280, align 4, !tbaa !9
  br label %2796, !llvm.loop !219

2819:                                             ; preds = %2801
  %2820 = landingpad { ptr, i32 }
          cleanup
  %2821 = extractvalue { ptr, i32 } %2820, 0
  store ptr %2821, ptr %13, align 8
  %2822 = extractvalue { ptr, i32 } %2820, 1
  store i32 %2822, ptr %14, align 4
  br label %2827

2823:                                             ; preds = %2814, %2810
  %2824 = landingpad { ptr, i32 }
          cleanup
  %2825 = extractvalue { ptr, i32 } %2824, 0
  store ptr %2825, ptr %13, align 8
  %2826 = extractvalue { ptr, i32 } %2824, 1
  store i32 %2826, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %281) #6
  br label %2827

2827:                                             ; preds = %2823, %2819
  call void @llvm.lifetime.end.p0(i64 32, ptr %282) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #6
  br label %2835

2828:                                             ; preds = %2800
  %2829 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2829, i1 noundef zeroext true)
          to label %2830 unwind label %2831

2830:                                             ; preds = %2828
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #6
  br label %2993

2831:                                             ; preds = %2828
  %2832 = landingpad { ptr, i32 }
          cleanup
  %2833 = extractvalue { ptr, i32 } %2832, 0
  store ptr %2833, ptr %13, align 8
  %2834 = extractvalue { ptr, i32 } %2832, 1
  store i32 %2834, ptr %14, align 4
  br label %2835

2835:                                             ; preds = %2831, %2827
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #6
  br label %3032

2836:                                             ; preds = %2752
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #6
  store i32 3, ptr %283, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #6
  store i32 0, ptr %284, align 4, !tbaa !9
  br label %2837

2837:                                             ; preds = %2857, %2836
  %2838 = load i32, ptr %284, align 4, !tbaa !9
  %2839 = load i32, ptr %9, align 4, !tbaa !9
  %2840 = icmp slt i32 %2838, %2839
  br i1 %2840, label %2842, label %2841

2841:                                             ; preds = %2837
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #6
  br label %2869

2842:                                             ; preds = %2837
  %2843 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %286) #6
  %2844 = getelementptr inbounds %class.anon.903, ptr %286, i32 0, i32 0
  store ptr %308, ptr %2844, align 8, !tbaa !220
  %2845 = getelementptr inbounds %class.anon.903, ptr %286, i32 0, i32 1
  %2846 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2846, ptr %2845, align 8, !tbaa !5
  %2847 = getelementptr inbounds %class.anon.903, ptr %286, i32 0, i32 2
  %2848 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2848, ptr %2847, align 8, !tbaa !5
  %2849 = getelementptr inbounds %class.anon.903, ptr %286, i32 0, i32 3
  %2850 = load i32, ptr %284, align 4, !tbaa !9
  store i32 %2850, ptr %2849, align 8, !tbaa !222
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_52vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %285, ptr noundef nonnull align 8 dereferenceable(28) %286)
          to label %2851 unwind label %2860

2851:                                             ; preds = %2842
  %2852 = load i32, ptr %284, align 4, !tbaa !9
  %2853 = sext i32 %2852 to i64
  %2854 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2853)
          to label %2855 unwind label %2864

2855:                                             ; preds = %2851
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2843, ptr noundef %285, i64 noundef %2854, i1 noundef zeroext false)
          to label %2856 unwind label %2864

2856:                                             ; preds = %2855
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %285) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %286) #6
  br label %2857

2857:                                             ; preds = %2856
  %2858 = load i32, ptr %284, align 4, !tbaa !9
  %2859 = add nsw i32 %2858, 1
  store i32 %2859, ptr %284, align 4, !tbaa !9
  br label %2837, !llvm.loop !223

2860:                                             ; preds = %2842
  %2861 = landingpad { ptr, i32 }
          cleanup
  %2862 = extractvalue { ptr, i32 } %2861, 0
  store ptr %2862, ptr %13, align 8
  %2863 = extractvalue { ptr, i32 } %2861, 1
  store i32 %2863, ptr %14, align 4
  br label %2868

2864:                                             ; preds = %2855, %2851
  %2865 = landingpad { ptr, i32 }
          cleanup
  %2866 = extractvalue { ptr, i32 } %2865, 0
  store ptr %2866, ptr %13, align 8
  %2867 = extractvalue { ptr, i32 } %2865, 1
  store i32 %2867, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %285) #6
  br label %2868

2868:                                             ; preds = %2864, %2860
  call void @llvm.lifetime.end.p0(i64 32, ptr %286) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #6
  br label %2876

2869:                                             ; preds = %2841
  %2870 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2870, i1 noundef zeroext true)
          to label %2871 unwind label %2872

2871:                                             ; preds = %2869
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #6
  br label %2993

2872:                                             ; preds = %2869
  %2873 = landingpad { ptr, i32 }
          cleanup
  %2874 = extractvalue { ptr, i32 } %2873, 0
  store ptr %2874, ptr %13, align 8
  %2875 = extractvalue { ptr, i32 } %2873, 1
  store i32 %2875, ptr %14, align 4
  br label %2876

2876:                                             ; preds = %2872, %2868
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #6
  br label %3032

2877:                                             ; preds = %2752
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #6
  store i32 4, ptr %287, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #6
  store i32 0, ptr %288, align 4, !tbaa !9
  br label %2878

2878:                                             ; preds = %2898, %2877
  %2879 = load i32, ptr %288, align 4, !tbaa !9
  %2880 = load i32, ptr %9, align 4, !tbaa !9
  %2881 = icmp slt i32 %2879, %2880
  br i1 %2881, label %2883, label %2882

2882:                                             ; preds = %2878
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #6
  br label %2910

2883:                                             ; preds = %2878
  %2884 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %290) #6
  %2885 = getelementptr inbounds %class.anon.905, ptr %290, i32 0, i32 0
  store ptr %308, ptr %2885, align 8, !tbaa !224
  %2886 = getelementptr inbounds %class.anon.905, ptr %290, i32 0, i32 1
  %2887 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2887, ptr %2886, align 8, !tbaa !5
  %2888 = getelementptr inbounds %class.anon.905, ptr %290, i32 0, i32 2
  %2889 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2889, ptr %2888, align 8, !tbaa !5
  %2890 = getelementptr inbounds %class.anon.905, ptr %290, i32 0, i32 3
  %2891 = load i32, ptr %288, align 4, !tbaa !9
  store i32 %2891, ptr %2890, align 8, !tbaa !226
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_53vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %289, ptr noundef nonnull align 8 dereferenceable(28) %290)
          to label %2892 unwind label %2901

2892:                                             ; preds = %2883
  %2893 = load i32, ptr %288, align 4, !tbaa !9
  %2894 = sext i32 %2893 to i64
  %2895 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2894)
          to label %2896 unwind label %2905

2896:                                             ; preds = %2892
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2884, ptr noundef %289, i64 noundef %2895, i1 noundef zeroext false)
          to label %2897 unwind label %2905

2897:                                             ; preds = %2896
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %289) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %290) #6
  br label %2898

2898:                                             ; preds = %2897
  %2899 = load i32, ptr %288, align 4, !tbaa !9
  %2900 = add nsw i32 %2899, 1
  store i32 %2900, ptr %288, align 4, !tbaa !9
  br label %2878, !llvm.loop !227

2901:                                             ; preds = %2883
  %2902 = landingpad { ptr, i32 }
          cleanup
  %2903 = extractvalue { ptr, i32 } %2902, 0
  store ptr %2903, ptr %13, align 8
  %2904 = extractvalue { ptr, i32 } %2902, 1
  store i32 %2904, ptr %14, align 4
  br label %2909

2905:                                             ; preds = %2896, %2892
  %2906 = landingpad { ptr, i32 }
          cleanup
  %2907 = extractvalue { ptr, i32 } %2906, 0
  store ptr %2907, ptr %13, align 8
  %2908 = extractvalue { ptr, i32 } %2906, 1
  store i32 %2908, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %289) #6
  br label %2909

2909:                                             ; preds = %2905, %2901
  call void @llvm.lifetime.end.p0(i64 32, ptr %290) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #6
  br label %2917

2910:                                             ; preds = %2882
  %2911 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2911, i1 noundef zeroext true)
          to label %2912 unwind label %2913

2912:                                             ; preds = %2910
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #6
  br label %2993

2913:                                             ; preds = %2910
  %2914 = landingpad { ptr, i32 }
          cleanup
  %2915 = extractvalue { ptr, i32 } %2914, 0
  store ptr %2915, ptr %13, align 8
  %2916 = extractvalue { ptr, i32 } %2914, 1
  store i32 %2916, ptr %14, align 4
  br label %2917

2917:                                             ; preds = %2913, %2909
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #6
  br label %3032

2918:                                             ; preds = %2752
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #6
  store i32 5, ptr %291, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #6
  store i32 0, ptr %292, align 4, !tbaa !9
  br label %2919

2919:                                             ; preds = %2939, %2918
  %2920 = load i32, ptr %292, align 4, !tbaa !9
  %2921 = load i32, ptr %9, align 4, !tbaa !9
  %2922 = icmp slt i32 %2920, %2921
  br i1 %2922, label %2924, label %2923

2923:                                             ; preds = %2919
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #6
  br label %2951

2924:                                             ; preds = %2919
  %2925 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %294) #6
  %2926 = getelementptr inbounds %class.anon.907, ptr %294, i32 0, i32 0
  store ptr %308, ptr %2926, align 8, !tbaa !228
  %2927 = getelementptr inbounds %class.anon.907, ptr %294, i32 0, i32 1
  %2928 = load ptr, ptr %5, align 8, !tbaa !5
  store ptr %2928, ptr %2927, align 8, !tbaa !5
  %2929 = getelementptr inbounds %class.anon.907, ptr %294, i32 0, i32 2
  %2930 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2930, ptr %2929, align 8, !tbaa !5
  %2931 = getelementptr inbounds %class.anon.907, ptr %294, i32 0, i32 3
  %2932 = load i32, ptr %292, align 4, !tbaa !9
  store i32 %2932, ptr %2931, align 8, !tbaa !230
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_54vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %293, ptr noundef nonnull align 8 dereferenceable(28) %294)
          to label %2933 unwind label %2942

2933:                                             ; preds = %2924
  %2934 = load i32, ptr %292, align 4, !tbaa !9
  %2935 = sext i32 %2934 to i64
  %2936 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %12, i64 noundef %2935)
          to label %2937 unwind label %2946

2937:                                             ; preds = %2933
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %2925, ptr noundef %293, i64 noundef %2936, i1 noundef zeroext false)
          to label %2938 unwind label %2946

2938:                                             ; preds = %2937
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %293) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %294) #6
  br label %2939

2939:                                             ; preds = %2938
  %2940 = load i32, ptr %292, align 4, !tbaa !9
  %2941 = add nsw i32 %2940, 1
  store i32 %2941, ptr %292, align 4, !tbaa !9
  br label %2919, !llvm.loop !231

2942:                                             ; preds = %2924
  %2943 = landingpad { ptr, i32 }
          cleanup
  %2944 = extractvalue { ptr, i32 } %2943, 0
  store ptr %2944, ptr %13, align 8
  %2945 = extractvalue { ptr, i32 } %2943, 1
  store i32 %2945, ptr %14, align 4
  br label %2950

2946:                                             ; preds = %2937, %2933
  %2947 = landingpad { ptr, i32 }
          cleanup
  %2948 = extractvalue { ptr, i32 } %2947, 0
  store ptr %2948, ptr %13, align 8
  %2949 = extractvalue { ptr, i32 } %2947, 1
  store i32 %2949, ptr %14, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %293) #6
  br label %2950

2950:                                             ; preds = %2946, %2942
  call void @llvm.lifetime.end.p0(i64 32, ptr %294) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #6
  br label %2958

2951:                                             ; preds = %2923
  %2952 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %2952, i1 noundef zeroext true)
          to label %2953 unwind label %2954

2953:                                             ; preds = %2951
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #6
  br label %2993

2954:                                             ; preds = %2951
  %2955 = landingpad { ptr, i32 }
          cleanup
  %2956 = extractvalue { ptr, i32 } %2955, 0
  store ptr %2956, ptr %13, align 8
  %2957 = extractvalue { ptr, i32 } %2955, 1
  store i32 %2957, ptr %14, align 4
  br label %2958

2958:                                             ; preds = %2954, %2950
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #6
  br label %3032

2959:                                             ; preds = %2752
  store i1 true, ptr %300, align 1
  %2960 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %295) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %296) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %296, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %2961 unwind label %2966

2961:                                             ; preds = %2959
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %295, ptr noundef nonnull align 8 dereferenceable(32) %296)
          to label %2962 unwind label %2970

2962:                                             ; preds = %2961
  call void @llvm.lifetime.start.p0(i64 1, ptr %298) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %298) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %297, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %298)
          to label %2963 unwind label %2974

2963:                                             ; preds = %2962
  call void @llvm.lifetime.start.p0(i64 32, ptr %299) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %299)
          to label %2964 unwind label %2978

2964:                                             ; preds = %2963
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %2960, ptr noundef nonnull align 8 dereferenceable(32) %295, ptr noundef %297, ptr noundef nonnull align 8 dereferenceable(32) %299)
          to label %2965 unwind label %2982

2965:                                             ; preds = %2964
  store i1 false, ptr %300, align 1
  invoke void @__cxa_throw(ptr %2960, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %3038 unwind label %2982

2966:                                             ; preds = %2959
  %2967 = landingpad { ptr, i32 }
          cleanup
  %2968 = extractvalue { ptr, i32 } %2967, 0
  store ptr %2968, ptr %13, align 8
  %2969 = extractvalue { ptr, i32 } %2967, 1
  store i32 %2969, ptr %14, align 4
  br label %2989

2970:                                             ; preds = %2961
  %2971 = landingpad { ptr, i32 }
          cleanup
  %2972 = extractvalue { ptr, i32 } %2971, 0
  store ptr %2972, ptr %13, align 8
  %2973 = extractvalue { ptr, i32 } %2971, 1
  store i32 %2973, ptr %14, align 4
  br label %2988

2974:                                             ; preds = %2962
  %2975 = landingpad { ptr, i32 }
          cleanup
  %2976 = extractvalue { ptr, i32 } %2975, 0
  store ptr %2976, ptr %13, align 8
  %2977 = extractvalue { ptr, i32 } %2975, 1
  store i32 %2977, ptr %14, align 4
  br label %2987

2978:                                             ; preds = %2963
  %2979 = landingpad { ptr, i32 }
          cleanup
  %2980 = extractvalue { ptr, i32 } %2979, 0
  store ptr %2980, ptr %13, align 8
  %2981 = extractvalue { ptr, i32 } %2979, 1
  store i32 %2981, ptr %14, align 4
  br label %2986

2982:                                             ; preds = %2965, %2964
  %2983 = landingpad { ptr, i32 }
          cleanup
  %2984 = extractvalue { ptr, i32 } %2983, 0
  store ptr %2984, ptr %13, align 8
  %2985 = extractvalue { ptr, i32 } %2983, 1
  store i32 %2985, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %299) #6
  br label %2986

2986:                                             ; preds = %2982, %2978
  call void @llvm.lifetime.end.p0(i64 32, ptr %299) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %297) #6
  br label %2987

2987:                                             ; preds = %2986, %2974
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %298) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %298) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %295) #6
  br label %2988

2988:                                             ; preds = %2987, %2970
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %296) #6
  br label %2989

2989:                                             ; preds = %2988, %2966
  call void @llvm.lifetime.end.p0(i64 32, ptr %296) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %295) #6
  %2990 = load i1, ptr %300, align 1
  br i1 %2990, label %2991, label %2992

2991:                                             ; preds = %2989
  call void @__cxa_free_exception(ptr %2960) #6
  br label %2992

2992:                                             ; preds = %2991, %2989
  br label %3032

2993:                                             ; preds = %2953, %2912, %2871, %2830, %2789
  br label %3031

2994:                                             ; preds = %327
  store i1 true, ptr %307, align 1
  %2995 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %301) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %302) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #6
  %2996 = load ptr, ptr %5, align 8, !tbaa !5
  %2997 = invoke noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %2996)
          to label %2998 unwind label %3004

2998:                                             ; preds = %2994
  store i32 %2997, ptr %303, align 4, !tbaa !232
  invoke void @_ZN4dali11make_stringIJA24_c13_DALIDataTypeEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %302, ptr noundef nonnull align 1 dereferenceable(24) @.str.20, ptr noundef nonnull align 4 dereferenceable(4) %303)
          to label %2999 unwind label %3004

2999:                                             ; preds = %2998
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %301, ptr noundef nonnull align 8 dereferenceable(32) %302)
          to label %3000 unwind label %3008

3000:                                             ; preds = %2999
  call void @llvm.lifetime.start.p0(i64 1, ptr %305) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %305) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %304, ptr noundef @.str.23, ptr noundef nonnull align 1 dereferenceable(1) %305)
          to label %3001 unwind label %3012

3001:                                             ; preds = %3000
  call void @llvm.lifetime.start.p0(i64 32, ptr %306) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %306)
          to label %3002 unwind label %3016

3002:                                             ; preds = %3001
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %2995, ptr noundef nonnull align 8 dereferenceable(32) %301, ptr noundef %304, ptr noundef nonnull align 8 dereferenceable(32) %306)
          to label %3003 unwind label %3020

3003:                                             ; preds = %3002
  store i1 false, ptr %307, align 1
  invoke void @__cxa_throw(ptr %2995, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %3038 unwind label %3020

3004:                                             ; preds = %2998, %2994
  %3005 = landingpad { ptr, i32 }
          cleanup
  %3006 = extractvalue { ptr, i32 } %3005, 0
  store ptr %3006, ptr %13, align 8
  %3007 = extractvalue { ptr, i32 } %3005, 1
  store i32 %3007, ptr %14, align 4
  br label %3027

3008:                                             ; preds = %2999
  %3009 = landingpad { ptr, i32 }
          cleanup
  %3010 = extractvalue { ptr, i32 } %3009, 0
  store ptr %3010, ptr %13, align 8
  %3011 = extractvalue { ptr, i32 } %3009, 1
  store i32 %3011, ptr %14, align 4
  br label %3026

3012:                                             ; preds = %3000
  %3013 = landingpad { ptr, i32 }
          cleanup
  %3014 = extractvalue { ptr, i32 } %3013, 0
  store ptr %3014, ptr %13, align 8
  %3015 = extractvalue { ptr, i32 } %3013, 1
  store i32 %3015, ptr %14, align 4
  br label %3025

3016:                                             ; preds = %3001
  %3017 = landingpad { ptr, i32 }
          cleanup
  %3018 = extractvalue { ptr, i32 } %3017, 0
  store ptr %3018, ptr %13, align 8
  %3019 = extractvalue { ptr, i32 } %3017, 1
  store i32 %3019, ptr %14, align 4
  br label %3024

3020:                                             ; preds = %3003, %3002
  %3021 = landingpad { ptr, i32 }
          cleanup
  %3022 = extractvalue { ptr, i32 } %3021, 0
  store ptr %3022, ptr %13, align 8
  %3023 = extractvalue { ptr, i32 } %3021, 1
  store i32 %3023, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %306) #6
  br label %3024

3024:                                             ; preds = %3020, %3016
  call void @llvm.lifetime.end.p0(i64 32, ptr %306) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %304) #6
  br label %3025

3025:                                             ; preds = %3024, %3012
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %305) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %305) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %301) #6
  br label %3026

3026:                                             ; preds = %3025, %3008
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %302) #6
  br label %3027

3027:                                             ; preds = %3026, %3004
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %302) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %301) #6
  %3028 = load i1, ptr %307, align 1
  br i1 %3028, label %3029, label %3030

3029:                                             ; preds = %3027
  call void @__cxa_free_exception(ptr %2995) #6
  br label %3030

3030:                                             ; preds = %3029, %3027
  br label %3032

3031:                                             ; preds = %2993, %2751, %2509, %2267, %2025, %1783, %1541, %1299, %1057, %815, %573
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #6
  ret void

3032:                                             ; preds = %3030, %2992, %2958, %2917, %2876, %2835, %2794, %2750, %2716, %2675, %2634, %2593, %2552, %2508, %2474, %2433, %2392, %2351, %2310, %2266, %2232, %2191, %2150, %2109, %2068, %2024, %1990, %1949, %1908, %1867, %1826, %1782, %1748, %1707, %1666, %1625, %1584, %1540, %1506, %1465, %1424, %1383, %1342, %1298, %1264, %1223, %1182, %1141, %1100, %1056, %1022, %981, %940, %899, %858, %814, %780, %739, %698, %657, %616, %572, %538, %497, %456, %415, %374, %328
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #6
  br label %3033

3033:                                             ; preds = %3032
  %3034 = load ptr, ptr %13, align 8
  %3035 = load i32, ptr %14, align 4
  %3036 = insertvalue { ptr, i32 } poison, ptr %3034, 0
  %3037 = insertvalue { ptr, i32 } %3036, i32 %3035, 1
  resume { ptr, i32 } %3037

3038:                                             ; preds = %3003, %2965, %2723, %2481, %2239, %1997, %1755, %1513, %1271, %1029, %787, %545
  unreachable
}

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

declare void @_ZN4dali10TensorListINS_10CPUBackendEE9SetLayoutERKNS_12TensorLayoutE(ptr noundef nonnull align 8 dereferenceable(304), ptr noundef nonnull align 1 dereferenceable(16)) #5

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

declare void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224), ptr noundef, i64 noundef, i1 noundef zeroext) #5

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_0vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_1vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_2vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_3vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_4vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_5vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_6vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_7vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_8vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_9vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_10vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_11vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_12vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_13vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_14vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_15vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_16vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_17vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_18vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_19vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_20vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_21vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_22vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_23vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_24vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_25vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_26vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_27vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_28vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_29vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_30vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_31vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_32vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_33vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_34vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_35vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_36vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_37vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_38vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_39vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_40vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_41vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_42vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_43vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_44vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_45vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_46vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_47vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_48vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_49vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_50vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_51vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_52vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_53vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_54vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 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 nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nounwind }
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, !6, i64 0}
!12 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_0", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!13 = !{!12, !10, i64 24}
!14 = distinct !{!14, !15}
!15 = !{!"llvm.loop.mustprogress"}
!16 = !{!17, !6, i64 0}
!17 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_1", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!18 = !{!17, !10, i64 24}
!19 = distinct !{!19, !15}
!20 = !{!21, !6, i64 0}
!21 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_2", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!22 = !{!21, !10, i64 24}
!23 = distinct !{!23, !15}
!24 = !{!25, !6, i64 0}
!25 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_3", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!26 = !{!25, !10, i64 24}
!27 = distinct !{!27, !15}
!28 = !{!29, !6, i64 0}
!29 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_4", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!30 = !{!29, !10, i64 24}
!31 = distinct !{!31, !15}
!32 = !{!33, !6, i64 0}
!33 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_5", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!34 = !{!33, !10, i64 24}
!35 = distinct !{!35, !15}
!36 = !{!37, !6, i64 0}
!37 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_6", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!38 = !{!37, !10, i64 24}
!39 = distinct !{!39, !15}
!40 = !{!41, !6, i64 0}
!41 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_7", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!42 = !{!41, !10, i64 24}
!43 = distinct !{!43, !15}
!44 = !{!45, !6, i64 0}
!45 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_8", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!46 = !{!45, !10, i64 24}
!47 = distinct !{!47, !15}
!48 = !{!49, !6, i64 0}
!49 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_9", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!50 = !{!49, !10, i64 24}
!51 = distinct !{!51, !15}
!52 = !{!53, !6, i64 0}
!53 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_10", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!54 = !{!53, !10, i64 24}
!55 = distinct !{!55, !15}
!56 = !{!57, !6, i64 0}
!57 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_11", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!58 = !{!57, !10, i64 24}
!59 = distinct !{!59, !15}
!60 = !{!61, !6, i64 0}
!61 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_12", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!62 = !{!61, !10, i64 24}
!63 = distinct !{!63, !15}
!64 = !{!65, !6, i64 0}
!65 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_13", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!66 = !{!65, !10, i64 24}
!67 = distinct !{!67, !15}
!68 = !{!69, !6, i64 0}
!69 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_14", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!70 = !{!69, !10, i64 24}
!71 = distinct !{!71, !15}
!72 = !{!73, !6, i64 0}
!73 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_15", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!74 = !{!73, !10, i64 24}
!75 = distinct !{!75, !15}
!76 = !{!77, !6, i64 0}
!77 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_16", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!78 = !{!77, !10, i64 24}
!79 = distinct !{!79, !15}
!80 = !{!81, !6, i64 0}
!81 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_17", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!82 = !{!81, !10, i64 24}
!83 = distinct !{!83, !15}
!84 = !{!85, !6, i64 0}
!85 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_18", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!86 = !{!85, !10, i64 24}
!87 = distinct !{!87, !15}
!88 = !{!89, !6, i64 0}
!89 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_19", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!90 = !{!89, !10, i64 24}
!91 = distinct !{!91, !15}
!92 = !{!93, !6, i64 0}
!93 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_20", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!94 = !{!93, !10, i64 24}
!95 = distinct !{!95, !15}
!96 = !{!97, !6, i64 0}
!97 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_21", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!98 = !{!97, !10, i64 24}
!99 = distinct !{!99, !15}
!100 = !{!101, !6, i64 0}
!101 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_22", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!102 = !{!101, !10, i64 24}
!103 = distinct !{!103, !15}
!104 = !{!105, !6, i64 0}
!105 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_23", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!106 = !{!105, !10, i64 24}
!107 = distinct !{!107, !15}
!108 = !{!109, !6, i64 0}
!109 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_24", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!110 = !{!109, !10, i64 24}
!111 = distinct !{!111, !15}
!112 = !{!113, !6, i64 0}
!113 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_25", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!114 = !{!113, !10, i64 24}
!115 = distinct !{!115, !15}
!116 = !{!117, !6, i64 0}
!117 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_26", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!118 = !{!117, !10, i64 24}
!119 = distinct !{!119, !15}
!120 = !{!121, !6, i64 0}
!121 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_27", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!122 = !{!121, !10, i64 24}
!123 = distinct !{!123, !15}
!124 = !{!125, !6, i64 0}
!125 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_28", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!126 = !{!125, !10, i64 24}
!127 = distinct !{!127, !15}
!128 = !{!129, !6, i64 0}
!129 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_29", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!130 = !{!129, !10, i64 24}
!131 = distinct !{!131, !15}
!132 = !{!133, !6, i64 0}
!133 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_30", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!134 = !{!133, !10, i64 24}
!135 = distinct !{!135, !15}
!136 = !{!137, !6, i64 0}
!137 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_31", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!138 = !{!137, !10, i64 24}
!139 = distinct !{!139, !15}
!140 = !{!141, !6, i64 0}
!141 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_32", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!142 = !{!141, !10, i64 24}
!143 = distinct !{!143, !15}
!144 = !{!145, !6, i64 0}
!145 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_33", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!146 = !{!145, !10, i64 24}
!147 = distinct !{!147, !15}
!148 = !{!149, !6, i64 0}
!149 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_34", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!150 = !{!149, !10, i64 24}
!151 = distinct !{!151, !15}
!152 = !{!153, !6, i64 0}
!153 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_35", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!154 = !{!153, !10, i64 24}
!155 = distinct !{!155, !15}
!156 = !{!157, !6, i64 0}
!157 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_36", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!158 = !{!157, !10, i64 24}
!159 = distinct !{!159, !15}
!160 = !{!161, !6, i64 0}
!161 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_37", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!162 = !{!161, !10, i64 24}
!163 = distinct !{!163, !15}
!164 = !{!165, !6, i64 0}
!165 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_38", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!166 = !{!165, !10, i64 24}
!167 = distinct !{!167, !15}
!168 = !{!169, !6, i64 0}
!169 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_39", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!170 = !{!169, !10, i64 24}
!171 = distinct !{!171, !15}
!172 = !{!173, !6, i64 0}
!173 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_40", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!174 = !{!173, !10, i64 24}
!175 = distinct !{!175, !15}
!176 = !{!177, !6, i64 0}
!177 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_41", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!178 = !{!177, !10, i64 24}
!179 = distinct !{!179, !15}
!180 = !{!181, !6, i64 0}
!181 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_42", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!182 = !{!181, !10, i64 24}
!183 = distinct !{!183, !15}
!184 = !{!185, !6, i64 0}
!185 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_43", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!186 = !{!185, !10, i64 24}
!187 = distinct !{!187, !15}
!188 = !{!189, !6, i64 0}
!189 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_44", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!190 = !{!189, !10, i64 24}
!191 = distinct !{!191, !15}
!192 = !{!193, !6, i64 0}
!193 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_45", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!194 = !{!193, !10, i64 24}
!195 = distinct !{!195, !15}
!196 = !{!197, !6, i64 0}
!197 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_46", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!198 = !{!197, !10, i64 24}
!199 = distinct !{!199, !15}
!200 = !{!201, !6, i64 0}
!201 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_47", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!202 = !{!201, !10, i64 24}
!203 = distinct !{!203, !15}
!204 = !{!205, !6, i64 0}
!205 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_48", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!206 = !{!205, !10, i64 24}
!207 = distinct !{!207, !15}
!208 = !{!209, !6, i64 0}
!209 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_49", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!210 = !{!209, !10, i64 24}
!211 = distinct !{!211, !15}
!212 = !{!213, !6, i64 0}
!213 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_50", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!214 = !{!213, !10, i64 24}
!215 = distinct !{!215, !15}
!216 = !{!217, !6, i64 0}
!217 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_51", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!218 = !{!217, !10, i64 24}
!219 = distinct !{!219, !15}
!220 = !{!221, !6, i64 0}
!221 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_52", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!222 = !{!221, !10, i64 24}
!223 = distinct !{!223, !15}
!224 = !{!225, !6, i64 0}
!225 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_53", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!226 = !{!225, !10, i64 24}
!227 = distinct !{!227, !15}
!228 = !{!229, !6, i64 0}
!229 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_54", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24}
!230 = !{!229, !10, i64 24}
!231 = distinct !{!231, !15}
!232 = !{!233, !233, i64 0}
!233 = !{!"_ZTS13_DALIDataType", !7, i64 0}


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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"struct.dali::TensorListShape" = type { %"struct.dali::TensorListShapeBase.base", i32 }
%"struct.dali::TensorListShapeBase.base" = type <{ %"class.std::vector.73", i32 }>
%"class.std::vector.73" = type { %"struct.std::_Vector_base.74" }
%"struct.std::_Vector_base.74" = 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::function.798" = type { %"class.std::_Function_base", ptr }
%"class.std::_Function_base" = type { %"union.std::_Any_data", ptr }
%"union.std::_Any_data" = type { %"union.std::_Nocopy_types" }
%"union.std::_Nocopy_types" = type { { i64, i64 } }
%class.anon = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.801 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.803 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.805 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.807 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%"class.std::allocator" = type { i8 }
%class.anon.809 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.811 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.813 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.815 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.817 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.819 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.821 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.823 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.825 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.827 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.829 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.831 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.833 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.835 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.837 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.839 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.841 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.843 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.845 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.847 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.849 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.851 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.853 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.855 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.857 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.859 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.861 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.863 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.865 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.867 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.869 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.871 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.873 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.875 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.877 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.879 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.881 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.883 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.885 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.887 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.889 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.891 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.893 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.895 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.897 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.899 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.901 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.903 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.905 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>
%class.anon.907 = type <{ ptr, ptr, ptr, i32, [4 x i8] }>

@.str.18 = external hidden unnamed_addr constant [34 x i8], align 1
@_ZTIN4dali13DALIExceptionE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.20 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [82 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
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: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(16) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE9GetLayoutEv(ptr noundef nonnull align 8 dereferenceable(304)) local_unnamed_addr #3 align 2

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #3 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: mustprogress uwtable
declare dso_local void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 1 dereferenceable(34), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #2

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

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

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

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

declare void @__cxa_free_exception(ptr) local_unnamed_addr

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceE(ptr noundef nonnull align 8 dereferenceable(976) %0, ptr noundef nonnull align 8 dereferenceable(664) %1) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca i32, align 4
  %4 = alloca %"struct.dali::TensorListShape", align 8
  %5 = alloca %"class.std::function.798", align 8
  %6 = alloca %class.anon, align 8
  %7 = alloca %"class.std::function.798", align 8
  %8 = alloca %class.anon.801, align 8
  %9 = alloca %"class.std::function.798", align 8
  %10 = alloca %class.anon.803, align 8
  %11 = alloca %"class.std::function.798", align 8
  %12 = alloca %class.anon.805, align 8
  %13 = alloca %"class.std::function.798", align 8
  %14 = alloca %class.anon.807, align 8
  %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::allocator", align 1
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::function.798", align 8
  %21 = alloca %class.anon.809, align 8
  %22 = alloca %"class.std::function.798", align 8
  %23 = alloca %class.anon.811, align 8
  %24 = alloca %"class.std::function.798", align 8
  %25 = alloca %class.anon.813, align 8
  %26 = alloca %"class.std::function.798", align 8
  %27 = alloca %class.anon.815, align 8
  %28 = alloca %"class.std::function.798", align 8
  %29 = alloca %class.anon.817, align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::allocator", align 1
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::function.798", align 8
  %36 = alloca %class.anon.819, align 8
  %37 = alloca %"class.std::function.798", align 8
  %38 = alloca %class.anon.821, align 8
  %39 = alloca %"class.std::function.798", align 8
  %40 = alloca %class.anon.823, align 8
  %41 = alloca %"class.std::function.798", align 8
  %42 = alloca %class.anon.825, align 8
  %43 = alloca %"class.std::function.798", align 8
  %44 = alloca %class.anon.827, align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::allocator", align 1
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::function.798", align 8
  %51 = alloca %class.anon.829, align 8
  %52 = alloca %"class.std::function.798", align 8
  %53 = alloca %class.anon.831, align 8
  %54 = alloca %"class.std::function.798", align 8
  %55 = alloca %class.anon.833, align 8
  %56 = alloca %"class.std::function.798", align 8
  %57 = alloca %class.anon.835, align 8
  %58 = alloca %"class.std::function.798", align 8
  %59 = alloca %class.anon.837, align 8
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::allocator", align 1
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::function.798", align 8
  %66 = alloca %class.anon.839, align 8
  %67 = alloca %"class.std::function.798", align 8
  %68 = alloca %class.anon.841, align 8
  %69 = alloca %"class.std::function.798", align 8
  %70 = alloca %class.anon.843, align 8
  %71 = alloca %"class.std::function.798", align 8
  %72 = alloca %class.anon.845, align 8
  %73 = alloca %"class.std::function.798", align 8
  %74 = alloca %class.anon.847, align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::__cxx11::basic_string", align 8
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.std::allocator", align 1
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::function.798", align 8
  %81 = alloca %class.anon.849, align 8
  %82 = alloca %"class.std::function.798", align 8
  %83 = alloca %class.anon.851, align 8
  %84 = alloca %"class.std::function.798", align 8
  %85 = alloca %class.anon.853, align 8
  %86 = alloca %"class.std::function.798", align 8
  %87 = alloca %class.anon.855, align 8
  %88 = alloca %"class.std::function.798", align 8
  %89 = alloca %class.anon.857, align 8
  %90 = alloca %"class.std::__cxx11::basic_string", align 8
  %91 = alloca %"class.std::__cxx11::basic_string", align 8
  %92 = alloca %"class.std::__cxx11::basic_string", align 8
  %93 = alloca %"class.std::allocator", align 1
  %94 = alloca %"class.std::__cxx11::basic_string", align 8
  %95 = alloca %"class.std::function.798", align 8
  %96 = alloca %class.anon.859, align 8
  %97 = alloca %"class.std::function.798", align 8
  %98 = alloca %class.anon.861, align 8
  %99 = alloca %"class.std::function.798", align 8
  %100 = alloca %class.anon.863, align 8
  %101 = alloca %"class.std::function.798", align 8
  %102 = alloca %class.anon.865, align 8
  %103 = alloca %"class.std::function.798", align 8
  %104 = alloca %class.anon.867, align 8
  %105 = alloca %"class.std::__cxx11::basic_string", align 8
  %106 = alloca %"class.std::__cxx11::basic_string", align 8
  %107 = alloca %"class.std::__cxx11::basic_string", align 8
  %108 = alloca %"class.std::allocator", align 1
  %109 = alloca %"class.std::__cxx11::basic_string", align 8
  %110 = alloca %"class.std::function.798", align 8
  %111 = alloca %class.anon.869, align 8
  %112 = alloca %"class.std::function.798", align 8
  %113 = alloca %class.anon.871, align 8
  %114 = alloca %"class.std::function.798", align 8
  %115 = alloca %class.anon.873, align 8
  %116 = alloca %"class.std::function.798", align 8
  %117 = alloca %class.anon.875, align 8
  %118 = alloca %"class.std::function.798", align 8
  %119 = alloca %class.anon.877, align 8
  %120 = alloca %"class.std::__cxx11::basic_string", align 8
  %121 = alloca %"class.std::__cxx11::basic_string", align 8
  %122 = alloca %"class.std::__cxx11::basic_string", align 8
  %123 = alloca %"class.std::allocator", align 1
  %124 = alloca %"class.std::__cxx11::basic_string", align 8
  %125 = alloca %"class.std::function.798", align 8
  %126 = alloca %class.anon.879, align 8
  %127 = alloca %"class.std::function.798", align 8
  %128 = alloca %class.anon.881, align 8
  %129 = alloca %"class.std::function.798", align 8
  %130 = alloca %class.anon.883, align 8
  %131 = alloca %"class.std::function.798", align 8
  %132 = alloca %class.anon.885, align 8
  %133 = alloca %"class.std::function.798", align 8
  %134 = alloca %class.anon.887, align 8
  %135 = alloca %"class.std::__cxx11::basic_string", align 8
  %136 = alloca %"class.std::__cxx11::basic_string", align 8
  %137 = alloca %"class.std::__cxx11::basic_string", align 8
  %138 = alloca %"class.std::allocator", align 1
  %139 = alloca %"class.std::__cxx11::basic_string", align 8
  %140 = alloca %"class.std::function.798", align 8
  %141 = alloca %class.anon.889, align 8
  %142 = alloca %"class.std::function.798", align 8
  %143 = alloca %class.anon.891, align 8
  %144 = alloca %"class.std::function.798", align 8
  %145 = alloca %class.anon.893, align 8
  %146 = alloca %"class.std::function.798", align 8
  %147 = alloca %class.anon.895, align 8
  %148 = alloca %"class.std::function.798", align 8
  %149 = alloca %class.anon.897, 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 %"class.std::function.798", align 8
  %156 = alloca %class.anon.899, align 8
  %157 = alloca %"class.std::function.798", align 8
  %158 = alloca %class.anon.901, align 8
  %159 = alloca %"class.std::function.798", align 8
  %160 = alloca %class.anon.903, align 8
  %161 = alloca %"class.std::function.798", align 8
  %162 = alloca %class.anon.905, align 8
  %163 = alloca %"class.std::function.798", align 8
  %164 = alloca %class.anon.907, align 8
  %165 = alloca %"class.std::__cxx11::basic_string", align 8
  %166 = alloca %"class.std::__cxx11::basic_string", align 8
  %167 = alloca %"class.std::__cxx11::basic_string", align 8
  %168 = alloca %"class.std::allocator", align 1
  %169 = alloca %"class.std::__cxx11::basic_string", align 8
  %170 = alloca %"class.std::__cxx11::basic_string", align 8
  %171 = alloca %"class.std::__cxx11::basic_string", align 8
  %172 = alloca i32, align 4
  %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 = tail call noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE5InputINS_10CPUBackendEEERKDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %1, i32 noundef 0)
  %177 = tail call noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE6OutputINS_10CPUBackendEEERDaiT_(ptr noundef nonnull align 8 dereferenceable(664) %1, i32 noundef 0)
  %178 = tail call noundef nonnull align 1 dereferenceable(16) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE9GetLayoutEv(ptr noundef nonnull align 8 dereferenceable(304) %176)
  tail call void @_ZN4dali10TensorListINS_10CPUBackendEE9SetLayoutERKNS_12TensorLayoutE(ptr noundef nonnull align 8 dereferenceable(304) %177, ptr noundef nonnull align 1 dereferenceable(16) %178)
  %179 = tail call noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE11num_samplesEv(ptr noundef nonnull align 8 dereferenceable(304) %176) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #6
  %180 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE5shapeEv(ptr noundef nonnull align 8 dereferenceable(304) %176)
  %181 = tail call noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %180)
  store i32 %181, ptr %3, align 4, !tbaa !5
  %182 = tail call noundef nonnull align 8 dereferenceable(224) ptr @_ZNK4dali13WorkspaceBaseINS_10TensorListESt10shared_ptrE13GetThreadPoolEv(ptr noundef nonnull align 8 dereferenceable(664) %1)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #6
  %183 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKR4dali10TensorListINS_10CPUBackendEE5shapeEv(ptr noundef nonnull align 8 dereferenceable(304) %177)
  call void @_ZN4dali15TensorListShapeILin1EEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %183)
  %184 = call noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %176)
  switch i32 %184, label %1329 [
    i32 0, label %185
    i32 4, label %289
    i32 1, label %393
    i32 5, label %497
    i32 2, label %601
    i32 6, label %705
    i32 3, label %809
    i32 7, label %913
    i32 9, label %1017
    i32 8, label %1121
    i32 11, label %1225
  ]

185:                                              ; preds = %2
  switch i32 %181, label %271 [
    i32 1, label %.preheader
    i32 2, label %.preheader1101
    i32 3, label %.preheader1102
    i32 4, label %.preheader1103
    i32 5, label %.preheader1104
  ]

.preheader1104:                                   ; preds = %185
  %186 = icmp sgt i32 %179, 0
  br i1 %186, label %.lr.ph1304, label %._crit_edge1305

.lr.ph1304:                                       ; preds = %.preheader1104
  %187 = getelementptr inbounds i8, ptr %14, i64 8
  %188 = getelementptr inbounds i8, ptr %14, i64 16
  %189 = getelementptr inbounds i8, ptr %14, i64 24
  %wide.trip.count1567 = zext nneg i32 %179 to i64
  br label %258

.preheader1103:                                   ; preds = %185
  %190 = icmp sgt i32 %179, 0
  br i1 %190, label %.lr.ph1307, label %._crit_edge1308

.lr.ph1307:                                       ; preds = %.preheader1103
  %191 = getelementptr inbounds i8, ptr %12, i64 8
  %192 = getelementptr inbounds i8, ptr %12, i64 16
  %193 = getelementptr inbounds i8, ptr %12, i64 24
  %wide.trip.count1572 = zext nneg i32 %179 to i64
  br label %245

.preheader1102:                                   ; preds = %185
  %194 = icmp sgt i32 %179, 0
  br i1 %194, label %.lr.ph1310, label %._crit_edge1311

.lr.ph1310:                                       ; preds = %.preheader1102
  %195 = getelementptr inbounds i8, ptr %10, i64 8
  %196 = getelementptr inbounds i8, ptr %10, i64 16
  %197 = getelementptr inbounds i8, ptr %10, i64 24
  %wide.trip.count1577 = zext nneg i32 %179 to i64
  br label %232

.preheader1101:                                   ; preds = %185
  %198 = icmp sgt i32 %179, 0
  br i1 %198, label %.lr.ph1313, label %._crit_edge1314

.lr.ph1313:                                       ; preds = %.preheader1101
  %199 = getelementptr inbounds i8, ptr %8, i64 8
  %200 = getelementptr inbounds i8, ptr %8, i64 16
  %201 = getelementptr inbounds i8, ptr %8, i64 24
  %wide.trip.count1582 = zext nneg i32 %179 to i64
  br label %219

.preheader:                                       ; preds = %185
  %202 = icmp sgt i32 %179, 0
  br i1 %202, label %.lr.ph1316, label %._crit_edge1317

.lr.ph1316:                                       ; preds = %.preheader
  %203 = getelementptr inbounds i8, ptr %6, i64 8
  %204 = getelementptr inbounds i8, ptr %6, i64 16
  %205 = getelementptr inbounds i8, ptr %6, i64 24
  %wide.trip.count1587 = zext nneg i32 %179 to i64
  br label %206

._crit_edge1317:                                  ; preds = %211, %.preheader
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %217

206:                                              ; preds = %.lr.ph1316, %211
  %indvars.iv1584 = phi i64 [ 0, %.lr.ph1316 ], [ %indvars.iv.next1585, %211 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #6
  store ptr %0, ptr %6, align 8, !tbaa !9
  store ptr %176, ptr %203, align 8, !tbaa !12
  store ptr %177, ptr %204, align 8, !tbaa !12
  %207 = trunc nuw nsw i64 %indvars.iv1584 to i32
  store i32 %207, ptr %205, align 8, !tbaa !13
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_0vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(28) %6)
          to label %208 unwind label %212

208:                                              ; preds = %206
  %209 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1584)
          to label %210 unwind label %214

210:                                              ; preds = %208
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %5, i64 noundef %209, i1 noundef zeroext false)
          to label %211 unwind label %214

211:                                              ; preds = %210
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  %indvars.iv.next1585 = add nuw nsw i64 %indvars.iv1584, 1
  %exitcond1588.not = icmp eq i64 %indvars.iv.next1585, %wide.trip.count1587
  br i1 %exitcond1588.not, label %._crit_edge1317, label %206, !llvm.loop !14

212:                                              ; preds = %206
  %213 = landingpad { ptr, i32 }
          cleanup
  br label %216

214:                                              ; preds = %210, %208
  %215 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  br label %216

216:                                              ; preds = %214, %212
  %.pn1004 = phi { ptr, i32 } [ %215, %214 ], [ %213, %212 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  br label %1349

217:                                              ; preds = %._crit_edge1317
  %218 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1314:                                  ; preds = %224, %.preheader1101
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %230

219:                                              ; preds = %.lr.ph1313, %224
  %indvars.iv1579 = phi i64 [ 0, %.lr.ph1313 ], [ %indvars.iv.next1580, %224 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #6
  store ptr %0, ptr %8, align 8, !tbaa !16
  store ptr %176, ptr %199, align 8, !tbaa !12
  store ptr %177, ptr %200, align 8, !tbaa !12
  %220 = trunc nuw nsw i64 %indvars.iv1579 to i32
  store i32 %220, ptr %201, align 8, !tbaa !18
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_1vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(28) %8)
          to label %221 unwind label %225

221:                                              ; preds = %219
  %222 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1579)
          to label %223 unwind label %227

223:                                              ; preds = %221
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %7, i64 noundef %222, i1 noundef zeroext false)
          to label %224 unwind label %227

224:                                              ; preds = %223
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #6
  %indvars.iv.next1580 = add nuw nsw i64 %indvars.iv1579, 1
  %exitcond1583.not = icmp eq i64 %indvars.iv.next1580, %wide.trip.count1582
  br i1 %exitcond1583.not, label %._crit_edge1314, label %219, !llvm.loop !19

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

227:                                              ; preds = %223, %221
  %228 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  br label %229

229:                                              ; preds = %227, %225
  %.pn1001 = phi { ptr, i32 } [ %228, %227 ], [ %226, %225 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #6
  br label %1349

230:                                              ; preds = %._crit_edge1314
  %231 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1311:                                  ; preds = %237, %.preheader1102
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %243

232:                                              ; preds = %.lr.ph1310, %237
  %indvars.iv1574 = phi i64 [ 0, %.lr.ph1310 ], [ %indvars.iv.next1575, %237 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #6
  store ptr %0, ptr %10, align 8, !tbaa !20
  store ptr %176, ptr %195, align 8, !tbaa !12
  store ptr %177, ptr %196, align 8, !tbaa !12
  %233 = trunc nuw nsw i64 %indvars.iv1574 to i32
  store i32 %233, ptr %197, align 8, !tbaa !22
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_2vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(28) %10)
          to label %234 unwind label %238

234:                                              ; preds = %232
  %235 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1574)
          to label %236 unwind label %240

236:                                              ; preds = %234
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %9, i64 noundef %235, i1 noundef zeroext false)
          to label %237 unwind label %240

237:                                              ; preds = %236
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #6
  %indvars.iv.next1575 = add nuw nsw i64 %indvars.iv1574, 1
  %exitcond1578.not = icmp eq i64 %indvars.iv.next1575, %wide.trip.count1577
  br i1 %exitcond1578.not, label %._crit_edge1311, label %232, !llvm.loop !23

238:                                              ; preds = %232
  %239 = landingpad { ptr, i32 }
          cleanup
  br label %242

240:                                              ; preds = %236, %234
  %241 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  br label %242

242:                                              ; preds = %240, %238
  %.pn998 = phi { ptr, i32 } [ %241, %240 ], [ %239, %238 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #6
  br label %1349

243:                                              ; preds = %._crit_edge1311
  %244 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1308:                                  ; preds = %250, %.preheader1103
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %256

245:                                              ; preds = %.lr.ph1307, %250
  %indvars.iv1569 = phi i64 [ 0, %.lr.ph1307 ], [ %indvars.iv.next1570, %250 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #6
  store ptr %0, ptr %12, align 8, !tbaa !24
  store ptr %176, ptr %191, align 8, !tbaa !12
  store ptr %177, ptr %192, align 8, !tbaa !12
  %246 = trunc nuw nsw i64 %indvars.iv1569 to i32
  store i32 %246, ptr %193, align 8, !tbaa !26
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_3vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(28) %12)
          to label %247 unwind label %251

247:                                              ; preds = %245
  %248 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1569)
          to label %249 unwind label %253

249:                                              ; preds = %247
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %11, i64 noundef %248, i1 noundef zeroext false)
          to label %250 unwind label %253

250:                                              ; preds = %249
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #6
  %indvars.iv.next1570 = add nuw nsw i64 %indvars.iv1569, 1
  %exitcond1573.not = icmp eq i64 %indvars.iv.next1570, %wide.trip.count1572
  br i1 %exitcond1573.not, label %._crit_edge1308, label %245, !llvm.loop !27

251:                                              ; preds = %245
  %252 = landingpad { ptr, i32 }
          cleanup
  br label %255

253:                                              ; preds = %249, %247
  %254 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %255

255:                                              ; preds = %253, %251
  %.pn995 = phi { ptr, i32 } [ %254, %253 ], [ %252, %251 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #6
  br label %1349

256:                                              ; preds = %._crit_edge1308
  %257 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1305:                                  ; preds = %263, %.preheader1104
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %269

258:                                              ; preds = %.lr.ph1304, %263
  %indvars.iv1564 = phi i64 [ 0, %.lr.ph1304 ], [ %indvars.iv.next1565, %263 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #6
  store ptr %0, ptr %14, align 8, !tbaa !28
  store ptr %176, ptr %187, align 8, !tbaa !12
  store ptr %177, ptr %188, align 8, !tbaa !12
  %259 = trunc nuw nsw i64 %indvars.iv1564 to i32
  store i32 %259, ptr %189, align 8, !tbaa !30
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_4vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(28) %14)
          to label %260 unwind label %264

260:                                              ; preds = %258
  %261 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1564)
          to label %262 unwind label %266

262:                                              ; preds = %260
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %13, i64 noundef %261, i1 noundef zeroext false)
          to label %263 unwind label %266

263:                                              ; preds = %262
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  %indvars.iv.next1565 = add nuw nsw i64 %indvars.iv1564, 1
  %exitcond1568.not = icmp eq i64 %indvars.iv.next1565, %wide.trip.count1567
  br i1 %exitcond1568.not, label %._crit_edge1305, label %258, !llvm.loop !31

264:                                              ; preds = %258
  %265 = landingpad { ptr, i32 }
          cleanup
  br label %268

266:                                              ; preds = %262, %260
  %267 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  br label %268

268:                                              ; preds = %266, %264
  %.pn992 = phi { ptr, i32 } [ %267, %266 ], [ %265, %264 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  br label %1349

269:                                              ; preds = %._crit_edge1305
  %270 = landingpad { ptr, i32 }
          cleanup
  br label %1349

271:                                              ; preds = %185
  %272 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %273 unwind label %.thread

273:                                              ; preds = %271
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %274 unwind label %.thread1021

274:                                              ; preds = %273
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %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 nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %275 unwind label %280

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

276:                                              ; preds = %275
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %272, ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull %17, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %277 unwind label %284

277:                                              ; preds = %276
  invoke void @__cxa_throw(ptr nonnull %272, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1350 unwind label %284

.thread:                                          ; preds = %271
  %278 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  br label %288

.thread1021:                                      ; preds = %273
  %279 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  br label %288

280:                                              ; preds = %274
  %281 = landingpad { ptr, i32 }
          cleanup
  br label %287

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

284:                                              ; preds = %277, %276
  %.0706 = phi i1 [ false, %277 ], [ true, %276 ]
  %285 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %286

286:                                              ; preds = %284, %282
  %.1707 = phi i1 [ %.0706, %284 ], [ true, %282 ]
  %.pn1007 = phi { ptr, i32 } [ %285, %284 ], [ %283, %282 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %287

287:                                              ; preds = %280, %286
  %.2708 = phi i1 [ %.1707, %286 ], [ true, %280 ]
  %.pn1007.pn = phi { ptr, i32 } [ %.pn1007, %286 ], [ %281, %280 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  br i1 %.2708, label %288, label %1349

288:                                              ; preds = %.thread1021, %.thread, %287
  %.pn1007.pn.pn.pn1020 = phi { ptr, i32 } [ %278, %.thread ], [ %.pn1007.pn, %287 ], [ %279, %.thread1021 ]
  call void @__cxa_free_exception(ptr %272) #6
  br label %1349

289:                                              ; preds = %2
  switch i32 %181, label %375 [
    i32 1, label %.preheader1105
    i32 2, label %.preheader1106
    i32 3, label %.preheader1107
    i32 4, label %.preheader1108
    i32 5, label %.preheader1109
  ]

.preheader1109:                                   ; preds = %289
  %290 = icmp sgt i32 %179, 0
  br i1 %290, label %.lr.ph1289, label %._crit_edge1290

.lr.ph1289:                                       ; preds = %.preheader1109
  %291 = getelementptr inbounds i8, ptr %29, i64 8
  %292 = getelementptr inbounds i8, ptr %29, i64 16
  %293 = getelementptr inbounds i8, ptr %29, i64 24
  %wide.trip.count1542 = zext nneg i32 %179 to i64
  br label %362

.preheader1108:                                   ; preds = %289
  %294 = icmp sgt i32 %179, 0
  br i1 %294, label %.lr.ph1292, label %._crit_edge1293

.lr.ph1292:                                       ; preds = %.preheader1108
  %295 = getelementptr inbounds i8, ptr %27, i64 8
  %296 = getelementptr inbounds i8, ptr %27, i64 16
  %297 = getelementptr inbounds i8, ptr %27, i64 24
  %wide.trip.count1547 = zext nneg i32 %179 to i64
  br label %349

.preheader1107:                                   ; preds = %289
  %298 = icmp sgt i32 %179, 0
  br i1 %298, label %.lr.ph1295, label %._crit_edge1296

.lr.ph1295:                                       ; preds = %.preheader1107
  %299 = getelementptr inbounds i8, ptr %25, i64 8
  %300 = getelementptr inbounds i8, ptr %25, i64 16
  %301 = getelementptr inbounds i8, ptr %25, i64 24
  %wide.trip.count1552 = zext nneg i32 %179 to i64
  br label %336

.preheader1106:                                   ; preds = %289
  %302 = icmp sgt i32 %179, 0
  br i1 %302, label %.lr.ph1298, label %._crit_edge1299

.lr.ph1298:                                       ; preds = %.preheader1106
  %303 = getelementptr inbounds i8, ptr %23, i64 8
  %304 = getelementptr inbounds i8, ptr %23, i64 16
  %305 = getelementptr inbounds i8, ptr %23, i64 24
  %wide.trip.count1557 = zext nneg i32 %179 to i64
  br label %323

.preheader1105:                                   ; preds = %289
  %306 = icmp sgt i32 %179, 0
  br i1 %306, label %.lr.ph1301, label %._crit_edge1302

.lr.ph1301:                                       ; preds = %.preheader1105
  %307 = getelementptr inbounds i8, ptr %21, i64 8
  %308 = getelementptr inbounds i8, ptr %21, i64 16
  %309 = getelementptr inbounds i8, ptr %21, i64 24
  %wide.trip.count1562 = zext nneg i32 %179 to i64
  br label %310

._crit_edge1302:                                  ; preds = %315, %.preheader1105
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %321

310:                                              ; preds = %.lr.ph1301, %315
  %indvars.iv1559 = phi i64 [ 0, %.lr.ph1301 ], [ %indvars.iv.next1560, %315 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #6
  store ptr %0, ptr %21, align 8, !tbaa !32
  store ptr %176, ptr %307, align 8, !tbaa !12
  store ptr %177, ptr %308, align 8, !tbaa !12
  %311 = trunc nuw nsw i64 %indvars.iv1559 to i32
  store i32 %311, ptr %309, align 8, !tbaa !34
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_5vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(28) %21)
          to label %312 unwind label %316

312:                                              ; preds = %310
  %313 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1559)
          to label %314 unwind label %318

314:                                              ; preds = %312
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %20, i64 noundef %313, i1 noundef zeroext false)
          to label %315 unwind label %318

315:                                              ; preds = %314
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #6
  %indvars.iv.next1560 = add nuw nsw i64 %indvars.iv1559, 1
  %exitcond1563.not = icmp eq i64 %indvars.iv.next1560, %wide.trip.count1562
  br i1 %exitcond1563.not, label %._crit_edge1302, label %310, !llvm.loop !35

316:                                              ; preds = %310
  %317 = landingpad { ptr, i32 }
          cleanup
  br label %320

318:                                              ; preds = %314, %312
  %319 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %320

320:                                              ; preds = %318, %316
  %.pn984 = phi { ptr, i32 } [ %319, %318 ], [ %317, %316 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #6
  br label %1349

321:                                              ; preds = %._crit_edge1302
  %322 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1299:                                  ; preds = %328, %.preheader1106
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %334

323:                                              ; preds = %.lr.ph1298, %328
  %indvars.iv1554 = phi i64 [ 0, %.lr.ph1298 ], [ %indvars.iv.next1555, %328 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #6
  store ptr %0, ptr %23, align 8, !tbaa !36
  store ptr %176, ptr %303, align 8, !tbaa !12
  store ptr %177, ptr %304, align 8, !tbaa !12
  %324 = trunc nuw nsw i64 %indvars.iv1554 to i32
  store i32 %324, ptr %305, align 8, !tbaa !38
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_6vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(28) %23)
          to label %325 unwind label %329

325:                                              ; preds = %323
  %326 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1554)
          to label %327 unwind label %331

327:                                              ; preds = %325
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %22, i64 noundef %326, i1 noundef zeroext false)
          to label %328 unwind label %331

328:                                              ; preds = %327
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #6
  %indvars.iv.next1555 = add nuw nsw i64 %indvars.iv1554, 1
  %exitcond1558.not = icmp eq i64 %indvars.iv.next1555, %wide.trip.count1557
  br i1 %exitcond1558.not, label %._crit_edge1299, label %323, !llvm.loop !39

329:                                              ; preds = %323
  %330 = landingpad { ptr, i32 }
          cleanup
  br label %333

331:                                              ; preds = %327, %325
  %332 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %333

333:                                              ; preds = %331, %329
  %.pn981 = phi { ptr, i32 } [ %332, %331 ], [ %330, %329 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #6
  br label %1349

334:                                              ; preds = %._crit_edge1299
  %335 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1296:                                  ; preds = %341, %.preheader1107
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %347

336:                                              ; preds = %.lr.ph1295, %341
  %indvars.iv1549 = phi i64 [ 0, %.lr.ph1295 ], [ %indvars.iv.next1550, %341 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #6
  store ptr %0, ptr %25, align 8, !tbaa !40
  store ptr %176, ptr %299, align 8, !tbaa !12
  store ptr %177, ptr %300, align 8, !tbaa !12
  %337 = trunc nuw nsw i64 %indvars.iv1549 to i32
  store i32 %337, ptr %301, align 8, !tbaa !42
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_7vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(28) %25)
          to label %338 unwind label %342

338:                                              ; preds = %336
  %339 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1549)
          to label %340 unwind label %344

340:                                              ; preds = %338
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %24, i64 noundef %339, i1 noundef zeroext false)
          to label %341 unwind label %344

341:                                              ; preds = %340
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  %indvars.iv.next1550 = add nuw nsw i64 %indvars.iv1549, 1
  %exitcond1553.not = icmp eq i64 %indvars.iv.next1550, %wide.trip.count1552
  br i1 %exitcond1553.not, label %._crit_edge1296, label %336, !llvm.loop !43

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

344:                                              ; preds = %340, %338
  %345 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  br label %346

346:                                              ; preds = %344, %342
  %.pn978 = phi { ptr, i32 } [ %345, %344 ], [ %343, %342 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  br label %1349

347:                                              ; preds = %._crit_edge1296
  %348 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1293:                                  ; preds = %354, %.preheader1108
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %360

349:                                              ; preds = %.lr.ph1292, %354
  %indvars.iv1544 = phi i64 [ 0, %.lr.ph1292 ], [ %indvars.iv.next1545, %354 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #6
  store ptr %0, ptr %27, align 8, !tbaa !44
  store ptr %176, ptr %295, align 8, !tbaa !12
  store ptr %177, ptr %296, align 8, !tbaa !12
  %350 = trunc nuw nsw i64 %indvars.iv1544 to i32
  store i32 %350, ptr %297, align 8, !tbaa !46
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_8vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(28) %27)
          to label %351 unwind label %355

351:                                              ; preds = %349
  %352 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1544)
          to label %353 unwind label %357

353:                                              ; preds = %351
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %26, i64 noundef %352, i1 noundef zeroext false)
          to label %354 unwind label %357

354:                                              ; preds = %353
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  %indvars.iv.next1545 = add nuw nsw i64 %indvars.iv1544, 1
  %exitcond1548.not = icmp eq i64 %indvars.iv.next1545, %wide.trip.count1547
  br i1 %exitcond1548.not, label %._crit_edge1293, label %349, !llvm.loop !47

355:                                              ; preds = %349
  %356 = landingpad { ptr, i32 }
          cleanup
  br label %359

357:                                              ; preds = %353, %351
  %358 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %359

359:                                              ; preds = %357, %355
  %.pn975 = phi { ptr, i32 } [ %358, %357 ], [ %356, %355 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  br label %1349

360:                                              ; preds = %._crit_edge1293
  %361 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1290:                                  ; preds = %367, %.preheader1109
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %373

362:                                              ; preds = %.lr.ph1289, %367
  %indvars.iv1539 = phi i64 [ 0, %.lr.ph1289 ], [ %indvars.iv.next1540, %367 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #6
  store ptr %0, ptr %29, align 8, !tbaa !48
  store ptr %176, ptr %291, align 8, !tbaa !12
  store ptr %177, ptr %292, align 8, !tbaa !12
  %363 = trunc nuw nsw i64 %indvars.iv1539 to i32
  store i32 %363, ptr %293, align 8, !tbaa !50
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_9vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(28) %29)
          to label %364 unwind label %368

364:                                              ; preds = %362
  %365 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1539)
          to label %366 unwind label %370

366:                                              ; preds = %364
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %28, i64 noundef %365, i1 noundef zeroext false)
          to label %367 unwind label %370

367:                                              ; preds = %366
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #6
  %indvars.iv.next1540 = add nuw nsw i64 %indvars.iv1539, 1
  %exitcond1543.not = icmp eq i64 %indvars.iv.next1540, %wide.trip.count1542
  br i1 %exitcond1543.not, label %._crit_edge1290, label %362, !llvm.loop !51

368:                                              ; preds = %362
  %369 = landingpad { ptr, i32 }
          cleanup
  br label %372

370:                                              ; preds = %366, %364
  %371 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  br label %372

372:                                              ; preds = %370, %368
  %.pn972 = phi { ptr, i32 } [ %371, %370 ], [ %369, %368 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #6
  br label %1349

373:                                              ; preds = %._crit_edge1290
  %374 = landingpad { ptr, i32 }
          cleanup
  br label %1349

375:                                              ; preds = %289
  %376 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %377 unwind label %.thread1024

377:                                              ; preds = %375
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %378 unwind label %.thread1028

378:                                              ; preds = %377
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %33) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %379 unwind label %384

379:                                              ; preds = %378
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %34)
          to label %380 unwind label %386

380:                                              ; preds = %379
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %376, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull %32, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %381 unwind label %388

381:                                              ; preds = %380
  invoke void @__cxa_throw(ptr nonnull %376, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1350 unwind label %388

.thread1024:                                      ; preds = %375
  %382 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #6
  br label %392

.thread1028:                                      ; preds = %377
  %383 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #6
  br label %392

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

386:                                              ; preds = %379
  %387 = landingpad { ptr, i32 }
          cleanup
  br label %390

388:                                              ; preds = %381, %380
  %.0727 = phi i1 [ false, %381 ], [ true, %380 ]
  %389 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br label %390

390:                                              ; preds = %388, %386
  %.1728 = phi i1 [ %.0727, %388 ], [ true, %386 ]
  %.pn987 = phi { ptr, i32 } [ %389, %388 ], [ %387, %386 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br label %391

391:                                              ; preds = %384, %390
  %.2729 = phi i1 [ %.1728, %390 ], [ true, %384 ]
  %.pn987.pn = phi { ptr, i32 } [ %.pn987, %390 ], [ %385, %384 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #6
  br i1 %.2729, label %392, label %1349

392:                                              ; preds = %.thread1028, %.thread1024, %391
  %.pn987.pn.pn.pn1027 = phi { ptr, i32 } [ %382, %.thread1024 ], [ %.pn987.pn, %391 ], [ %383, %.thread1028 ]
  call void @__cxa_free_exception(ptr %376) #6
  br label %1349

393:                                              ; preds = %2
  switch i32 %181, label %479 [
    i32 1, label %.preheader1110
    i32 2, label %.preheader1111
    i32 3, label %.preheader1112
    i32 4, label %.preheader1113
    i32 5, label %.preheader1114
  ]

.preheader1114:                                   ; preds = %393
  %394 = icmp sgt i32 %179, 0
  br i1 %394, label %.lr.ph1274, label %._crit_edge1275

.lr.ph1274:                                       ; preds = %.preheader1114
  %395 = getelementptr inbounds i8, ptr %44, i64 8
  %396 = getelementptr inbounds i8, ptr %44, i64 16
  %397 = getelementptr inbounds i8, ptr %44, i64 24
  %wide.trip.count1517 = zext nneg i32 %179 to i64
  br label %466

.preheader1113:                                   ; preds = %393
  %398 = icmp sgt i32 %179, 0
  br i1 %398, label %.lr.ph1277, label %._crit_edge1278

.lr.ph1277:                                       ; preds = %.preheader1113
  %399 = getelementptr inbounds i8, ptr %42, i64 8
  %400 = getelementptr inbounds i8, ptr %42, i64 16
  %401 = getelementptr inbounds i8, ptr %42, i64 24
  %wide.trip.count1522 = zext nneg i32 %179 to i64
  br label %453

.preheader1112:                                   ; preds = %393
  %402 = icmp sgt i32 %179, 0
  br i1 %402, label %.lr.ph1280, label %._crit_edge1281

.lr.ph1280:                                       ; preds = %.preheader1112
  %403 = getelementptr inbounds i8, ptr %40, i64 8
  %404 = getelementptr inbounds i8, ptr %40, i64 16
  %405 = getelementptr inbounds i8, ptr %40, i64 24
  %wide.trip.count1527 = zext nneg i32 %179 to i64
  br label %440

.preheader1111:                                   ; preds = %393
  %406 = icmp sgt i32 %179, 0
  br i1 %406, label %.lr.ph1283, label %._crit_edge1284

.lr.ph1283:                                       ; preds = %.preheader1111
  %407 = getelementptr inbounds i8, ptr %38, i64 8
  %408 = getelementptr inbounds i8, ptr %38, i64 16
  %409 = getelementptr inbounds i8, ptr %38, i64 24
  %wide.trip.count1532 = zext nneg i32 %179 to i64
  br label %427

.preheader1110:                                   ; preds = %393
  %410 = icmp sgt i32 %179, 0
  br i1 %410, label %.lr.ph1286, label %._crit_edge1287

.lr.ph1286:                                       ; preds = %.preheader1110
  %411 = getelementptr inbounds i8, ptr %36, i64 8
  %412 = getelementptr inbounds i8, ptr %36, i64 16
  %413 = getelementptr inbounds i8, ptr %36, i64 24
  %wide.trip.count1537 = zext nneg i32 %179 to i64
  br label %414

._crit_edge1287:                                  ; preds = %419, %.preheader1110
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %425

414:                                              ; preds = %.lr.ph1286, %419
  %indvars.iv1534 = phi i64 [ 0, %.lr.ph1286 ], [ %indvars.iv.next1535, %419 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #6
  store ptr %0, ptr %36, align 8, !tbaa !52
  store ptr %176, ptr %411, align 8, !tbaa !12
  store ptr %177, ptr %412, align 8, !tbaa !12
  %415 = trunc nuw nsw i64 %indvars.iv1534 to i32
  store i32 %415, ptr %413, align 8, !tbaa !54
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_10vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull align 8 dereferenceable(28) %36)
          to label %416 unwind label %420

416:                                              ; preds = %414
  %417 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1534)
          to label %418 unwind label %422

418:                                              ; preds = %416
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %35, i64 noundef %417, i1 noundef zeroext false)
          to label %419 unwind label %422

419:                                              ; preds = %418
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #6
  %indvars.iv.next1535 = add nuw nsw i64 %indvars.iv1534, 1
  %exitcond1538.not = icmp eq i64 %indvars.iv.next1535, %wide.trip.count1537
  br i1 %exitcond1538.not, label %._crit_edge1287, label %414, !llvm.loop !55

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

422:                                              ; preds = %418, %416
  %423 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %424

424:                                              ; preds = %422, %420
  %.pn964 = phi { ptr, i32 } [ %423, %422 ], [ %421, %420 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #6
  br label %1349

425:                                              ; preds = %._crit_edge1287
  %426 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1284:                                  ; preds = %432, %.preheader1111
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %438

427:                                              ; preds = %.lr.ph1283, %432
  %indvars.iv1529 = phi i64 [ 0, %.lr.ph1283 ], [ %indvars.iv.next1530, %432 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #6
  store ptr %0, ptr %38, align 8, !tbaa !56
  store ptr %176, ptr %407, align 8, !tbaa !12
  store ptr %177, ptr %408, align 8, !tbaa !12
  %428 = trunc nuw nsw i64 %indvars.iv1529 to i32
  store i32 %428, ptr %409, align 8, !tbaa !58
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_11vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull align 8 dereferenceable(28) %38)
          to label %429 unwind label %433

429:                                              ; preds = %427
  %430 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1529)
          to label %431 unwind label %435

431:                                              ; preds = %429
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %37, i64 noundef %430, i1 noundef zeroext false)
          to label %432 unwind label %435

432:                                              ; preds = %431
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #6
  %indvars.iv.next1530 = add nuw nsw i64 %indvars.iv1529, 1
  %exitcond1533.not = icmp eq i64 %indvars.iv.next1530, %wide.trip.count1532
  br i1 %exitcond1533.not, label %._crit_edge1284, label %427, !llvm.loop !59

433:                                              ; preds = %427
  %434 = landingpad { ptr, i32 }
          cleanup
  br label %437

435:                                              ; preds = %431, %429
  %436 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  br label %437

437:                                              ; preds = %435, %433
  %.pn961 = phi { ptr, i32 } [ %436, %435 ], [ %434, %433 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #6
  br label %1349

438:                                              ; preds = %._crit_edge1284
  %439 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1281:                                  ; preds = %445, %.preheader1112
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %451

440:                                              ; preds = %.lr.ph1280, %445
  %indvars.iv1524 = phi i64 [ 0, %.lr.ph1280 ], [ %indvars.iv.next1525, %445 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #6
  store ptr %0, ptr %40, align 8, !tbaa !60
  store ptr %176, ptr %403, align 8, !tbaa !12
  store ptr %177, ptr %404, align 8, !tbaa !12
  %441 = trunc nuw nsw i64 %indvars.iv1524 to i32
  store i32 %441, ptr %405, align 8, !tbaa !62
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_12vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(28) %40)
          to label %442 unwind label %446

442:                                              ; preds = %440
  %443 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1524)
          to label %444 unwind label %448

444:                                              ; preds = %442
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %39, i64 noundef %443, i1 noundef zeroext false)
          to label %445 unwind label %448

445:                                              ; preds = %444
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #6
  %indvars.iv.next1525 = add nuw nsw i64 %indvars.iv1524, 1
  %exitcond1528.not = icmp eq i64 %indvars.iv.next1525, %wide.trip.count1527
  br i1 %exitcond1528.not, label %._crit_edge1281, label %440, !llvm.loop !63

446:                                              ; preds = %440
  %447 = landingpad { ptr, i32 }
          cleanup
  br label %450

448:                                              ; preds = %444, %442
  %449 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %450

450:                                              ; preds = %448, %446
  %.pn958 = phi { ptr, i32 } [ %449, %448 ], [ %447, %446 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #6
  br label %1349

451:                                              ; preds = %._crit_edge1281
  %452 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1278:                                  ; preds = %458, %.preheader1113
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %464

453:                                              ; preds = %.lr.ph1277, %458
  %indvars.iv1519 = phi i64 [ 0, %.lr.ph1277 ], [ %indvars.iv.next1520, %458 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #6
  store ptr %0, ptr %42, align 8, !tbaa !64
  store ptr %176, ptr %399, align 8, !tbaa !12
  store ptr %177, ptr %400, align 8, !tbaa !12
  %454 = trunc nuw nsw i64 %indvars.iv1519 to i32
  store i32 %454, ptr %401, align 8, !tbaa !66
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_13vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(28) %42)
          to label %455 unwind label %459

455:                                              ; preds = %453
  %456 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1519)
          to label %457 unwind label %461

457:                                              ; preds = %455
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %41, i64 noundef %456, i1 noundef zeroext false)
          to label %458 unwind label %461

458:                                              ; preds = %457
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #6
  %indvars.iv.next1520 = add nuw nsw i64 %indvars.iv1519, 1
  %exitcond1523.not = icmp eq i64 %indvars.iv.next1520, %wide.trip.count1522
  br i1 %exitcond1523.not, label %._crit_edge1278, label %453, !llvm.loop !67

459:                                              ; preds = %453
  %460 = landingpad { ptr, i32 }
          cleanup
  br label %463

461:                                              ; preds = %457, %455
  %462 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  br label %463

463:                                              ; preds = %461, %459
  %.pn955 = phi { ptr, i32 } [ %462, %461 ], [ %460, %459 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #6
  br label %1349

464:                                              ; preds = %._crit_edge1278
  %465 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1275:                                  ; preds = %471, %.preheader1114
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %477

466:                                              ; preds = %.lr.ph1274, %471
  %indvars.iv1514 = phi i64 [ 0, %.lr.ph1274 ], [ %indvars.iv.next1515, %471 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #6
  store ptr %0, ptr %44, align 8, !tbaa !68
  store ptr %176, ptr %395, align 8, !tbaa !12
  store ptr %177, ptr %396, align 8, !tbaa !12
  %467 = trunc nuw nsw i64 %indvars.iv1514 to i32
  store i32 %467, ptr %397, align 8, !tbaa !70
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_14vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull align 8 dereferenceable(28) %44)
          to label %468 unwind label %472

468:                                              ; preds = %466
  %469 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1514)
          to label %470 unwind label %474

470:                                              ; preds = %468
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %43, i64 noundef %469, i1 noundef zeroext false)
          to label %471 unwind label %474

471:                                              ; preds = %470
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #6
  %indvars.iv.next1515 = add nuw nsw i64 %indvars.iv1514, 1
  %exitcond1518.not = icmp eq i64 %indvars.iv.next1515, %wide.trip.count1517
  br i1 %exitcond1518.not, label %._crit_edge1275, label %466, !llvm.loop !71

472:                                              ; preds = %466
  %473 = landingpad { ptr, i32 }
          cleanup
  br label %476

474:                                              ; preds = %470, %468
  %475 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  br label %476

476:                                              ; preds = %474, %472
  %.pn952 = phi { ptr, i32 } [ %475, %474 ], [ %473, %472 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #6
  br label %1349

477:                                              ; preds = %._crit_edge1275
  %478 = landingpad { ptr, i32 }
          cleanup
  br label %1349

479:                                              ; preds = %393
  %480 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %481 unwind label %.thread1031

481:                                              ; preds = %479
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %482 unwind label %.thread1035

482:                                              ; preds = %481
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %48) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %483 unwind label %488

483:                                              ; preds = %482
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %49)
          to label %484 unwind label %490

484:                                              ; preds = %483
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %480, ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull %47, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %485 unwind label %492

485:                                              ; preds = %484
  invoke void @__cxa_throw(ptr nonnull %480, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1350 unwind label %492

.thread1031:                                      ; preds = %479
  %486 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #6
  br label %496

.thread1035:                                      ; preds = %481
  %487 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #6
  br label %496

488:                                              ; preds = %482
  %489 = landingpad { ptr, i32 }
          cleanup
  br label %495

490:                                              ; preds = %483
  %491 = landingpad { ptr, i32 }
          cleanup
  br label %494

492:                                              ; preds = %485, %484
  %.0748 = phi i1 [ false, %485 ], [ true, %484 ]
  %493 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %494

494:                                              ; preds = %492, %490
  %.1749 = phi i1 [ %.0748, %492 ], [ true, %490 ]
  %.pn967 = phi { ptr, i32 } [ %493, %492 ], [ %491, %490 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %495

495:                                              ; preds = %488, %494
  %.2750 = phi i1 [ %.1749, %494 ], [ true, %488 ]
  %.pn967.pn = phi { ptr, i32 } [ %.pn967, %494 ], [ %489, %488 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #6
  br i1 %.2750, label %496, label %1349

496:                                              ; preds = %.thread1035, %.thread1031, %495
  %.pn967.pn.pn.pn1034 = phi { ptr, i32 } [ %486, %.thread1031 ], [ %.pn967.pn, %495 ], [ %487, %.thread1035 ]
  call void @__cxa_free_exception(ptr %480) #6
  br label %1349

497:                                              ; preds = %2
  switch i32 %181, label %583 [
    i32 1, label %.preheader1115
    i32 2, label %.preheader1116
    i32 3, label %.preheader1117
    i32 4, label %.preheader1118
    i32 5, label %.preheader1119
  ]

.preheader1119:                                   ; preds = %497
  %498 = icmp sgt i32 %179, 0
  br i1 %498, label %.lr.ph1259, label %._crit_edge1260

.lr.ph1259:                                       ; preds = %.preheader1119
  %499 = getelementptr inbounds i8, ptr %59, i64 8
  %500 = getelementptr inbounds i8, ptr %59, i64 16
  %501 = getelementptr inbounds i8, ptr %59, i64 24
  %wide.trip.count1492 = zext nneg i32 %179 to i64
  br label %570

.preheader1118:                                   ; preds = %497
  %502 = icmp sgt i32 %179, 0
  br i1 %502, label %.lr.ph1262, label %._crit_edge1263

.lr.ph1262:                                       ; preds = %.preheader1118
  %503 = getelementptr inbounds i8, ptr %57, i64 8
  %504 = getelementptr inbounds i8, ptr %57, i64 16
  %505 = getelementptr inbounds i8, ptr %57, i64 24
  %wide.trip.count1497 = zext nneg i32 %179 to i64
  br label %557

.preheader1117:                                   ; preds = %497
  %506 = icmp sgt i32 %179, 0
  br i1 %506, label %.lr.ph1265, label %._crit_edge1266

.lr.ph1265:                                       ; preds = %.preheader1117
  %507 = getelementptr inbounds i8, ptr %55, i64 8
  %508 = getelementptr inbounds i8, ptr %55, i64 16
  %509 = getelementptr inbounds i8, ptr %55, i64 24
  %wide.trip.count1502 = zext nneg i32 %179 to i64
  br label %544

.preheader1116:                                   ; preds = %497
  %510 = icmp sgt i32 %179, 0
  br i1 %510, label %.lr.ph1268, label %._crit_edge1269

.lr.ph1268:                                       ; preds = %.preheader1116
  %511 = getelementptr inbounds i8, ptr %53, i64 8
  %512 = getelementptr inbounds i8, ptr %53, i64 16
  %513 = getelementptr inbounds i8, ptr %53, i64 24
  %wide.trip.count1507 = zext nneg i32 %179 to i64
  br label %531

.preheader1115:                                   ; preds = %497
  %514 = icmp sgt i32 %179, 0
  br i1 %514, label %.lr.ph1271, label %._crit_edge1272

.lr.ph1271:                                       ; preds = %.preheader1115
  %515 = getelementptr inbounds i8, ptr %51, i64 8
  %516 = getelementptr inbounds i8, ptr %51, i64 16
  %517 = getelementptr inbounds i8, ptr %51, i64 24
  %wide.trip.count1512 = zext nneg i32 %179 to i64
  br label %518

._crit_edge1272:                                  ; preds = %523, %.preheader1115
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %529

518:                                              ; preds = %.lr.ph1271, %523
  %indvars.iv1509 = phi i64 [ 0, %.lr.ph1271 ], [ %indvars.iv.next1510, %523 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #6
  store ptr %0, ptr %51, align 8, !tbaa !72
  store ptr %176, ptr %515, align 8, !tbaa !12
  store ptr %177, ptr %516, align 8, !tbaa !12
  %519 = trunc nuw nsw i64 %indvars.iv1509 to i32
  store i32 %519, ptr %517, align 8, !tbaa !74
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_15vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(28) %51)
          to label %520 unwind label %524

520:                                              ; preds = %518
  %521 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1509)
          to label %522 unwind label %526

522:                                              ; preds = %520
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %50, i64 noundef %521, i1 noundef zeroext false)
          to label %523 unwind label %526

523:                                              ; preds = %522
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  %indvars.iv.next1510 = add nuw nsw i64 %indvars.iv1509, 1
  %exitcond1513.not = icmp eq i64 %indvars.iv.next1510, %wide.trip.count1512
  br i1 %exitcond1513.not, label %._crit_edge1272, label %518, !llvm.loop !75

524:                                              ; preds = %518
  %525 = landingpad { ptr, i32 }
          cleanup
  br label %528

526:                                              ; preds = %522, %520
  %527 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  br label %528

528:                                              ; preds = %526, %524
  %.pn944 = phi { ptr, i32 } [ %527, %526 ], [ %525, %524 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  br label %1349

529:                                              ; preds = %._crit_edge1272
  %530 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1269:                                  ; preds = %536, %.preheader1116
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %542

531:                                              ; preds = %.lr.ph1268, %536
  %indvars.iv1504 = phi i64 [ 0, %.lr.ph1268 ], [ %indvars.iv.next1505, %536 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #6
  store ptr %0, ptr %53, align 8, !tbaa !76
  store ptr %176, ptr %511, align 8, !tbaa !12
  store ptr %177, ptr %512, align 8, !tbaa !12
  %532 = trunc nuw nsw i64 %indvars.iv1504 to i32
  store i32 %532, ptr %513, align 8, !tbaa !78
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_16vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull align 8 dereferenceable(28) %53)
          to label %533 unwind label %537

533:                                              ; preds = %531
  %534 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1504)
          to label %535 unwind label %539

535:                                              ; preds = %533
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %52, i64 noundef %534, i1 noundef zeroext false)
          to label %536 unwind label %539

536:                                              ; preds = %535
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #6
  %indvars.iv.next1505 = add nuw nsw i64 %indvars.iv1504, 1
  %exitcond1508.not = icmp eq i64 %indvars.iv.next1505, %wide.trip.count1507
  br i1 %exitcond1508.not, label %._crit_edge1269, label %531, !llvm.loop !79

537:                                              ; preds = %531
  %538 = landingpad { ptr, i32 }
          cleanup
  br label %541

539:                                              ; preds = %535, %533
  %540 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  br label %541

541:                                              ; preds = %539, %537
  %.pn941 = phi { ptr, i32 } [ %540, %539 ], [ %538, %537 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #6
  br label %1349

542:                                              ; preds = %._crit_edge1269
  %543 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1266:                                  ; preds = %549, %.preheader1117
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %555

544:                                              ; preds = %.lr.ph1265, %549
  %indvars.iv1499 = phi i64 [ 0, %.lr.ph1265 ], [ %indvars.iv.next1500, %549 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #6
  store ptr %0, ptr %55, align 8, !tbaa !80
  store ptr %176, ptr %507, align 8, !tbaa !12
  store ptr %177, ptr %508, align 8, !tbaa !12
  %545 = trunc nuw nsw i64 %indvars.iv1499 to i32
  store i32 %545, ptr %509, align 8, !tbaa !82
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_17vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(28) %55)
          to label %546 unwind label %550

546:                                              ; preds = %544
  %547 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1499)
          to label %548 unwind label %552

548:                                              ; preds = %546
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %54, i64 noundef %547, i1 noundef zeroext false)
          to label %549 unwind label %552

549:                                              ; preds = %548
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #6
  %indvars.iv.next1500 = add nuw nsw i64 %indvars.iv1499, 1
  %exitcond1503.not = icmp eq i64 %indvars.iv.next1500, %wide.trip.count1502
  br i1 %exitcond1503.not, label %._crit_edge1266, label %544, !llvm.loop !83

550:                                              ; preds = %544
  %551 = landingpad { ptr, i32 }
          cleanup
  br label %554

552:                                              ; preds = %548, %546
  %553 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  br label %554

554:                                              ; preds = %552, %550
  %.pn938 = phi { ptr, i32 } [ %553, %552 ], [ %551, %550 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #6
  br label %1349

555:                                              ; preds = %._crit_edge1266
  %556 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1263:                                  ; preds = %562, %.preheader1118
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %568

557:                                              ; preds = %.lr.ph1262, %562
  %indvars.iv1494 = phi i64 [ 0, %.lr.ph1262 ], [ %indvars.iv.next1495, %562 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #6
  store ptr %0, ptr %57, align 8, !tbaa !84
  store ptr %176, ptr %503, align 8, !tbaa !12
  store ptr %177, ptr %504, align 8, !tbaa !12
  %558 = trunc nuw nsw i64 %indvars.iv1494 to i32
  store i32 %558, ptr %505, align 8, !tbaa !86
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_18vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull align 8 dereferenceable(28) %57)
          to label %559 unwind label %563

559:                                              ; preds = %557
  %560 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1494)
          to label %561 unwind label %565

561:                                              ; preds = %559
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %56, i64 noundef %560, i1 noundef zeroext false)
          to label %562 unwind label %565

562:                                              ; preds = %561
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #6
  %indvars.iv.next1495 = add nuw nsw i64 %indvars.iv1494, 1
  %exitcond1498.not = icmp eq i64 %indvars.iv.next1495, %wide.trip.count1497
  br i1 %exitcond1498.not, label %._crit_edge1263, label %557, !llvm.loop !87

563:                                              ; preds = %557
  %564 = landingpad { ptr, i32 }
          cleanup
  br label %567

565:                                              ; preds = %561, %559
  %566 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  br label %567

567:                                              ; preds = %565, %563
  %.pn935 = phi { ptr, i32 } [ %566, %565 ], [ %564, %563 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #6
  br label %1349

568:                                              ; preds = %._crit_edge1263
  %569 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1260:                                  ; preds = %575, %.preheader1119
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %581

570:                                              ; preds = %.lr.ph1259, %575
  %indvars.iv1489 = phi i64 [ 0, %.lr.ph1259 ], [ %indvars.iv.next1490, %575 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #6
  store ptr %0, ptr %59, align 8, !tbaa !88
  store ptr %176, ptr %499, align 8, !tbaa !12
  store ptr %177, ptr %500, align 8, !tbaa !12
  %571 = trunc nuw nsw i64 %indvars.iv1489 to i32
  store i32 %571, ptr %501, align 8, !tbaa !90
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_19vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull align 8 dereferenceable(28) %59)
          to label %572 unwind label %576

572:                                              ; preds = %570
  %573 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1489)
          to label %574 unwind label %578

574:                                              ; preds = %572
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %58, i64 noundef %573, i1 noundef zeroext false)
          to label %575 unwind label %578

575:                                              ; preds = %574
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #6
  %indvars.iv.next1490 = add nuw nsw i64 %indvars.iv1489, 1
  %exitcond1493.not = icmp eq i64 %indvars.iv.next1490, %wide.trip.count1492
  br i1 %exitcond1493.not, label %._crit_edge1260, label %570, !llvm.loop !91

576:                                              ; preds = %570
  %577 = landingpad { ptr, i32 }
          cleanup
  br label %580

578:                                              ; preds = %574, %572
  %579 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br label %580

580:                                              ; preds = %578, %576
  %.pn932 = phi { ptr, i32 } [ %579, %578 ], [ %577, %576 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #6
  br label %1349

581:                                              ; preds = %._crit_edge1260
  %582 = landingpad { ptr, i32 }
          cleanup
  br label %1349

583:                                              ; preds = %497
  %584 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %60) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %585 unwind label %.thread1038

585:                                              ; preds = %583
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %586 unwind label %.thread1042

586:                                              ; preds = %585
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %63) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %63)
          to label %587 unwind label %592

587:                                              ; preds = %586
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %64)
          to label %588 unwind label %594

588:                                              ; preds = %587
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %584, ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull %62, ptr noundef nonnull align 8 dereferenceable(32) %64)
          to label %589 unwind label %596

589:                                              ; preds = %588
  invoke void @__cxa_throw(ptr nonnull %584, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1350 unwind label %596

.thread1038:                                      ; preds = %583
  %590 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #6
  br label %600

.thread1042:                                      ; preds = %585
  %591 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #6
  br label %600

592:                                              ; preds = %586
  %593 = landingpad { ptr, i32 }
          cleanup
  br label %599

594:                                              ; preds = %587
  %595 = landingpad { ptr, i32 }
          cleanup
  br label %598

596:                                              ; preds = %589, %588
  %.0774 = phi i1 [ false, %589 ], [ true, %588 ]
  %597 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  br label %598

598:                                              ; preds = %596, %594
  %.1775 = phi i1 [ %.0774, %596 ], [ true, %594 ]
  %.pn947 = phi { ptr, i32 } [ %597, %596 ], [ %595, %594 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  br label %599

599:                                              ; preds = %592, %598
  %.2776 = phi i1 [ %.1775, %598 ], [ true, %592 ]
  %.pn947.pn = phi { ptr, i32 } [ %.pn947, %598 ], [ %593, %592 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %63) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #6
  br i1 %.2776, label %600, label %1349

600:                                              ; preds = %.thread1042, %.thread1038, %599
  %.pn947.pn.pn.pn1041 = phi { ptr, i32 } [ %590, %.thread1038 ], [ %.pn947.pn, %599 ], [ %591, %.thread1042 ]
  call void @__cxa_free_exception(ptr %584) #6
  br label %1349

601:                                              ; preds = %2
  switch i32 %181, label %687 [
    i32 1, label %.preheader1120
    i32 2, label %.preheader1121
    i32 3, label %.preheader1122
    i32 4, label %.preheader1123
    i32 5, label %.preheader1124
  ]

.preheader1124:                                   ; preds = %601
  %602 = icmp sgt i32 %179, 0
  br i1 %602, label %.lr.ph1244, label %._crit_edge1245

.lr.ph1244:                                       ; preds = %.preheader1124
  %603 = getelementptr inbounds i8, ptr %74, i64 8
  %604 = getelementptr inbounds i8, ptr %74, i64 16
  %605 = getelementptr inbounds i8, ptr %74, i64 24
  %wide.trip.count1467 = zext nneg i32 %179 to i64
  br label %674

.preheader1123:                                   ; preds = %601
  %606 = icmp sgt i32 %179, 0
  br i1 %606, label %.lr.ph1247, label %._crit_edge1248

.lr.ph1247:                                       ; preds = %.preheader1123
  %607 = getelementptr inbounds i8, ptr %72, i64 8
  %608 = getelementptr inbounds i8, ptr %72, i64 16
  %609 = getelementptr inbounds i8, ptr %72, i64 24
  %wide.trip.count1472 = zext nneg i32 %179 to i64
  br label %661

.preheader1122:                                   ; preds = %601
  %610 = icmp sgt i32 %179, 0
  br i1 %610, label %.lr.ph1250, label %._crit_edge1251

.lr.ph1250:                                       ; preds = %.preheader1122
  %611 = getelementptr inbounds i8, ptr %70, i64 8
  %612 = getelementptr inbounds i8, ptr %70, i64 16
  %613 = getelementptr inbounds i8, ptr %70, i64 24
  %wide.trip.count1477 = zext nneg i32 %179 to i64
  br label %648

.preheader1121:                                   ; preds = %601
  %614 = icmp sgt i32 %179, 0
  br i1 %614, label %.lr.ph1253, label %._crit_edge1254

.lr.ph1253:                                       ; preds = %.preheader1121
  %615 = getelementptr inbounds i8, ptr %68, i64 8
  %616 = getelementptr inbounds i8, ptr %68, i64 16
  %617 = getelementptr inbounds i8, ptr %68, i64 24
  %wide.trip.count1482 = zext nneg i32 %179 to i64
  br label %635

.preheader1120:                                   ; preds = %601
  %618 = icmp sgt i32 %179, 0
  br i1 %618, label %.lr.ph1256, label %._crit_edge1257

.lr.ph1256:                                       ; preds = %.preheader1120
  %619 = getelementptr inbounds i8, ptr %66, i64 8
  %620 = getelementptr inbounds i8, ptr %66, i64 16
  %621 = getelementptr inbounds i8, ptr %66, i64 24
  %wide.trip.count1487 = zext nneg i32 %179 to i64
  br label %622

._crit_edge1257:                                  ; preds = %627, %.preheader1120
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %633

622:                                              ; preds = %.lr.ph1256, %627
  %indvars.iv1484 = phi i64 [ 0, %.lr.ph1256 ], [ %indvars.iv.next1485, %627 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %66) #6
  store ptr %0, ptr %66, align 8, !tbaa !92
  store ptr %176, ptr %619, align 8, !tbaa !12
  store ptr %177, ptr %620, align 8, !tbaa !12
  %623 = trunc nuw nsw i64 %indvars.iv1484 to i32
  store i32 %623, ptr %621, align 8, !tbaa !94
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_20vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull align 8 dereferenceable(28) %66)
          to label %624 unwind label %628

624:                                              ; preds = %622
  %625 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1484)
          to label %626 unwind label %630

626:                                              ; preds = %624
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %65, i64 noundef %625, i1 noundef zeroext false)
          to label %627 unwind label %630

627:                                              ; preds = %626
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #6
  %indvars.iv.next1485 = add nuw nsw i64 %indvars.iv1484, 1
  %exitcond1488.not = icmp eq i64 %indvars.iv.next1485, %wide.trip.count1487
  br i1 %exitcond1488.not, label %._crit_edge1257, label %622, !llvm.loop !95

628:                                              ; preds = %622
  %629 = landingpad { ptr, i32 }
          cleanup
  br label %632

630:                                              ; preds = %626, %624
  %631 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  br label %632

632:                                              ; preds = %630, %628
  %.pn924 = phi { ptr, i32 } [ %631, %630 ], [ %629, %628 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #6
  br label %1349

633:                                              ; preds = %._crit_edge1257
  %634 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1254:                                  ; preds = %640, %.preheader1121
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %646

635:                                              ; preds = %.lr.ph1253, %640
  %indvars.iv1479 = phi i64 [ 0, %.lr.ph1253 ], [ %indvars.iv.next1480, %640 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %68) #6
  store ptr %0, ptr %68, align 8, !tbaa !96
  store ptr %176, ptr %615, align 8, !tbaa !12
  store ptr %177, ptr %616, align 8, !tbaa !12
  %636 = trunc nuw nsw i64 %indvars.iv1479 to i32
  store i32 %636, ptr %617, align 8, !tbaa !98
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_21vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull align 8 dereferenceable(28) %68)
          to label %637 unwind label %641

637:                                              ; preds = %635
  %638 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1479)
          to label %639 unwind label %643

639:                                              ; preds = %637
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %67, i64 noundef %638, i1 noundef zeroext false)
          to label %640 unwind label %643

640:                                              ; preds = %639
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #6
  %indvars.iv.next1480 = add nuw nsw i64 %indvars.iv1479, 1
  %exitcond1483.not = icmp eq i64 %indvars.iv.next1480, %wide.trip.count1482
  br i1 %exitcond1483.not, label %._crit_edge1254, label %635, !llvm.loop !99

641:                                              ; preds = %635
  %642 = landingpad { ptr, i32 }
          cleanup
  br label %645

643:                                              ; preds = %639, %637
  %644 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  br label %645

645:                                              ; preds = %643, %641
  %.pn921 = phi { ptr, i32 } [ %644, %643 ], [ %642, %641 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #6
  br label %1349

646:                                              ; preds = %._crit_edge1254
  %647 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1251:                                  ; preds = %653, %.preheader1122
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %659

648:                                              ; preds = %.lr.ph1250, %653
  %indvars.iv1474 = phi i64 [ 0, %.lr.ph1250 ], [ %indvars.iv.next1475, %653 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %70) #6
  store ptr %0, ptr %70, align 8, !tbaa !100
  store ptr %176, ptr %611, align 8, !tbaa !12
  store ptr %177, ptr %612, align 8, !tbaa !12
  %649 = trunc nuw nsw i64 %indvars.iv1474 to i32
  store i32 %649, ptr %613, align 8, !tbaa !102
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_22vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 8 dereferenceable(28) %70)
          to label %650 unwind label %654

650:                                              ; preds = %648
  %651 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1474)
          to label %652 unwind label %656

652:                                              ; preds = %650
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %69, i64 noundef %651, i1 noundef zeroext false)
          to label %653 unwind label %656

653:                                              ; preds = %652
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #6
  %indvars.iv.next1475 = add nuw nsw i64 %indvars.iv1474, 1
  %exitcond1478.not = icmp eq i64 %indvars.iv.next1475, %wide.trip.count1477
  br i1 %exitcond1478.not, label %._crit_edge1251, label %648, !llvm.loop !103

654:                                              ; preds = %648
  %655 = landingpad { ptr, i32 }
          cleanup
  br label %658

656:                                              ; preds = %652, %650
  %657 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  br label %658

658:                                              ; preds = %656, %654
  %.pn918 = phi { ptr, i32 } [ %657, %656 ], [ %655, %654 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #6
  br label %1349

659:                                              ; preds = %._crit_edge1251
  %660 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1248:                                  ; preds = %666, %.preheader1123
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %672

661:                                              ; preds = %.lr.ph1247, %666
  %indvars.iv1469 = phi i64 [ 0, %.lr.ph1247 ], [ %indvars.iv.next1470, %666 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %72) #6
  store ptr %0, ptr %72, align 8, !tbaa !104
  store ptr %176, ptr %607, align 8, !tbaa !12
  store ptr %177, ptr %608, align 8, !tbaa !12
  %662 = trunc nuw nsw i64 %indvars.iv1469 to i32
  store i32 %662, ptr %609, align 8, !tbaa !106
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_23vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull align 8 dereferenceable(28) %72)
          to label %663 unwind label %667

663:                                              ; preds = %661
  %664 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1469)
          to label %665 unwind label %669

665:                                              ; preds = %663
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %71, i64 noundef %664, i1 noundef zeroext false)
          to label %666 unwind label %669

666:                                              ; preds = %665
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #6
  %indvars.iv.next1470 = add nuw nsw i64 %indvars.iv1469, 1
  %exitcond1473.not = icmp eq i64 %indvars.iv.next1470, %wide.trip.count1472
  br i1 %exitcond1473.not, label %._crit_edge1248, label %661, !llvm.loop !107

667:                                              ; preds = %661
  %668 = landingpad { ptr, i32 }
          cleanup
  br label %671

669:                                              ; preds = %665, %663
  %670 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  br label %671

671:                                              ; preds = %669, %667
  %.pn915 = phi { ptr, i32 } [ %670, %669 ], [ %668, %667 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #6
  br label %1349

672:                                              ; preds = %._crit_edge1248
  %673 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1245:                                  ; preds = %679, %.preheader1124
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %685

674:                                              ; preds = %.lr.ph1244, %679
  %indvars.iv1464 = phi i64 [ 0, %.lr.ph1244 ], [ %indvars.iv.next1465, %679 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %74) #6
  store ptr %0, ptr %74, align 8, !tbaa !108
  store ptr %176, ptr %603, align 8, !tbaa !12
  store ptr %177, ptr %604, align 8, !tbaa !12
  %675 = trunc nuw nsw i64 %indvars.iv1464 to i32
  store i32 %675, ptr %605, align 8, !tbaa !110
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_24vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(28) %74)
          to label %676 unwind label %680

676:                                              ; preds = %674
  %677 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1464)
          to label %678 unwind label %682

678:                                              ; preds = %676
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %73, i64 noundef %677, i1 noundef zeroext false)
          to label %679 unwind label %682

679:                                              ; preds = %678
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #6
  %indvars.iv.next1465 = add nuw nsw i64 %indvars.iv1464, 1
  %exitcond1468.not = icmp eq i64 %indvars.iv.next1465, %wide.trip.count1467
  br i1 %exitcond1468.not, label %._crit_edge1245, label %674, !llvm.loop !111

680:                                              ; preds = %674
  %681 = landingpad { ptr, i32 }
          cleanup
  br label %684

682:                                              ; preds = %678, %676
  %683 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %684

684:                                              ; preds = %682, %680
  %.pn912 = phi { ptr, i32 } [ %683, %682 ], [ %681, %680 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #6
  br label %1349

685:                                              ; preds = %._crit_edge1245
  %686 = landingpad { ptr, i32 }
          cleanup
  br label %1349

687:                                              ; preds = %601
  %688 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %75) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %76) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %76, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %689 unwind label %.thread1045

689:                                              ; preds = %687
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %75, ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %690 unwind label %.thread1049

690:                                              ; preds = %689
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %78) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %78)
          to label %691 unwind label %696

691:                                              ; preds = %690
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %79) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %79)
          to label %692 unwind label %698

692:                                              ; preds = %691
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %688, ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull %77, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %693 unwind label %700

693:                                              ; preds = %692
  invoke void @__cxa_throw(ptr nonnull %688, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1350 unwind label %700

.thread1045:                                      ; preds = %687
  %694 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %76) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #6
  br label %704

.thread1049:                                      ; preds = %689
  %695 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %76) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #6
  br label %704

696:                                              ; preds = %690
  %697 = landingpad { ptr, i32 }
          cleanup
  br label %703

698:                                              ; preds = %691
  %699 = landingpad { ptr, i32 }
          cleanup
  br label %702

700:                                              ; preds = %693, %692
  %.0787 = phi i1 [ false, %693 ], [ true, %692 ]
  %701 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  br label %702

702:                                              ; preds = %700, %698
  %.1788 = phi i1 [ %.0787, %700 ], [ true, %698 ]
  %.pn927 = phi { ptr, i32 } [ %701, %700 ], [ %699, %698 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  br label %703

703:                                              ; preds = %696, %702
  %.2789 = phi i1 [ %.1788, %702 ], [ true, %696 ]
  %.pn927.pn = phi { ptr, i32 } [ %.pn927, %702 ], [ %697, %696 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %76) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #6
  br i1 %.2789, label %704, label %1349

704:                                              ; preds = %.thread1049, %.thread1045, %703
  %.pn927.pn.pn.pn1048 = phi { ptr, i32 } [ %694, %.thread1045 ], [ %.pn927.pn, %703 ], [ %695, %.thread1049 ]
  call void @__cxa_free_exception(ptr %688) #6
  br label %1349

705:                                              ; preds = %2
  switch i32 %181, label %791 [
    i32 1, label %.preheader1125
    i32 2, label %.preheader1126
    i32 3, label %.preheader1127
    i32 4, label %.preheader1128
    i32 5, label %.preheader1129
  ]

.preheader1129:                                   ; preds = %705
  %706 = icmp sgt i32 %179, 0
  br i1 %706, label %.lr.ph1229, label %._crit_edge1230

.lr.ph1229:                                       ; preds = %.preheader1129
  %707 = getelementptr inbounds i8, ptr %89, i64 8
  %708 = getelementptr inbounds i8, ptr %89, i64 16
  %709 = getelementptr inbounds i8, ptr %89, i64 24
  %wide.trip.count1442 = zext nneg i32 %179 to i64
  br label %778

.preheader1128:                                   ; preds = %705
  %710 = icmp sgt i32 %179, 0
  br i1 %710, label %.lr.ph1232, label %._crit_edge1233

.lr.ph1232:                                       ; preds = %.preheader1128
  %711 = getelementptr inbounds i8, ptr %87, i64 8
  %712 = getelementptr inbounds i8, ptr %87, i64 16
  %713 = getelementptr inbounds i8, ptr %87, i64 24
  %wide.trip.count1447 = zext nneg i32 %179 to i64
  br label %765

.preheader1127:                                   ; preds = %705
  %714 = icmp sgt i32 %179, 0
  br i1 %714, label %.lr.ph1235, label %._crit_edge1236

.lr.ph1235:                                       ; preds = %.preheader1127
  %715 = getelementptr inbounds i8, ptr %85, i64 8
  %716 = getelementptr inbounds i8, ptr %85, i64 16
  %717 = getelementptr inbounds i8, ptr %85, i64 24
  %wide.trip.count1452 = zext nneg i32 %179 to i64
  br label %752

.preheader1126:                                   ; preds = %705
  %718 = icmp sgt i32 %179, 0
  br i1 %718, label %.lr.ph1238, label %._crit_edge1239

.lr.ph1238:                                       ; preds = %.preheader1126
  %719 = getelementptr inbounds i8, ptr %83, i64 8
  %720 = getelementptr inbounds i8, ptr %83, i64 16
  %721 = getelementptr inbounds i8, ptr %83, i64 24
  %wide.trip.count1457 = zext nneg i32 %179 to i64
  br label %739

.preheader1125:                                   ; preds = %705
  %722 = icmp sgt i32 %179, 0
  br i1 %722, label %.lr.ph1241, label %._crit_edge1242

.lr.ph1241:                                       ; preds = %.preheader1125
  %723 = getelementptr inbounds i8, ptr %81, i64 8
  %724 = getelementptr inbounds i8, ptr %81, i64 16
  %725 = getelementptr inbounds i8, ptr %81, i64 24
  %wide.trip.count1462 = zext nneg i32 %179 to i64
  br label %726

._crit_edge1242:                                  ; preds = %731, %.preheader1125
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %737

726:                                              ; preds = %.lr.ph1241, %731
  %indvars.iv1459 = phi i64 [ 0, %.lr.ph1241 ], [ %indvars.iv.next1460, %731 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %81) #6
  store ptr %0, ptr %81, align 8, !tbaa !112
  store ptr %176, ptr %723, align 8, !tbaa !12
  store ptr %177, ptr %724, align 8, !tbaa !12
  %727 = trunc nuw nsw i64 %indvars.iv1459 to i32
  store i32 %727, ptr %725, align 8, !tbaa !114
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_25vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull align 8 dereferenceable(28) %81)
          to label %728 unwind label %732

728:                                              ; preds = %726
  %729 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1459)
          to label %730 unwind label %734

730:                                              ; preds = %728
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %80, i64 noundef %729, i1 noundef zeroext false)
          to label %731 unwind label %734

731:                                              ; preds = %730
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #6
  %indvars.iv.next1460 = add nuw nsw i64 %indvars.iv1459, 1
  %exitcond1463.not = icmp eq i64 %indvars.iv.next1460, %wide.trip.count1462
  br i1 %exitcond1463.not, label %._crit_edge1242, label %726, !llvm.loop !115

732:                                              ; preds = %726
  %733 = landingpad { ptr, i32 }
          cleanup
  br label %736

734:                                              ; preds = %730, %728
  %735 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #6
  br label %736

736:                                              ; preds = %734, %732
  %.pn904 = phi { ptr, i32 } [ %735, %734 ], [ %733, %732 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #6
  br label %1349

737:                                              ; preds = %._crit_edge1242
  %738 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1239:                                  ; preds = %744, %.preheader1126
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %750

739:                                              ; preds = %.lr.ph1238, %744
  %indvars.iv1454 = phi i64 [ 0, %.lr.ph1238 ], [ %indvars.iv.next1455, %744 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %83) #6
  store ptr %0, ptr %83, align 8, !tbaa !116
  store ptr %176, ptr %719, align 8, !tbaa !12
  store ptr %177, ptr %720, align 8, !tbaa !12
  %740 = trunc nuw nsw i64 %indvars.iv1454 to i32
  store i32 %740, ptr %721, align 8, !tbaa !118
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_26vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 8 dereferenceable(28) %83)
          to label %741 unwind label %745

741:                                              ; preds = %739
  %742 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1454)
          to label %743 unwind label %747

743:                                              ; preds = %741
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %82, i64 noundef %742, i1 noundef zeroext false)
          to label %744 unwind label %747

744:                                              ; preds = %743
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #6
  %indvars.iv.next1455 = add nuw nsw i64 %indvars.iv1454, 1
  %exitcond1458.not = icmp eq i64 %indvars.iv.next1455, %wide.trip.count1457
  br i1 %exitcond1458.not, label %._crit_edge1239, label %739, !llvm.loop !119

745:                                              ; preds = %739
  %746 = landingpad { ptr, i32 }
          cleanup
  br label %749

747:                                              ; preds = %743, %741
  %748 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  br label %749

749:                                              ; preds = %747, %745
  %.pn901 = phi { ptr, i32 } [ %748, %747 ], [ %746, %745 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #6
  br label %1349

750:                                              ; preds = %._crit_edge1239
  %751 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1236:                                  ; preds = %757, %.preheader1127
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %763

752:                                              ; preds = %.lr.ph1235, %757
  %indvars.iv1449 = phi i64 [ 0, %.lr.ph1235 ], [ %indvars.iv.next1450, %757 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %85) #6
  store ptr %0, ptr %85, align 8, !tbaa !120
  store ptr %176, ptr %715, align 8, !tbaa !12
  store ptr %177, ptr %716, align 8, !tbaa !12
  %753 = trunc nuw nsw i64 %indvars.iv1449 to i32
  store i32 %753, ptr %717, align 8, !tbaa !122
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_27vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull align 8 dereferenceable(28) %85)
          to label %754 unwind label %758

754:                                              ; preds = %752
  %755 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1449)
          to label %756 unwind label %760

756:                                              ; preds = %754
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %84, i64 noundef %755, i1 noundef zeroext false)
          to label %757 unwind label %760

757:                                              ; preds = %756
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #6
  %indvars.iv.next1450 = add nuw nsw i64 %indvars.iv1449, 1
  %exitcond1453.not = icmp eq i64 %indvars.iv.next1450, %wide.trip.count1452
  br i1 %exitcond1453.not, label %._crit_edge1236, label %752, !llvm.loop !123

758:                                              ; preds = %752
  %759 = landingpad { ptr, i32 }
          cleanup
  br label %762

760:                                              ; preds = %756, %754
  %761 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #6
  br label %762

762:                                              ; preds = %760, %758
  %.pn898 = phi { ptr, i32 } [ %761, %760 ], [ %759, %758 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #6
  br label %1349

763:                                              ; preds = %._crit_edge1236
  %764 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1233:                                  ; preds = %770, %.preheader1128
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %776

765:                                              ; preds = %.lr.ph1232, %770
  %indvars.iv1444 = phi i64 [ 0, %.lr.ph1232 ], [ %indvars.iv.next1445, %770 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %87) #6
  store ptr %0, ptr %87, align 8, !tbaa !124
  store ptr %176, ptr %711, align 8, !tbaa !12
  store ptr %177, ptr %712, align 8, !tbaa !12
  %766 = trunc nuw nsw i64 %indvars.iv1444 to i32
  store i32 %766, ptr %713, align 8, !tbaa !126
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_28vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef nonnull align 8 dereferenceable(28) %87)
          to label %767 unwind label %771

767:                                              ; preds = %765
  %768 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1444)
          to label %769 unwind label %773

769:                                              ; preds = %767
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %86, i64 noundef %768, i1 noundef zeroext false)
          to label %770 unwind label %773

770:                                              ; preds = %769
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #6
  %indvars.iv.next1445 = add nuw nsw i64 %indvars.iv1444, 1
  %exitcond1448.not = icmp eq i64 %indvars.iv.next1445, %wide.trip.count1447
  br i1 %exitcond1448.not, label %._crit_edge1233, label %765, !llvm.loop !127

771:                                              ; preds = %765
  %772 = landingpad { ptr, i32 }
          cleanup
  br label %775

773:                                              ; preds = %769, %767
  %774 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  br label %775

775:                                              ; preds = %773, %771
  %.pn895 = phi { ptr, i32 } [ %774, %773 ], [ %772, %771 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #6
  br label %1349

776:                                              ; preds = %._crit_edge1233
  %777 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1230:                                  ; preds = %783, %.preheader1129
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %789

778:                                              ; preds = %.lr.ph1229, %783
  %indvars.iv1439 = phi i64 [ 0, %.lr.ph1229 ], [ %indvars.iv.next1440, %783 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %89) #6
  store ptr %0, ptr %89, align 8, !tbaa !128
  store ptr %176, ptr %707, align 8, !tbaa !12
  store ptr %177, ptr %708, align 8, !tbaa !12
  %779 = trunc nuw nsw i64 %indvars.iv1439 to i32
  store i32 %779, ptr %709, align 8, !tbaa !130
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_29vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull align 8 dereferenceable(28) %89)
          to label %780 unwind label %784

780:                                              ; preds = %778
  %781 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1439)
          to label %782 unwind label %786

782:                                              ; preds = %780
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %88, i64 noundef %781, i1 noundef zeroext false)
          to label %783 unwind label %786

783:                                              ; preds = %782
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #6
  %indvars.iv.next1440 = add nuw nsw i64 %indvars.iv1439, 1
  %exitcond1443.not = icmp eq i64 %indvars.iv.next1440, %wide.trip.count1442
  br i1 %exitcond1443.not, label %._crit_edge1230, label %778, !llvm.loop !131

784:                                              ; preds = %778
  %785 = landingpad { ptr, i32 }
          cleanup
  br label %788

786:                                              ; preds = %782, %780
  %787 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %788

788:                                              ; preds = %786, %784
  %.pn892 = phi { ptr, i32 } [ %787, %786 ], [ %785, %784 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #6
  br label %1349

789:                                              ; preds = %._crit_edge1230
  %790 = landingpad { ptr, i32 }
          cleanup
  br label %1349

791:                                              ; preds = %705
  %792 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %90) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %91) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %91, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %793 unwind label %.thread1052

793:                                              ; preds = %791
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %90, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %794 unwind label %.thread1056

794:                                              ; preds = %793
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %93) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %93)
          to label %795 unwind label %800

795:                                              ; preds = %794
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %94) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %94)
          to label %796 unwind label %802

796:                                              ; preds = %795
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %792, ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull %92, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %797 unwind label %804

797:                                              ; preds = %796
  invoke void @__cxa_throw(ptr nonnull %792, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1350 unwind label %804

.thread1052:                                      ; preds = %791
  %798 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %90) #6
  br label %808

.thread1056:                                      ; preds = %793
  %799 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %90) #6
  br label %808

800:                                              ; preds = %794
  %801 = landingpad { ptr, i32 }
          cleanup
  br label %807

802:                                              ; preds = %795
  %803 = landingpad { ptr, i32 }
          cleanup
  br label %806

804:                                              ; preds = %797, %796
  %.0768 = phi i1 [ false, %797 ], [ true, %796 ]
  %805 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  br label %806

806:                                              ; preds = %804, %802
  %.1769 = phi i1 [ %.0768, %804 ], [ true, %802 ]
  %.pn907 = phi { ptr, i32 } [ %805, %804 ], [ %803, %802 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #6
  br label %807

807:                                              ; preds = %800, %806
  %.2770 = phi i1 [ %.1769, %806 ], [ true, %800 ]
  %.pn907.pn = phi { ptr, i32 } [ %.pn907, %806 ], [ %801, %800 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %93) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %90) #6
  br i1 %.2770, label %808, label %1349

808:                                              ; preds = %.thread1056, %.thread1052, %807
  %.pn907.pn.pn.pn1055 = phi { ptr, i32 } [ %798, %.thread1052 ], [ %.pn907.pn, %807 ], [ %799, %.thread1056 ]
  call void @__cxa_free_exception(ptr %792) #6
  br label %1349

809:                                              ; preds = %2
  switch i32 %181, label %895 [
    i32 1, label %.preheader1130
    i32 2, label %.preheader1131
    i32 3, label %.preheader1132
    i32 4, label %.preheader1133
    i32 5, label %.preheader1134
  ]

.preheader1134:                                   ; preds = %809
  %810 = icmp sgt i32 %179, 0
  br i1 %810, label %.lr.ph1214, label %._crit_edge1215

.lr.ph1214:                                       ; preds = %.preheader1134
  %811 = getelementptr inbounds i8, ptr %104, i64 8
  %812 = getelementptr inbounds i8, ptr %104, i64 16
  %813 = getelementptr inbounds i8, ptr %104, i64 24
  %wide.trip.count1417 = zext nneg i32 %179 to i64
  br label %882

.preheader1133:                                   ; preds = %809
  %814 = icmp sgt i32 %179, 0
  br i1 %814, label %.lr.ph1217, label %._crit_edge1218

.lr.ph1217:                                       ; preds = %.preheader1133
  %815 = getelementptr inbounds i8, ptr %102, i64 8
  %816 = getelementptr inbounds i8, ptr %102, i64 16
  %817 = getelementptr inbounds i8, ptr %102, i64 24
  %wide.trip.count1422 = zext nneg i32 %179 to i64
  br label %869

.preheader1132:                                   ; preds = %809
  %818 = icmp sgt i32 %179, 0
  br i1 %818, label %.lr.ph1220, label %._crit_edge1221

.lr.ph1220:                                       ; preds = %.preheader1132
  %819 = getelementptr inbounds i8, ptr %100, i64 8
  %820 = getelementptr inbounds i8, ptr %100, i64 16
  %821 = getelementptr inbounds i8, ptr %100, i64 24
  %wide.trip.count1427 = zext nneg i32 %179 to i64
  br label %856

.preheader1131:                                   ; preds = %809
  %822 = icmp sgt i32 %179, 0
  br i1 %822, label %.lr.ph1223, label %._crit_edge1224

.lr.ph1223:                                       ; preds = %.preheader1131
  %823 = getelementptr inbounds i8, ptr %98, i64 8
  %824 = getelementptr inbounds i8, ptr %98, i64 16
  %825 = getelementptr inbounds i8, ptr %98, i64 24
  %wide.trip.count1432 = zext nneg i32 %179 to i64
  br label %843

.preheader1130:                                   ; preds = %809
  %826 = icmp sgt i32 %179, 0
  br i1 %826, label %.lr.ph1226, label %._crit_edge1227

.lr.ph1226:                                       ; preds = %.preheader1130
  %827 = getelementptr inbounds i8, ptr %96, i64 8
  %828 = getelementptr inbounds i8, ptr %96, i64 16
  %829 = getelementptr inbounds i8, ptr %96, i64 24
  %wide.trip.count1437 = zext nneg i32 %179 to i64
  br label %830

._crit_edge1227:                                  ; preds = %835, %.preheader1130
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %841

830:                                              ; preds = %.lr.ph1226, %835
  %indvars.iv1434 = phi i64 [ 0, %.lr.ph1226 ], [ %indvars.iv.next1435, %835 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %96) #6
  store ptr %0, ptr %96, align 8, !tbaa !132
  store ptr %176, ptr %827, align 8, !tbaa !12
  store ptr %177, ptr %828, align 8, !tbaa !12
  %831 = trunc nuw nsw i64 %indvars.iv1434 to i32
  store i32 %831, ptr %829, align 8, !tbaa !134
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_30vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef nonnull align 8 dereferenceable(28) %96)
          to label %832 unwind label %836

832:                                              ; preds = %830
  %833 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1434)
          to label %834 unwind label %838

834:                                              ; preds = %832
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %95, i64 noundef %833, i1 noundef zeroext false)
          to label %835 unwind label %838

835:                                              ; preds = %834
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #6
  %indvars.iv.next1435 = add nuw nsw i64 %indvars.iv1434, 1
  %exitcond1438.not = icmp eq i64 %indvars.iv.next1435, %wide.trip.count1437
  br i1 %exitcond1438.not, label %._crit_edge1227, label %830, !llvm.loop !135

836:                                              ; preds = %830
  %837 = landingpad { ptr, i32 }
          cleanup
  br label %840

838:                                              ; preds = %834, %832
  %839 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  br label %840

840:                                              ; preds = %838, %836
  %.pn884 = phi { ptr, i32 } [ %839, %838 ], [ %837, %836 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #6
  br label %1349

841:                                              ; preds = %._crit_edge1227
  %842 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1224:                                  ; preds = %848, %.preheader1131
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %854

843:                                              ; preds = %.lr.ph1223, %848
  %indvars.iv1429 = phi i64 [ 0, %.lr.ph1223 ], [ %indvars.iv.next1430, %848 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %98) #6
  store ptr %0, ptr %98, align 8, !tbaa !136
  store ptr %176, ptr %823, align 8, !tbaa !12
  store ptr %177, ptr %824, align 8, !tbaa !12
  %844 = trunc nuw nsw i64 %indvars.iv1429 to i32
  store i32 %844, ptr %825, align 8, !tbaa !138
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_31vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef nonnull align 8 dereferenceable(28) %98)
          to label %845 unwind label %849

845:                                              ; preds = %843
  %846 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1429)
          to label %847 unwind label %851

847:                                              ; preds = %845
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %97, i64 noundef %846, i1 noundef zeroext false)
          to label %848 unwind label %851

848:                                              ; preds = %847
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %98) #6
  %indvars.iv.next1430 = add nuw nsw i64 %indvars.iv1429, 1
  %exitcond1433.not = icmp eq i64 %indvars.iv.next1430, %wide.trip.count1432
  br i1 %exitcond1433.not, label %._crit_edge1224, label %843, !llvm.loop !139

849:                                              ; preds = %843
  %850 = landingpad { ptr, i32 }
          cleanup
  br label %853

851:                                              ; preds = %847, %845
  %852 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  br label %853

853:                                              ; preds = %851, %849
  %.pn881 = phi { ptr, i32 } [ %852, %851 ], [ %850, %849 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %98) #6
  br label %1349

854:                                              ; preds = %._crit_edge1224
  %855 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1221:                                  ; preds = %861, %.preheader1132
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %867

856:                                              ; preds = %.lr.ph1220, %861
  %indvars.iv1424 = phi i64 [ 0, %.lr.ph1220 ], [ %indvars.iv.next1425, %861 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %100) #6
  store ptr %0, ptr %100, align 8, !tbaa !140
  store ptr %176, ptr %819, align 8, !tbaa !12
  store ptr %177, ptr %820, align 8, !tbaa !12
  %857 = trunc nuw nsw i64 %indvars.iv1424 to i32
  store i32 %857, ptr %821, align 8, !tbaa !142
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_32vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef nonnull align 8 dereferenceable(28) %100)
          to label %858 unwind label %862

858:                                              ; preds = %856
  %859 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1424)
          to label %860 unwind label %864

860:                                              ; preds = %858
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %99, i64 noundef %859, i1 noundef zeroext false)
          to label %861 unwind label %864

861:                                              ; preds = %860
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %100) #6
  %indvars.iv.next1425 = add nuw nsw i64 %indvars.iv1424, 1
  %exitcond1428.not = icmp eq i64 %indvars.iv.next1425, %wide.trip.count1427
  br i1 %exitcond1428.not, label %._crit_edge1221, label %856, !llvm.loop !143

862:                                              ; preds = %856
  %863 = landingpad { ptr, i32 }
          cleanup
  br label %866

864:                                              ; preds = %860, %858
  %865 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  br label %866

866:                                              ; preds = %864, %862
  %.pn878 = phi { ptr, i32 } [ %865, %864 ], [ %863, %862 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %100) #6
  br label %1349

867:                                              ; preds = %._crit_edge1221
  %868 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1218:                                  ; preds = %874, %.preheader1133
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %880

869:                                              ; preds = %.lr.ph1217, %874
  %indvars.iv1419 = phi i64 [ 0, %.lr.ph1217 ], [ %indvars.iv.next1420, %874 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %102) #6
  store ptr %0, ptr %102, align 8, !tbaa !144
  store ptr %176, ptr %815, align 8, !tbaa !12
  store ptr %177, ptr %816, align 8, !tbaa !12
  %870 = trunc nuw nsw i64 %indvars.iv1419 to i32
  store i32 %870, ptr %817, align 8, !tbaa !146
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_33vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef nonnull align 8 dereferenceable(28) %102)
          to label %871 unwind label %875

871:                                              ; preds = %869
  %872 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1419)
          to label %873 unwind label %877

873:                                              ; preds = %871
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %101, i64 noundef %872, i1 noundef zeroext false)
          to label %874 unwind label %877

874:                                              ; preds = %873
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %102) #6
  %indvars.iv.next1420 = add nuw nsw i64 %indvars.iv1419, 1
  %exitcond1423.not = icmp eq i64 %indvars.iv.next1420, %wide.trip.count1422
  br i1 %exitcond1423.not, label %._crit_edge1218, label %869, !llvm.loop !147

875:                                              ; preds = %869
  %876 = landingpad { ptr, i32 }
          cleanup
  br label %879

877:                                              ; preds = %873, %871
  %878 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #6
  br label %879

879:                                              ; preds = %877, %875
  %.pn875 = phi { ptr, i32 } [ %878, %877 ], [ %876, %875 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %102) #6
  br label %1349

880:                                              ; preds = %._crit_edge1218
  %881 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1215:                                  ; preds = %887, %.preheader1134
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %893

882:                                              ; preds = %.lr.ph1214, %887
  %indvars.iv1414 = phi i64 [ 0, %.lr.ph1214 ], [ %indvars.iv.next1415, %887 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %104) #6
  store ptr %0, ptr %104, align 8, !tbaa !148
  store ptr %176, ptr %811, align 8, !tbaa !12
  store ptr %177, ptr %812, align 8, !tbaa !12
  %883 = trunc nuw nsw i64 %indvars.iv1414 to i32
  store i32 %883, ptr %813, align 8, !tbaa !150
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_34vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull align 8 dereferenceable(28) %104)
          to label %884 unwind label %888

884:                                              ; preds = %882
  %885 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1414)
          to label %886 unwind label %890

886:                                              ; preds = %884
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %103, i64 noundef %885, i1 noundef zeroext false)
          to label %887 unwind label %890

887:                                              ; preds = %886
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %104) #6
  %indvars.iv.next1415 = add nuw nsw i64 %indvars.iv1414, 1
  %exitcond1418.not = icmp eq i64 %indvars.iv.next1415, %wide.trip.count1417
  br i1 %exitcond1418.not, label %._crit_edge1215, label %882, !llvm.loop !151

888:                                              ; preds = %882
  %889 = landingpad { ptr, i32 }
          cleanup
  br label %892

890:                                              ; preds = %886, %884
  %891 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  br label %892

892:                                              ; preds = %890, %888
  %.pn872 = phi { ptr, i32 } [ %891, %890 ], [ %889, %888 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %104) #6
  br label %1349

893:                                              ; preds = %._crit_edge1215
  %894 = landingpad { ptr, i32 }
          cleanup
  br label %1349

895:                                              ; preds = %809
  %896 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %105) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %106) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %106, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %897 unwind label %.thread1059

897:                                              ; preds = %895
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %105, ptr noundef nonnull align 8 dereferenceable(32) %106)
          to label %898 unwind label %.thread1063

898:                                              ; preds = %897
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %108) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %108)
          to label %899 unwind label %904

899:                                              ; preds = %898
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %109) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %109)
          to label %900 unwind label %906

900:                                              ; preds = %899
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %896, ptr noundef nonnull align 8 dereferenceable(32) %105, ptr noundef nonnull %107, ptr noundef nonnull align 8 dereferenceable(32) %109)
          to label %901 unwind label %908

901:                                              ; preds = %900
  invoke void @__cxa_throw(ptr nonnull %896, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1350 unwind label %908

.thread1059:                                      ; preds = %895
  %902 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %106) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %105) #6
  br label %912

.thread1063:                                      ; preds = %897
  %903 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %106) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %105) #6
  br label %912

904:                                              ; preds = %898
  %905 = landingpad { ptr, i32 }
          cleanup
  br label %911

906:                                              ; preds = %899
  %907 = landingpad { ptr, i32 }
          cleanup
  br label %910

908:                                              ; preds = %901, %900
  %.0753 = phi i1 [ false, %901 ], [ true, %900 ]
  %909 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #6
  br label %910

910:                                              ; preds = %908, %906
  %.1754 = phi i1 [ %.0753, %908 ], [ true, %906 ]
  %.pn887 = phi { ptr, i32 } [ %909, %908 ], [ %907, %906 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %109) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #6
  br label %911

911:                                              ; preds = %904, %910
  %.2755 = phi i1 [ %.1754, %910 ], [ true, %904 ]
  %.pn887.pn = phi { ptr, i32 } [ %.pn887, %910 ], [ %905, %904 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %108) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %106) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %105) #6
  br i1 %.2755, label %912, label %1349

912:                                              ; preds = %.thread1063, %.thread1059, %911
  %.pn887.pn.pn.pn1062 = phi { ptr, i32 } [ %902, %.thread1059 ], [ %.pn887.pn, %911 ], [ %903, %.thread1063 ]
  call void @__cxa_free_exception(ptr %896) #6
  br label %1349

913:                                              ; preds = %2
  switch i32 %181, label %999 [
    i32 1, label %.preheader1135
    i32 2, label %.preheader1136
    i32 3, label %.preheader1137
    i32 4, label %.preheader1138
    i32 5, label %.preheader1139
  ]

.preheader1139:                                   ; preds = %913
  %914 = icmp sgt i32 %179, 0
  br i1 %914, label %.lr.ph1199, label %._crit_edge1200

.lr.ph1199:                                       ; preds = %.preheader1139
  %915 = getelementptr inbounds i8, ptr %119, i64 8
  %916 = getelementptr inbounds i8, ptr %119, i64 16
  %917 = getelementptr inbounds i8, ptr %119, i64 24
  %wide.trip.count1392 = zext nneg i32 %179 to i64
  br label %986

.preheader1138:                                   ; preds = %913
  %918 = icmp sgt i32 %179, 0
  br i1 %918, label %.lr.ph1202, label %._crit_edge1203

.lr.ph1202:                                       ; preds = %.preheader1138
  %919 = getelementptr inbounds i8, ptr %117, i64 8
  %920 = getelementptr inbounds i8, ptr %117, i64 16
  %921 = getelementptr inbounds i8, ptr %117, i64 24
  %wide.trip.count1397 = zext nneg i32 %179 to i64
  br label %973

.preheader1137:                                   ; preds = %913
  %922 = icmp sgt i32 %179, 0
  br i1 %922, label %.lr.ph1205, label %._crit_edge1206

.lr.ph1205:                                       ; preds = %.preheader1137
  %923 = getelementptr inbounds i8, ptr %115, i64 8
  %924 = getelementptr inbounds i8, ptr %115, i64 16
  %925 = getelementptr inbounds i8, ptr %115, i64 24
  %wide.trip.count1402 = zext nneg i32 %179 to i64
  br label %960

.preheader1136:                                   ; preds = %913
  %926 = icmp sgt i32 %179, 0
  br i1 %926, label %.lr.ph1208, label %._crit_edge1209

.lr.ph1208:                                       ; preds = %.preheader1136
  %927 = getelementptr inbounds i8, ptr %113, i64 8
  %928 = getelementptr inbounds i8, ptr %113, i64 16
  %929 = getelementptr inbounds i8, ptr %113, i64 24
  %wide.trip.count1407 = zext nneg i32 %179 to i64
  br label %947

.preheader1135:                                   ; preds = %913
  %930 = icmp sgt i32 %179, 0
  br i1 %930, label %.lr.ph1211, label %._crit_edge1212

.lr.ph1211:                                       ; preds = %.preheader1135
  %931 = getelementptr inbounds i8, ptr %111, i64 8
  %932 = getelementptr inbounds i8, ptr %111, i64 16
  %933 = getelementptr inbounds i8, ptr %111, i64 24
  %wide.trip.count1412 = zext nneg i32 %179 to i64
  br label %934

._crit_edge1212:                                  ; preds = %939, %.preheader1135
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %945

934:                                              ; preds = %.lr.ph1211, %939
  %indvars.iv1409 = phi i64 [ 0, %.lr.ph1211 ], [ %indvars.iv.next1410, %939 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %111) #6
  store ptr %0, ptr %111, align 8, !tbaa !152
  store ptr %176, ptr %931, align 8, !tbaa !12
  store ptr %177, ptr %932, align 8, !tbaa !12
  %935 = trunc nuw nsw i64 %indvars.iv1409 to i32
  store i32 %935, ptr %933, align 8, !tbaa !154
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_35vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef nonnull align 8 dereferenceable(28) %111)
          to label %936 unwind label %940

936:                                              ; preds = %934
  %937 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1409)
          to label %938 unwind label %942

938:                                              ; preds = %936
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %110, i64 noundef %937, i1 noundef zeroext false)
          to label %939 unwind label %942

939:                                              ; preds = %938
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %111) #6
  %indvars.iv.next1410 = add nuw nsw i64 %indvars.iv1409, 1
  %exitcond1413.not = icmp eq i64 %indvars.iv.next1410, %wide.trip.count1412
  br i1 %exitcond1413.not, label %._crit_edge1212, label %934, !llvm.loop !155

940:                                              ; preds = %934
  %941 = landingpad { ptr, i32 }
          cleanup
  br label %944

942:                                              ; preds = %938, %936
  %943 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  br label %944

944:                                              ; preds = %942, %940
  %.pn864 = phi { ptr, i32 } [ %943, %942 ], [ %941, %940 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %111) #6
  br label %1349

945:                                              ; preds = %._crit_edge1212
  %946 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1209:                                  ; preds = %952, %.preheader1136
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %958

947:                                              ; preds = %.lr.ph1208, %952
  %indvars.iv1404 = phi i64 [ 0, %.lr.ph1208 ], [ %indvars.iv.next1405, %952 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %113) #6
  store ptr %0, ptr %113, align 8, !tbaa !156
  store ptr %176, ptr %927, align 8, !tbaa !12
  store ptr %177, ptr %928, align 8, !tbaa !12
  %948 = trunc nuw nsw i64 %indvars.iv1404 to i32
  store i32 %948, ptr %929, align 8, !tbaa !158
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_36vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull align 8 dereferenceable(28) %113)
          to label %949 unwind label %953

949:                                              ; preds = %947
  %950 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1404)
          to label %951 unwind label %955

951:                                              ; preds = %949
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %112, i64 noundef %950, i1 noundef zeroext false)
          to label %952 unwind label %955

952:                                              ; preds = %951
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %113) #6
  %indvars.iv.next1405 = add nuw nsw i64 %indvars.iv1404, 1
  %exitcond1408.not = icmp eq i64 %indvars.iv.next1405, %wide.trip.count1407
  br i1 %exitcond1408.not, label %._crit_edge1209, label %947, !llvm.loop !159

953:                                              ; preds = %947
  %954 = landingpad { ptr, i32 }
          cleanup
  br label %957

955:                                              ; preds = %951, %949
  %956 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #6
  br label %957

957:                                              ; preds = %955, %953
  %.pn861 = phi { ptr, i32 } [ %956, %955 ], [ %954, %953 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %113) #6
  br label %1349

958:                                              ; preds = %._crit_edge1209
  %959 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1206:                                  ; preds = %965, %.preheader1137
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %971

960:                                              ; preds = %.lr.ph1205, %965
  %indvars.iv1399 = phi i64 [ 0, %.lr.ph1205 ], [ %indvars.iv.next1400, %965 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %115) #6
  store ptr %0, ptr %115, align 8, !tbaa !160
  store ptr %176, ptr %923, align 8, !tbaa !12
  store ptr %177, ptr %924, align 8, !tbaa !12
  %961 = trunc nuw nsw i64 %indvars.iv1399 to i32
  store i32 %961, ptr %925, align 8, !tbaa !162
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_37vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull align 8 dereferenceable(28) %115)
          to label %962 unwind label %966

962:                                              ; preds = %960
  %963 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1399)
          to label %964 unwind label %968

964:                                              ; preds = %962
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %114, i64 noundef %963, i1 noundef zeroext false)
          to label %965 unwind label %968

965:                                              ; preds = %964
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %115) #6
  %indvars.iv.next1400 = add nuw nsw i64 %indvars.iv1399, 1
  %exitcond1403.not = icmp eq i64 %indvars.iv.next1400, %wide.trip.count1402
  br i1 %exitcond1403.not, label %._crit_edge1206, label %960, !llvm.loop !163

966:                                              ; preds = %960
  %967 = landingpad { ptr, i32 }
          cleanup
  br label %970

968:                                              ; preds = %964, %962
  %969 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  br label %970

970:                                              ; preds = %968, %966
  %.pn858 = phi { ptr, i32 } [ %969, %968 ], [ %967, %966 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %115) #6
  br label %1349

971:                                              ; preds = %._crit_edge1206
  %972 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1203:                                  ; preds = %978, %.preheader1138
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %984

973:                                              ; preds = %.lr.ph1202, %978
  %indvars.iv1394 = phi i64 [ 0, %.lr.ph1202 ], [ %indvars.iv.next1395, %978 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %117) #6
  store ptr %0, ptr %117, align 8, !tbaa !164
  store ptr %176, ptr %919, align 8, !tbaa !12
  store ptr %177, ptr %920, align 8, !tbaa !12
  %974 = trunc nuw nsw i64 %indvars.iv1394 to i32
  store i32 %974, ptr %921, align 8, !tbaa !166
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_38vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull align 8 dereferenceable(28) %117)
          to label %975 unwind label %979

975:                                              ; preds = %973
  %976 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1394)
          to label %977 unwind label %981

977:                                              ; preds = %975
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %116, i64 noundef %976, i1 noundef zeroext false)
          to label %978 unwind label %981

978:                                              ; preds = %977
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %117) #6
  %indvars.iv.next1395 = add nuw nsw i64 %indvars.iv1394, 1
  %exitcond1398.not = icmp eq i64 %indvars.iv.next1395, %wide.trip.count1397
  br i1 %exitcond1398.not, label %._crit_edge1203, label %973, !llvm.loop !167

979:                                              ; preds = %973
  %980 = landingpad { ptr, i32 }
          cleanup
  br label %983

981:                                              ; preds = %977, %975
  %982 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #6
  br label %983

983:                                              ; preds = %981, %979
  %.pn855 = phi { ptr, i32 } [ %982, %981 ], [ %980, %979 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %117) #6
  br label %1349

984:                                              ; preds = %._crit_edge1203
  %985 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1200:                                  ; preds = %991, %.preheader1139
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %997

986:                                              ; preds = %.lr.ph1199, %991
  %indvars.iv1389 = phi i64 [ 0, %.lr.ph1199 ], [ %indvars.iv.next1390, %991 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %119) #6
  store ptr %0, ptr %119, align 8, !tbaa !168
  store ptr %176, ptr %915, align 8, !tbaa !12
  store ptr %177, ptr %916, align 8, !tbaa !12
  %987 = trunc nuw nsw i64 %indvars.iv1389 to i32
  store i32 %987, ptr %917, align 8, !tbaa !170
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_39vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef nonnull align 8 dereferenceable(28) %119)
          to label %988 unwind label %992

988:                                              ; preds = %986
  %989 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1389)
          to label %990 unwind label %994

990:                                              ; preds = %988
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %118, i64 noundef %989, i1 noundef zeroext false)
          to label %991 unwind label %994

991:                                              ; preds = %990
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %119) #6
  %indvars.iv.next1390 = add nuw nsw i64 %indvars.iv1389, 1
  %exitcond1393.not = icmp eq i64 %indvars.iv.next1390, %wide.trip.count1392
  br i1 %exitcond1393.not, label %._crit_edge1200, label %986, !llvm.loop !171

992:                                              ; preds = %986
  %993 = landingpad { ptr, i32 }
          cleanup
  br label %996

994:                                              ; preds = %990, %988
  %995 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #6
  br label %996

996:                                              ; preds = %994, %992
  %.pn852 = phi { ptr, i32 } [ %995, %994 ], [ %993, %992 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %119) #6
  br label %1349

997:                                              ; preds = %._crit_edge1200
  %998 = landingpad { ptr, i32 }
          cleanup
  br label %1349

999:                                              ; preds = %913
  %1000 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %120) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %121) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %121, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %1001 unwind label %.thread1066

1001:                                             ; preds = %999
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %120, ptr noundef nonnull align 8 dereferenceable(32) %121)
          to label %1002 unwind label %.thread1070

1002:                                             ; preds = %1001
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %123) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %123) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %122, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %123)
          to label %1003 unwind label %1008

1003:                                             ; preds = %1002
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %124) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %124)
          to label %1004 unwind label %1010

1004:                                             ; preds = %1003
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %1000, ptr noundef nonnull align 8 dereferenceable(32) %120, ptr noundef nonnull %122, ptr noundef nonnull align 8 dereferenceable(32) %124)
          to label %1005 unwind label %1012

1005:                                             ; preds = %1004
  invoke void @__cxa_throw(ptr nonnull %1000, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1350 unwind label %1012

.thread1066:                                      ; preds = %999
  %1006 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %120) #6
  br label %1016

.thread1070:                                      ; preds = %1001
  %1007 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %120) #6
  br label %1016

1008:                                             ; preds = %1002
  %1009 = landingpad { ptr, i32 }
          cleanup
  br label %1015

1010:                                             ; preds = %1003
  %1011 = landingpad { ptr, i32 }
          cleanup
  br label %1014

1012:                                             ; preds = %1005, %1004
  %.0734 = phi i1 [ false, %1005 ], [ true, %1004 ]
  %1013 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #6
  br label %1014

1014:                                             ; preds = %1012, %1010
  %.1735 = phi i1 [ %.0734, %1012 ], [ true, %1010 ]
  %.pn867 = phi { ptr, i32 } [ %1013, %1012 ], [ %1011, %1010 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %124) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #6
  br label %1015

1015:                                             ; preds = %1008, %1014
  %.2736 = phi i1 [ %.1735, %1014 ], [ true, %1008 ]
  %.pn867.pn = phi { ptr, i32 } [ %.pn867, %1014 ], [ %1009, %1008 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %123) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %123) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %120) #6
  br i1 %.2736, label %1016, label %1349

1016:                                             ; preds = %.thread1070, %.thread1066, %1015
  %.pn867.pn.pn.pn1069 = phi { ptr, i32 } [ %1006, %.thread1066 ], [ %.pn867.pn, %1015 ], [ %1007, %.thread1070 ]
  call void @__cxa_free_exception(ptr %1000) #6
  br label %1349

1017:                                             ; preds = %2
  switch i32 %181, label %1103 [
    i32 1, label %.preheader1140
    i32 2, label %.preheader1141
    i32 3, label %.preheader1142
    i32 4, label %.preheader1143
    i32 5, label %.preheader1144
  ]

.preheader1144:                                   ; preds = %1017
  %1018 = icmp sgt i32 %179, 0
  br i1 %1018, label %.lr.ph1184, label %._crit_edge1185

.lr.ph1184:                                       ; preds = %.preheader1144
  %1019 = getelementptr inbounds i8, ptr %134, i64 8
  %1020 = getelementptr inbounds i8, ptr %134, i64 16
  %1021 = getelementptr inbounds i8, ptr %134, i64 24
  %wide.trip.count1367 = zext nneg i32 %179 to i64
  br label %1090

.preheader1143:                                   ; preds = %1017
  %1022 = icmp sgt i32 %179, 0
  br i1 %1022, label %.lr.ph1187, label %._crit_edge1188

.lr.ph1187:                                       ; preds = %.preheader1143
  %1023 = getelementptr inbounds i8, ptr %132, i64 8
  %1024 = getelementptr inbounds i8, ptr %132, i64 16
  %1025 = getelementptr inbounds i8, ptr %132, i64 24
  %wide.trip.count1372 = zext nneg i32 %179 to i64
  br label %1077

.preheader1142:                                   ; preds = %1017
  %1026 = icmp sgt i32 %179, 0
  br i1 %1026, label %.lr.ph1190, label %._crit_edge1191

.lr.ph1190:                                       ; preds = %.preheader1142
  %1027 = getelementptr inbounds i8, ptr %130, i64 8
  %1028 = getelementptr inbounds i8, ptr %130, i64 16
  %1029 = getelementptr inbounds i8, ptr %130, i64 24
  %wide.trip.count1377 = zext nneg i32 %179 to i64
  br label %1064

.preheader1141:                                   ; preds = %1017
  %1030 = icmp sgt i32 %179, 0
  br i1 %1030, label %.lr.ph1193, label %._crit_edge1194

.lr.ph1193:                                       ; preds = %.preheader1141
  %1031 = getelementptr inbounds i8, ptr %128, i64 8
  %1032 = getelementptr inbounds i8, ptr %128, i64 16
  %1033 = getelementptr inbounds i8, ptr %128, i64 24
  %wide.trip.count1382 = zext nneg i32 %179 to i64
  br label %1051

.preheader1140:                                   ; preds = %1017
  %1034 = icmp sgt i32 %179, 0
  br i1 %1034, label %.lr.ph1196, label %._crit_edge1197

.lr.ph1196:                                       ; preds = %.preheader1140
  %1035 = getelementptr inbounds i8, ptr %126, i64 8
  %1036 = getelementptr inbounds i8, ptr %126, i64 16
  %1037 = getelementptr inbounds i8, ptr %126, i64 24
  %wide.trip.count1387 = zext nneg i32 %179 to i64
  br label %1038

._crit_edge1197:                                  ; preds = %1043, %.preheader1140
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %1049

1038:                                             ; preds = %.lr.ph1196, %1043
  %indvars.iv1384 = phi i64 [ 0, %.lr.ph1196 ], [ %indvars.iv.next1385, %1043 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %126) #6
  store ptr %0, ptr %126, align 8, !tbaa !172
  store ptr %176, ptr %1035, align 8, !tbaa !12
  store ptr %177, ptr %1036, align 8, !tbaa !12
  %1039 = trunc nuw nsw i64 %indvars.iv1384 to i32
  store i32 %1039, ptr %1037, align 8, !tbaa !174
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_40vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull align 8 dereferenceable(28) %126)
          to label %1040 unwind label %1044

1040:                                             ; preds = %1038
  %1041 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1384)
          to label %1042 unwind label %1046

1042:                                             ; preds = %1040
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %125, i64 noundef %1041, i1 noundef zeroext false)
          to label %1043 unwind label %1046

1043:                                             ; preds = %1042
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %126) #6
  %indvars.iv.next1385 = add nuw nsw i64 %indvars.iv1384, 1
  %exitcond1388.not = icmp eq i64 %indvars.iv.next1385, %wide.trip.count1387
  br i1 %exitcond1388.not, label %._crit_edge1197, label %1038, !llvm.loop !175

1044:                                             ; preds = %1038
  %1045 = landingpad { ptr, i32 }
          cleanup
  br label %1048

1046:                                             ; preds = %1042, %1040
  %1047 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  br label %1048

1048:                                             ; preds = %1046, %1044
  %.pn844 = phi { ptr, i32 } [ %1047, %1046 ], [ %1045, %1044 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %126) #6
  br label %1349

1049:                                             ; preds = %._crit_edge1197
  %1050 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1194:                                  ; preds = %1056, %.preheader1141
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %1062

1051:                                             ; preds = %.lr.ph1193, %1056
  %indvars.iv1379 = phi i64 [ 0, %.lr.ph1193 ], [ %indvars.iv.next1380, %1056 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %128) #6
  store ptr %0, ptr %128, align 8, !tbaa !176
  store ptr %176, ptr %1031, align 8, !tbaa !12
  store ptr %177, ptr %1032, align 8, !tbaa !12
  %1052 = trunc nuw nsw i64 %indvars.iv1379 to i32
  store i32 %1052, ptr %1033, align 8, !tbaa !178
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_41vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef nonnull align 8 dereferenceable(28) %128)
          to label %1053 unwind label %1057

1053:                                             ; preds = %1051
  %1054 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1379)
          to label %1055 unwind label %1059

1055:                                             ; preds = %1053
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %127, i64 noundef %1054, i1 noundef zeroext false)
          to label %1056 unwind label %1059

1056:                                             ; preds = %1055
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %128) #6
  %indvars.iv.next1380 = add nuw nsw i64 %indvars.iv1379, 1
  %exitcond1383.not = icmp eq i64 %indvars.iv.next1380, %wide.trip.count1382
  br i1 %exitcond1383.not, label %._crit_edge1194, label %1051, !llvm.loop !179

1057:                                             ; preds = %1051
  %1058 = landingpad { ptr, i32 }
          cleanup
  br label %1061

1059:                                             ; preds = %1055, %1053
  %1060 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #6
  br label %1061

1061:                                             ; preds = %1059, %1057
  %.pn841 = phi { ptr, i32 } [ %1060, %1059 ], [ %1058, %1057 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %128) #6
  br label %1349

1062:                                             ; preds = %._crit_edge1194
  %1063 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1191:                                  ; preds = %1069, %.preheader1142
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %1075

1064:                                             ; preds = %.lr.ph1190, %1069
  %indvars.iv1374 = phi i64 [ 0, %.lr.ph1190 ], [ %indvars.iv.next1375, %1069 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %130) #6
  store ptr %0, ptr %130, align 8, !tbaa !180
  store ptr %176, ptr %1027, align 8, !tbaa !12
  store ptr %177, ptr %1028, align 8, !tbaa !12
  %1065 = trunc nuw nsw i64 %indvars.iv1374 to i32
  store i32 %1065, ptr %1029, align 8, !tbaa !182
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_42vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %129, ptr noundef nonnull align 8 dereferenceable(28) %130)
          to label %1066 unwind label %1070

1066:                                             ; preds = %1064
  %1067 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1374)
          to label %1068 unwind label %1072

1068:                                             ; preds = %1066
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %129, i64 noundef %1067, i1 noundef zeroext false)
          to label %1069 unwind label %1072

1069:                                             ; preds = %1068
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %130) #6
  %indvars.iv.next1375 = add nuw nsw i64 %indvars.iv1374, 1
  %exitcond1378.not = icmp eq i64 %indvars.iv.next1375, %wide.trip.count1377
  br i1 %exitcond1378.not, label %._crit_edge1191, label %1064, !llvm.loop !183

1070:                                             ; preds = %1064
  %1071 = landingpad { ptr, i32 }
          cleanup
  br label %1074

1072:                                             ; preds = %1068, %1066
  %1073 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #6
  br label %1074

1074:                                             ; preds = %1072, %1070
  %.pn838 = phi { ptr, i32 } [ %1073, %1072 ], [ %1071, %1070 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %130) #6
  br label %1349

1075:                                             ; preds = %._crit_edge1191
  %1076 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1188:                                  ; preds = %1082, %.preheader1143
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %1088

1077:                                             ; preds = %.lr.ph1187, %1082
  %indvars.iv1369 = phi i64 [ 0, %.lr.ph1187 ], [ %indvars.iv.next1370, %1082 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %132) #6
  store ptr %0, ptr %132, align 8, !tbaa !184
  store ptr %176, ptr %1023, align 8, !tbaa !12
  store ptr %177, ptr %1024, align 8, !tbaa !12
  %1078 = trunc nuw nsw i64 %indvars.iv1369 to i32
  store i32 %1078, ptr %1025, align 8, !tbaa !186
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_43vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %131, ptr noundef nonnull align 8 dereferenceable(28) %132)
          to label %1079 unwind label %1083

1079:                                             ; preds = %1077
  %1080 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1369)
          to label %1081 unwind label %1085

1081:                                             ; preds = %1079
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %131, i64 noundef %1080, i1 noundef zeroext false)
          to label %1082 unwind label %1085

1082:                                             ; preds = %1081
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #6
  %indvars.iv.next1370 = add nuw nsw i64 %indvars.iv1369, 1
  %exitcond1373.not = icmp eq i64 %indvars.iv.next1370, %wide.trip.count1372
  br i1 %exitcond1373.not, label %._crit_edge1188, label %1077, !llvm.loop !187

1083:                                             ; preds = %1077
  %1084 = landingpad { ptr, i32 }
          cleanup
  br label %1087

1085:                                             ; preds = %1081, %1079
  %1086 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #6
  br label %1087

1087:                                             ; preds = %1085, %1083
  %.pn835 = phi { ptr, i32 } [ %1086, %1085 ], [ %1084, %1083 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #6
  br label %1349

1088:                                             ; preds = %._crit_edge1188
  %1089 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1185:                                  ; preds = %1095, %.preheader1144
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %1101

1090:                                             ; preds = %.lr.ph1184, %1095
  %indvars.iv1364 = phi i64 [ 0, %.lr.ph1184 ], [ %indvars.iv.next1365, %1095 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %134) #6
  store ptr %0, ptr %134, align 8, !tbaa !188
  store ptr %176, ptr %1019, align 8, !tbaa !12
  store ptr %177, ptr %1020, align 8, !tbaa !12
  %1091 = trunc nuw nsw i64 %indvars.iv1364 to i32
  store i32 %1091, ptr %1021, align 8, !tbaa !190
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_44vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %133, ptr noundef nonnull align 8 dereferenceable(28) %134)
          to label %1092 unwind label %1096

1092:                                             ; preds = %1090
  %1093 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1364)
          to label %1094 unwind label %1098

1094:                                             ; preds = %1092
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %133, i64 noundef %1093, i1 noundef zeroext false)
          to label %1095 unwind label %1098

1095:                                             ; preds = %1094
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %134) #6
  %indvars.iv.next1365 = add nuw nsw i64 %indvars.iv1364, 1
  %exitcond1368.not = icmp eq i64 %indvars.iv.next1365, %wide.trip.count1367
  br i1 %exitcond1368.not, label %._crit_edge1185, label %1090, !llvm.loop !191

1096:                                             ; preds = %1090
  %1097 = landingpad { ptr, i32 }
          cleanup
  br label %1100

1098:                                             ; preds = %1094, %1092
  %1099 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #6
  br label %1100

1100:                                             ; preds = %1098, %1096
  %.pn832 = phi { ptr, i32 } [ %1099, %1098 ], [ %1097, %1096 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %134) #6
  br label %1349

1101:                                             ; preds = %._crit_edge1185
  %1102 = landingpad { ptr, i32 }
          cleanup
  br label %1349

1103:                                             ; preds = %1017
  %1104 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %135) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %136) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %136, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %1105 unwind label %.thread1073

1105:                                             ; preds = %1103
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %135, ptr noundef nonnull align 8 dereferenceable(32) %136)
          to label %1106 unwind label %.thread1077

1106:                                             ; preds = %1105
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %138) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %138) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %137, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %138)
          to label %1107 unwind label %1112

1107:                                             ; preds = %1106
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %139) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %139)
          to label %1108 unwind label %1114

1108:                                             ; preds = %1107
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %1104, ptr noundef nonnull align 8 dereferenceable(32) %135, ptr noundef nonnull %137, ptr noundef nonnull align 8 dereferenceable(32) %139)
          to label %1109 unwind label %1116

1109:                                             ; preds = %1108
  invoke void @__cxa_throw(ptr nonnull %1104, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1350 unwind label %1116

.thread1073:                                      ; preds = %1103
  %1110 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %136) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %135) #6
  br label %1120

.thread1077:                                      ; preds = %1105
  %1111 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %136) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %135) #6
  br label %1120

1112:                                             ; preds = %1106
  %1113 = landingpad { ptr, i32 }
          cleanup
  br label %1119

1114:                                             ; preds = %1107
  %1115 = landingpad { ptr, i32 }
          cleanup
  br label %1118

1116:                                             ; preds = %1109, %1108
  %.0715 = phi i1 [ false, %1109 ], [ true, %1108 ]
  %1117 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #6
  br label %1118

1118:                                             ; preds = %1116, %1114
  %.1716 = phi i1 [ %.0715, %1116 ], [ true, %1114 ]
  %.pn847 = phi { ptr, i32 } [ %1117, %1116 ], [ %1115, %1114 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %139) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #6
  br label %1119

1119:                                             ; preds = %1112, %1118
  %.2717 = phi i1 [ %.1716, %1118 ], [ true, %1112 ]
  %.pn847.pn = phi { ptr, i32 } [ %.pn847, %1118 ], [ %1113, %1112 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %138) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %138) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %136) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %135) #6
  br i1 %.2717, label %1120, label %1349

1120:                                             ; preds = %.thread1077, %.thread1073, %1119
  %.pn847.pn.pn.pn1076 = phi { ptr, i32 } [ %1110, %.thread1073 ], [ %.pn847.pn, %1119 ], [ %1111, %.thread1077 ]
  call void @__cxa_free_exception(ptr %1104) #6
  br label %1349

1121:                                             ; preds = %2
  switch i32 %181, label %1207 [
    i32 1, label %.preheader1145
    i32 2, label %.preheader1146
    i32 3, label %.preheader1147
    i32 4, label %.preheader1148
    i32 5, label %.preheader1149
  ]

.preheader1149:                                   ; preds = %1121
  %1122 = icmp sgt i32 %179, 0
  br i1 %1122, label %.lr.ph1169, label %._crit_edge1170

.lr.ph1169:                                       ; preds = %.preheader1149
  %1123 = getelementptr inbounds i8, ptr %149, i64 8
  %1124 = getelementptr inbounds i8, ptr %149, i64 16
  %1125 = getelementptr inbounds i8, ptr %149, i64 24
  %wide.trip.count1342 = zext nneg i32 %179 to i64
  br label %1194

.preheader1148:                                   ; preds = %1121
  %1126 = icmp sgt i32 %179, 0
  br i1 %1126, label %.lr.ph1172, label %._crit_edge1173

.lr.ph1172:                                       ; preds = %.preheader1148
  %1127 = getelementptr inbounds i8, ptr %147, i64 8
  %1128 = getelementptr inbounds i8, ptr %147, i64 16
  %1129 = getelementptr inbounds i8, ptr %147, i64 24
  %wide.trip.count1347 = zext nneg i32 %179 to i64
  br label %1181

.preheader1147:                                   ; preds = %1121
  %1130 = icmp sgt i32 %179, 0
  br i1 %1130, label %.lr.ph1175, label %._crit_edge1176

.lr.ph1175:                                       ; preds = %.preheader1147
  %1131 = getelementptr inbounds i8, ptr %145, i64 8
  %1132 = getelementptr inbounds i8, ptr %145, i64 16
  %1133 = getelementptr inbounds i8, ptr %145, i64 24
  %wide.trip.count1352 = zext nneg i32 %179 to i64
  br label %1168

.preheader1146:                                   ; preds = %1121
  %1134 = icmp sgt i32 %179, 0
  br i1 %1134, label %.lr.ph1178, label %._crit_edge1179

.lr.ph1178:                                       ; preds = %.preheader1146
  %1135 = getelementptr inbounds i8, ptr %143, i64 8
  %1136 = getelementptr inbounds i8, ptr %143, i64 16
  %1137 = getelementptr inbounds i8, ptr %143, i64 24
  %wide.trip.count1357 = zext nneg i32 %179 to i64
  br label %1155

.preheader1145:                                   ; preds = %1121
  %1138 = icmp sgt i32 %179, 0
  br i1 %1138, label %.lr.ph1181, label %._crit_edge1182

.lr.ph1181:                                       ; preds = %.preheader1145
  %1139 = getelementptr inbounds i8, ptr %141, i64 8
  %1140 = getelementptr inbounds i8, ptr %141, i64 16
  %1141 = getelementptr inbounds i8, ptr %141, i64 24
  %wide.trip.count1362 = zext nneg i32 %179 to i64
  br label %1142

._crit_edge1182:                                  ; preds = %1147, %.preheader1145
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %1153

1142:                                             ; preds = %.lr.ph1181, %1147
  %indvars.iv1359 = phi i64 [ 0, %.lr.ph1181 ], [ %indvars.iv.next1360, %1147 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %141) #6
  store ptr %0, ptr %141, align 8, !tbaa !192
  store ptr %176, ptr %1139, align 8, !tbaa !12
  store ptr %177, ptr %1140, align 8, !tbaa !12
  %1143 = trunc nuw nsw i64 %indvars.iv1359 to i32
  store i32 %1143, ptr %1141, align 8, !tbaa !194
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_45vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef nonnull align 8 dereferenceable(28) %141)
          to label %1144 unwind label %1148

1144:                                             ; preds = %1142
  %1145 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1359)
          to label %1146 unwind label %1150

1146:                                             ; preds = %1144
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %140, i64 noundef %1145, i1 noundef zeroext false)
          to label %1147 unwind label %1150

1147:                                             ; preds = %1146
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %141) #6
  %indvars.iv.next1360 = add nuw nsw i64 %indvars.iv1359, 1
  %exitcond1363.not = icmp eq i64 %indvars.iv.next1360, %wide.trip.count1362
  br i1 %exitcond1363.not, label %._crit_edge1182, label %1142, !llvm.loop !195

1148:                                             ; preds = %1142
  %1149 = landingpad { ptr, i32 }
          cleanup
  br label %1152

1150:                                             ; preds = %1146, %1144
  %1151 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #6
  br label %1152

1152:                                             ; preds = %1150, %1148
  %.pn824 = phi { ptr, i32 } [ %1151, %1150 ], [ %1149, %1148 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %141) #6
  br label %1349

1153:                                             ; preds = %._crit_edge1182
  %1154 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1179:                                  ; preds = %1160, %.preheader1146
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %1166

1155:                                             ; preds = %.lr.ph1178, %1160
  %indvars.iv1354 = phi i64 [ 0, %.lr.ph1178 ], [ %indvars.iv.next1355, %1160 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %143) #6
  store ptr %0, ptr %143, align 8, !tbaa !196
  store ptr %176, ptr %1135, align 8, !tbaa !12
  store ptr %177, ptr %1136, align 8, !tbaa !12
  %1156 = trunc nuw nsw i64 %indvars.iv1354 to i32
  store i32 %1156, ptr %1137, align 8, !tbaa !198
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_46vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef nonnull align 8 dereferenceable(28) %143)
          to label %1157 unwind label %1161

1157:                                             ; preds = %1155
  %1158 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1354)
          to label %1159 unwind label %1163

1159:                                             ; preds = %1157
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %142, i64 noundef %1158, i1 noundef zeroext false)
          to label %1160 unwind label %1163

1160:                                             ; preds = %1159
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %143) #6
  %indvars.iv.next1355 = add nuw nsw i64 %indvars.iv1354, 1
  %exitcond1358.not = icmp eq i64 %indvars.iv.next1355, %wide.trip.count1357
  br i1 %exitcond1358.not, label %._crit_edge1179, label %1155, !llvm.loop !199

1161:                                             ; preds = %1155
  %1162 = landingpad { ptr, i32 }
          cleanup
  br label %1165

1163:                                             ; preds = %1159, %1157
  %1164 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #6
  br label %1165

1165:                                             ; preds = %1163, %1161
  %.pn821 = phi { ptr, i32 } [ %1164, %1163 ], [ %1162, %1161 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %143) #6
  br label %1349

1166:                                             ; preds = %._crit_edge1179
  %1167 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1176:                                  ; preds = %1173, %.preheader1147
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %1179

1168:                                             ; preds = %.lr.ph1175, %1173
  %indvars.iv1349 = phi i64 [ 0, %.lr.ph1175 ], [ %indvars.iv.next1350, %1173 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %145) #6
  store ptr %0, ptr %145, align 8, !tbaa !200
  store ptr %176, ptr %1131, align 8, !tbaa !12
  store ptr %177, ptr %1132, align 8, !tbaa !12
  %1169 = trunc nuw nsw i64 %indvars.iv1349 to i32
  store i32 %1169, ptr %1133, align 8, !tbaa !202
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_47vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %144, ptr noundef nonnull align 8 dereferenceable(28) %145)
          to label %1170 unwind label %1174

1170:                                             ; preds = %1168
  %1171 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1349)
          to label %1172 unwind label %1176

1172:                                             ; preds = %1170
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %144, i64 noundef %1171, i1 noundef zeroext false)
          to label %1173 unwind label %1176

1173:                                             ; preds = %1172
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %145) #6
  %indvars.iv.next1350 = add nuw nsw i64 %indvars.iv1349, 1
  %exitcond1353.not = icmp eq i64 %indvars.iv.next1350, %wide.trip.count1352
  br i1 %exitcond1353.not, label %._crit_edge1176, label %1168, !llvm.loop !203

1174:                                             ; preds = %1168
  %1175 = landingpad { ptr, i32 }
          cleanup
  br label %1178

1176:                                             ; preds = %1172, %1170
  %1177 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #6
  br label %1178

1178:                                             ; preds = %1176, %1174
  %.pn818 = phi { ptr, i32 } [ %1177, %1176 ], [ %1175, %1174 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %145) #6
  br label %1349

1179:                                             ; preds = %._crit_edge1176
  %1180 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1173:                                  ; preds = %1186, %.preheader1148
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %1192

1181:                                             ; preds = %.lr.ph1172, %1186
  %indvars.iv1344 = phi i64 [ 0, %.lr.ph1172 ], [ %indvars.iv.next1345, %1186 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %147) #6
  store ptr %0, ptr %147, align 8, !tbaa !204
  store ptr %176, ptr %1127, align 8, !tbaa !12
  store ptr %177, ptr %1128, align 8, !tbaa !12
  %1182 = trunc nuw nsw i64 %indvars.iv1344 to i32
  store i32 %1182, ptr %1129, align 8, !tbaa !206
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_48vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %146, ptr noundef nonnull align 8 dereferenceable(28) %147)
          to label %1183 unwind label %1187

1183:                                             ; preds = %1181
  %1184 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1344)
          to label %1185 unwind label %1189

1185:                                             ; preds = %1183
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %146, i64 noundef %1184, i1 noundef zeroext false)
          to label %1186 unwind label %1189

1186:                                             ; preds = %1185
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %147) #6
  %indvars.iv.next1345 = add nuw nsw i64 %indvars.iv1344, 1
  %exitcond1348.not = icmp eq i64 %indvars.iv.next1345, %wide.trip.count1347
  br i1 %exitcond1348.not, label %._crit_edge1173, label %1181, !llvm.loop !207

1187:                                             ; preds = %1181
  %1188 = landingpad { ptr, i32 }
          cleanup
  br label %1191

1189:                                             ; preds = %1185, %1183
  %1190 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  br label %1191

1191:                                             ; preds = %1189, %1187
  %.pn815 = phi { ptr, i32 } [ %1190, %1189 ], [ %1188, %1187 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %147) #6
  br label %1349

1192:                                             ; preds = %._crit_edge1173
  %1193 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1170:                                  ; preds = %1199, %.preheader1149
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %1205

1194:                                             ; preds = %.lr.ph1169, %1199
  %indvars.iv1339 = phi i64 [ 0, %.lr.ph1169 ], [ %indvars.iv.next1340, %1199 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %149) #6
  store ptr %0, ptr %149, align 8, !tbaa !208
  store ptr %176, ptr %1123, align 8, !tbaa !12
  store ptr %177, ptr %1124, align 8, !tbaa !12
  %1195 = trunc nuw nsw i64 %indvars.iv1339 to i32
  store i32 %1195, ptr %1125, align 8, !tbaa !210
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_49vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %148, ptr noundef nonnull align 8 dereferenceable(28) %149)
          to label %1196 unwind label %1200

1196:                                             ; preds = %1194
  %1197 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1339)
          to label %1198 unwind label %1202

1198:                                             ; preds = %1196
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %148, i64 noundef %1197, i1 noundef zeroext false)
          to label %1199 unwind label %1202

1199:                                             ; preds = %1198
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %149) #6
  %indvars.iv.next1340 = add nuw nsw i64 %indvars.iv1339, 1
  %exitcond1343.not = icmp eq i64 %indvars.iv.next1340, %wide.trip.count1342
  br i1 %exitcond1343.not, label %._crit_edge1170, label %1194, !llvm.loop !211

1200:                                             ; preds = %1194
  %1201 = landingpad { ptr, i32 }
          cleanup
  br label %1204

1202:                                             ; preds = %1198, %1196
  %1203 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #6
  br label %1204

1204:                                             ; preds = %1202, %1200
  %.pn812 = phi { ptr, i32 } [ %1203, %1202 ], [ %1201, %1200 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %149) #6
  br label %1349

1205:                                             ; preds = %._crit_edge1170
  %1206 = landingpad { ptr, i32 }
          cleanup
  br label %1349

1207:                                             ; preds = %1121
  %1208 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %150) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %151) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %151, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %1209 unwind label %.thread1080

1209:                                             ; preds = %1207
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %150, ptr noundef nonnull align 8 dereferenceable(32) %151)
          to label %1210 unwind label %.thread1084

1210:                                             ; preds = %1209
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %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 nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %153)
          to label %1211 unwind label %1216

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

1212:                                             ; preds = %1211
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %1208, ptr noundef nonnull align 8 dereferenceable(32) %150, ptr noundef nonnull %152, ptr noundef nonnull align 8 dereferenceable(32) %154)
          to label %1213 unwind label %1220

1213:                                             ; preds = %1212
  invoke void @__cxa_throw(ptr nonnull %1208, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1350 unwind label %1220

.thread1080:                                      ; preds = %1207
  %1214 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %151) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %150) #6
  br label %1224

.thread1084:                                      ; preds = %1209
  %1215 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %151) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %150) #6
  br label %1224

1216:                                             ; preds = %1210
  %1217 = landingpad { ptr, i32 }
          cleanup
  br label %1223

1218:                                             ; preds = %1211
  %1219 = landingpad { ptr, i32 }
          cleanup
  br label %1222

1220:                                             ; preds = %1213, %1212
  %.0696 = phi i1 [ false, %1213 ], [ true, %1212 ]
  %1221 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #6
  br label %1222

1222:                                             ; preds = %1220, %1218
  %.1697 = phi i1 [ %.0696, %1220 ], [ true, %1218 ]
  %.pn827 = phi { ptr, i32 } [ %1221, %1220 ], [ %1219, %1218 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %154) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #6
  br label %1223

1223:                                             ; preds = %1216, %1222
  %.2698 = phi i1 [ %.1697, %1222 ], [ true, %1216 ]
  %.pn827.pn = phi { ptr, i32 } [ %.pn827, %1222 ], [ %1217, %1216 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %153) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %153) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %151) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %150) #6
  br i1 %.2698, label %1224, label %1349

1224:                                             ; preds = %.thread1084, %.thread1080, %1223
  %.pn827.pn.pn.pn1083 = phi { ptr, i32 } [ %1214, %.thread1080 ], [ %.pn827.pn, %1223 ], [ %1215, %.thread1084 ]
  call void @__cxa_free_exception(ptr %1208) #6
  br label %1349

1225:                                             ; preds = %2
  switch i32 %181, label %1311 [
    i32 1, label %.preheader1150
    i32 2, label %.preheader1151
    i32 3, label %.preheader1152
    i32 4, label %.preheader1153
    i32 5, label %.preheader1154
  ]

.preheader1154:                                   ; preds = %1225
  %1226 = icmp sgt i32 %179, 0
  br i1 %1226, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %.preheader1154
  %1227 = getelementptr inbounds i8, ptr %164, i64 8
  %1228 = getelementptr inbounds i8, ptr %164, i64 16
  %1229 = getelementptr inbounds i8, ptr %164, i64 24
  %wide.trip.count = zext nneg i32 %179 to i64
  br label %1298

.preheader1153:                                   ; preds = %1225
  %1230 = icmp sgt i32 %179, 0
  br i1 %1230, label %.lr.ph1157, label %._crit_edge1158

.lr.ph1157:                                       ; preds = %.preheader1153
  %1231 = getelementptr inbounds i8, ptr %162, i64 8
  %1232 = getelementptr inbounds i8, ptr %162, i64 16
  %1233 = getelementptr inbounds i8, ptr %162, i64 24
  %wide.trip.count1322 = zext nneg i32 %179 to i64
  br label %1285

.preheader1152:                                   ; preds = %1225
  %1234 = icmp sgt i32 %179, 0
  br i1 %1234, label %.lr.ph1160, label %._crit_edge1161

.lr.ph1160:                                       ; preds = %.preheader1152
  %1235 = getelementptr inbounds i8, ptr %160, i64 8
  %1236 = getelementptr inbounds i8, ptr %160, i64 16
  %1237 = getelementptr inbounds i8, ptr %160, i64 24
  %wide.trip.count1327 = zext nneg i32 %179 to i64
  br label %1272

.preheader1151:                                   ; preds = %1225
  %1238 = icmp sgt i32 %179, 0
  br i1 %1238, label %.lr.ph1163, label %._crit_edge1164

.lr.ph1163:                                       ; preds = %.preheader1151
  %1239 = getelementptr inbounds i8, ptr %158, i64 8
  %1240 = getelementptr inbounds i8, ptr %158, i64 16
  %1241 = getelementptr inbounds i8, ptr %158, i64 24
  %wide.trip.count1332 = zext nneg i32 %179 to i64
  br label %1259

.preheader1150:                                   ; preds = %1225
  %1242 = icmp sgt i32 %179, 0
  br i1 %1242, label %.lr.ph1166, label %._crit_edge1167

.lr.ph1166:                                       ; preds = %.preheader1150
  %1243 = getelementptr inbounds i8, ptr %156, i64 8
  %1244 = getelementptr inbounds i8, ptr %156, i64 16
  %1245 = getelementptr inbounds i8, ptr %156, i64 24
  %wide.trip.count1337 = zext nneg i32 %179 to i64
  br label %1246

._crit_edge1167:                                  ; preds = %1251, %.preheader1150
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %1257

1246:                                             ; preds = %.lr.ph1166, %1251
  %indvars.iv1334 = phi i64 [ 0, %.lr.ph1166 ], [ %indvars.iv.next1335, %1251 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %156) #6
  store ptr %0, ptr %156, align 8, !tbaa !212
  store ptr %176, ptr %1243, align 8, !tbaa !12
  store ptr %177, ptr %1244, align 8, !tbaa !12
  %1247 = trunc nuw nsw i64 %indvars.iv1334 to i32
  store i32 %1247, ptr %1245, align 8, !tbaa !214
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_50vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %155, ptr noundef nonnull align 8 dereferenceable(28) %156)
          to label %1248 unwind label %1252

1248:                                             ; preds = %1246
  %1249 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1334)
          to label %1250 unwind label %1254

1250:                                             ; preds = %1248
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %155, i64 noundef %1249, i1 noundef zeroext false)
          to label %1251 unwind label %1254

1251:                                             ; preds = %1250
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %156) #6
  %indvars.iv.next1335 = add nuw nsw i64 %indvars.iv1334, 1
  %exitcond1338.not = icmp eq i64 %indvars.iv.next1335, %wide.trip.count1337
  br i1 %exitcond1338.not, label %._crit_edge1167, label %1246, !llvm.loop !215

1252:                                             ; preds = %1246
  %1253 = landingpad { ptr, i32 }
          cleanup
  br label %1256

1254:                                             ; preds = %1250, %1248
  %1255 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  br label %1256

1256:                                             ; preds = %1254, %1252
  %.pn804 = phi { ptr, i32 } [ %1255, %1254 ], [ %1253, %1252 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %156) #6
  br label %1349

1257:                                             ; preds = %._crit_edge1167
  %1258 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1164:                                  ; preds = %1264, %.preheader1151
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %1270

1259:                                             ; preds = %.lr.ph1163, %1264
  %indvars.iv1329 = phi i64 [ 0, %.lr.ph1163 ], [ %indvars.iv.next1330, %1264 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %158) #6
  store ptr %0, ptr %158, align 8, !tbaa !216
  store ptr %176, ptr %1239, align 8, !tbaa !12
  store ptr %177, ptr %1240, align 8, !tbaa !12
  %1260 = trunc nuw nsw i64 %indvars.iv1329 to i32
  store i32 %1260, ptr %1241, align 8, !tbaa !218
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_51vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %157, ptr noundef nonnull align 8 dereferenceable(28) %158)
          to label %1261 unwind label %1265

1261:                                             ; preds = %1259
  %1262 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1329)
          to label %1263 unwind label %1267

1263:                                             ; preds = %1261
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %157, i64 noundef %1262, i1 noundef zeroext false)
          to label %1264 unwind label %1267

1264:                                             ; preds = %1263
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %158) #6
  %indvars.iv.next1330 = add nuw nsw i64 %indvars.iv1329, 1
  %exitcond1333.not = icmp eq i64 %indvars.iv.next1330, %wide.trip.count1332
  br i1 %exitcond1333.not, label %._crit_edge1164, label %1259, !llvm.loop !219

1265:                                             ; preds = %1259
  %1266 = landingpad { ptr, i32 }
          cleanup
  br label %1269

1267:                                             ; preds = %1263, %1261
  %1268 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #6
  br label %1269

1269:                                             ; preds = %1267, %1265
  %.pn801 = phi { ptr, i32 } [ %1268, %1267 ], [ %1266, %1265 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %158) #6
  br label %1349

1270:                                             ; preds = %._crit_edge1164
  %1271 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1161:                                  ; preds = %1277, %.preheader1152
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %1283

1272:                                             ; preds = %.lr.ph1160, %1277
  %indvars.iv1324 = phi i64 [ 0, %.lr.ph1160 ], [ %indvars.iv.next1325, %1277 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %160) #6
  store ptr %0, ptr %160, align 8, !tbaa !220
  store ptr %176, ptr %1235, align 8, !tbaa !12
  store ptr %177, ptr %1236, align 8, !tbaa !12
  %1273 = trunc nuw nsw i64 %indvars.iv1324 to i32
  store i32 %1273, ptr %1237, align 8, !tbaa !222
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_52vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %159, ptr noundef nonnull align 8 dereferenceable(28) %160)
          to label %1274 unwind label %1278

1274:                                             ; preds = %1272
  %1275 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1324)
          to label %1276 unwind label %1280

1276:                                             ; preds = %1274
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %159, i64 noundef %1275, i1 noundef zeroext false)
          to label %1277 unwind label %1280

1277:                                             ; preds = %1276
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %160) #6
  %indvars.iv.next1325 = add nuw nsw i64 %indvars.iv1324, 1
  %exitcond1328.not = icmp eq i64 %indvars.iv.next1325, %wide.trip.count1327
  br i1 %exitcond1328.not, label %._crit_edge1161, label %1272, !llvm.loop !223

1278:                                             ; preds = %1272
  %1279 = landingpad { ptr, i32 }
          cleanup
  br label %1282

1280:                                             ; preds = %1276, %1274
  %1281 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  br label %1282

1282:                                             ; preds = %1280, %1278
  %.pn798 = phi { ptr, i32 } [ %1281, %1280 ], [ %1279, %1278 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %160) #6
  br label %1349

1283:                                             ; preds = %._crit_edge1161
  %1284 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge1158:                                  ; preds = %1290, %.preheader1153
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %1296

1285:                                             ; preds = %.lr.ph1157, %1290
  %indvars.iv1319 = phi i64 [ 0, %.lr.ph1157 ], [ %indvars.iv.next1320, %1290 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %162) #6
  store ptr %0, ptr %162, align 8, !tbaa !224
  store ptr %176, ptr %1231, align 8, !tbaa !12
  store ptr %177, ptr %1232, align 8, !tbaa !12
  %1286 = trunc nuw nsw i64 %indvars.iv1319 to i32
  store i32 %1286, ptr %1233, align 8, !tbaa !226
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_53vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %161, ptr noundef nonnull align 8 dereferenceable(28) %162)
          to label %1287 unwind label %1291

1287:                                             ; preds = %1285
  %1288 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv1319)
          to label %1289 unwind label %1293

1289:                                             ; preds = %1287
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %161, i64 noundef %1288, i1 noundef zeroext false)
          to label %1290 unwind label %1293

1290:                                             ; preds = %1289
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %162) #6
  %indvars.iv.next1320 = add nuw nsw i64 %indvars.iv1319, 1
  %exitcond1323.not = icmp eq i64 %indvars.iv.next1320, %wide.trip.count1322
  br i1 %exitcond1323.not, label %._crit_edge1158, label %1285, !llvm.loop !227

1291:                                             ; preds = %1285
  %1292 = landingpad { ptr, i32 }
          cleanup
  br label %1295

1293:                                             ; preds = %1289, %1287
  %1294 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #6
  br label %1295

1295:                                             ; preds = %1293, %1291
  %.pn795 = phi { ptr, i32 } [ %1294, %1293 ], [ %1292, %1291 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %162) #6
  br label %1349

1296:                                             ; preds = %._crit_edge1158
  %1297 = landingpad { ptr, i32 }
          cleanup
  br label %1349

._crit_edge:                                      ; preds = %1303, %.preheader1154
  invoke void @_ZN4dali10ThreadPool6RunAllEb(ptr noundef nonnull align 8 dereferenceable(224) %182, i1 noundef zeroext true)
          to label %1348 unwind label %1309

1298:                                             ; preds = %.lr.ph, %1303
  %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %1303 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %164) #6
  store ptr %0, ptr %164, align 8, !tbaa !228
  store ptr %176, ptr %1227, align 8, !tbaa !12
  store ptr %177, ptr %1228, align 8, !tbaa !12
  %1299 = trunc nuw nsw i64 %indvars.iv to i32
  store i32 %1299, ptr %1229, align 8, !tbaa !230
  invoke void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_54vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %163, ptr noundef nonnull align 8 dereferenceable(28) %164)
          to label %1300 unwind label %1304

1300:                                             ; preds = %1298
  %1301 = invoke noundef i64 @_ZNK4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EE11tensor_sizeEl(ptr noundef nonnull align 8 dereferenceable(28) %4, i64 noundef %indvars.iv)
          to label %1302 unwind label %1306

1302:                                             ; preds = %1300
  invoke void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224) %182, ptr noundef nonnull %163, i64 noundef %1301, i1 noundef zeroext false)
          to label %1303 unwind label %1306

1303:                                             ; preds = %1302
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %164) #6
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge, label %1298, !llvm.loop !231

1304:                                             ; preds = %1298
  %1305 = landingpad { ptr, i32 }
          cleanup
  br label %1308

1306:                                             ; preds = %1302, %1300
  %1307 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #6
  br label %1308

1308:                                             ; preds = %1306, %1304
  %.pn = phi { ptr, i32 } [ %1307, %1306 ], [ %1305, %1304 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %164) #6
  br label %1349

1309:                                             ; preds = %._crit_edge
  %1310 = landingpad { ptr, i32 }
          cleanup
  br label %1349

1311:                                             ; preds = %1225
  %1312 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %165) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %166) #6
  invoke void @_ZN4dali11make_stringIJA34_ciEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %166, ptr noundef nonnull align 1 dereferenceable(34) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %1313 unwind label %.thread1087

1313:                                             ; preds = %1311
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %165, ptr noundef nonnull align 8 dereferenceable(32) %166)
          to label %1314 unwind label %.thread1091

1314:                                             ; preds = %1313
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %168) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %167, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %168)
          to label %1315 unwind label %1320

1315:                                             ; preds = %1314
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %169) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %169)
          to label %1316 unwind label %1322

1316:                                             ; preds = %1315
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %1312, ptr noundef nonnull align 8 dereferenceable(32) %165, ptr noundef nonnull %167, ptr noundef nonnull align 8 dereferenceable(32) %169)
          to label %1317 unwind label %1324

1317:                                             ; preds = %1316
  invoke void @__cxa_throw(ptr nonnull %1312, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1350 unwind label %1324

.thread1087:                                      ; preds = %1311
  %1318 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %166) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %165) #6
  br label %1328

.thread1091:                                      ; preds = %1313
  %1319 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %166) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %165) #6
  br label %1328

1320:                                             ; preds = %1314
  %1321 = landingpad { ptr, i32 }
          cleanup
  br label %1327

1322:                                             ; preds = %1315
  %1323 = landingpad { ptr, i32 }
          cleanup
  br label %1326

1324:                                             ; preds = %1317, %1316
  %.0519 = phi i1 [ false, %1317 ], [ true, %1316 ]
  %1325 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #6
  br label %1326

1326:                                             ; preds = %1324, %1322
  %.pn807 = phi { ptr, i32 } [ %1325, %1324 ], [ %1323, %1322 ]
  %.1520 = phi i1 [ %.0519, %1324 ], [ true, %1322 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %169) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #6
  br label %1327

1327:                                             ; preds = %1320, %1326
  %.pn807.pn = phi { ptr, i32 } [ %.pn807, %1326 ], [ %1321, %1320 ]
  %.2521 = phi i1 [ %.1520, %1326 ], [ true, %1320 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %168) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %166) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %165) #6
  br i1 %.2521, label %1328, label %1349

1328:                                             ; preds = %.thread1091, %.thread1087, %1327
  %.pn807.pn.pn.pn1090 = phi { ptr, i32 } [ %1318, %.thread1087 ], [ %.pn807.pn, %1327 ], [ %1319, %.thread1091 ]
  call void @__cxa_free_exception(ptr %1312) #6
  br label %1349

1329:                                             ; preds = %2
  %1330 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %170) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %171) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %172) #6
  %1331 = call noundef i32 @_ZNK4dali10TensorListINS_10CPUBackendEE4typeEv(ptr noundef nonnull align 8 dereferenceable(304) %176)
  store i32 %1331, ptr %172, align 4, !tbaa !232
  invoke void @_ZN4dali11make_stringIJA24_c13_DALIDataTypeEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %171, ptr noundef nonnull align 1 dereferenceable(24) @.str.20, ptr noundef nonnull align 4 dereferenceable(4) %172)
          to label %1332 unwind label %.thread1094

1332:                                             ; preds = %1329
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %170, ptr noundef nonnull align 8 dereferenceable(32) %171)
          to label %1333 unwind label %.thread1098

1333:                                             ; preds = %1332
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %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 nonnull @.str.23, ptr noundef nonnull align 1 dereferenceable(1) %174)
          to label %1334 unwind label %1339

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

1335:                                             ; preds = %1334
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %1330, ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef nonnull %173, ptr noundef nonnull align 8 dereferenceable(32) %175)
          to label %1336 unwind label %1343

1336:                                             ; preds = %1335
  invoke void @__cxa_throw(ptr nonnull %1330, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #7
          to label %1350 unwind label %1343

.thread1094:                                      ; preds = %1329
  %1337 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %172) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %171) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %170) #6
  br label %1347

.thread1098:                                      ; preds = %1332
  %1338 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %172) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %171) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %170) #6
  br label %1347

1339:                                             ; preds = %1333
  %1340 = landingpad { ptr, i32 }
          cleanup
  br label %1346

1341:                                             ; preds = %1334
  %1342 = landingpad { ptr, i32 }
          cleanup
  br label %1345

1343:                                             ; preds = %1336, %1335
  %.0 = phi i1 [ false, %1336 ], [ true, %1335 ]
  %1344 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #6
  br label %1345

1345:                                             ; preds = %1343, %1341
  %.pn1012 = phi { ptr, i32 } [ %1344, %1343 ], [ %1342, %1341 ]
  %.1 = phi i1 [ %.0, %1343 ], [ true, %1341 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %175) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #6
  br label %1346

1346:                                             ; preds = %1339, %1345
  %.pn1012.pn = phi { ptr, i32 } [ %.pn1012, %1345 ], [ %1340, %1339 ]
  %.2 = phi i1 [ %.1, %1345 ], [ true, %1339 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %174) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %174) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %172) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %171) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %170) #6
  br i1 %.2, label %1347, label %1349

1347:                                             ; preds = %.thread1098, %.thread1094, %1346
  %.pn1012.pn.pn.pn1097 = phi { ptr, i32 } [ %1337, %.thread1094 ], [ %.pn1012.pn, %1346 ], [ %1338, %.thread1098 ]
  call void @__cxa_free_exception(ptr %1330) #6
  br label %1349

1348:                                             ; preds = %._crit_edge, %._crit_edge1158, %._crit_edge1161, %._crit_edge1164, %._crit_edge1167, %._crit_edge1170, %._crit_edge1173, %._crit_edge1176, %._crit_edge1179, %._crit_edge1182, %._crit_edge1185, %._crit_edge1188, %._crit_edge1191, %._crit_edge1194, %._crit_edge1197, %._crit_edge1200, %._crit_edge1203, %._crit_edge1206, %._crit_edge1209, %._crit_edge1212, %._crit_edge1215, %._crit_edge1218, %._crit_edge1221, %._crit_edge1224, %._crit_edge1227, %._crit_edge1230, %._crit_edge1233, %._crit_edge1236, %._crit_edge1239, %._crit_edge1242, %._crit_edge1245, %._crit_edge1248, %._crit_edge1251, %._crit_edge1254, %._crit_edge1257, %._crit_edge1260, %._crit_edge1263, %._crit_edge1266, %._crit_edge1269, %._crit_edge1272, %._crit_edge1275, %._crit_edge1278, %._crit_edge1281, %._crit_edge1284, %._crit_edge1287, %._crit_edge1290, %._crit_edge1293, %._crit_edge1296, %._crit_edge1299, %._crit_edge1302, %._crit_edge1305, %._crit_edge1308, %._crit_edge1311, %._crit_edge1314, %._crit_edge1317
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #6
  ret void

1349:                                             ; preds = %1308, %1309, %1295, %1296, %1282, %1283, %1269, %1270, %1256, %1257, %1204, %1205, %1191, %1192, %1178, %1179, %1165, %1166, %1152, %1153, %1100, %1101, %1087, %1088, %1074, %1075, %1061, %1062, %1048, %1049, %996, %997, %983, %984, %970, %971, %957, %958, %944, %945, %892, %893, %879, %880, %866, %867, %853, %854, %840, %841, %788, %789, %775, %776, %762, %763, %749, %750, %736, %737, %684, %685, %671, %672, %658, %659, %645, %646, %632, %633, %580, %581, %567, %568, %554, %555, %541, %542, %528, %529, %476, %477, %463, %464, %450, %451, %437, %438, %424, %425, %372, %373, %359, %360, %346, %347, %333, %334, %320, %321, %268, %269, %255, %256, %242, %243, %229, %230, %216, %217, %1346, %1347, %1327, %1328, %1223, %1224, %1119, %1120, %1015, %1016, %911, %912, %807, %808, %703, %704, %599, %600, %495, %496, %391, %392, %287, %288
  %.pn1012.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1012.pn.pn.pn1097, %1347 ], [ %.pn1012.pn, %1346 ], [ %.pn807.pn.pn.pn1090, %1328 ], [ %.pn807.pn, %1327 ], [ %.pn827.pn.pn.pn1083, %1224 ], [ %.pn827.pn, %1223 ], [ %.pn847.pn.pn.pn1076, %1120 ], [ %.pn847.pn, %1119 ], [ %.pn867.pn.pn.pn1069, %1016 ], [ %.pn867.pn, %1015 ], [ %.pn887.pn.pn.pn1062, %912 ], [ %.pn887.pn, %911 ], [ %.pn907.pn.pn.pn1055, %808 ], [ %.pn907.pn, %807 ], [ %.pn927.pn.pn.pn1048, %704 ], [ %.pn927.pn, %703 ], [ %.pn947.pn.pn.pn1041, %600 ], [ %.pn947.pn, %599 ], [ %.pn967.pn.pn.pn1034, %496 ], [ %.pn967.pn, %495 ], [ %.pn987.pn.pn.pn1027, %392 ], [ %.pn987.pn, %391 ], [ %.pn1007.pn.pn.pn1020, %288 ], [ %.pn1007.pn, %287 ], [ %.pn1004, %216 ], [ %218, %217 ], [ %.pn1001, %229 ], [ %231, %230 ], [ %.pn998, %242 ], [ %244, %243 ], [ %.pn995, %255 ], [ %257, %256 ], [ %.pn992, %268 ], [ %270, %269 ], [ %.pn984, %320 ], [ %322, %321 ], [ %.pn981, %333 ], [ %335, %334 ], [ %.pn978, %346 ], [ %348, %347 ], [ %.pn975, %359 ], [ %361, %360 ], [ %.pn972, %372 ], [ %374, %373 ], [ %.pn964, %424 ], [ %426, %425 ], [ %.pn961, %437 ], [ %439, %438 ], [ %.pn958, %450 ], [ %452, %451 ], [ %.pn955, %463 ], [ %465, %464 ], [ %.pn952, %476 ], [ %478, %477 ], [ %.pn944, %528 ], [ %530, %529 ], [ %.pn941, %541 ], [ %543, %542 ], [ %.pn938, %554 ], [ %556, %555 ], [ %.pn935, %567 ], [ %569, %568 ], [ %.pn932, %580 ], [ %582, %581 ], [ %.pn924, %632 ], [ %634, %633 ], [ %.pn921, %645 ], [ %647, %646 ], [ %.pn918, %658 ], [ %660, %659 ], [ %.pn915, %671 ], [ %673, %672 ], [ %.pn912, %684 ], [ %686, %685 ], [ %.pn904, %736 ], [ %738, %737 ], [ %.pn901, %749 ], [ %751, %750 ], [ %.pn898, %762 ], [ %764, %763 ], [ %.pn895, %775 ], [ %777, %776 ], [ %.pn892, %788 ], [ %790, %789 ], [ %.pn884, %840 ], [ %842, %841 ], [ %.pn881, %853 ], [ %855, %854 ], [ %.pn878, %866 ], [ %868, %867 ], [ %.pn875, %879 ], [ %881, %880 ], [ %.pn872, %892 ], [ %894, %893 ], [ %.pn864, %944 ], [ %946, %945 ], [ %.pn861, %957 ], [ %959, %958 ], [ %.pn858, %970 ], [ %972, %971 ], [ %.pn855, %983 ], [ %985, %984 ], [ %.pn852, %996 ], [ %998, %997 ], [ %.pn844, %1048 ], [ %1050, %1049 ], [ %.pn841, %1061 ], [ %1063, %1062 ], [ %.pn838, %1074 ], [ %1076, %1075 ], [ %.pn835, %1087 ], [ %1089, %1088 ], [ %.pn832, %1100 ], [ %1102, %1101 ], [ %.pn824, %1152 ], [ %1154, %1153 ], [ %.pn821, %1165 ], [ %1167, %1166 ], [ %.pn818, %1178 ], [ %1180, %1179 ], [ %.pn815, %1191 ], [ %1193, %1192 ], [ %.pn812, %1204 ], [ %1206, %1205 ], [ %.pn804, %1256 ], [ %1258, %1257 ], [ %.pn801, %1269 ], [ %1271, %1270 ], [ %.pn798, %1282 ], [ %1284, %1283 ], [ %.pn795, %1295 ], [ %1297, %1296 ], [ %.pn, %1308 ], [ %1310, %1309 ]
  call void @_ZN4dali19TensorListShapeBaseINS_15TensorListShapeILin1EEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #6
  resume { ptr, i32 } %.pn1012.pn.pn.pn.pn

1350:                                             ; preds = %1336, %1317, %1213, %1109, %1005, %901, %797, %693, %589, %485, %381, %277
  unreachable
}

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

declare void @_ZN4dali10TensorListINS_10CPUBackendEE9SetLayoutERKNS_12TensorLayoutE(ptr noundef nonnull align 8 dereferenceable(304), ptr noundef nonnull align 1 dereferenceable(16)) local_unnamed_addr #5

; 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

declare void @_ZN4dali10ThreadPool7AddWorkESt8functionIFviEElb(ptr noundef nonnull align 8 dereferenceable(224), ptr noundef, i64 noundef, i1 noundef zeroext) local_unnamed_addr #5

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_0vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_1vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_2vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_3vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_4vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_5vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_6vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_7vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_8vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE3$_9vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_10vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_11vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_12vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_13vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_14vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_15vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_16vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_17vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_18vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_19vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_20vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_21vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_22vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_23vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_24vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_25vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_26vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_27vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_28vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_29vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_30vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_31vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_32vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_33vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_34vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_35vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_36vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_37vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_38vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_39vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_40vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_41vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_42vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_43vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_44vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_45vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_46vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_47vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_48vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_49vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_50vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_51vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_52vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_53vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFviEEC2IZN4dali3PadINS3_10CPUBackendEE7RunImplERNS3_9WorkspaceEE4$_54vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 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 nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nounwind }
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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !11, i64 0}
!10 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_0", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!11 = !{!"any pointer", !7, i64 0}
!12 = !{!11, !11, i64 0}
!13 = !{!10, !6, i64 24}
!14 = distinct !{!14, !15}
!15 = !{!"llvm.loop.mustprogress"}
!16 = !{!17, !11, i64 0}
!17 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_1", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!18 = !{!17, !6, i64 24}
!19 = distinct !{!19, !15}
!20 = !{!21, !11, i64 0}
!21 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_2", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!22 = !{!21, !6, i64 24}
!23 = distinct !{!23, !15}
!24 = !{!25, !11, i64 0}
!25 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_3", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!26 = !{!25, !6, i64 24}
!27 = distinct !{!27, !15}
!28 = !{!29, !11, i64 0}
!29 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_4", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!30 = !{!29, !6, i64 24}
!31 = distinct !{!31, !15}
!32 = !{!33, !11, i64 0}
!33 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_5", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!34 = !{!33, !6, i64 24}
!35 = distinct !{!35, !15}
!36 = !{!37, !11, i64 0}
!37 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_6", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!38 = !{!37, !6, i64 24}
!39 = distinct !{!39, !15}
!40 = !{!41, !11, i64 0}
!41 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_7", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!42 = !{!41, !6, i64 24}
!43 = distinct !{!43, !15}
!44 = !{!45, !11, i64 0}
!45 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_8", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!46 = !{!45, !6, i64 24}
!47 = distinct !{!47, !15}
!48 = !{!49, !11, i64 0}
!49 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE3$_9", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!50 = !{!49, !6, i64 24}
!51 = distinct !{!51, !15}
!52 = !{!53, !11, i64 0}
!53 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_10", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!54 = !{!53, !6, i64 24}
!55 = distinct !{!55, !15}
!56 = !{!57, !11, i64 0}
!57 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_11", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!58 = !{!57, !6, i64 24}
!59 = distinct !{!59, !15}
!60 = !{!61, !11, i64 0}
!61 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_12", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!62 = !{!61, !6, i64 24}
!63 = distinct !{!63, !15}
!64 = !{!65, !11, i64 0}
!65 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_13", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!66 = !{!65, !6, i64 24}
!67 = distinct !{!67, !15}
!68 = !{!69, !11, i64 0}
!69 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_14", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!70 = !{!69, !6, i64 24}
!71 = distinct !{!71, !15}
!72 = !{!73, !11, i64 0}
!73 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_15", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!74 = !{!73, !6, i64 24}
!75 = distinct !{!75, !15}
!76 = !{!77, !11, i64 0}
!77 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_16", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!78 = !{!77, !6, i64 24}
!79 = distinct !{!79, !15}
!80 = !{!81, !11, i64 0}
!81 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_17", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!82 = !{!81, !6, i64 24}
!83 = distinct !{!83, !15}
!84 = !{!85, !11, i64 0}
!85 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_18", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!86 = !{!85, !6, i64 24}
!87 = distinct !{!87, !15}
!88 = !{!89, !11, i64 0}
!89 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_19", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!90 = !{!89, !6, i64 24}
!91 = distinct !{!91, !15}
!92 = !{!93, !11, i64 0}
!93 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_20", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!94 = !{!93, !6, i64 24}
!95 = distinct !{!95, !15}
!96 = !{!97, !11, i64 0}
!97 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_21", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!98 = !{!97, !6, i64 24}
!99 = distinct !{!99, !15}
!100 = !{!101, !11, i64 0}
!101 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_22", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!102 = !{!101, !6, i64 24}
!103 = distinct !{!103, !15}
!104 = !{!105, !11, i64 0}
!105 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_23", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!106 = !{!105, !6, i64 24}
!107 = distinct !{!107, !15}
!108 = !{!109, !11, i64 0}
!109 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_24", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!110 = !{!109, !6, i64 24}
!111 = distinct !{!111, !15}
!112 = !{!113, !11, i64 0}
!113 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_25", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!114 = !{!113, !6, i64 24}
!115 = distinct !{!115, !15}
!116 = !{!117, !11, i64 0}
!117 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_26", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!118 = !{!117, !6, i64 24}
!119 = distinct !{!119, !15}
!120 = !{!121, !11, i64 0}
!121 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_27", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!122 = !{!121, !6, i64 24}
!123 = distinct !{!123, !15}
!124 = !{!125, !11, i64 0}
!125 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_28", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!126 = !{!125, !6, i64 24}
!127 = distinct !{!127, !15}
!128 = !{!129, !11, i64 0}
!129 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_29", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!130 = !{!129, !6, i64 24}
!131 = distinct !{!131, !15}
!132 = !{!133, !11, i64 0}
!133 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_30", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!134 = !{!133, !6, i64 24}
!135 = distinct !{!135, !15}
!136 = !{!137, !11, i64 0}
!137 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_31", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!138 = !{!137, !6, i64 24}
!139 = distinct !{!139, !15}
!140 = !{!141, !11, i64 0}
!141 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_32", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!142 = !{!141, !6, i64 24}
!143 = distinct !{!143, !15}
!144 = !{!145, !11, i64 0}
!145 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_33", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!146 = !{!145, !6, i64 24}
!147 = distinct !{!147, !15}
!148 = !{!149, !11, i64 0}
!149 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_34", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!150 = !{!149, !6, i64 24}
!151 = distinct !{!151, !15}
!152 = !{!153, !11, i64 0}
!153 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_35", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!154 = !{!153, !6, i64 24}
!155 = distinct !{!155, !15}
!156 = !{!157, !11, i64 0}
!157 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_36", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!158 = !{!157, !6, i64 24}
!159 = distinct !{!159, !15}
!160 = !{!161, !11, i64 0}
!161 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_37", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!162 = !{!161, !6, i64 24}
!163 = distinct !{!163, !15}
!164 = !{!165, !11, i64 0}
!165 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_38", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!166 = !{!165, !6, i64 24}
!167 = distinct !{!167, !15}
!168 = !{!169, !11, i64 0}
!169 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_39", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!170 = !{!169, !6, i64 24}
!171 = distinct !{!171, !15}
!172 = !{!173, !11, i64 0}
!173 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_40", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!174 = !{!173, !6, i64 24}
!175 = distinct !{!175, !15}
!176 = !{!177, !11, i64 0}
!177 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_41", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!178 = !{!177, !6, i64 24}
!179 = distinct !{!179, !15}
!180 = !{!181, !11, i64 0}
!181 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_42", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!182 = !{!181, !6, i64 24}
!183 = distinct !{!183, !15}
!184 = !{!185, !11, i64 0}
!185 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_43", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!186 = !{!185, !6, i64 24}
!187 = distinct !{!187, !15}
!188 = !{!189, !11, i64 0}
!189 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_44", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!190 = !{!189, !6, i64 24}
!191 = distinct !{!191, !15}
!192 = !{!193, !11, i64 0}
!193 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_45", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!194 = !{!193, !6, i64 24}
!195 = distinct !{!195, !15}
!196 = !{!197, !11, i64 0}
!197 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_46", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!198 = !{!197, !6, i64 24}
!199 = distinct !{!199, !15}
!200 = !{!201, !11, i64 0}
!201 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_47", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!202 = !{!201, !6, i64 24}
!203 = distinct !{!203, !15}
!204 = !{!205, !11, i64 0}
!205 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_48", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!206 = !{!205, !6, i64 24}
!207 = distinct !{!207, !15}
!208 = !{!209, !11, i64 0}
!209 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_49", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!210 = !{!209, !6, i64 24}
!211 = distinct !{!211, !15}
!212 = !{!213, !11, i64 0}
!213 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_50", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!214 = !{!213, !6, i64 24}
!215 = distinct !{!215, !15}
!216 = !{!217, !11, i64 0}
!217 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_51", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!218 = !{!217, !6, i64 24}
!219 = distinct !{!219, !15}
!220 = !{!221, !11, i64 0}
!221 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_52", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!222 = !{!221, !6, i64 24}
!223 = distinct !{!223, !15}
!224 = !{!225, !11, i64 0}
!225 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_53", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!226 = !{!225, !6, i64 24}
!227 = distinct !{!227, !15}
!228 = !{!229, !11, i64 0}
!229 = !{!"_ZTSZN4dali3PadINS_10CPUBackendEE7RunImplERNS_9WorkspaceEE4$_54", !11, i64 0, !11, i64 8, !11, i64 16, !6, i64 24}
!230 = !{!229, !6, i64 24}
!231 = distinct !{!231, !15}
!232 = !{!233, !233, i64 0}
!233 = !{!"_ZTS13_DALIDataType", !7, i64 0}


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