; LLVM IR from NVIDIA/DALI :: dali/operators/geometry (mt_transform_attr)

; 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::vector.28" = type { %"struct.std::_Vector_base.29" }
%"struct.std::_Vector_base.29" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::basic_string_view" = type { i64, ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%"struct.dali::TensorListView" = type { %"struct.dali::TensorListViewBase" }
%"struct.dali::TensorListViewBase" = type { %"struct.dali::TensorListShape", %"class.std::vector.78" }
%"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::vector.78" = type { %"struct.std::_Vector_base.79" }
%"struct.std::_Vector_base.79" = type { %"struct.std::_Vector_base<const float *, std::allocator<const float *>>::_Vector_impl" }
%"struct.std::_Vector_base<const float *, std::allocator<const float *>>::_Vector_impl" = type { %"struct.std::_Vector_base<const float *, std::allocator<const float *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<const float *, std::allocator<const float *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.dali::span" = type { ptr, i64 }
%"struct.dali::TensorShape" = type { %"struct.dali::TensorShapeBase" }
%"struct.dali::TensorShapeBase" = type { %"class.dali::SmallVector.83" }
%"class.dali::SmallVector.83" = type { %union.anon.86, i64 }
%union.anon.86 = type { %struct.anon.87, [32 x i8] }
%struct.anon.87 = type { ptr, i64 }
%"class.dali::MTTransformAttr" = type <{ %"class.std::vector.28", %"class.std::vector.28", %"class.std::vector.28", %"class.std::vector.28", i32, i32, i8, i8, i8, i8, i8, i8, [2 x i8] }>

@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [96 x i8], align 1
@_ZTIN4dali13DALIExceptionE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.16 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [97 x i8], align 1

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

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 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 void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #0 align 2

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4dali15MTTransformAttr16ProcessMatrixArgERKNS_6OpSpecERKNS_17ArgumentWorkspaceEi(ptr noundef nonnull align 8 dereferenceable(110) %0, ptr noundef nonnull align 8 dereferenceable(328) %1, ptr noundef nonnull align 8 dereferenceable(256) %2, i32 noundef %3) #2 align 2 personality ptr @__gxx_personality_v0 {
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  %9 = alloca i8, align 1
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca %"class.std::vector.28", align 8
  %13 = alloca %"class.std::basic_string_view", align 8
  %14 = alloca float, align 4
  %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 ptr, align 8
  %20 = alloca i32, align 4
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator", align 1
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca i1, align 1
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator", align 1
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca i64, align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::allocator", align 1
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca i1, align 1
  %40 = alloca ptr, align 8
  %41 = alloca %"class.std::basic_string_view", align 8
  %42 = alloca %"struct.dali::TensorListView", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::allocator", align 1
  %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::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::allocator", align 1
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca i1, align 1
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::allocator", align 1
  %59 = alloca %"class.std::__cxx11::basic_string", 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 i1, align 1
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca %"class.dali::span", align 8
  %69 = alloca float, align 4
  %70 = alloca %"struct.dali::TensorShape", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.std::allocator", align 1
  %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::__cxx11::basic_string", align 8
  %79 = alloca %"class.std::allocator", align 1
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca i1, align 1
  %82 = alloca %"struct.dali::TensorShape", align 8
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca %"class.std::__cxx11::basic_string", align 8
  %85 = alloca %"class.std::__cxx11::basic_string", align 8
  %86 = alloca %"class.std::allocator", align 1
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca %"struct.dali::TensorShape", align 8
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.std::__cxx11::basic_string", align 8
  %91 = alloca %"class.std::__cxx11::basic_string", align 8
  %92 = alloca %"class.std::allocator", align 1
  %93 = alloca %"class.std::__cxx11::basic_string", align 8
  %94 = alloca i1, align 1
  %95 = alloca %"struct.dali::TensorShape", align 8
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca float, align 4
  %102 = alloca float, align 4
  store ptr %0, ptr %5, align 8, !tbaa !5
  store ptr %1, ptr %6, align 8, !tbaa !5
  store ptr %2, ptr %7, align 8, !tbaa !5
  store i32 %3, ptr %8, align 4, !tbaa !9
  %103 = load ptr, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %9) #5
  %104 = call noundef zeroext i1 @_ZNK4dali15MTTransformAttr10HasFusedMTEv(ptr noundef nonnull align 8 dereferenceable(110) %103)
  %105 = zext i1 %104 to i8
  store i8 %105, ptr %9, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #5
  %106 = load i8, ptr %9, align 1, !tbaa !11, !range !13, !noundef !14
  %107 = trunc i8 %106 to i1
  %108 = zext i1 %107 to i64
  %109 = select i1 %107, ptr @.str.7, ptr @.str.3
  store ptr %109, ptr %10, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #5
  %110 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 4
  %111 = load i32, ptr %110, align 8, !tbaa !15
  %112 = load i8, ptr %9, align 1, !tbaa !11, !range !13, !noundef !14
  %113 = trunc i8 %112 to i1
  %114 = zext i1 %113 to i64
  %115 = select i1 %113, i32 1, i32 0
  %116 = add nsw i32 %111, %115
  store i32 %116, ptr %11, align 4, !tbaa !9
  %117 = load i8, ptr %9, align 1, !tbaa !11, !range !13, !noundef !14
  %118 = trunc i8 %117 to i1
  br i1 %118, label %119, label %121

119:                                              ; preds = %4
  %120 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 1
  call void @_ZNSt6vectorIfSaIfEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %120) #5
  br label %121

121:                                              ; preds = %119, %4
  %122 = call noundef zeroext i1 @_ZNK4dali15MTTransformAttr19HasMatrixRegularArgEv(ptr noundef nonnull align 8 dereferenceable(110) %103)
  br i1 %122, label %123, label %328

123:                                              ; preds = %121
  call void @llvm.lifetime.start.p0(i64 24, ptr %12) #5
  %124 = load ptr, ptr %6, align 8, !tbaa !5
  %125 = load ptr, ptr %10, align 8, !tbaa !5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %13, ptr noundef %125) #5
  %126 = getelementptr inbounds { i64, ptr }, ptr %13, i32 0, i32 0
  %127 = load i64, ptr %126, align 8
  %128 = getelementptr inbounds { i64, ptr }, ptr %13, i32 0, i32 1
  %129 = load ptr, ptr %128, align 8
  call void @_ZNK4dali6OpSpec19GetRepeatedArgumentIfEESt6vectorIT_SaIS3_EESt17basic_string_viewIcSt11char_traitsIcEE(ptr dead_on_unwind writable sret(%"class.std::vector.28") align 8 %12, ptr noundef nonnull align 8 dereferenceable(328) %124, i64 %127, ptr %129)
  %130 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 0
  %131 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIfSaIfEEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %130, ptr noundef nonnull align 8 dereferenceable(24) %12) #5
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #5
  %132 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 0
  %133 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %132) #5
  %134 = icmp eq i64 %133, 1
  br i1 %134, label %135, label %157

135:                                              ; preds = %123
  %136 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 4
  %137 = load i32, ptr %136, align 8, !tbaa !15
  call void @_ZN4dali15MTTransformAttr14SetOutputPtDimEi(ptr noundef nonnull align 8 dereferenceable(110) %103, i32 noundef %137)
  %138 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 0
  %139 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 5
  %140 = load i32, ptr %139, align 4, !tbaa !21
  %141 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 4
  %142 = load i32, ptr %141, align 8, !tbaa !15
  %143 = mul nsw i32 %140, %142
  %144 = sext i32 %143 to i64
  call void @_ZNSt6vectorIfSaIfEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %138, i64 noundef %144)
  %145 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 0
  %146 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 0
  %147 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %146, i64 noundef 0) #5
  %148 = load float, ptr %147, align 4, !tbaa !22
  call void @_ZN4dali15MTTransformAttr18MakeDiagonalMatrixIRSt6vectorIfSaIfEEEEvOT_f(ptr noundef nonnull align 8 dereferenceable(110) %103, ptr noundef nonnull align 8 dereferenceable(24) %145, float noundef %148)
  %149 = load i8, ptr %9, align 1, !tbaa !11, !range !13, !noundef !14
  %150 = trunc i8 %149 to i1
  br i1 %150, label %151, label %156

151:                                              ; preds = %135
  %152 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 1
  %153 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 5
  %154 = load i32, ptr %153, align 4, !tbaa !21
  %155 = sext i32 %154 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #5
  store float 0.000000e+00, ptr %14, align 4, !tbaa !22
  call void @_ZNSt6vectorIfSaIfEE6resizeEmRKf(ptr noundef nonnull align 8 dereferenceable(24) %152, i64 noundef %155, ptr noundef nonnull align 4 dereferenceable(4) %14)
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #5
  br label %156

156:                                              ; preds = %151, %135
  br label %317

157:                                              ; preds = %123
  br label %158

158:                                              ; preds = %157
  %159 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 0
  %160 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %159) #5
  %161 = icmp ugt i64 %160, 0
  br i1 %161, label %227, label %162

162:                                              ; preds = %158
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %18) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %163 unwind label %175

163:                                              ; preds = %162
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef @.str.10)
          to label %164 unwind label %179

164:                                              ; preds = %163
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef @.str.11)
          to label %165 unwind label %183

165:                                              ; preds = %164
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #5
  invoke void @_ZN4dali11make_stringIJA23_cPKcA30_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %21, ptr noundef nonnull align 1 dereferenceable(23) @.str.12, ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 1 dereferenceable(30) @.str.13)
          to label %166 unwind label %189

166:                                              ; preds = %165
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef @.str.14, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %167 unwind label %193

167:                                              ; preds = %166
  %168 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %169 unwind label %197

169:                                              ; preds = %167
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #5
  store i1 true, ptr %27, align 1
  %170 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %171 unwind label %202

171:                                              ; preds = %169
  call void @llvm.lifetime.start.p0(i64 1, ptr %25) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %172 unwind label %206

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

173:                                              ; preds = %172
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %170, ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef %24, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %174 unwind label %214

174:                                              ; preds = %173
  store i1 false, ptr %27, align 1
  invoke void @__cxa_throw(ptr %170, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #6
          to label %921 unwind label %214

175:                                              ; preds = %162
  %176 = landingpad { ptr, i32 }
          cleanup
  %177 = extractvalue { ptr, i32 } %176, 0
  store ptr %177, ptr %19, align 8
  %178 = extractvalue { ptr, i32 } %176, 1
  store i32 %178, ptr %20, align 4
  br label %188

179:                                              ; preds = %163
  %180 = landingpad { ptr, i32 }
          cleanup
  %181 = extractvalue { ptr, i32 } %180, 0
  store ptr %181, ptr %19, align 8
  %182 = extractvalue { ptr, i32 } %180, 1
  store i32 %182, ptr %20, align 4
  br label %187

183:                                              ; preds = %164
  %184 = landingpad { ptr, i32 }
          cleanup
  %185 = extractvalue { ptr, i32 } %184, 0
  store ptr %185, ptr %19, align 8
  %186 = extractvalue { ptr, i32 } %184, 1
  store i32 %186, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  br label %187

187:                                              ; preds = %183, %179
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  br label %188

188:                                              ; preds = %187, %175
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #5
  br label %226

189:                                              ; preds = %165
  %190 = landingpad { ptr, i32 }
          cleanup
  %191 = extractvalue { ptr, i32 } %190, 0
  store ptr %191, ptr %19, align 8
  %192 = extractvalue { ptr, i32 } %190, 1
  store i32 %192, ptr %20, align 4
  br label %225

193:                                              ; preds = %166
  %194 = landingpad { ptr, i32 }
          cleanup
  %195 = extractvalue { ptr, i32 } %194, 0
  store ptr %195, ptr %19, align 8
  %196 = extractvalue { ptr, i32 } %194, 1
  store i32 %196, ptr %20, align 4
  br label %201

197:                                              ; preds = %167
  %198 = landingpad { ptr, i32 }
          cleanup
  %199 = extractvalue { ptr, i32 } %198, 0
  store ptr %199, ptr %19, align 8
  %200 = extractvalue { ptr, i32 } %198, 1
  store i32 %200, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  br label %201

201:                                              ; preds = %197, %193
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #5
  br label %224

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

206:                                              ; preds = %171
  %207 = landingpad { ptr, i32 }
          cleanup
  %208 = extractvalue { ptr, i32 } %207, 0
  store ptr %208, ptr %19, align 8
  %209 = extractvalue { ptr, i32 } %207, 1
  store i32 %209, ptr %20, align 4
  br label %219

210:                                              ; preds = %172
  %211 = landingpad { ptr, i32 }
          cleanup
  %212 = extractvalue { ptr, i32 } %211, 0
  store ptr %212, ptr %19, align 8
  %213 = extractvalue { ptr, i32 } %211, 1
  store i32 %213, ptr %20, align 4
  br label %218

214:                                              ; preds = %174, %173
  %215 = landingpad { ptr, i32 }
          cleanup
  %216 = extractvalue { ptr, i32 } %215, 0
  store ptr %216, ptr %19, align 8
  %217 = extractvalue { ptr, i32 } %215, 1
  store i32 %217, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  br label %218

218:                                              ; preds = %214, %210
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  br label %219

219:                                              ; preds = %218, %206
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #5
  br label %220

220:                                              ; preds = %219, %202
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #5
  %221 = load i1, ptr %27, align 1
  br i1 %221, label %222, label %223

222:                                              ; preds = %220
  call void @__cxa_free_exception(ptr %170) #5
  br label %223

223:                                              ; preds = %222, %220
  br label %224

224:                                              ; preds = %223, %201
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #5
  br label %225

225:                                              ; preds = %224, %189
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #5
  br label %226

226:                                              ; preds = %225, %188
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #5
  br label %915

227:                                              ; preds = %158
  br label %228

228:                                              ; preds = %227
  br label %229

229:                                              ; preds = %228
  br label %230

230:                                              ; preds = %229
  %231 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 0
  %232 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %231) #5
  %233 = load i32, ptr %11, align 4, !tbaa !9
  %234 = sext i32 %233 to i64
  %235 = urem i64 %232, %234
  %236 = icmp eq i64 %235, 0
  br i1 %236, label %304, label %237

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

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

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

240:                                              ; preds = %239
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #5
  %241 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 0
  %242 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %241) #5
  store i64 %242, ptr %33, align 8, !tbaa !24
  invoke void @_ZN4dali11make_stringIJA27_cmA15_ciA8_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 1 dereferenceable(27) @.str.17, ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef nonnull align 1 dereferenceable(15) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %11, ptr noundef nonnull align 1 dereferenceable(8) @.str.19)
          to label %243 unwind label %266

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

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

246:                                              ; preds = %244
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #5
  store i1 true, ptr %39, align 1
  %247 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #5
  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) %28)
          to label %248 unwind label %279

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

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

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

251:                                              ; preds = %250
  store i1 false, ptr %39, align 1
  invoke void @__cxa_throw(ptr %247, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #6
          to label %921 unwind label %291

252:                                              ; preds = %237
  %253 = landingpad { ptr, i32 }
          cleanup
  %254 = extractvalue { ptr, i32 } %253, 0
  store ptr %254, ptr %19, align 8
  %255 = extractvalue { ptr, i32 } %253, 1
  store i32 %255, ptr %20, align 4
  br label %265

256:                                              ; preds = %238
  %257 = landingpad { ptr, i32 }
          cleanup
  %258 = extractvalue { ptr, i32 } %257, 0
  store ptr %258, ptr %19, align 8
  %259 = extractvalue { ptr, i32 } %257, 1
  store i32 %259, ptr %20, align 4
  br label %264

260:                                              ; preds = %239
  %261 = landingpad { ptr, i32 }
          cleanup
  %262 = extractvalue { ptr, i32 } %261, 0
  store ptr %262, ptr %19, align 8
  %263 = extractvalue { ptr, i32 } %261, 1
  store i32 %263, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  br label %264

264:                                              ; preds = %260, %256
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  br label %265

265:                                              ; preds = %264, %252
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #5
  br label %303

266:                                              ; preds = %240
  %267 = landingpad { ptr, i32 }
          cleanup
  %268 = extractvalue { ptr, i32 } %267, 0
  store ptr %268, ptr %19, align 8
  %269 = extractvalue { ptr, i32 } %267, 1
  store i32 %269, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #5
  br label %302

270:                                              ; preds = %243
  %271 = landingpad { ptr, i32 }
          cleanup
  %272 = extractvalue { ptr, i32 } %271, 0
  store ptr %272, ptr %19, align 8
  %273 = extractvalue { ptr, i32 } %271, 1
  store i32 %273, ptr %20, align 4
  br label %278

274:                                              ; preds = %244
  %275 = landingpad { ptr, i32 }
          cleanup
  %276 = extractvalue { ptr, i32 } %275, 0
  store ptr %276, ptr %19, align 8
  %277 = extractvalue { ptr, i32 } %275, 1
  store i32 %277, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #5
  br label %278

278:                                              ; preds = %274, %270
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #5
  br label %301

279:                                              ; preds = %246
  %280 = landingpad { ptr, i32 }
          cleanup
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %19, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %20, align 4
  br label %297

283:                                              ; preds = %248
  %284 = landingpad { ptr, i32 }
          cleanup
  %285 = extractvalue { ptr, i32 } %284, 0
  store ptr %285, ptr %19, align 8
  %286 = extractvalue { ptr, i32 } %284, 1
  store i32 %286, ptr %20, align 4
  br label %296

287:                                              ; preds = %249
  %288 = landingpad { ptr, i32 }
          cleanup
  %289 = extractvalue { ptr, i32 } %288, 0
  store ptr %289, ptr %19, align 8
  %290 = extractvalue { ptr, i32 } %288, 1
  store i32 %290, ptr %20, align 4
  br label %295

291:                                              ; preds = %251, %250
  %292 = landingpad { ptr, i32 }
          cleanup
  %293 = extractvalue { ptr, i32 } %292, 0
  store ptr %293, ptr %19, align 8
  %294 = extractvalue { ptr, i32 } %292, 1
  store i32 %294, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  br label %295

295:                                              ; preds = %291, %287
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #5
  br label %296

296:                                              ; preds = %295, %283
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #5
  br label %297

297:                                              ; preds = %296, %279
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #5
  %298 = load i1, ptr %39, align 1
  br i1 %298, label %299, label %300

299:                                              ; preds = %297
  call void @__cxa_free_exception(ptr %247) #5
  br label %300

300:                                              ; preds = %299, %297
  br label %301

301:                                              ; preds = %300, %278
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  br label %302

302:                                              ; preds = %301, %266
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #5
  br label %303

303:                                              ; preds = %302, %265
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #5
  br label %915

304:                                              ; preds = %230
  br label %305

305:                                              ; preds = %304
  br label %306

306:                                              ; preds = %305
  %307 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 0
  %308 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %307) #5
  %309 = load i32, ptr %11, align 4, !tbaa !9
  %310 = sext i32 %309 to i64
  %311 = udiv i64 %308, %310
  %312 = trunc i64 %311 to i32
  call void @_ZN4dali15MTTransformAttr14SetOutputPtDimEi(ptr noundef nonnull align 8 dereferenceable(110) %103, i32 noundef %312)
  %313 = load i8, ptr %9, align 1, !tbaa !11, !range !13, !noundef !14
  %314 = trunc i8 %313 to i1
  br i1 %314, label %315, label %316

315:                                              ; preds = %306
  call void @_ZN4dali15MTTransformAttr12SplitFusedMTEv(ptr noundef nonnull align 8 dereferenceable(110) %103)
  br label %316

316:                                              ; preds = %315, %306
  br label %317

317:                                              ; preds = %316, %156
  %318 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 2
  %319 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 0
  %320 = load i32, ptr %8, align 4, !tbaa !9
  call void @_ZN4dali15MTTransformAttr6RepeatIRSt6vectorIfSaIfEES5_EEvOT_OT0_i(ptr noundef nonnull align 8 dereferenceable(110) %103, ptr noundef nonnull align 8 dereferenceable(24) %318, ptr noundef nonnull align 8 dereferenceable(24) %319, i32 noundef %320)
  %321 = load i8, ptr %9, align 1, !tbaa !11, !range !13, !noundef !14
  %322 = trunc i8 %321 to i1
  br i1 %322, label %323, label %327

323:                                              ; preds = %317
  %324 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 3
  %325 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 1
  %326 = load i32, ptr %8, align 4, !tbaa !9
  call void @_ZN4dali15MTTransformAttr6RepeatIRSt6vectorIfSaIfEES5_EEvOT_OT0_i(ptr noundef nonnull align 8 dereferenceable(110) %103, ptr noundef nonnull align 8 dereferenceable(24) %324, ptr noundef nonnull align 8 dereferenceable(24) %325, i32 noundef %326)
  br label %327

327:                                              ; preds = %323, %317
  br label %914

328:                                              ; preds = %121
  %329 = call noundef zeroext i1 @_ZNK4dali15MTTransformAttr17HasMatrixInputArgEv(ptr noundef nonnull align 8 dereferenceable(110) %103)
  br i1 %329, label %330, label %878

330:                                              ; preds = %328
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #5
  %331 = load ptr, ptr %7, align 8, !tbaa !5
  %332 = load ptr, ptr %10, align 8, !tbaa !5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %41, ptr noundef %332) #5
  %333 = getelementptr inbounds { i64, ptr }, ptr %41, i32 0, i32 0
  %334 = load i64, ptr %333, align 8
  %335 = getelementptr inbounds { i64, ptr }, ptr %41, i32 0, i32 1
  %336 = load ptr, ptr %335, align 8
  %337 = call noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali17ArgumentWorkspace13ArgumentInputESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(256) %331, i64 %334, ptr %336)
  store ptr %337, ptr %40, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 56, ptr %42) #5
  %338 = load ptr, ptr %40, align 8, !tbaa !5
  call void @_ZN4dali4viewIKfLin1ENS_10CPUBackendEEENS_14TensorListViewINS_6detail15storage_tag_mapIT1_E4typeET_XT0_EEERKNS_10TensorListIS6_EE(ptr dead_on_unwind writable sret(%"struct.dali::TensorListView") align 8 %42, ptr noundef nonnull align 8 dereferenceable(304) %338)
  br label %339

339:                                              ; preds = %330
  %340 = getelementptr inbounds %"struct.dali::TensorListViewBase", ptr %42, i32 0, i32 0
  %341 = invoke noundef zeroext i1 @_ZN4dali10is_uniformILin1EEEbRKNS_15TensorListShapeIXT_EEE(ptr noundef nonnull align 8 dereferenceable(32) %340)
          to label %342 unwind label %356

342:                                              ; preds = %339
  br i1 %341, label %412, label %343

343:                                              ; preds = %342
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %46) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %46)
          to label %344 unwind label %360

344:                                              ; preds = %343
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef @.str.21)
          to label %345 unwind label %364

345:                                              ; preds = %344
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef @.str.11)
          to label %346 unwind label %368

346:                                              ; preds = %345
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %48) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %347 unwind label %374

347:                                              ; preds = %346
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef @.str.14, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %348 unwind label %378

348:                                              ; preds = %347
  %349 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %350 unwind label %382

350:                                              ; preds = %348
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #5
  store i1 true, ptr %54, align 1
  %351 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %352 unwind label %387

352:                                              ; preds = %350
  call void @llvm.lifetime.start.p0(i64 1, ptr %52) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef @.str.23, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %353 unwind label %391

353:                                              ; preds = %352
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %53)
          to label %354 unwind label %395

354:                                              ; preds = %353
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %351, ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef %51, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %355 unwind label %399

355:                                              ; preds = %354
  store i1 false, ptr %54, align 1
  invoke void @__cxa_throw(ptr %351, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #6
          to label %921 unwind label %399

356:                                              ; preds = %498, %493, %420, %415, %339
  %357 = landingpad { ptr, i32 }
          cleanup
  %358 = extractvalue { ptr, i32 } %357, 0
  store ptr %358, ptr %19, align 8
  %359 = extractvalue { ptr, i32 } %357, 1
  store i32 %359, ptr %20, align 4
  br label %877

360:                                              ; preds = %343
  %361 = landingpad { ptr, i32 }
          cleanup
  %362 = extractvalue { ptr, i32 } %361, 0
  store ptr %362, ptr %19, align 8
  %363 = extractvalue { ptr, i32 } %361, 1
  store i32 %363, ptr %20, align 4
  br label %373

364:                                              ; preds = %344
  %365 = landingpad { ptr, i32 }
          cleanup
  %366 = extractvalue { ptr, i32 } %365, 0
  store ptr %366, ptr %19, align 8
  %367 = extractvalue { ptr, i32 } %365, 1
  store i32 %367, ptr %20, align 4
  br label %372

368:                                              ; preds = %345
  %369 = landingpad { ptr, i32 }
          cleanup
  %370 = extractvalue { ptr, i32 } %369, 0
  store ptr %370, ptr %19, align 8
  %371 = extractvalue { ptr, i32 } %369, 1
  store i32 %371, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #5
  br label %372

372:                                              ; preds = %368, %364
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #5
  br label %373

373:                                              ; preds = %372, %360
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #5
  br label %411

374:                                              ; preds = %346
  %375 = landingpad { ptr, i32 }
          cleanup
  %376 = extractvalue { ptr, i32 } %375, 0
  store ptr %376, ptr %19, align 8
  %377 = extractvalue { ptr, i32 } %375, 1
  store i32 %377, ptr %20, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #5
  br label %410

378:                                              ; preds = %347
  %379 = landingpad { ptr, i32 }
          cleanup
  %380 = extractvalue { ptr, i32 } %379, 0
  store ptr %380, ptr %19, align 8
  %381 = extractvalue { ptr, i32 } %379, 1
  store i32 %381, ptr %20, align 4
  br label %386

382:                                              ; preds = %348
  %383 = landingpad { ptr, i32 }
          cleanup
  %384 = extractvalue { ptr, i32 } %383, 0
  store ptr %384, ptr %19, align 8
  %385 = extractvalue { ptr, i32 } %383, 1
  store i32 %385, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #5
  br label %386

386:                                              ; preds = %382, %378
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #5
  br label %409

387:                                              ; preds = %350
  %388 = landingpad { ptr, i32 }
          cleanup
  %389 = extractvalue { ptr, i32 } %388, 0
  store ptr %389, ptr %19, align 8
  %390 = extractvalue { ptr, i32 } %388, 1
  store i32 %390, ptr %20, align 4
  br label %405

391:                                              ; preds = %352
  %392 = landingpad { ptr, i32 }
          cleanup
  %393 = extractvalue { ptr, i32 } %392, 0
  store ptr %393, ptr %19, align 8
  %394 = extractvalue { ptr, i32 } %392, 1
  store i32 %394, ptr %20, align 4
  br label %404

395:                                              ; preds = %353
  %396 = landingpad { ptr, i32 }
          cleanup
  %397 = extractvalue { ptr, i32 } %396, 0
  store ptr %397, ptr %19, align 8
  %398 = extractvalue { ptr, i32 } %396, 1
  store i32 %398, ptr %20, align 4
  br label %403

399:                                              ; preds = %355, %354
  %400 = landingpad { ptr, i32 }
          cleanup
  %401 = extractvalue { ptr, i32 } %400, 0
  store ptr %401, ptr %19, align 8
  %402 = extractvalue { ptr, i32 } %400, 1
  store i32 %402, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #5
  br label %403

403:                                              ; preds = %399, %395
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #5
  br label %404

404:                                              ; preds = %403, %391
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #5
  br label %405

405:                                              ; preds = %404, %387
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #5
  %406 = load i1, ptr %54, align 1
  br i1 %406, label %407, label %408

407:                                              ; preds = %405
  call void @__cxa_free_exception(ptr %351) #5
  br label %408

408:                                              ; preds = %407, %405
  br label %409

409:                                              ; preds = %408, %386
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #5
  br label %410

410:                                              ; preds = %409, %374
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #5
  br label %411

411:                                              ; preds = %410, %373
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #5
  br label %877

412:                                              ; preds = %342
  br label %413

413:                                              ; preds = %412
  br label %414

414:                                              ; preds = %413
  br label %415

415:                                              ; preds = %414
  %416 = getelementptr inbounds %"struct.dali::TensorListViewBase", ptr %42, i32 0, i32 0
  %417 = invoke noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %416)
          to label %418 unwind label %356

418:                                              ; preds = %415
  %419 = icmp eq i32 %417, 0
  br i1 %419, label %491, label %420

420:                                              ; preds = %418
  %421 = getelementptr inbounds %"struct.dali::TensorListViewBase", ptr %42, i32 0, i32 0
  %422 = invoke noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %421)
          to label %423 unwind label %356

423:                                              ; preds = %420
  %424 = icmp eq i32 %422, 2
  br i1 %424, label %491, label %425

425:                                              ; preds = %423
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %58) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %58)
          to label %426 unwind label %439

426:                                              ; preds = %425
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef @.str.24)
          to label %427 unwind label %443

427:                                              ; preds = %426
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %55, ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef @.str.11)
          to label %428 unwind label %447

428:                                              ; preds = %427
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #5
  %429 = getelementptr inbounds %"struct.dali::TensorListViewBase", ptr %42, i32 0, i32 0
  invoke void @_ZN4dali11make_stringIJA87_cNS_15TensorListShapeILin1EEEEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %59, ptr noundef nonnull align 1 dereferenceable(87) @.str.25, ptr noundef nonnull align 8 dereferenceable(32) %429)
          to label %430 unwind label %453

430:                                              ; preds = %428
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef @.str.14, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %431 unwind label %457

431:                                              ; preds = %430
  %432 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %433 unwind label %461

433:                                              ; preds = %431
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #5
  store i1 true, ptr %65, align 1
  %434 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #5
  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) %55)
          to label %435 unwind label %466

435:                                              ; preds = %433
  call void @llvm.lifetime.start.p0(i64 1, ptr %63) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef @.str.26, ptr noundef nonnull align 1 dereferenceable(1) %63)
          to label %436 unwind label %470

436:                                              ; preds = %435
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %64)
          to label %437 unwind label %474

437:                                              ; preds = %436
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %434, ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef %62, ptr noundef nonnull align 8 dereferenceable(32) %64)
          to label %438 unwind label %478

438:                                              ; preds = %437
  store i1 false, ptr %65, align 1
  invoke void @__cxa_throw(ptr %434, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #6
          to label %921 unwind label %478

439:                                              ; preds = %425
  %440 = landingpad { ptr, i32 }
          cleanup
  %441 = extractvalue { ptr, i32 } %440, 0
  store ptr %441, ptr %19, align 8
  %442 = extractvalue { ptr, i32 } %440, 1
  store i32 %442, ptr %20, align 4
  br label %452

443:                                              ; preds = %426
  %444 = landingpad { ptr, i32 }
          cleanup
  %445 = extractvalue { ptr, i32 } %444, 0
  store ptr %445, ptr %19, align 8
  %446 = extractvalue { ptr, i32 } %444, 1
  store i32 %446, ptr %20, align 4
  br label %451

447:                                              ; preds = %427
  %448 = landingpad { ptr, i32 }
          cleanup
  %449 = extractvalue { ptr, i32 } %448, 0
  store ptr %449, ptr %19, align 8
  %450 = extractvalue { ptr, i32 } %448, 1
  store i32 %450, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #5
  br label %451

451:                                              ; preds = %447, %443
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  br label %452

452:                                              ; preds = %451, %439
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #5
  br label %490

453:                                              ; preds = %428
  %454 = landingpad { ptr, i32 }
          cleanup
  %455 = extractvalue { ptr, i32 } %454, 0
  store ptr %455, ptr %19, align 8
  %456 = extractvalue { ptr, i32 } %454, 1
  store i32 %456, ptr %20, align 4
  br label %489

457:                                              ; preds = %430
  %458 = landingpad { ptr, i32 }
          cleanup
  %459 = extractvalue { ptr, i32 } %458, 0
  store ptr %459, ptr %19, align 8
  %460 = extractvalue { ptr, i32 } %458, 1
  store i32 %460, ptr %20, align 4
  br label %465

461:                                              ; preds = %431
  %462 = landingpad { ptr, i32 }
          cleanup
  %463 = extractvalue { ptr, i32 } %462, 0
  store ptr %463, ptr %19, align 8
  %464 = extractvalue { ptr, i32 } %462, 1
  store i32 %464, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #5
  br label %465

465:                                              ; preds = %461, %457
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #5
  br label %488

466:                                              ; preds = %433
  %467 = landingpad { ptr, i32 }
          cleanup
  %468 = extractvalue { ptr, i32 } %467, 0
  store ptr %468, ptr %19, align 8
  %469 = extractvalue { ptr, i32 } %467, 1
  store i32 %469, ptr %20, align 4
  br label %484

470:                                              ; preds = %435
  %471 = landingpad { ptr, i32 }
          cleanup
  %472 = extractvalue { ptr, i32 } %471, 0
  store ptr %472, ptr %19, align 8
  %473 = extractvalue { ptr, i32 } %471, 1
  store i32 %473, ptr %20, align 4
  br label %483

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

478:                                              ; preds = %438, %437
  %479 = landingpad { ptr, i32 }
          cleanup
  %480 = extractvalue { ptr, i32 } %479, 0
  store ptr %480, ptr %19, align 8
  %481 = extractvalue { ptr, i32 } %479, 1
  store i32 %481, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #5
  br label %482

482:                                              ; preds = %478, %474
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #5
  br label %483

483:                                              ; preds = %482, %470
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #5
  br label %484

484:                                              ; preds = %483, %466
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #5
  %485 = load i1, ptr %65, align 1
  br i1 %485, label %486, label %487

486:                                              ; preds = %484
  call void @__cxa_free_exception(ptr %434) #5
  br label %487

487:                                              ; preds = %486, %484
  br label %488

488:                                              ; preds = %487, %465
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #5
  br label %489

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

490:                                              ; preds = %489, %452
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #5
  br label %877

491:                                              ; preds = %423, %418
  br label %492

492:                                              ; preds = %491
  br label %493

493:                                              ; preds = %492
  %494 = getelementptr inbounds %"struct.dali::TensorListViewBase", ptr %42, i32 0, i32 0
  %495 = invoke noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %494)
          to label %496 unwind label %356

496:                                              ; preds = %493
  %497 = icmp eq i32 %495, 0
  br i1 %497, label %498, label %569

498:                                              ; preds = %496
  %499 = load i32, ptr %11, align 4, !tbaa !9
  invoke void @_ZN4dali15MTTransformAttr14SetOutputPtDimEi(ptr noundef nonnull align 8 dereferenceable(110) %103, i32 noundef %499)
          to label %500 unwind label %356

500:                                              ; preds = %498
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #5
  %501 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 5
  %502 = load i32, ptr %501, align 4, !tbaa !21
  %503 = load i32, ptr %11, align 4, !tbaa !9
  %504 = mul nsw i32 %502, %503
  store i32 %504, ptr %66, align 4, !tbaa !9
  %505 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 2
  %506 = load i32, ptr %66, align 4, !tbaa !9
  %507 = load i32, ptr %8, align 4, !tbaa !9
  %508 = mul nsw i32 %506, %507
  %509 = sext i32 %508 to i64
  invoke void @_ZNSt6vectorIfSaIfEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %505, i64 noundef %509)
          to label %510 unwind label %516

510:                                              ; preds = %500
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #5
  store i32 0, ptr %67, align 4, !tbaa !9
  br label %511

511:                                              ; preds = %543, %510
  %512 = load i32, ptr %67, align 4, !tbaa !9
  %513 = load i32, ptr %8, align 4, !tbaa !9
  %514 = icmp slt i32 %512, %513
  br i1 %514, label %520, label %515

515:                                              ; preds = %511
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #5
  br label %550

516:                                              ; preds = %558, %500
  %517 = landingpad { ptr, i32 }
          cleanup
  %518 = extractvalue { ptr, i32 } %517, 0
  store ptr %518, ptr %19, align 8
  %519 = extractvalue { ptr, i32 } %517, 1
  store i32 %519, ptr %20, align 4
  br label %568

520:                                              ; preds = %511
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #5
  %521 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 2
  %522 = load i32, ptr %67, align 4, !tbaa !9
  %523 = load i32, ptr %66, align 4, !tbaa !9
  %524 = mul nsw i32 %522, %523
  %525 = sext i32 %524 to i64
  %526 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %521, i64 noundef %525) #5
  %527 = load i32, ptr %66, align 4, !tbaa !9
  %528 = sext i32 %527 to i64
  %529 = invoke { ptr, i64 } @_ZN4dali9make_spanILln1EfEENS_4spanIT0_XT_EEEPS2_l(ptr noundef %526, i64 noundef %528)
          to label %530 unwind label %546

530:                                              ; preds = %520
  %531 = getelementptr inbounds { ptr, i64 }, ptr %68, i32 0, i32 0
  %532 = extractvalue { ptr, i64 } %529, 0
  store ptr %532, ptr %531, align 8
  %533 = getelementptr inbounds { ptr, i64 }, ptr %68, i32 0, i32 1
  %534 = extractvalue { ptr, i64 } %529, 1
  store i64 %534, ptr %533, align 8
  %535 = getelementptr inbounds %"struct.dali::TensorListViewBase", ptr %42, i32 0, i32 1
  %536 = load i32, ptr %67, align 4, !tbaa !9
  %537 = sext i32 %536 to i64
  %538 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPKfSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %535, i64 noundef %537) #5
  %539 = load ptr, ptr %538, align 8, !tbaa !5
  %540 = getelementptr inbounds float, ptr %539, i64 0
  %541 = load float, ptr %540, align 4, !tbaa !22
  invoke void @_ZN4dali15MTTransformAttr18MakeDiagonalMatrixINS_4spanIfLln1EEEEEvOT_f(ptr noundef nonnull align 8 dereferenceable(110) %103, ptr noundef nonnull align 8 dereferenceable(16) %68, float noundef %541)
          to label %542 unwind label %546

542:                                              ; preds = %530
  call void @llvm.lifetime.end.p0(i64 16, ptr %68) #5
  br label %543

543:                                              ; preds = %542
  %544 = load i32, ptr %67, align 4, !tbaa !9
  %545 = add nsw i32 %544, 1
  store i32 %545, ptr %67, align 4, !tbaa !9
  br label %511, !llvm.loop !26

546:                                              ; preds = %530, %520
  %547 = landingpad { ptr, i32 }
          cleanup
  %548 = extractvalue { ptr, i32 } %547, 0
  store ptr %548, ptr %19, align 8
  %549 = extractvalue { ptr, i32 } %547, 1
  store i32 %549, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %68) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #5
  br label %568

550:                                              ; preds = %515
  %551 = load i8, ptr %9, align 1, !tbaa !11, !range !13, !noundef !14
  %552 = trunc i8 %551 to i1
  br i1 %552, label %553, label %567

553:                                              ; preds = %550
  %554 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 1
  %555 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 5
  %556 = load i32, ptr %555, align 4, !tbaa !21
  %557 = sext i32 %556 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #5
  store float 0.000000e+00, ptr %69, align 4, !tbaa !22
  invoke void @_ZNSt6vectorIfSaIfEE6resizeEmRKf(ptr noundef nonnull align 8 dereferenceable(24) %554, i64 noundef %557, ptr noundef nonnull align 4 dereferenceable(4) %69)
          to label %558 unwind label %563

558:                                              ; preds = %553
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #5
  %559 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 3
  %560 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 1
  %561 = load i32, ptr %8, align 4, !tbaa !9
  invoke void @_ZN4dali15MTTransformAttr6RepeatIRSt6vectorIfSaIfEES5_EEvOT_OT0_i(ptr noundef nonnull align 8 dereferenceable(110) %103, ptr noundef nonnull align 8 dereferenceable(24) %559, ptr noundef nonnull align 8 dereferenceable(24) %560, i32 noundef %561)
          to label %562 unwind label %516

562:                                              ; preds = %558
  br label %567

563:                                              ; preds = %553
  %564 = landingpad { ptr, i32 }
          cleanup
  %565 = extractvalue { ptr, i32 } %564, 0
  store ptr %565, ptr %19, align 8
  %566 = extractvalue { ptr, i32 } %564, 1
  store i32 %566, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #5
  br label %568

567:                                              ; preds = %562, %550
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #5
  br label %876

568:                                              ; preds = %563, %546, %516
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #5
  br label %877

569:                                              ; preds = %496
  br label %570

570:                                              ; preds = %569
  call void @llvm.lifetime.start.p0(i64 56, ptr %70) #5
  %571 = getelementptr inbounds %"struct.dali::TensorListViewBase", ptr %42, i32 0, i32 0
  invoke void @_ZNK4dali15TensorListShapeILin1EEixEl(ptr dead_on_unwind writable sret(%"struct.dali::TensorShape") align 8 %70, ptr noundef nonnull align 8 dereferenceable(32) %571, i64 noundef 0)
          to label %572 unwind label %591

572:                                              ; preds = %570
  %573 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EEixEi(ptr noundef nonnull align 8 dereferenceable(56) %70, i32 noundef 0)
          to label %574 unwind label %595

574:                                              ; preds = %572
  %575 = load i64, ptr %573, align 8, !tbaa !24
  %576 = icmp sgt i64 %575, 0
  %577 = xor i1 %576, true
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %70) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr %70) #5
  br i1 %577, label %578, label %652

578:                                              ; preds = %574
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %72) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %74) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %74)
          to label %579 unwind label %600

579:                                              ; preds = %578
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef @.str.27)
          to label %580 unwind label %604

580:                                              ; preds = %579
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef @.str.11)
          to label %581 unwind label %608

581:                                              ; preds = %580
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %74) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %75) #5
  invoke void @_ZN4dali11make_stringIJA23_cPKcA27_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %75, ptr noundef nonnull align 1 dereferenceable(23) @.str.28, ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 1 dereferenceable(27) @.str.29)
          to label %582 unwind label %614

582:                                              ; preds = %581
  call void @llvm.lifetime.start.p0(i64 32, ptr %76) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %76, ptr noundef @.str.14, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %583 unwind label %618

583:                                              ; preds = %582
  %584 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %585 unwind label %622

585:                                              ; preds = %583
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #5
  store i1 true, ptr %81, align 1
  %586 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %77, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %587 unwind label %627

587:                                              ; preds = %585
  call void @llvm.lifetime.start.p0(i64 1, ptr %79) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef @.str.30, ptr noundef nonnull align 1 dereferenceable(1) %79)
          to label %588 unwind label %631

588:                                              ; preds = %587
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %80)
          to label %589 unwind label %635

589:                                              ; preds = %588
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %586, ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef %78, ptr noundef nonnull align 8 dereferenceable(32) %80)
          to label %590 unwind label %639

590:                                              ; preds = %589
  store i1 false, ptr %81, align 1
  invoke void @__cxa_throw(ptr %586, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #6
          to label %921 unwind label %639

591:                                              ; preds = %570
  %592 = landingpad { ptr, i32 }
          cleanup
  %593 = extractvalue { ptr, i32 } %592, 0
  store ptr %593, ptr %19, align 8
  %594 = extractvalue { ptr, i32 } %592, 1
  store i32 %594, ptr %20, align 4
  br label %599

595:                                              ; preds = %572
  %596 = landingpad { ptr, i32 }
          cleanup
  %597 = extractvalue { ptr, i32 } %596, 0
  store ptr %597, ptr %19, align 8
  %598 = extractvalue { ptr, i32 } %596, 1
  store i32 %598, ptr %20, align 4
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %70) #5
  br label %599

599:                                              ; preds = %595, %591
  call void @llvm.lifetime.end.p0(i64 56, ptr %70) #5
  br label %877

600:                                              ; preds = %578
  %601 = landingpad { ptr, i32 }
          cleanup
  %602 = extractvalue { ptr, i32 } %601, 0
  store ptr %602, ptr %19, align 8
  %603 = extractvalue { ptr, i32 } %601, 1
  store i32 %603, ptr %20, align 4
  br label %613

604:                                              ; preds = %579
  %605 = landingpad { ptr, i32 }
          cleanup
  %606 = extractvalue { ptr, i32 } %605, 0
  store ptr %606, ptr %19, align 8
  %607 = extractvalue { ptr, i32 } %605, 1
  store i32 %607, ptr %20, align 4
  br label %612

608:                                              ; preds = %580
  %609 = landingpad { ptr, i32 }
          cleanup
  %610 = extractvalue { ptr, i32 } %609, 0
  store ptr %610, ptr %19, align 8
  %611 = extractvalue { ptr, i32 } %609, 1
  store i32 %611, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #5
  br label %612

612:                                              ; preds = %608, %604
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #5
  br label %613

613:                                              ; preds = %612, %600
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %74) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #5
  br label %651

614:                                              ; preds = %581
  %615 = landingpad { ptr, i32 }
          cleanup
  %616 = extractvalue { ptr, i32 } %615, 0
  store ptr %616, ptr %19, align 8
  %617 = extractvalue { ptr, i32 } %615, 1
  store i32 %617, ptr %20, align 4
  br label %650

618:                                              ; preds = %582
  %619 = landingpad { ptr, i32 }
          cleanup
  %620 = extractvalue { ptr, i32 } %619, 0
  store ptr %620, ptr %19, align 8
  %621 = extractvalue { ptr, i32 } %619, 1
  store i32 %621, ptr %20, align 4
  br label %626

622:                                              ; preds = %583
  %623 = landingpad { ptr, i32 }
          cleanup
  %624 = extractvalue { ptr, i32 } %623, 0
  store ptr %624, ptr %19, align 8
  %625 = extractvalue { ptr, i32 } %623, 1
  store i32 %625, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #5
  br label %626

626:                                              ; preds = %622, %618
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #5
  br label %649

627:                                              ; preds = %585
  %628 = landingpad { ptr, i32 }
          cleanup
  %629 = extractvalue { ptr, i32 } %628, 0
  store ptr %629, ptr %19, align 8
  %630 = extractvalue { ptr, i32 } %628, 1
  store i32 %630, ptr %20, align 4
  br label %645

631:                                              ; preds = %587
  %632 = landingpad { ptr, i32 }
          cleanup
  %633 = extractvalue { ptr, i32 } %632, 0
  store ptr %633, ptr %19, align 8
  %634 = extractvalue { ptr, i32 } %632, 1
  store i32 %634, ptr %20, align 4
  br label %644

635:                                              ; preds = %588
  %636 = landingpad { ptr, i32 }
          cleanup
  %637 = extractvalue { ptr, i32 } %636, 0
  store ptr %637, ptr %19, align 8
  %638 = extractvalue { ptr, i32 } %636, 1
  store i32 %638, ptr %20, align 4
  br label %643

639:                                              ; preds = %590, %589
  %640 = landingpad { ptr, i32 }
          cleanup
  %641 = extractvalue { ptr, i32 } %640, 0
  store ptr %641, ptr %19, align 8
  %642 = extractvalue { ptr, i32 } %640, 1
  store i32 %642, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #5
  br label %643

643:                                              ; preds = %639, %635
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #5
  br label %644

644:                                              ; preds = %643, %631
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #5
  br label %645

645:                                              ; preds = %644, %627
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #5
  %646 = load i1, ptr %81, align 1
  br i1 %646, label %647, label %648

647:                                              ; preds = %645
  call void @__cxa_free_exception(ptr %586) #5
  br label %648

648:                                              ; preds = %647, %645
  br label %649

649:                                              ; preds = %648, %626
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #5
  br label %650

650:                                              ; preds = %649, %614
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #5
  br label %651

651:                                              ; preds = %650, %613
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #5
  br label %877

652:                                              ; preds = %574
  br label %653

653:                                              ; preds = %652
  br label %654

654:                                              ; preds = %653
  br label %655

655:                                              ; preds = %654
  call void @llvm.lifetime.start.p0(i64 56, ptr %82) #5
  %656 = getelementptr inbounds %"struct.dali::TensorListViewBase", ptr %42, i32 0, i32 0
  invoke void @_ZNK4dali15TensorListShapeILin1EEixEl(ptr dead_on_unwind writable sret(%"struct.dali::TensorShape") align 8 %82, ptr noundef nonnull align 8 dereferenceable(32) %656, i64 noundef 0)
          to label %657 unwind label %680

657:                                              ; preds = %655
  %658 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EEixEi(ptr noundef nonnull align 8 dereferenceable(56) %82, i32 noundef 1)
          to label %659 unwind label %684

659:                                              ; preds = %657
  %660 = load i64, ptr %658, align 8, !tbaa !24
  %661 = load i32, ptr %11, align 4, !tbaa !9
  %662 = sext i32 %661 to i64
  %663 = icmp eq i64 %660, %662
  %664 = xor i1 %663, true
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %82) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr %82) #5
  br i1 %664, label %665, label %746

665:                                              ; preds = %659
  call void @llvm.lifetime.start.p0(i64 32, ptr %83) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %84) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %85) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %86) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %86)
          to label %666 unwind label %689

666:                                              ; preds = %665
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %84, ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef @.str.31)
          to label %667 unwind label %693

667:                                              ; preds = %666
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %83, ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef @.str.11)
          to label %668 unwind label %697

668:                                              ; preds = %667
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %86) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %87) #5
  call void @llvm.lifetime.start.p0(i64 56, ptr %88) #5
  %669 = getelementptr inbounds %"struct.dali::TensorListViewBase", ptr %42, i32 0, i32 0
  invoke void @_ZNK4dali15TensorListShapeILin1EEixEl(ptr dead_on_unwind writable sret(%"struct.dali::TensorShape") align 8 %88, ptr noundef nonnull align 8 dereferenceable(32) %669, i64 noundef 0)
          to label %670 unwind label %703

670:                                              ; preds = %668
  invoke void @_ZN4dali11make_stringIJA29_cPKcA40_cNS_11TensorShapeILin1EEEA48_ciA9_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %87, ptr noundef nonnull align 1 dereferenceable(29) @.str.32, ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 1 dereferenceable(40) @.str.33, ptr noundef nonnull align 8 dereferenceable(56) %88, ptr noundef nonnull align 1 dereferenceable(48) @.str.34, ptr noundef nonnull align 4 dereferenceable(4) %11, ptr noundef nonnull align 1 dereferenceable(9) @.str.35)
          to label %671 unwind label %707

671:                                              ; preds = %670
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %88) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr %88) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %89) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %89, ptr noundef @.str.14, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %672 unwind label %712

672:                                              ; preds = %671
  %673 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull align 8 dereferenceable(32) %89)
          to label %674 unwind label %716

674:                                              ; preds = %672
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #5
  store i1 true, ptr %94, align 1
  %675 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %90) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %90, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %676 unwind label %721

676:                                              ; preds = %674
  call void @llvm.lifetime.start.p0(i64 1, ptr %92) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef @.str.36, ptr noundef nonnull align 1 dereferenceable(1) %92)
          to label %677 unwind label %725

677:                                              ; preds = %676
  call void @llvm.lifetime.start.p0(i64 32, ptr %93) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %93)
          to label %678 unwind label %729

678:                                              ; preds = %677
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %675, ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef %91, ptr noundef nonnull align 8 dereferenceable(32) %93)
          to label %679 unwind label %733

679:                                              ; preds = %678
  store i1 false, ptr %94, align 1
  invoke void @__cxa_throw(ptr %675, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #6
          to label %921 unwind label %733

680:                                              ; preds = %655
  %681 = landingpad { ptr, i32 }
          cleanup
  %682 = extractvalue { ptr, i32 } %681, 0
  store ptr %682, ptr %19, align 8
  %683 = extractvalue { ptr, i32 } %681, 1
  store i32 %683, ptr %20, align 4
  br label %688

684:                                              ; preds = %657
  %685 = landingpad { ptr, i32 }
          cleanup
  %686 = extractvalue { ptr, i32 } %685, 0
  store ptr %686, ptr %19, align 8
  %687 = extractvalue { ptr, i32 } %685, 1
  store i32 %687, ptr %20, align 4
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %82) #5
  br label %688

688:                                              ; preds = %684, %680
  call void @llvm.lifetime.end.p0(i64 56, ptr %82) #5
  br label %877

689:                                              ; preds = %665
  %690 = landingpad { ptr, i32 }
          cleanup
  %691 = extractvalue { ptr, i32 } %690, 0
  store ptr %691, ptr %19, align 8
  %692 = extractvalue { ptr, i32 } %690, 1
  store i32 %692, ptr %20, align 4
  br label %702

693:                                              ; preds = %666
  %694 = landingpad { ptr, i32 }
          cleanup
  %695 = extractvalue { ptr, i32 } %694, 0
  store ptr %695, ptr %19, align 8
  %696 = extractvalue { ptr, i32 } %694, 1
  store i32 %696, ptr %20, align 4
  br label %701

697:                                              ; preds = %667
  %698 = landingpad { ptr, i32 }
          cleanup
  %699 = extractvalue { ptr, i32 } %698, 0
  store ptr %699, ptr %19, align 8
  %700 = extractvalue { ptr, i32 } %698, 1
  store i32 %700, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #5
  br label %701

701:                                              ; preds = %697, %693
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #5
  br label %702

702:                                              ; preds = %701, %689
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %86) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #5
  br label %745

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

707:                                              ; preds = %670
  %708 = landingpad { ptr, i32 }
          cleanup
  %709 = extractvalue { ptr, i32 } %708, 0
  store ptr %709, ptr %19, align 8
  %710 = extractvalue { ptr, i32 } %708, 1
  store i32 %710, ptr %20, align 4
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %88) #5
  br label %711

711:                                              ; preds = %707, %703
  call void @llvm.lifetime.end.p0(i64 56, ptr %88) #5
  br label %744

712:                                              ; preds = %671
  %713 = landingpad { ptr, i32 }
          cleanup
  %714 = extractvalue { ptr, i32 } %713, 0
  store ptr %714, ptr %19, align 8
  %715 = extractvalue { ptr, i32 } %713, 1
  store i32 %715, ptr %20, align 4
  br label %720

716:                                              ; preds = %672
  %717 = landingpad { ptr, i32 }
          cleanup
  %718 = extractvalue { ptr, i32 } %717, 0
  store ptr %718, ptr %19, align 8
  %719 = extractvalue { ptr, i32 } %717, 1
  store i32 %719, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #5
  br label %720

720:                                              ; preds = %716, %712
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #5
  br label %743

721:                                              ; preds = %674
  %722 = landingpad { ptr, i32 }
          cleanup
  %723 = extractvalue { ptr, i32 } %722, 0
  store ptr %723, ptr %19, align 8
  %724 = extractvalue { ptr, i32 } %722, 1
  store i32 %724, ptr %20, align 4
  br label %739

725:                                              ; preds = %676
  %726 = landingpad { ptr, i32 }
          cleanup
  %727 = extractvalue { ptr, i32 } %726, 0
  store ptr %727, ptr %19, align 8
  %728 = extractvalue { ptr, i32 } %726, 1
  store i32 %728, ptr %20, align 4
  br label %738

729:                                              ; preds = %677
  %730 = landingpad { ptr, i32 }
          cleanup
  %731 = extractvalue { ptr, i32 } %730, 0
  store ptr %731, ptr %19, align 8
  %732 = extractvalue { ptr, i32 } %730, 1
  store i32 %732, ptr %20, align 4
  br label %737

733:                                              ; preds = %679, %678
  %734 = landingpad { ptr, i32 }
          cleanup
  %735 = extractvalue { ptr, i32 } %734, 0
  store ptr %735, ptr %19, align 8
  %736 = extractvalue { ptr, i32 } %734, 1
  store i32 %736, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #5
  br label %737

737:                                              ; preds = %733, %729
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #5
  br label %738

738:                                              ; preds = %737, %725
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %92) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #5
  br label %739

739:                                              ; preds = %738, %721
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #5
  %740 = load i1, ptr %94, align 1
  br i1 %740, label %741, label %742

741:                                              ; preds = %739
  call void @__cxa_free_exception(ptr %675) #5
  br label %742

742:                                              ; preds = %741, %739
  br label %743

743:                                              ; preds = %742, %720
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #5
  br label %744

744:                                              ; preds = %743, %711
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #5
  br label %745

745:                                              ; preds = %744, %702
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #5
  br label %877

746:                                              ; preds = %659
  br label %747

747:                                              ; preds = %746
  br label %748

748:                                              ; preds = %747
  call void @llvm.lifetime.start.p0(i64 56, ptr %95) #5
  %749 = getelementptr inbounds %"struct.dali::TensorListViewBase", ptr %42, i32 0, i32 0
  invoke void @_ZNK4dali15TensorListShapeILin1EEixEl(ptr dead_on_unwind writable sret(%"struct.dali::TensorShape") align 8 %95, ptr noundef nonnull align 8 dereferenceable(32) %749, i64 noundef 0)
          to label %750 unwind label %777

750:                                              ; preds = %748
  %751 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EEixEi(ptr noundef nonnull align 8 dereferenceable(56) %95, i32 noundef 0)
          to label %752 unwind label %781

752:                                              ; preds = %750
  %753 = load i64, ptr %751, align 8, !tbaa !24
  %754 = trunc i64 %753 to i32
  invoke void @_ZN4dali15MTTransformAttr14SetOutputPtDimEi(ptr noundef nonnull align 8 dereferenceable(110) %103, i32 noundef %754)
          to label %755 unwind label %781

755:                                              ; preds = %752
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %95) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr %95) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #5
  %756 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 5
  %757 = load i32, ptr %756, align 4, !tbaa !21
  %758 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 4
  %759 = load i32, ptr %758, align 8, !tbaa !15
  %760 = mul nsw i32 %757, %759
  store i32 %760, ptr %96, align 4, !tbaa !9
  %761 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 2
  %762 = load i32, ptr %96, align 4, !tbaa !9
  %763 = load i32, ptr %8, align 4, !tbaa !9
  %764 = mul nsw i32 %762, %763
  %765 = sext i32 %764 to i64
  invoke void @_ZNSt6vectorIfSaIfEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %761, i64 noundef %765)
          to label %766 unwind label %786

766:                                              ; preds = %755
  %767 = load i8, ptr %9, align 1, !tbaa !11, !range !13, !noundef !14
  %768 = trunc i8 %767 to i1
  br i1 %768, label %769, label %790

769:                                              ; preds = %766
  %770 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 3
  %771 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 5
  %772 = load i32, ptr %771, align 4, !tbaa !21
  %773 = load i32, ptr %8, align 4, !tbaa !9
  %774 = mul nsw i32 %772, %773
  %775 = sext i32 %774 to i64
  invoke void @_ZNSt6vectorIfSaIfEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %770, i64 noundef %775)
          to label %776 unwind label %786

776:                                              ; preds = %769
  br label %790

777:                                              ; preds = %748
  %778 = landingpad { ptr, i32 }
          cleanup
  %779 = extractvalue { ptr, i32 } %778, 0
  store ptr %779, ptr %19, align 8
  %780 = extractvalue { ptr, i32 } %778, 1
  store i32 %780, ptr %20, align 4
  br label %785

781:                                              ; preds = %752, %750
  %782 = landingpad { ptr, i32 }
          cleanup
  %783 = extractvalue { ptr, i32 } %782, 0
  store ptr %783, ptr %19, align 8
  %784 = extractvalue { ptr, i32 } %782, 1
  store i32 %784, ptr %20, align 4
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %95) #5
  br label %785

785:                                              ; preds = %781, %777
  call void @llvm.lifetime.end.p0(i64 56, ptr %95) #5
  br label %877

786:                                              ; preds = %769, %755
  %787 = landingpad { ptr, i32 }
          cleanup
  %788 = extractvalue { ptr, i32 } %787, 0
  store ptr %788, ptr %19, align 8
  %789 = extractvalue { ptr, i32 } %787, 1
  store i32 %789, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #5
  br label %877

790:                                              ; preds = %776, %766
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #5
  store i32 0, ptr %97, align 4, !tbaa !9
  br label %791

791:                                              ; preds = %872, %790
  %792 = load i32, ptr %97, align 4, !tbaa !9
  %793 = load i32, ptr %8, align 4, !tbaa !9
  %794 = icmp slt i32 %792, %793
  br i1 %794, label %796, label %795

795:                                              ; preds = %791
  store i32 17, ptr %98, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #5
  br label %875

796:                                              ; preds = %791
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #5
  store i32 0, ptr %99, align 4, !tbaa !9
  br label %797

797:                                              ; preds = %868, %796
  %798 = load i32, ptr %99, align 4, !tbaa !9
  %799 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 5
  %800 = load i32, ptr %799, align 4, !tbaa !21
  %801 = icmp slt i32 %798, %800
  br i1 %801, label %803, label %802

802:                                              ; preds = %797
  store i32 20, ptr %98, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #5
  br label %871

803:                                              ; preds = %797
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #5
  store i32 0, ptr %100, align 4, !tbaa !9
  br label %804

804:                                              ; preds = %837, %803
  %805 = load i32, ptr %100, align 4, !tbaa !9
  %806 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 4
  %807 = load i32, ptr %806, align 8, !tbaa !15
  %808 = icmp slt i32 %805, %807
  br i1 %808, label %810, label %809

809:                                              ; preds = %804
  store i32 23, ptr %98, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #5
  br label %840

810:                                              ; preds = %804
  %811 = getelementptr inbounds %"struct.dali::TensorListViewBase", ptr %42, i32 0, i32 1
  %812 = load i32, ptr %97, align 4, !tbaa !9
  %813 = sext i32 %812 to i64
  %814 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPKfSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %811, i64 noundef %813) #5
  %815 = load ptr, ptr %814, align 8, !tbaa !5
  %816 = load i32, ptr %99, align 4, !tbaa !9
  %817 = load i32, ptr %11, align 4, !tbaa !9
  %818 = mul nsw i32 %816, %817
  %819 = load i32, ptr %100, align 4, !tbaa !9
  %820 = add nsw i32 %818, %819
  %821 = sext i32 %820 to i64
  %822 = getelementptr inbounds float, ptr %815, i64 %821
  %823 = load float, ptr %822, align 4, !tbaa !22
  %824 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 2
  %825 = load i32, ptr %97, align 4, !tbaa !9
  %826 = load i32, ptr %96, align 4, !tbaa !9
  %827 = mul nsw i32 %825, %826
  %828 = load i32, ptr %99, align 4, !tbaa !9
  %829 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 4
  %830 = load i32, ptr %829, align 8, !tbaa !15
  %831 = mul nsw i32 %828, %830
  %832 = add nsw i32 %827, %831
  %833 = load i32, ptr %100, align 4, !tbaa !9
  %834 = add nsw i32 %832, %833
  %835 = sext i32 %834 to i64
  %836 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %824, i64 noundef %835) #5
  store float %823, ptr %836, align 4, !tbaa !22
  br label %837

837:                                              ; preds = %810
  %838 = load i32, ptr %100, align 4, !tbaa !9
  %839 = add nsw i32 %838, 1
  store i32 %839, ptr %100, align 4, !tbaa !9
  br label %804, !llvm.loop !28

840:                                              ; preds = %809
  %841 = load i8, ptr %9, align 1, !tbaa !11, !range !13, !noundef !14
  %842 = trunc i8 %841 to i1
  br i1 %842, label %843, label %867

843:                                              ; preds = %840
  %844 = getelementptr inbounds %"struct.dali::TensorListViewBase", ptr %42, i32 0, i32 1
  %845 = load i32, ptr %97, align 4, !tbaa !9
  %846 = sext i32 %845 to i64
  %847 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPKfSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %844, i64 noundef %846) #5
  %848 = load ptr, ptr %847, align 8, !tbaa !5
  %849 = load i32, ptr %99, align 4, !tbaa !9
  %850 = load i32, ptr %11, align 4, !tbaa !9
  %851 = mul nsw i32 %849, %850
  %852 = load i32, ptr %11, align 4, !tbaa !9
  %853 = add nsw i32 %851, %852
  %854 = sub nsw i32 %853, 1
  %855 = sext i32 %854 to i64
  %856 = getelementptr inbounds float, ptr %848, i64 %855
  %857 = load float, ptr %856, align 4, !tbaa !22
  %858 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 3
  %859 = load i32, ptr %97, align 4, !tbaa !9
  %860 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 5
  %861 = load i32, ptr %860, align 4, !tbaa !21
  %862 = mul nsw i32 %859, %861
  %863 = load i32, ptr %99, align 4, !tbaa !9
  %864 = add nsw i32 %862, %863
  %865 = sext i32 %864 to i64
  %866 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %858, i64 noundef %865) #5
  store float %857, ptr %866, align 4, !tbaa !22
  br label %867

867:                                              ; preds = %843, %840
  br label %868

868:                                              ; preds = %867
  %869 = load i32, ptr %99, align 4, !tbaa !9
  %870 = add nsw i32 %869, 1
  store i32 %870, ptr %99, align 4, !tbaa !9
  br label %797, !llvm.loop !29

871:                                              ; preds = %802
  br label %872

872:                                              ; preds = %871
  %873 = load i32, ptr %97, align 4, !tbaa !9
  %874 = add nsw i32 %873, 1
  store i32 %874, ptr %97, align 4, !tbaa !9
  br label %791, !llvm.loop !30

875:                                              ; preds = %795
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #5
  br label %876

876:                                              ; preds = %875, %567
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEKfLin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %42) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr %42) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #5
  br label %913

877:                                              ; preds = %786, %785, %745, %688, %651, %599, %568, %490, %411, %356
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEKfLin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %42) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr %42) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #5
  br label %915

878:                                              ; preds = %328
  %879 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 4
  %880 = load i32, ptr %879, align 8, !tbaa !15
  call void @_ZN4dali15MTTransformAttr14SetOutputPtDimEi(ptr noundef nonnull align 8 dereferenceable(110) %103, i32 noundef %880)
  %881 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 0
  %882 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %881) #5
  %883 = trunc i64 %882 to i32
  %884 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 5
  %885 = load i32, ptr %884, align 4, !tbaa !21
  %886 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 4
  %887 = load i32, ptr %886, align 8, !tbaa !15
  %888 = mul nsw i32 %885, %887
  %889 = icmp ne i32 %883, %888
  br i1 %889, label %890, label %899

890:                                              ; preds = %878
  %891 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 0
  %892 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 5
  %893 = load i32, ptr %892, align 4, !tbaa !21
  %894 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 4
  %895 = load i32, ptr %894, align 8, !tbaa !15
  %896 = mul nsw i32 %893, %895
  %897 = sext i32 %896 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #5
  store float 0.000000e+00, ptr %101, align 4, !tbaa !22
  call void @_ZNSt6vectorIfSaIfEE6resizeEmRKf(ptr noundef nonnull align 8 dereferenceable(24) %891, i64 noundef %897, ptr noundef nonnull align 4 dereferenceable(4) %101)
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #5
  %898 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 0
  call void @_ZN4dali15MTTransformAttr18MakeDiagonalMatrixIRSt6vectorIfSaIfEEEEvOT_f(ptr noundef nonnull align 8 dereferenceable(110) %103, ptr noundef nonnull align 8 dereferenceable(24) %898, float noundef 1.000000e+00)
  br label %899

899:                                              ; preds = %890, %878
  %900 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 2
  %901 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 0
  %902 = load i32, ptr %8, align 4, !tbaa !9
  call void @_ZN4dali15MTTransformAttr6RepeatIRSt6vectorIfSaIfEES5_EEvOT_OT0_i(ptr noundef nonnull align 8 dereferenceable(110) %103, ptr noundef nonnull align 8 dereferenceable(24) %900, ptr noundef nonnull align 8 dereferenceable(24) %901, i32 noundef %902)
  %903 = load i8, ptr %9, align 1, !tbaa !11, !range !13, !noundef !14
  %904 = trunc i8 %903 to i1
  br i1 %904, label %905, label %912

905:                                              ; preds = %899
  %906 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 3
  %907 = getelementptr inbounds %"class.dali::MTTransformAttr", ptr %103, i32 0, i32 5
  %908 = load i32, ptr %907, align 4, !tbaa !21
  %909 = load i32, ptr %8, align 4, !tbaa !9
  %910 = mul nsw i32 %908, %909
  %911 = sext i32 %910 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #5
  store float 0.000000e+00, ptr %102, align 4, !tbaa !22
  call void @_ZNSt6vectorIfSaIfEE6resizeEmRKf(ptr noundef nonnull align 8 dereferenceable(24) %906, i64 noundef %911, ptr noundef nonnull align 4 dereferenceable(4) %102)
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #5
  br label %912

912:                                              ; preds = %905, %899
  br label %913

913:                                              ; preds = %912, %876
  br label %914

914:                                              ; preds = %913, %327
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #5
  ret void

915:                                              ; preds = %877, %303, %226
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #5
  br label %916

916:                                              ; preds = %915
  %917 = load ptr, ptr %19, align 8
  %918 = load i32, ptr %20, align 4
  %919 = insertvalue { ptr, i32 } poison, ptr %917, 0
  %920 = insertvalue { ptr, i32 } %919, i32 %918, 1
  resume { ptr, i32 } %920

921:                                              ; preds = %679, %590, %438, %355, %251, %174
  unreachable
}

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK4dali6OpSpec19GetRepeatedArgumentIfEESt6vectorIT_SaIS3_EESt17basic_string_viewIcSt11char_traitsIcEE(ptr dead_on_unwind noalias writable sret(%"class.std::vector.28") align 8, ptr noundef nonnull align 8 dereferenceable(328), i64, ptr) #2 align 2

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

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

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

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

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

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

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

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

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

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

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

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

declare ptr @__cxa_allocate_exception(i64)

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

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

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

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

declare void @__cxa_throw(ptr, ptr, ptr)

declare void @__cxa_free_exception(ptr)

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali17ArgumentWorkspace13ArgumentInputESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(256), i64, ptr) #2 align 2

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali15MTTransformAttr18MakeDiagonalMatrixINS_4spanIfLln1EEEEEvOT_f(ptr noundef nonnull align 8 dereferenceable(110), ptr noundef nonnull align 8 dereferenceable(16), float noundef) #2 align 2

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

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

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

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !10, i64 96}
!16 = !{!"_ZTSN4dali15MTTransformAttrE", !17, i64 0, !17, i64 24, !17, i64 48, !17, i64 72, !10, i64 96, !10, i64 100, !12, i64 104, !12, i64 105, !12, i64 106, !12, i64 107, !12, i64 108, !12, i64 109}
!17 = !{!"_ZTSSt6vectorIfSaIfEE", !18, i64 0}
!18 = !{!"_ZTSSt12_Vector_baseIfSaIfEE", !19, i64 0}
!19 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE12_Vector_implE", !20, i64 0}
!20 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!21 = !{!16, !10, i64 100}
!22 = !{!23, !23, i64 0}
!23 = !{!"float", !7, i64 0}
!24 = !{!25, !25, i64 0}
!25 = !{!"long", !7, i64 0}
!26 = distinct !{!26, !27}
!27 = !{!"llvm.loop.mustprogress"}
!28 = distinct !{!28, !27}
!29 = distinct !{!29, !27}
!30 = distinct !{!30, !27}


; 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::vector.28" = type { %"struct.std::_Vector_base.29" }
%"struct.std::_Vector_base.29" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::basic_string_view" = type { i64, ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%"struct.dali::TensorListView" = type { %"struct.dali::TensorListViewBase" }
%"struct.dali::TensorListViewBase" = type { %"struct.dali::TensorListShape", %"class.std::vector.78" }
%"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::vector.78" = type { %"struct.std::_Vector_base.79" }
%"struct.std::_Vector_base.79" = type { %"struct.std::_Vector_base<const float *, std::allocator<const float *>>::_Vector_impl" }
%"struct.std::_Vector_base<const float *, std::allocator<const float *>>::_Vector_impl" = type { %"struct.std::_Vector_base<const float *, std::allocator<const float *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<const float *, std::allocator<const float *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.dali::span" = type { ptr, i64 }
%"struct.dali::TensorShape" = type { %"struct.dali::TensorShapeBase" }
%"struct.dali::TensorShapeBase" = type { %"class.dali::SmallVector.83" }
%"class.dali::SmallVector.83" = type { %union.anon.86, i64 }
%union.anon.86 = type { %struct.anon.87, [32 x i8] }
%struct.anon.87 = type { ptr, i64 }

@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [96 x i8], align 1
@_ZTIN4dali13DALIExceptionE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.16 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [97 x i8], align 1

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

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 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 void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #0 align 2

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4dali15MTTransformAttr16ProcessMatrixArgERKNS_6OpSpecERKNS_17ArgumentWorkspaceEi(ptr noundef nonnull align 8 dereferenceable(110) %0, ptr noundef nonnull align 8 dereferenceable(328) %1, ptr noundef nonnull align 8 dereferenceable(256) %2, i32 noundef %3) local_unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca %"class.std::vector.28", align 8
  %8 = alloca %"class.std::basic_string_view", align 8
  %9 = alloca float, align 4
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::allocator", align 1
  %14 = alloca %"class.std::__cxx11::basic_string", 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::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::allocator", align 1
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca i64, align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::allocator", align 1
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::basic_string_view", align 8
  %32 = alloca %"struct.dali::TensorListView", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::allocator", align 1
  %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 %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::allocator", align 1
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::allocator", align 1
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::allocator", align 1
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.dali::span", align 8
  %55 = alloca float, align 4
  %56 = alloca %"struct.dali::TensorShape", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::allocator", align 1
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::allocator", align 1
  %66 = alloca %"class.std::__cxx11::basic_string", align 8
  %67 = alloca %"struct.dali::TensorShape", align 8
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::allocator", align 1
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"struct.dali::TensorShape", align 8
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::__cxx11::basic_string", align 8
  %77 = alloca %"class.std::allocator", align 1
  %78 = alloca %"class.std::__cxx11::basic_string", align 8
  %79 = alloca %"struct.dali::TensorShape", align 8
  %80 = alloca float, align 4
  %81 = alloca float, align 4
  %82 = tail call noundef zeroext i1 @_ZNK4dali15MTTransformAttr10HasFusedMTEv(ptr noundef nonnull align 8 dereferenceable(110) %0)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #5
  %83 = select i1 %82, ptr @.str.7, ptr @.str.3
  store ptr %83, ptr %5, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #5
  %84 = getelementptr inbounds i8, ptr %0, i64 96
  %85 = load i32, ptr %84, align 8, !tbaa !9
  %86 = zext i1 %82 to i32
  %87 = add nsw i32 %85, %86
  store i32 %87, ptr %6, align 4, !tbaa !17
  br i1 %82, label %88, label %90

88:                                               ; preds = %4
  %89 = getelementptr inbounds i8, ptr %0, i64 24
  tail call void @_ZNSt6vectorIfSaIfEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %89) #5
  br label %90

90:                                               ; preds = %88, %4
  %91 = tail call noundef zeroext i1 @_ZNK4dali15MTTransformAttr19HasMatrixRegularArgEv(ptr noundef nonnull align 8 dereferenceable(110) %0)
  br i1 %91, label %92, label %214

92:                                               ; preds = %90
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %83) #5
  %93 = load i64, ptr %8, align 8
  %94 = getelementptr inbounds i8, ptr %8, i64 8
  %95 = load ptr, ptr %94, align 8
  call void @_ZNK4dali6OpSpec19GetRepeatedArgumentIfEESt6vectorIT_SaIS3_EESt17basic_string_viewIcSt11char_traitsIcEE(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.28") align 8 %7, ptr noundef nonnull align 8 dereferenceable(328) %1, i64 %93, ptr %95)
  %96 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIfSaIfEEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %7) #5
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #5
  %97 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #5
  %98 = icmp eq i64 %97, 1
  br i1 %98, label %99, label %112

99:                                               ; preds = %92
  %100 = load i32, ptr %84, align 8, !tbaa !9
  call void @_ZN4dali15MTTransformAttr14SetOutputPtDimEi(ptr noundef nonnull align 8 dereferenceable(110) %0, i32 noundef %100)
  %101 = getelementptr inbounds i8, ptr %0, i64 100
  %102 = load i32, ptr %101, align 4, !tbaa !18
  %103 = load i32, ptr %84, align 8, !tbaa !9
  %104 = mul nsw i32 %103, %102
  %105 = sext i32 %104 to i64
  call void @_ZNSt6vectorIfSaIfEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %105)
  %106 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef 0) #5
  %107 = load float, ptr %106, align 4, !tbaa !19
  call void @_ZN4dali15MTTransformAttr18MakeDiagonalMatrixIRSt6vectorIfSaIfEEEEvOT_f(ptr noundef nonnull align 8 dereferenceable(110) %0, ptr noundef nonnull align 8 dereferenceable(24) %0, float noundef %107)
  br i1 %82, label %108, label %.critedge

108:                                              ; preds = %99
  %109 = getelementptr inbounds i8, ptr %0, i64 24
  %110 = load i32, ptr %101, align 4, !tbaa !18
  %111 = sext i32 %110 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #5
  store float 0.000000e+00, ptr %9, align 4, !tbaa !19
  call void @_ZNSt6vectorIfSaIfEE6resizeEmRKf(ptr noundef nonnull align 8 dereferenceable(24) %109, i64 noundef %111, ptr noundef nonnull align 4 dereferenceable(4) %9)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #5
  br label %210

112:                                              ; preds = %92
  %113 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #5
  %.not206 = icmp eq i64 %113, 0
  br i1 %.not206, label %114, label %155

114:                                              ; preds = %112
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %13) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %13)
          to label %115 unwind label %127

115:                                              ; preds = %114
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull @.str.10)
          to label %116 unwind label %129

116:                                              ; preds = %115
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.11)
          to label %117 unwind label %131

117:                                              ; preds = %116
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #5
  invoke void @_ZN4dali11make_stringIJA23_cPKcA30_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull align 1 dereferenceable(23) @.str.12, ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 1 dereferenceable(30) @.str.13)
          to label %118 unwind label %135

118:                                              ; preds = %117
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull @.str.14, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %119 unwind label %137

119:                                              ; preds = %118
  %120 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %121 unwind label %139

121:                                              ; preds = %119
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #5
  %122 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %123 unwind label %.thread

123:                                              ; preds = %121
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %124 unwind label %143

124:                                              ; preds = %123
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %19)
          to label %125 unwind label %145

125:                                              ; preds = %124
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %122, ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull %17, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %126 unwind label %147

126:                                              ; preds = %125
  invoke void @__cxa_throw(ptr nonnull %122, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %587 unwind label %147

127:                                              ; preds = %114
  %128 = landingpad { ptr, i32 }
          cleanup
  br label %134

129:                                              ; preds = %115
  %130 = landingpad { ptr, i32 }
          cleanup
  br label %133

131:                                              ; preds = %116
  %132 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #5
  br label %133

133:                                              ; preds = %131, %129
  %.pn207 = phi { ptr, i32 } [ %132, %131 ], [ %130, %129 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #5
  br label %134

134:                                              ; preds = %133, %127
  %.pn207.pn = phi { ptr, i32 } [ %.pn207, %133 ], [ %128, %127 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #5
  br label %154

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

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

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

141:                                              ; preds = %139, %137
  %.pn210 = phi { ptr, i32 } [ %140, %139 ], [ %138, %137 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #5
  br label %152

.thread:                                          ; preds = %121
  %142 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #5
  br label %151

143:                                              ; preds = %123
  %144 = landingpad { ptr, i32 }
          cleanup
  br label %150

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

147:                                              ; preds = %126, %125
  %.0137 = phi i1 [ false, %126 ], [ true, %125 ]
  %148 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #5
  br label %149

149:                                              ; preds = %147, %145
  %.1138 = phi i1 [ %.0137, %147 ], [ true, %145 ]
  %.pn212 = phi { ptr, i32 } [ %148, %147 ], [ %146, %145 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  br label %150

150:                                              ; preds = %143, %149
  %.2139 = phi i1 [ %.1138, %149 ], [ true, %143 ]
  %.pn212.pn = phi { ptr, i32 } [ %.pn212, %149 ], [ %144, %143 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #5
  br i1 %.2139, label %151, label %152

151:                                              ; preds = %.thread, %150
  %.pn212.pn.pn234 = phi { ptr, i32 } [ %142, %.thread ], [ %.pn212.pn, %150 ]
  call void @__cxa_free_exception(ptr %122) #5
  br label %152

152:                                              ; preds = %150, %151, %141
  %.pn212.pn.pn.pn = phi { ptr, i32 } [ %.pn212.pn.pn234, %151 ], [ %.pn212.pn, %150 ], [ %.pn210, %141 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #5
  br label %153

153:                                              ; preds = %152, %135
  %.pn212.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn212.pn.pn.pn, %152 ], [ %136, %135 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #5
  br label %154

154:                                              ; preds = %153, %134
  %.pn212.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn212.pn.pn.pn.pn, %153 ], [ %.pn207.pn, %134 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #5
  br label %586

155:                                              ; preds = %112
  %156 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #5
  %157 = load i32, ptr %6, align 4, !tbaa !17
  %158 = sext i32 %157 to i64
  %159 = urem i64 %156, %158
  %160 = icmp eq i64 %159, 0
  br i1 %160, label %203, label %161

161:                                              ; preds = %155
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %23) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %162 unwind label %175

162:                                              ; preds = %161
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %21, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull @.str.16)
          to label %163 unwind label %177

163:                                              ; preds = %162
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull @.str.11)
          to label %164 unwind label %179

164:                                              ; preds = %163
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #5
  %165 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #5
  store i64 %165, ptr %25, align 8, !tbaa !21
  invoke void @_ZN4dali11make_stringIJA27_cmA15_ciA8_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull align 1 dereferenceable(27) @.str.17, ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull align 1 dereferenceable(15) @.str.18, ptr noundef nonnull align 4 dereferenceable(4) %6, ptr noundef nonnull align 1 dereferenceable(8) @.str.19)
          to label %166 unwind label %183

166:                                              ; preds = %164
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull @.str.14, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %167 unwind label %185

167:                                              ; preds = %166
  %168 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %169 unwind label %187

169:                                              ; preds = %167
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #5
  %170 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %171 unwind label %.thread235

171:                                              ; preds = %169
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %29) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %29)
          to label %172 unwind label %191

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

173:                                              ; preds = %172
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %170, ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull %28, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %174 unwind label %195

174:                                              ; preds = %173
  invoke void @__cxa_throw(ptr nonnull %170, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %587 unwind label %195

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

177:                                              ; preds = %162
  %178 = landingpad { ptr, i32 }
          cleanup
  br label %181

179:                                              ; preds = %163
  %180 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #5
  br label %181

181:                                              ; preds = %179, %177
  %.pn219 = phi { ptr, i32 } [ %180, %179 ], [ %178, %177 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  br label %182

182:                                              ; preds = %181, %175
  %.pn219.pn = phi { ptr, i32 } [ %.pn219, %181 ], [ %176, %175 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #5
  br label %202

183:                                              ; preds = %164
  %184 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #5
  br label %201

185:                                              ; preds = %166
  %186 = landingpad { ptr, i32 }
          cleanup
  br label %189

187:                                              ; preds = %167
  %188 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  br label %189

189:                                              ; preds = %187, %185
  %.pn222 = phi { ptr, i32 } [ %188, %187 ], [ %186, %185 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #5
  br label %200

.thread235:                                       ; preds = %169
  %190 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #5
  br label %199

191:                                              ; preds = %171
  %192 = landingpad { ptr, i32 }
          cleanup
  br label %198

193:                                              ; preds = %172
  %194 = landingpad { ptr, i32 }
          cleanup
  br label %197

195:                                              ; preds = %174, %173
  %.0141 = phi i1 [ false, %174 ], [ true, %173 ]
  %196 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  br label %197

197:                                              ; preds = %195, %193
  %.1142 = phi i1 [ %.0141, %195 ], [ true, %193 ]
  %.pn224 = phi { ptr, i32 } [ %196, %195 ], [ %194, %193 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #5
  br label %198

198:                                              ; preds = %191, %197
  %.2143 = phi i1 [ %.1142, %197 ], [ true, %191 ]
  %.pn224.pn = phi { ptr, i32 } [ %.pn224, %197 ], [ %192, %191 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #5
  br i1 %.2143, label %199, label %200

199:                                              ; preds = %.thread235, %198
  %.pn224.pn.pn238 = phi { ptr, i32 } [ %190, %.thread235 ], [ %.pn224.pn, %198 ]
  call void @__cxa_free_exception(ptr %170) #5
  br label %200

200:                                              ; preds = %198, %199, %189
  %.pn224.pn.pn.pn = phi { ptr, i32 } [ %.pn224.pn.pn238, %199 ], [ %.pn224.pn, %198 ], [ %.pn222, %189 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  br label %201

201:                                              ; preds = %200, %183
  %.pn224.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn224.pn.pn.pn, %200 ], [ %184, %183 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #5
  br label %202

202:                                              ; preds = %201, %182
  %.pn224.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn224.pn.pn.pn.pn, %201 ], [ %.pn219.pn, %182 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #5
  br label %586

203:                                              ; preds = %155
  %204 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #5
  %205 = load i32, ptr %6, align 4, !tbaa !17
  %206 = sext i32 %205 to i64
  %207 = udiv i64 %204, %206
  %208 = trunc i64 %207 to i32
  call void @_ZN4dali15MTTransformAttr14SetOutputPtDimEi(ptr noundef nonnull align 8 dereferenceable(110) %0, i32 noundef %208)
  br i1 %82, label %209, label %.critedge

209:                                              ; preds = %203
  call void @_ZN4dali15MTTransformAttr12SplitFusedMTEv(ptr noundef nonnull align 8 dereferenceable(110) %0)
  br label %210

210:                                              ; preds = %108, %209
  %211 = getelementptr inbounds i8, ptr %0, i64 48
  call void @_ZN4dali15MTTransformAttr6RepeatIRSt6vectorIfSaIfEES5_EEvOT_OT0_i(ptr noundef nonnull align 8 dereferenceable(110) %0, ptr noundef nonnull align 8 dereferenceable(24) %211, ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef %3)
  %212 = getelementptr inbounds i8, ptr %0, i64 72
  %213 = getelementptr inbounds i8, ptr %0, i64 24
  call void @_ZN4dali15MTTransformAttr6RepeatIRSt6vectorIfSaIfEES5_EEvOT_OT0_i(ptr noundef nonnull align 8 dereferenceable(110) %0, ptr noundef nonnull align 8 dereferenceable(24) %212, ptr noundef nonnull align 8 dereferenceable(24) %213, i32 noundef %3)
  br label %585

214:                                              ; preds = %90
  %215 = tail call noundef zeroext i1 @_ZNK4dali15MTTransformAttr17HasMatrixInputArgEv(ptr noundef nonnull align 8 dereferenceable(110) %0)
  br i1 %215, label %216, label %567

216:                                              ; preds = %214
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %31, ptr noundef %83) #5
  %217 = load i64, ptr %31, align 8
  %218 = getelementptr inbounds i8, ptr %31, i64 8
  %219 = load ptr, ptr %218, align 8
  %220 = call noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali17ArgumentWorkspace13ArgumentInputESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(256) %2, i64 %217, ptr %219)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %32) #5
  call void @_ZN4dali4viewIKfLin1ENS_10CPUBackendEEENS_14TensorListViewINS_6detail15storage_tag_mapIT1_E4typeET_XT0_EEERKNS_10TensorListIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.dali::TensorListView") align 8 %32, ptr noundef nonnull align 8 dereferenceable(304) %220)
  %221 = invoke noundef zeroext i1 @_ZN4dali10is_uniformILin1EEEbRKNS_15TensorListShapeIXT_EEE(ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %222 unwind label %236

222:                                              ; preds = %216
  br i1 %221, label %266, label %223

223:                                              ; preds = %222
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %224 unwind label %238

224:                                              ; preds = %223
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.21)
          to label %225 unwind label %240

225:                                              ; preds = %224
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull @.str.11)
          to label %226 unwind label %242

226:                                              ; preds = %225
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %38) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %38)
          to label %227 unwind label %246

227:                                              ; preds = %226
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull @.str.14, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %228 unwind label %248

228:                                              ; preds = %227
  %229 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %230 unwind label %250

230:                                              ; preds = %228
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #5
  %231 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %232 unwind label %.thread239

232:                                              ; preds = %230
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %42) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull @.str.23, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %233 unwind label %254

233:                                              ; preds = %232
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43)
          to label %234 unwind label %256

234:                                              ; preds = %233
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %231, ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull %41, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %235 unwind label %258

235:                                              ; preds = %234
  invoke void @__cxa_throw(ptr nonnull %231, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %587 unwind label %258

236:                                              ; preds = %316, %216
  %237 = landingpad { ptr, i32 }
          cleanup
  br label %566

238:                                              ; preds = %223
  %239 = landingpad { ptr, i32 }
          cleanup
  br label %245

240:                                              ; preds = %224
  %241 = landingpad { ptr, i32 }
          cleanup
  br label %244

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

244:                                              ; preds = %242, %240
  %.pn = phi { ptr, i32 } [ %243, %242 ], [ %241, %240 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #5
  br label %245

245:                                              ; preds = %244, %238
  %.pn.pn = phi { ptr, i32 } [ %.pn, %244 ], [ %239, %238 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #5
  br label %265

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

248:                                              ; preds = %227
  %249 = landingpad { ptr, i32 }
          cleanup
  br label %252

250:                                              ; preds = %228
  %251 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #5
  br label %252

252:                                              ; preds = %250, %248
  %.pn149 = phi { ptr, i32 } [ %251, %250 ], [ %249, %248 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #5
  br label %263

.thread239:                                       ; preds = %230
  %253 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #5
  br label %262

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

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

258:                                              ; preds = %235, %234
  %.0133 = phi i1 [ false, %235 ], [ true, %234 ]
  %259 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #5
  br label %260

260:                                              ; preds = %258, %256
  %.1134 = phi i1 [ %.0133, %258 ], [ true, %256 ]
  %.pn151 = phi { ptr, i32 } [ %259, %258 ], [ %257, %256 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #5
  br label %261

261:                                              ; preds = %254, %260
  %.2135 = phi i1 [ %.1134, %260 ], [ true, %254 ]
  %.pn151.pn = phi { ptr, i32 } [ %.pn151, %260 ], [ %255, %254 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #5
  br i1 %.2135, label %262, label %263

262:                                              ; preds = %.thread239, %261
  %.pn151.pn.pn242 = phi { ptr, i32 } [ %253, %.thread239 ], [ %.pn151.pn, %261 ]
  call void @__cxa_free_exception(ptr %231) #5
  br label %263

263:                                              ; preds = %261, %262, %252
  %.pn151.pn.pn.pn = phi { ptr, i32 } [ %.pn151.pn.pn242, %262 ], [ %.pn151.pn, %261 ], [ %.pn149, %252 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #5
  br label %264

264:                                              ; preds = %263, %246
  %.pn151.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn151.pn.pn.pn, %263 ], [ %247, %246 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #5
  br label %265

265:                                              ; preds = %264, %245
  %.pn151.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn151.pn.pn.pn.pn, %264 ], [ %.pn.pn, %245 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #5
  br label %566

266:                                              ; preds = %222
  %267 = call noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %32)
  %268 = icmp eq i32 %267, 0
  br i1 %268, label %313, label %269

269:                                              ; preds = %266
  %270 = call noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %32)
  %271 = icmp eq i32 %270, 2
  br i1 %271, label %313, label %272

272:                                              ; preds = %269
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %47) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %273 unwind label %285

273:                                              ; preds = %272
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull @.str.24)
          to label %274 unwind label %287

274:                                              ; preds = %273
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull @.str.11)
          to label %275 unwind label %289

275:                                              ; preds = %274
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #5
  invoke void @_ZN4dali11make_stringIJA87_cNS_15TensorListShapeILin1EEEEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull align 1 dereferenceable(87) @.str.25, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %276 unwind label %293

276:                                              ; preds = %275
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef nonnull @.str.14, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %277 unwind label %295

277:                                              ; preds = %276
  %278 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %279 unwind label %297

279:                                              ; preds = %277
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #5
  %280 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %281 unwind label %.thread243

281:                                              ; preds = %279
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull @.str.26, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %282 unwind label %301

282:                                              ; preds = %281
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %53)
          to label %283 unwind label %303

283:                                              ; preds = %282
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %280, ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull %51, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %284 unwind label %305

284:                                              ; preds = %283
  invoke void @__cxa_throw(ptr nonnull %280, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %587 unwind label %305

285:                                              ; preds = %272
  %286 = landingpad { ptr, i32 }
          cleanup
  br label %292

287:                                              ; preds = %273
  %288 = landingpad { ptr, i32 }
          cleanup
  br label %291

289:                                              ; preds = %274
  %290 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #5
  br label %291

291:                                              ; preds = %289, %287
  %.pn158 = phi { ptr, i32 } [ %290, %289 ], [ %288, %287 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #5
  br label %292

292:                                              ; preds = %291, %285
  %.pn158.pn = phi { ptr, i32 } [ %.pn158, %291 ], [ %286, %285 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #5
  br label %312

293:                                              ; preds = %275
  %294 = landingpad { ptr, i32 }
          cleanup
  br label %311

295:                                              ; preds = %276
  %296 = landingpad { ptr, i32 }
          cleanup
  br label %299

297:                                              ; preds = %277
  %298 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #5
  br label %299

299:                                              ; preds = %297, %295
  %.pn161 = phi { ptr, i32 } [ %298, %297 ], [ %296, %295 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #5
  br label %310

.thread243:                                       ; preds = %279
  %300 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #5
  br label %309

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

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

305:                                              ; preds = %284, %283
  %.0129 = phi i1 [ false, %284 ], [ true, %283 ]
  %306 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #5
  br label %307

307:                                              ; preds = %305, %303
  %.1130 = phi i1 [ %.0129, %305 ], [ true, %303 ]
  %.pn163 = phi { ptr, i32 } [ %306, %305 ], [ %304, %303 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #5
  br label %308

308:                                              ; preds = %301, %307
  %.2131 = phi i1 [ %.1130, %307 ], [ true, %301 ]
  %.pn163.pn = phi { ptr, i32 } [ %.pn163, %307 ], [ %302, %301 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #5
  br i1 %.2131, label %309, label %310

309:                                              ; preds = %.thread243, %308
  %.pn163.pn.pn246 = phi { ptr, i32 } [ %300, %.thread243 ], [ %.pn163.pn, %308 ]
  call void @__cxa_free_exception(ptr %280) #5
  br label %310

310:                                              ; preds = %308, %309, %299
  %.pn163.pn.pn.pn = phi { ptr, i32 } [ %.pn163.pn.pn246, %309 ], [ %.pn163.pn, %308 ], [ %.pn161, %299 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #5
  br label %311

311:                                              ; preds = %310, %293
  %.pn163.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn163.pn.pn.pn, %310 ], [ %294, %293 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #5
  br label %312

312:                                              ; preds = %311, %292
  %.pn163.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn163.pn.pn.pn.pn, %311 ], [ %.pn158.pn, %292 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #5
  br label %566

313:                                              ; preds = %269, %266
  %314 = call noundef i32 @_ZNK4dali15TensorListShapeILin1EE10sample_dimEv(ptr noundef nonnull align 8 dereferenceable(32) %32)
  %315 = icmp eq i32 %314, 0
  br i1 %315, label %316, label %353

316:                                              ; preds = %313
  %317 = load i32, ptr %6, align 4, !tbaa !17
  invoke void @_ZN4dali15MTTransformAttr14SetOutputPtDimEi(ptr noundef nonnull align 8 dereferenceable(110) %0, i32 noundef %317)
          to label %318 unwind label %236

318:                                              ; preds = %316
  %319 = getelementptr inbounds i8, ptr %0, i64 100
  %320 = load i32, ptr %319, align 4, !tbaa !18
  %321 = load i32, ptr %6, align 4, !tbaa !17
  %322 = mul nsw i32 %321, %320
  %323 = getelementptr inbounds i8, ptr %0, i64 48
  %324 = mul nsw i32 %322, %3
  %325 = sext i32 %324 to i64
  invoke void @_ZNSt6vectorIfSaIfEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %323, i64 noundef %325)
          to label %.preheader unwind label %330

.preheader:                                       ; preds = %318
  %326 = icmp sgt i32 %3, 0
  br i1 %326, label %.lr.ph265, label %._crit_edge266

.lr.ph265:                                        ; preds = %.preheader
  %327 = sext i32 %322 to i64
  %328 = getelementptr inbounds i8, ptr %54, i64 8
  %329 = getelementptr inbounds i8, ptr %32, i64 32
  %wide.trip.count274 = zext nneg i32 %3 to i64
  br label %332

._crit_edge266:                                   ; preds = %342, %.preheader
  br i1 %82, label %345, label %.loopexit

330:                                              ; preds = %349, %318
  %331 = landingpad { ptr, i32 }
          cleanup
  br label %566

332:                                              ; preds = %.lr.ph265, %342
  %indvars.iv271 = phi i64 [ 0, %.lr.ph265 ], [ %indvars.iv.next272, %342 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %54) #5
  %333 = mul nsw i64 %indvars.iv271, %327
  %334 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %323, i64 noundef %333) #5
  %335 = invoke { ptr, i64 } @_ZN4dali9make_spanILln1EfEENS_4spanIT0_XT_EEEPS2_l(ptr noundef nonnull %334, i64 noundef %327)
          to label %336 unwind label %343

336:                                              ; preds = %332
  %337 = extractvalue { ptr, i64 } %335, 0
  store ptr %337, ptr %54, align 8
  %338 = extractvalue { ptr, i64 } %335, 1
  store i64 %338, ptr %328, align 8
  %339 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPKfSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %329, i64 noundef %indvars.iv271) #5
  %340 = load ptr, ptr %339, align 8, !tbaa !5
  %341 = load float, ptr %340, align 4, !tbaa !19
  invoke void @_ZN4dali15MTTransformAttr18MakeDiagonalMatrixINS_4spanIfLln1EEEEEvOT_f(ptr noundef nonnull align 8 dereferenceable(110) %0, ptr noundef nonnull align 8 dereferenceable(16) %54, float noundef %341)
          to label %342 unwind label %343

342:                                              ; preds = %336
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %54) #5
  %indvars.iv.next272 = add nuw nsw i64 %indvars.iv271, 1
  %exitcond275.not = icmp eq i64 %indvars.iv.next272, %wide.trip.count274
  br i1 %exitcond275.not, label %._crit_edge266, label %332, !llvm.loop !23

343:                                              ; preds = %336, %332
  %344 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %54) #5
  br label %566

345:                                              ; preds = %._crit_edge266
  %346 = getelementptr inbounds i8, ptr %0, i64 24
  %347 = load i32, ptr %319, align 4, !tbaa !18
  %348 = sext i32 %347 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %55) #5
  store float 0.000000e+00, ptr %55, align 4, !tbaa !19
  invoke void @_ZNSt6vectorIfSaIfEE6resizeEmRKf(ptr noundef nonnull align 8 dereferenceable(24) %346, i64 noundef %348, ptr noundef nonnull align 4 dereferenceable(4) %55)
          to label %349 unwind label %351

349:                                              ; preds = %345
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #5
  %350 = getelementptr inbounds i8, ptr %0, i64 72
  invoke void @_ZN4dali15MTTransformAttr6RepeatIRSt6vectorIfSaIfEES5_EEvOT_OT0_i(ptr noundef nonnull align 8 dereferenceable(110) %0, ptr noundef nonnull align 8 dereferenceable(24) %350, ptr noundef nonnull align 8 dereferenceable(24) %346, i32 noundef %3)
          to label %.loopexit unwind label %330

351:                                              ; preds = %345
  %352 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #5
  br label %566

353:                                              ; preds = %313
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %56) #5
  invoke void @_ZNK4dali15TensorListShapeILin1EEixEl(ptr dead_on_unwind nonnull writable sret(%"struct.dali::TensorShape") align 8 %56, ptr noundef nonnull align 8 dereferenceable(32) %32, i64 noundef 0)
          to label %354 unwind label %372

354:                                              ; preds = %353
  %355 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EEixEi(ptr noundef nonnull align 8 dereferenceable(56) %56, i32 noundef 0)
          to label %356 unwind label %374

356:                                              ; preds = %354
  %357 = load i64, ptr %355, align 8, !tbaa !21
  %358 = icmp slt i64 %357, 1
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %56) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %56) #5
  br i1 %358, label %359, label %405

359:                                              ; preds = %356
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %60) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %360 unwind label %377

360:                                              ; preds = %359
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull @.str.27)
          to label %361 unwind label %379

361:                                              ; preds = %360
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull @.str.11)
          to label %362 unwind label %381

362:                                              ; preds = %361
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #5
  invoke void @_ZN4dali11make_stringIJA23_cPKcA27_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull align 1 dereferenceable(23) @.str.28, ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 1 dereferenceable(27) @.str.29)
          to label %363 unwind label %385

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

364:                                              ; preds = %363
  %365 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %366 unwind label %389

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

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

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

370:                                              ; preds = %369
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %367, ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull %64, ptr noundef nonnull align 8 dereferenceable(32) %66)
          to label %371 unwind label %397

371:                                              ; preds = %370
  invoke void @__cxa_throw(ptr nonnull %367, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %587 unwind label %397

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

374:                                              ; preds = %354
  %375 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %56) #5
  br label %376

376:                                              ; preds = %374, %372
  %.pn170 = phi { ptr, i32 } [ %375, %374 ], [ %373, %372 ]
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %56) #5
  br label %566

377:                                              ; preds = %359
  %378 = landingpad { ptr, i32 }
          cleanup
  br label %384

379:                                              ; preds = %360
  %380 = landingpad { ptr, i32 }
          cleanup
  br label %383

381:                                              ; preds = %361
  %382 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #5
  br label %383

383:                                              ; preds = %381, %379
  %.pn191 = phi { ptr, i32 } [ %382, %381 ], [ %380, %379 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #5
  br label %384

384:                                              ; preds = %383, %377
  %.pn191.pn = phi { ptr, i32 } [ %.pn191, %383 ], [ %378, %377 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #5
  br label %404

385:                                              ; preds = %362
  %386 = landingpad { ptr, i32 }
          cleanup
  br label %403

387:                                              ; preds = %363
  %388 = landingpad { ptr, i32 }
          cleanup
  br label %391

389:                                              ; preds = %364
  %390 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #5
  br label %391

391:                                              ; preds = %389, %387
  %.pn194 = phi { ptr, i32 } [ %390, %389 ], [ %388, %387 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #5
  br label %402

.thread247:                                       ; preds = %366
  %392 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #5
  br label %401

393:                                              ; preds = %368
  %394 = landingpad { ptr, i32 }
          cleanup
  br label %400

395:                                              ; preds = %369
  %396 = landingpad { ptr, i32 }
          cleanup
  br label %399

397:                                              ; preds = %371, %370
  %.063 = phi i1 [ false, %371 ], [ true, %370 ]
  %398 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #5
  br label %399

399:                                              ; preds = %397, %395
  %.pn196 = phi { ptr, i32 } [ %398, %397 ], [ %396, %395 ]
  %.164 = phi i1 [ %.063, %397 ], [ true, %395 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #5
  br label %400

400:                                              ; preds = %393, %399
  %.pn196.pn = phi { ptr, i32 } [ %.pn196, %399 ], [ %394, %393 ]
  %.265 = phi i1 [ %.164, %399 ], [ true, %393 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #5
  br i1 %.265, label %401, label %402

401:                                              ; preds = %.thread247, %400
  %.pn196.pn.pn250 = phi { ptr, i32 } [ %392, %.thread247 ], [ %.pn196.pn, %400 ]
  call void @__cxa_free_exception(ptr %367) #5
  br label %402

402:                                              ; preds = %400, %401, %391
  %.pn196.pn.pn.pn = phi { ptr, i32 } [ %.pn196.pn.pn250, %401 ], [ %.pn196.pn, %400 ], [ %.pn194, %391 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #5
  br label %403

403:                                              ; preds = %402, %385
  %.pn196.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn196.pn.pn.pn, %402 ], [ %386, %385 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  br label %404

404:                                              ; preds = %403, %384
  %.pn196.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn196.pn.pn.pn.pn, %403 ], [ %.pn191.pn, %384 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #5
  br label %566

405:                                              ; preds = %356
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %67) #5
  invoke void @_ZNK4dali15TensorListShapeILin1EEixEl(ptr dead_on_unwind nonnull writable sret(%"struct.dali::TensorShape") align 8 %67, ptr noundef nonnull align 8 dereferenceable(32) %32, i64 noundef 0)
          to label %406 unwind label %426

406:                                              ; preds = %405
  %407 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EEixEi(ptr noundef nonnull align 8 dereferenceable(56) %67, i32 noundef 1)
          to label %408 unwind label %428

408:                                              ; preds = %406
  %409 = load i64, ptr %407, align 8, !tbaa !21
  %410 = load i32, ptr %6, align 4, !tbaa !17
  %411 = sext i32 %410 to i64
  %.not174 = icmp eq i64 %409, %411
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %67) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %67) #5
  br i1 %.not174, label %462, label %412

412:                                              ; preds = %408
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %68) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %69) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %70) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %71) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %71)
          to label %413 unwind label %431

413:                                              ; preds = %412
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %69, ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull @.str.31)
          to label %414 unwind label %433

414:                                              ; preds = %413
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %68, ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull @.str.11)
          to label %415 unwind label %435

415:                                              ; preds = %414
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %71) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %72) #5
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %73) #5
  invoke void @_ZNK4dali15TensorListShapeILin1EEixEl(ptr dead_on_unwind nonnull writable sret(%"struct.dali::TensorShape") align 8 %73, ptr noundef nonnull align 8 dereferenceable(32) %32, i64 noundef 0)
          to label %416 unwind label %439

416:                                              ; preds = %415
  invoke void @_ZN4dali11make_stringIJA29_cPKcA40_cNS_11TensorShapeILin1EEEA48_ciA9_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef nonnull align 1 dereferenceable(29) @.str.32, ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 1 dereferenceable(40) @.str.33, ptr noundef nonnull align 8 dereferenceable(56) %73, ptr noundef nonnull align 1 dereferenceable(48) @.str.34, ptr noundef nonnull align 4 dereferenceable(4) %6, ptr noundef nonnull align 1 dereferenceable(9) @.str.35)
          to label %417 unwind label %441

417:                                              ; preds = %416
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %73) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %73) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %74) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %74, ptr noundef nonnull @.str.14, ptr noundef nonnull align 8 dereferenceable(32) %72)
          to label %418 unwind label %444

418:                                              ; preds = %417
  %419 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull align 8 dereferenceable(32) %74)
          to label %420 unwind label %446

420:                                              ; preds = %418
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #5
  %421 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %75) #5
  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) %68)
          to label %422 unwind label %.thread251

422:                                              ; preds = %420
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %77) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull @.str.36, ptr noundef nonnull align 1 dereferenceable(1) %77)
          to label %423 unwind label %450

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

424:                                              ; preds = %423
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %421, ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull %76, ptr noundef nonnull align 8 dereferenceable(32) %78)
          to label %425 unwind label %454

425:                                              ; preds = %424
  invoke void @__cxa_throw(ptr nonnull %421, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %587 unwind label %454

426:                                              ; preds = %405
  %427 = landingpad { ptr, i32 }
          cleanup
  br label %430

428:                                              ; preds = %406
  %429 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %67) #5
  br label %430

430:                                              ; preds = %428, %426
  %.pn172 = phi { ptr, i32 } [ %429, %428 ], [ %427, %426 ]
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %67) #5
  br label %566

431:                                              ; preds = %412
  %432 = landingpad { ptr, i32 }
          cleanup
  br label %438

433:                                              ; preds = %413
  %434 = landingpad { ptr, i32 }
          cleanup
  br label %437

435:                                              ; preds = %414
  %436 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #5
  br label %437

437:                                              ; preds = %435, %433
  %.pn177 = phi { ptr, i32 } [ %436, %435 ], [ %434, %433 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #5
  br label %438

438:                                              ; preds = %437, %431
  %.pn177.pn = phi { ptr, i32 } [ %.pn177, %437 ], [ %432, %431 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %71) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #5
  br label %461

439:                                              ; preds = %415
  %440 = landingpad { ptr, i32 }
          cleanup
  br label %443

441:                                              ; preds = %416
  %442 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %73) #5
  br label %443

443:                                              ; preds = %441, %439
  %.pn180 = phi { ptr, i32 } [ %442, %441 ], [ %440, %439 ]
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %73) #5
  br label %460

444:                                              ; preds = %417
  %445 = landingpad { ptr, i32 }
          cleanup
  br label %448

446:                                              ; preds = %418
  %447 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #5
  br label %448

448:                                              ; preds = %446, %444
  %.pn182 = phi { ptr, i32 } [ %447, %446 ], [ %445, %444 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #5
  br label %459

.thread251:                                       ; preds = %420
  %449 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #5
  br label %458

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

452:                                              ; preds = %423
  %453 = landingpad { ptr, i32 }
          cleanup
  br label %456

454:                                              ; preds = %425, %424
  %.059 = phi i1 [ false, %425 ], [ true, %424 ]
  %455 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #5
  br label %456

456:                                              ; preds = %454, %452
  %.pn184 = phi { ptr, i32 } [ %455, %454 ], [ %453, %452 ]
  %.160 = phi i1 [ %.059, %454 ], [ true, %452 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %78) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #5
  br label %457

457:                                              ; preds = %450, %456
  %.pn184.pn = phi { ptr, i32 } [ %.pn184, %456 ], [ %451, %450 ]
  %.261 = phi i1 [ %.160, %456 ], [ true, %450 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %77) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #5
  br i1 %.261, label %458, label %459

458:                                              ; preds = %.thread251, %457
  %.pn184.pn.pn254 = phi { ptr, i32 } [ %449, %.thread251 ], [ %.pn184.pn, %457 ]
  call void @__cxa_free_exception(ptr %421) #5
  br label %459

459:                                              ; preds = %457, %458, %448
  %.pn184.pn.pn.pn = phi { ptr, i32 } [ %.pn184.pn.pn254, %458 ], [ %.pn184.pn, %457 ], [ %.pn182, %448 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #5
  br label %460

460:                                              ; preds = %459, %443
  %.pn184.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn184.pn.pn.pn, %459 ], [ %.pn180, %443 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #5
  br label %461

461:                                              ; preds = %460, %438
  %.pn184.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn184.pn.pn.pn.pn, %460 ], [ %.pn177.pn, %438 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #5
  br label %566

462:                                              ; preds = %408
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %79) #5
  invoke void @_ZNK4dali15TensorListShapeILin1EEixEl(ptr dead_on_unwind nonnull writable sret(%"struct.dali::TensorShape") align 8 %79, ptr noundef nonnull align 8 dereferenceable(32) %32, i64 noundef 0)
          to label %463 unwind label %482

463:                                              ; preds = %462
  %464 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EEixEi(ptr noundef nonnull align 8 dereferenceable(56) %79, i32 noundef 0)
          to label %465 unwind label %484

465:                                              ; preds = %463
  %466 = load i64, ptr %464, align 8, !tbaa !21
  %467 = trunc i64 %466 to i32
  invoke void @_ZN4dali15MTTransformAttr14SetOutputPtDimEi(ptr noundef nonnull align 8 dereferenceable(110) %0, i32 noundef %467)
          to label %468 unwind label %484

468:                                              ; preds = %465
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %79) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %79) #5
  %469 = getelementptr inbounds i8, ptr %0, i64 100
  %470 = load i32, ptr %469, align 4, !tbaa !18
  %471 = load i32, ptr %84, align 8, !tbaa !9
  %472 = mul nsw i32 %471, %470
  %473 = getelementptr inbounds i8, ptr %0, i64 48
  %474 = mul nsw i32 %472, %3
  %475 = sext i32 %474 to i64
  invoke void @_ZNSt6vectorIfSaIfEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %473, i64 noundef %475)
          to label %476 unwind label %487

476:                                              ; preds = %468
  br i1 %82, label %477, label %489

477:                                              ; preds = %476
  %478 = getelementptr inbounds i8, ptr %0, i64 72
  %479 = load i32, ptr %469, align 4, !tbaa !18
  %480 = mul nsw i32 %479, %3
  %481 = sext i32 %480 to i64
  invoke void @_ZNSt6vectorIfSaIfEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %478, i64 noundef %481)
          to label %489 unwind label %487

482:                                              ; preds = %462
  %483 = landingpad { ptr, i32 }
          cleanup
  br label %486

484:                                              ; preds = %465, %463
  %485 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4dali15TensorShapeBaseINS_11SmallVectorIlLm6ESaIlEEELin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %79) #5
  br label %486

486:                                              ; preds = %484, %482
  %.pn175 = phi { ptr, i32 } [ %485, %484 ], [ %483, %482 ]
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %79) #5
  br label %566

487:                                              ; preds = %477, %468
  %488 = landingpad { ptr, i32 }
          cleanup
  br label %566

489:                                              ; preds = %477, %476
  %490 = icmp sgt i32 %3, 0
  br i1 %490, label %.preheader256.lr.ph, label %.loopexit

.preheader256.lr.ph:                              ; preds = %489
  %491 = getelementptr inbounds i8, ptr %32, i64 32
  %492 = getelementptr inbounds i8, ptr %0, i64 72
  %493 = load i32, ptr %469, align 4, !tbaa !18
  %494 = icmp sgt i32 %493, 0
  br i1 %494, label %.preheader256.preheader, label %.loopexit

.preheader256.preheader:                          ; preds = %.preheader256.lr.ph
  %495 = zext i32 %472 to i64
  %wide.trip.count = zext nneg i32 %3 to i64
  br label %.preheader256

.preheader256:                                    ; preds = %.preheader256.preheader, %._crit_edge259
  %496 = phi i32 [ %493, %.preheader256.preheader ], [ %543, %._crit_edge259 ]
  %497 = phi i32 [ %493, %.preheader256.preheader ], [ %544, %._crit_edge259 ]
  %indvars.iv = phi i64 [ 0, %.preheader256.preheader ], [ %indvars.iv.next, %._crit_edge259 ]
  %498 = icmp sgt i32 %497, 0
  br i1 %498, label %.preheader255.lr.ph, label %._crit_edge259

.preheader255.lr.ph:                              ; preds = %.preheader256
  %499 = mul i64 %indvars.iv, %495
  br i1 %82, label %.preheader255.us.preheader, label %.preheader255.lr.ph.split

.preheader255.us.preheader:                       ; preds = %.preheader255.lr.ph
  %500 = trunc i64 %499 to i32
  %501 = trunc nuw nsw i64 %indvars.iv to i32
  br label %.preheader255.us

.preheader255.us:                                 ; preds = %.preheader255.us.preheader, %._crit_edge.us
  %.056258.us = phi i32 [ %507, %._crit_edge.us ], [ 0, %.preheader255.us.preheader ]
  %502 = load i32, ptr %84, align 8, !tbaa !9
  %503 = icmp sgt i32 %502, 0
  br i1 %503, label %.lr.ph.us, label %._crit_edge.us

._crit_edge.us:                                   ; preds = %.lr.ph.us, %.preheader255.us
  %504 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPKfSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %491, i64 noundef %indvars.iv) #5
  %505 = load ptr, ptr %504, align 8, !tbaa !5
  %506 = load i32, ptr %6, align 4, !tbaa !17
  %507 = add nuw nsw i32 %.056258.us, 1
  %508 = mul i32 %506, %507
  %509 = sext i32 %508 to i64
  %510 = getelementptr float, ptr %505, i64 %509
  %511 = getelementptr i8, ptr %510, i64 -4
  %512 = load float, ptr %511, align 4, !tbaa !19
  %513 = load i32, ptr %469, align 4, !tbaa !18
  %514 = mul nsw i32 %513, %501
  %515 = add nsw i32 %514, %.056258.us
  %516 = sext i32 %515 to i64
  %517 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %492, i64 noundef %516) #5
  store float %512, ptr %517, align 4, !tbaa !19
  %518 = load i32, ptr %469, align 4, !tbaa !18
  %519 = icmp slt i32 %507, %518
  br i1 %519, label %.preheader255.us, label %._crit_edge259, !llvm.loop !25

.lr.ph.us:                                        ; preds = %.preheader255.us, %.lr.ph.us
  %.0257.us = phi i32 [ %534, %.lr.ph.us ], [ 0, %.preheader255.us ]
  %520 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPKfSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %491, i64 noundef %indvars.iv) #5
  %521 = load ptr, ptr %520, align 8, !tbaa !5
  %522 = load i32, ptr %6, align 4, !tbaa !17
  %523 = mul nsw i32 %522, %.056258.us
  %524 = add nsw i32 %523, %.0257.us
  %525 = sext i32 %524 to i64
  %526 = getelementptr inbounds float, ptr %521, i64 %525
  %527 = load float, ptr %526, align 4, !tbaa !19
  %528 = load i32, ptr %84, align 8, !tbaa !9
  %529 = mul nsw i32 %528, %.056258.us
  %530 = add i32 %.0257.us, %500
  %531 = add i32 %530, %529
  %532 = sext i32 %531 to i64
  %533 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %473, i64 noundef %532) #5
  store float %527, ptr %533, align 4, !tbaa !19
  %534 = add nuw nsw i32 %.0257.us, 1
  %535 = load i32, ptr %84, align 8, !tbaa !9
  %536 = icmp slt i32 %534, %535
  br i1 %536, label %.lr.ph.us, label %._crit_edge.us, !llvm.loop !26

.preheader255.lr.ph.split:                        ; preds = %.preheader255.lr.ph
  %537 = load i32, ptr %84, align 8, !tbaa !9
  %538 = icmp sgt i32 %537, 0
  br i1 %538, label %.preheader255.preheader, label %._crit_edge259

.preheader255.preheader:                          ; preds = %.preheader255.lr.ph.split
  %539 = trunc i64 %499 to i32
  br label %.preheader255

.preheader255:                                    ; preds = %.preheader255.preheader, %._crit_edge
  %540 = phi i32 [ %545, %._crit_edge ], [ %496, %.preheader255.preheader ]
  %541 = phi i32 [ %546, %._crit_edge ], [ %537, %.preheader255.preheader ]
  %.056258 = phi i32 [ %547, %._crit_edge ], [ 0, %.preheader255.preheader ]
  %542 = icmp sgt i32 %541, 0
  br i1 %542, label %.lr.ph, label %._crit_edge

._crit_edge259:                                   ; preds = %._crit_edge, %._crit_edge.us, %.preheader255.lr.ph.split, %.preheader256
  %543 = phi i32 [ %496, %.preheader256 ], [ %496, %.preheader255.lr.ph.split ], [ %518, %._crit_edge.us ], [ %545, %._crit_edge ]
  %544 = phi i32 [ %497, %.preheader256 ], [ %497, %.preheader255.lr.ph.split ], [ %518, %._crit_edge.us ], [ %545, %._crit_edge ]
  %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 %.loopexit, label %.preheader256, !llvm.loop !27

._crit_edge.loopexit:                             ; preds = %.lr.ph
  %.pre = load i32, ptr %469, align 4, !tbaa !18
  br label %._crit_edge

._crit_edge:                                      ; preds = %._crit_edge.loopexit, %.preheader255
  %545 = phi i32 [ %.pre, %._crit_edge.loopexit ], [ %540, %.preheader255 ]
  %546 = phi i32 [ %564, %._crit_edge.loopexit ], [ %541, %.preheader255 ]
  %547 = add nuw nsw i32 %.056258, 1
  %548 = icmp slt i32 %547, %545
  br i1 %548, label %.preheader255, label %._crit_edge259, !llvm.loop !29

.lr.ph:                                           ; preds = %.preheader255, %.lr.ph
  %.0257 = phi i32 [ %563, %.lr.ph ], [ 0, %.preheader255 ]
  %549 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPKfSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %491, i64 noundef %indvars.iv) #5
  %550 = load ptr, ptr %549, align 8, !tbaa !5
  %551 = load i32, ptr %6, align 4, !tbaa !17
  %552 = mul nsw i32 %551, %.056258
  %553 = add nsw i32 %552, %.0257
  %554 = sext i32 %553 to i64
  %555 = getelementptr inbounds float, ptr %550, i64 %554
  %556 = load float, ptr %555, align 4, !tbaa !19
  %557 = load i32, ptr %84, align 8, !tbaa !9
  %558 = mul nsw i32 %557, %.056258
  %559 = add i32 %.0257, %539
  %560 = add i32 %559, %558
  %561 = sext i32 %560 to i64
  %562 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %473, i64 noundef %561) #5
  store float %556, ptr %562, align 4, !tbaa !19
  %563 = add nuw nsw i32 %.0257, 1
  %564 = load i32, ptr %84, align 8, !tbaa !9
  %565 = icmp slt i32 %563, %564
  br i1 %565, label %.lr.ph, label %._crit_edge.loopexit, !llvm.loop !26

.loopexit:                                        ; preds = %._crit_edge259, %.preheader256.lr.ph, %489, %._crit_edge266, %349
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEKfLin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %32) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %32) #5
  br label %585

566:                                              ; preds = %330, %343, %351, %487, %486, %461, %430, %404, %376, %312, %265, %236
  %.pn203.pn = phi { ptr, i32 } [ %237, %236 ], [ %.pn196.pn.pn.pn.pn.pn, %404 ], [ %.pn184.pn.pn.pn.pn.pn, %461 ], [ %488, %487 ], [ %.pn175, %486 ], [ %.pn172, %430 ], [ %.pn170, %376 ], [ %.pn163.pn.pn.pn.pn.pn, %312 ], [ %.pn151.pn.pn.pn.pn.pn, %265 ], [ %344, %343 ], [ %331, %330 ], [ %352, %351 ]
  call void @_ZN4dali18TensorListViewBaseINS_10StorageCPUEKfLin1EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %32) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %32) #5
  br label %586

567:                                              ; preds = %214
  %568 = load i32, ptr %84, align 8, !tbaa !9
  tail call void @_ZN4dali15MTTransformAttr14SetOutputPtDimEi(ptr noundef nonnull align 8 dereferenceable(110) %0, i32 noundef %568)
  %569 = tail call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #5
  %570 = trunc i64 %569 to i32
  %571 = getelementptr inbounds i8, ptr %0, i64 100
  %572 = load i32, ptr %571, align 4, !tbaa !18
  %573 = load i32, ptr %84, align 8, !tbaa !9
  %574 = mul nsw i32 %573, %572
  %.not = icmp eq i32 %574, %570
  br i1 %.not, label %577, label %575

575:                                              ; preds = %567
  %576 = sext i32 %574 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %80) #5
  store float 0.000000e+00, ptr %80, align 4, !tbaa !19
  call void @_ZNSt6vectorIfSaIfEE6resizeEmRKf(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %576, ptr noundef nonnull align 4 dereferenceable(4) %80)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %80) #5
  call void @_ZN4dali15MTTransformAttr18MakeDiagonalMatrixIRSt6vectorIfSaIfEEEEvOT_f(ptr noundef nonnull align 8 dereferenceable(110) %0, ptr noundef nonnull align 8 dereferenceable(24) %0, float noundef 1.000000e+00)
  br label %577

577:                                              ; preds = %575, %567
  %578 = getelementptr inbounds i8, ptr %0, i64 48
  call void @_ZN4dali15MTTransformAttr6RepeatIRSt6vectorIfSaIfEES5_EEvOT_OT0_i(ptr noundef nonnull align 8 dereferenceable(110) %0, ptr noundef nonnull align 8 dereferenceable(24) %578, ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef %3)
  br i1 %82, label %579, label %585

579:                                              ; preds = %577
  %580 = getelementptr inbounds i8, ptr %0, i64 72
  %581 = load i32, ptr %571, align 4, !tbaa !18
  %582 = mul nsw i32 %581, %3
  %583 = sext i32 %582 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %81) #5
  store float 0.000000e+00, ptr %81, align 4, !tbaa !19
  call void @_ZNSt6vectorIfSaIfEE6resizeEmRKf(ptr noundef nonnull align 8 dereferenceable(24) %580, i64 noundef %583, ptr noundef nonnull align 4 dereferenceable(4) %81)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %81) #5
  br label %585

.critedge:                                        ; preds = %99, %203
  %584 = getelementptr inbounds i8, ptr %0, i64 48
  call void @_ZN4dali15MTTransformAttr6RepeatIRSt6vectorIfSaIfEES5_EEvOT_OT0_i(ptr noundef nonnull align 8 dereferenceable(110) %0, ptr noundef nonnull align 8 dereferenceable(24) %584, ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef %3)
  br label %585

585:                                              ; preds = %.critedge, %.loopexit, %579, %577, %210
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #5
  ret void

586:                                              ; preds = %566, %202, %154
  %.pn224.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn224.pn.pn.pn.pn.pn, %202 ], [ %.pn212.pn.pn.pn.pn.pn, %154 ], [ %.pn203.pn, %566 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #5
  resume { ptr, i32 } %.pn224.pn.pn.pn.pn.pn.pn

587:                                              ; preds = %425, %371, %284, %235, %174, %126
  unreachable
}

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK4dali6OpSpec19GetRepeatedArgumentIfEESt6vectorIT_SaIS3_EESt17basic_string_viewIcSt11char_traitsIcEE(ptr dead_on_unwind noalias writable sret(%"class.std::vector.28") align 8, ptr noundef nonnull align 8 dereferenceable(328), i64, ptr) local_unnamed_addr #2 align 2

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

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

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

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

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

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

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

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

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

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

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

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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

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

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

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

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

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

declare void @__cxa_free_exception(ptr) local_unnamed_addr

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali15MTTransformAttr12SplitFusedMTEv(ptr noundef nonnull align 8 dereferenceable(110)) local_unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(304) ptr @_ZNK4dali17ArgumentWorkspace13ArgumentInputESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(256), i64, ptr) local_unnamed_addr #2 align 2

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4dali15MTTransformAttr18MakeDiagonalMatrixINS_4spanIfLln1EEEEEvOT_f(ptr noundef nonnull align 8 dereferenceable(110), ptr noundef nonnull align 8 dereferenceable(16), float noundef) local_unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK4dali15TensorListShapeILin1EEixEl(ptr dead_on_unwind noalias writable sret(%"struct.dali::TensorShape") align 8, ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) local_unnamed_addr #2 align 2

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !15, i64 96}
!10 = !{!"_ZTSN4dali15MTTransformAttrE", !11, i64 0, !11, i64 24, !11, i64 48, !11, i64 72, !15, i64 96, !15, i64 100, !16, i64 104, !16, i64 105, !16, i64 106, !16, i64 107, !16, i64 108, !16, i64 109}
!11 = !{!"_ZTSSt6vectorIfSaIfEE", !12, i64 0}
!12 = !{!"_ZTSSt12_Vector_baseIfSaIfEE", !13, i64 0}
!13 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE12_Vector_implE", !14, i64 0}
!14 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!15 = !{!"int", !7, i64 0}
!16 = !{!"bool", !7, i64 0}
!17 = !{!15, !15, i64 0}
!18 = !{!10, !15, i64 100}
!19 = !{!20, !20, i64 0}
!20 = !{!"float", !7, i64 0}
!21 = !{!22, !22, i64 0}
!22 = !{!"long", !7, i64 0}
!23 = distinct !{!23, !24}
!24 = !{!"llvm.loop.mustprogress"}
!25 = distinct !{!25, !24}
!26 = distinct !{!26, !24}
!27 = distinct !{!27, !24, !28}
!28 = !{!"llvm.loop.unswitch.partial.disable"}
!29 = distinct !{!29, !24, !28}


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