; LLVM IR from NVIDIA/DALI :: dali/operators/image/resize (resize_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::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 }
%"class.dali::ResizeAttr" = type { ptr, %"class.std::vector.58", %"class.std::vector.63", i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i32, i32, i8, i32, %"class.dali::TensorLayout", i32, %"class.std::vector.63", %"class.std::vector.63", %"class.std::vector.63", %"class.std::vector.63", %"class.std::vector.63", %"class.std::vector.63" }
%"class.std::vector.58" = type { %"struct.std::_Vector_base.59" }
%"struct.std::_Vector_base.59" = type { %"struct.std::_Vector_base<dali::ResizeParams, std::allocator<dali::ResizeParams>>::_Vector_impl" }
%"struct.std::_Vector_base<dali::ResizeParams, std::allocator<dali::ResizeParams>>::_Vector_impl" = type { %"struct.std::_Vector_base<dali::ResizeParams, std::allocator<dali::ResizeParams>>::_Vector_impl_data" }
%"struct.std::_Vector_base<dali::ResizeParams, std::allocator<dali::ResizeParams>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.dali::TensorLayout" = type { [16 x i8] }
%"class.std::vector.63" = type { %"struct.std::_Vector_base.64" }
%"struct.std::_Vector_base.64" = 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 }

@.str.2 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [190 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [94 x i8], align 1
@_ZTIN4dali13DALIExceptionE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.24 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [13 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 @_ZN4dali10ResizeAttr15SetFlagsAndModeERKNS_6OpSpecE(ptr noundef nonnull align 8 dereferenceable(248) %0, ptr noundef nonnull align 8 dereferenceable(328) %1) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca %"class.std::basic_string_view", align 8
  %6 = alloca %"class.std::basic_string_view", align 8
  %7 = alloca %"class.std::basic_string_view", align 8
  %8 = alloca %"class.std::basic_string_view", align 8
  %9 = alloca %"class.std::basic_string_view", align 8
  %10 = alloca %"class.std::basic_string_view", align 8
  %11 = alloca %"class.std::basic_string_view", align 8
  %12 = alloca %"class.std::basic_string_view", align 8
  %13 = alloca %"class.std::basic_string_view", align 8
  %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::allocator", align 1
  %18 = alloca ptr, align 8
  %19 = alloca i32, align 4
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::allocator", align 1
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator", align 1
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca 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 %"class.std::allocator", align 1
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::allocator", align 1
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca i1, align 1
  %40 = alloca i8, align 1
  %41 = alloca %"class.std::basic_string_view", align 8
  %42 = alloca i8, align 1
  %43 = alloca %"class.std::basic_string_view", 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::allocator", align 1
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::allocator", align 1
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca i1, align 1
  %56 = alloca %"class.std::basic_string_view", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::basic_string_view", align 8
  store ptr %0, ptr %3, align 8, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !5
  %59 = load ptr, ptr %3, align 8
  %60 = load ptr, ptr %4, align 8, !tbaa !5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef @.str.10) #5
  %61 = getelementptr inbounds { i64, ptr }, ptr %5, i32 0, i32 0
  %62 = load i64, ptr %61, align 8
  %63 = getelementptr inbounds { i64, ptr }, ptr %5, i32 0, i32 1
  %64 = load ptr, ptr %63, align 8
  %65 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %60, i64 %62, ptr %64)
  %66 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 6
  %67 = zext i1 %65 to i8
  store i8 %67, ptr %66, align 1, !tbaa !9
  %68 = load ptr, ptr %4, align 8, !tbaa !5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef @.str.12) #5
  %69 = getelementptr inbounds { i64, ptr }, ptr %6, i32 0, i32 0
  %70 = load i64, ptr %69, align 8
  %71 = getelementptr inbounds { i64, ptr }, ptr %6, i32 0, i32 1
  %72 = load ptr, ptr %71, align 8
  %73 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %68, i64 %70, ptr %72)
  %74 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 7
  %75 = zext i1 %73 to i8
  store i8 %75, ptr %74, align 4, !tbaa !23
  %76 = load ptr, ptr %4, align 8, !tbaa !5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %7, ptr noundef @.str.2) #5
  %77 = getelementptr inbounds { i64, ptr }, ptr %7, i32 0, i32 0
  %78 = load i64, ptr %77, align 8
  %79 = getelementptr inbounds { i64, ptr }, ptr %7, i32 0, i32 1
  %80 = load ptr, ptr %79, align 8
  %81 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %76, i64 %78, ptr %80)
  %82 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 8
  %83 = zext i1 %81 to i8
  store i8 %83, ptr %82, align 1, !tbaa !24
  %84 = load ptr, ptr %4, align 8, !tbaa !5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef @.str.4) #5
  %85 = getelementptr inbounds { i64, ptr }, ptr %8, i32 0, i32 0
  %86 = load i64, ptr %85, align 8
  %87 = getelementptr inbounds { i64, ptr }, ptr %8, i32 0, i32 1
  %88 = load ptr, ptr %87, align 8
  %89 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %84, i64 %86, ptr %88)
  %90 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 9
  %91 = zext i1 %89 to i8
  store i8 %91, ptr %90, align 2, !tbaa !25
  %92 = load ptr, ptr %4, align 8, !tbaa !5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %9, ptr noundef @.str.6) #5
  %93 = getelementptr inbounds { i64, ptr }, ptr %9, i32 0, i32 0
  %94 = load i64, ptr %93, align 8
  %95 = getelementptr inbounds { i64, ptr }, ptr %9, i32 0, i32 1
  %96 = load ptr, ptr %95, align 8
  %97 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %92, i64 %94, ptr %96)
  %98 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 10
  %99 = zext i1 %97 to i8
  store i8 %99, ptr %98, align 1, !tbaa !26
  %100 = load ptr, ptr %4, align 8, !tbaa !5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef @.str.8) #5
  %101 = getelementptr inbounds { i64, ptr }, ptr %10, i32 0, i32 0
  %102 = load i64, ptr %101, align 8
  %103 = getelementptr inbounds { i64, ptr }, ptr %10, i32 0, i32 1
  %104 = load ptr, ptr %103, align 8
  %105 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %100, i64 %102, ptr %104)
  %106 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 3
  %107 = zext i1 %105 to i8
  store i8 %107, ptr %106, align 8, !tbaa !27
  %108 = load ptr, ptr %4, align 8, !tbaa !5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %11, ptr noundef @.str.15) #5
  %109 = getelementptr inbounds { i64, ptr }, ptr %11, i32 0, i32 0
  %110 = load i64, ptr %109, align 8
  %111 = getelementptr inbounds { i64, ptr }, ptr %11, i32 0, i32 1
  %112 = load ptr, ptr %111, align 8
  %113 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %108, i64 %110, ptr %112)
  %114 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 4
  %115 = zext i1 %113 to i8
  store i8 %115, ptr %114, align 1, !tbaa !28
  %116 = load ptr, ptr %4, align 8, !tbaa !5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef @.str.16) #5
  %117 = getelementptr inbounds { i64, ptr }, ptr %12, i32 0, i32 0
  %118 = load i64, ptr %117, align 8
  %119 = getelementptr inbounds { i64, ptr }, ptr %12, i32 0, i32 1
  %120 = load ptr, ptr %119, align 8
  %121 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %116, i64 %118, ptr %120)
  %122 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 5
  %123 = zext i1 %121 to i8
  store i8 %123, ptr %122, align 2, !tbaa !29
  %124 = load ptr, ptr %4, align 8, !tbaa !5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %13, ptr noundef @.str.17) #5
  %125 = getelementptr inbounds { i64, ptr }, ptr %13, i32 0, i32 0
  %126 = load i64, ptr %125, align 8
  %127 = getelementptr inbounds { i64, ptr }, ptr %13, i32 0, i32 1
  %128 = load ptr, ptr %127, align 8
  %129 = call noundef zeroext i1 @_ZNK4dali6OpSpec11GetArgumentIbEET_St17basic_string_viewIcSt11char_traitsIcEEPKNS_17ArgumentWorkspaceEl(ptr noundef nonnull align 8 dereferenceable(328) %124, i64 %126, ptr %128, ptr noundef null, i64 noundef 0)
  %130 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 15
  %131 = zext i1 %129 to i8
  store i8 %131, ptr %130, align 4, !tbaa !30
  br label %132

132:                                              ; preds = %2
  %133 = call noundef zeroext i1 @_ZNK4dali10ResizeAttr19HasSeparateSizeArgsEv(ptr noundef nonnull align 8 dereferenceable(248) %59)
  %134 = zext i1 %133 to i32
  %135 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 3
  %136 = load i8, ptr %135, align 8, !tbaa !27, !range !31, !noundef !32
  %137 = trunc i8 %136 to i1
  %138 = zext i1 %137 to i32
  %139 = add nsw i32 %134, %138
  %140 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 6
  %141 = load i8, ptr %140, align 1, !tbaa !9, !range !31, !noundef !32
  %142 = trunc i8 %141 to i1
  %143 = zext i1 %142 to i32
  %144 = add nsw i32 %139, %143
  %145 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 7
  %146 = load i8, ptr %145, align 4, !tbaa !23, !range !31, !noundef !32
  %147 = trunc i8 %146 to i1
  %148 = zext i1 %147 to i32
  %149 = add nsw i32 %144, %148
  %150 = icmp eq i32 %149, 1
  br i1 %150, label %216, label %151

151:                                              ; preds = %132
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #5
  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 1, ptr %17) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %17)
          to label %152 unwind label %164

152:                                              ; preds = %151
  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.19)
          to label %153 unwind label %168

153:                                              ; preds = %152
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef @.str.20)
          to label %154 unwind label %172

154:                                              ; preds = %153
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %21) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %155 unwind label %178

155:                                              ; preds = %154
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #5
  call void @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.22, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %156 unwind label %182

156:                                              ; preds = %155
  %157 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %158 unwind label %186

158:                                              ; preds = %156
  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
  %159 = 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) %14)
          to label %160 unwind label %191

160:                                              ; preds = %158
  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.23, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %161 unwind label %195

161:                                              ; preds = %160
  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 %162 unwind label %199

162:                                              ; preds = %161
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %159, ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef %24, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %163 unwind label %203

163:                                              ; preds = %162
  store i1 false, ptr %27, align 1
  invoke void @__cxa_throw(ptr %159, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #6
          to label %447 unwind label %203

164:                                              ; preds = %151
  %165 = landingpad { ptr, i32 }
          cleanup
  %166 = extractvalue { ptr, i32 } %165, 0
  store ptr %166, ptr %18, align 8
  %167 = extractvalue { ptr, i32 } %165, 1
  store i32 %167, ptr %19, align 4
  br label %177

168:                                              ; preds = %152
  %169 = landingpad { ptr, i32 }
          cleanup
  %170 = extractvalue { ptr, i32 } %169, 0
  store ptr %170, ptr %18, align 8
  %171 = extractvalue { ptr, i32 } %169, 1
  store i32 %171, ptr %19, align 4
  br label %176

172:                                              ; preds = %153
  %173 = landingpad { ptr, i32 }
          cleanup
  %174 = extractvalue { ptr, i32 } %173, 0
  store ptr %174, ptr %18, align 8
  %175 = extractvalue { ptr, i32 } %173, 1
  store i32 %175, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #5
  br label %176

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

177:                                              ; preds = %176, %164
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #5
  br label %215

178:                                              ; preds = %154
  %179 = landingpad { ptr, i32 }
          cleanup
  %180 = extractvalue { ptr, i32 } %179, 0
  store ptr %180, ptr %18, align 8
  %181 = extractvalue { ptr, i32 } %179, 1
  store i32 %181, ptr %19, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #5
  br label %214

182:                                              ; preds = %155
  %183 = landingpad { ptr, i32 }
          cleanup
  %184 = extractvalue { ptr, i32 } %183, 0
  store ptr %184, ptr %18, align 8
  %185 = extractvalue { ptr, i32 } %183, 1
  store i32 %185, ptr %19, align 4
  br label %190

186:                                              ; preds = %156
  %187 = landingpad { ptr, i32 }
          cleanup
  %188 = extractvalue { ptr, i32 } %187, 0
  store ptr %188, ptr %18, align 8
  %189 = extractvalue { ptr, i32 } %187, 1
  store i32 %189, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  br label %190

190:                                              ; preds = %186, %182
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #5
  br label %213

191:                                              ; preds = %158
  %192 = landingpad { ptr, i32 }
          cleanup
  %193 = extractvalue { ptr, i32 } %192, 0
  store ptr %193, ptr %18, align 8
  %194 = extractvalue { ptr, i32 } %192, 1
  store i32 %194, ptr %19, align 4
  br label %209

195:                                              ; preds = %160
  %196 = landingpad { ptr, i32 }
          cleanup
  %197 = extractvalue { ptr, i32 } %196, 0
  store ptr %197, ptr %18, align 8
  %198 = extractvalue { ptr, i32 } %196, 1
  store i32 %198, ptr %19, align 4
  br label %208

199:                                              ; preds = %161
  %200 = landingpad { ptr, i32 }
          cleanup
  %201 = extractvalue { ptr, i32 } %200, 0
  store ptr %201, ptr %18, align 8
  %202 = extractvalue { ptr, i32 } %200, 1
  store i32 %202, ptr %19, align 4
  br label %207

203:                                              ; preds = %163, %162
  %204 = landingpad { ptr, i32 }
          cleanup
  %205 = extractvalue { ptr, i32 } %204, 0
  store ptr %205, ptr %18, align 8
  %206 = extractvalue { ptr, i32 } %204, 1
  store i32 %206, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  br label %207

207:                                              ; preds = %203, %199
  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 %208

208:                                              ; preds = %207, %195
  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 %209

209:                                              ; preds = %208, %191
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #5
  %210 = load i1, ptr %27, align 1
  br i1 %210, label %211, label %212

211:                                              ; preds = %209
  call void @__cxa_free_exception(ptr %159) #5
  br label %212

212:                                              ; preds = %211, %209
  br label %213

213:                                              ; preds = %212, %190
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #5
  br label %214

214:                                              ; preds = %213, %178
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #5
  br label %215

215:                                              ; preds = %214, %177
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #5
  br label %442

216:                                              ; preds = %132
  br label %217

217:                                              ; preds = %216
  br label %218

218:                                              ; preds = %217
  %219 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 6
  %220 = load i8, ptr %219, align 1, !tbaa !9, !range !31, !noundef !32
  %221 = trunc i8 %220 to i1
  %222 = zext i1 %221 to i32
  %223 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 7
  %224 = load i8, ptr %223, align 4, !tbaa !23, !range !31, !noundef !32
  %225 = trunc i8 %224 to i1
  %226 = zext i1 %225 to i32
  %227 = add nsw i32 %222, %226
  %228 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 5
  %229 = load i8, ptr %228, align 2, !tbaa !29, !range !31, !noundef !32
  %230 = trunc i8 %229 to i1
  %231 = zext i1 %230 to i32
  %232 = add nsw i32 %227, %231
  %233 = icmp sle i32 %232, 1
  br i1 %233, label %299, label %234

234:                                              ; preds = %218
  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.18, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %235 unwind label %247

235:                                              ; preds = %234
  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.24)
          to label %236 unwind label %251

236:                                              ; preds = %235
  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.20)
          to label %237 unwind label %255

237:                                              ; preds = %236
  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 1, ptr %33) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef @.str.25, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %238 unwind label %261

238:                                              ; preds = %237
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #5
  call void @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.22, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %239 unwind label %265

239:                                              ; preds = %238
  %240 = 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 %241 unwind label %269

241:                                              ; preds = %239
  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
  %242 = 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 %243 unwind label %274

243:                                              ; preds = %241
  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.26, ptr noundef nonnull align 1 dereferenceable(1) %37)
          to label %244 unwind label %278

244:                                              ; preds = %243
  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 %245 unwind label %282

245:                                              ; preds = %244
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %242, ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef %36, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %246 unwind label %286

246:                                              ; preds = %245
  store i1 false, ptr %39, align 1
  invoke void @__cxa_throw(ptr %242, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #6
          to label %447 unwind label %286

247:                                              ; preds = %234
  %248 = landingpad { ptr, i32 }
          cleanup
  %249 = extractvalue { ptr, i32 } %248, 0
  store ptr %249, ptr %18, align 8
  %250 = extractvalue { ptr, i32 } %248, 1
  store i32 %250, ptr %19, align 4
  br label %260

251:                                              ; preds = %235
  %252 = landingpad { ptr, i32 }
          cleanup
  %253 = extractvalue { ptr, i32 } %252, 0
  store ptr %253, ptr %18, align 8
  %254 = extractvalue { ptr, i32 } %252, 1
  store i32 %254, ptr %19, align 4
  br label %259

255:                                              ; preds = %236
  %256 = landingpad { ptr, i32 }
          cleanup
  %257 = extractvalue { ptr, i32 } %256, 0
  store ptr %257, ptr %18, align 8
  %258 = extractvalue { ptr, i32 } %256, 1
  store i32 %258, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  br label %259

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

260:                                              ; preds = %259, %247
  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 %298

261:                                              ; preds = %237
  %262 = landingpad { ptr, i32 }
          cleanup
  %263 = extractvalue { ptr, i32 } %262, 0
  store ptr %263, ptr %18, align 8
  %264 = extractvalue { ptr, i32 } %262, 1
  store i32 %264, ptr %19, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #5
  br label %297

265:                                              ; preds = %238
  %266 = landingpad { ptr, i32 }
          cleanup
  %267 = extractvalue { ptr, i32 } %266, 0
  store ptr %267, ptr %18, align 8
  %268 = extractvalue { ptr, i32 } %266, 1
  store i32 %268, ptr %19, align 4
  br label %273

269:                                              ; preds = %239
  %270 = landingpad { ptr, i32 }
          cleanup
  %271 = extractvalue { ptr, i32 } %270, 0
  store ptr %271, ptr %18, align 8
  %272 = extractvalue { ptr, i32 } %270, 1
  store i32 %272, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #5
  br label %273

273:                                              ; preds = %269, %265
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #5
  br label %296

274:                                              ; preds = %241
  %275 = landingpad { ptr, i32 }
          cleanup
  %276 = extractvalue { ptr, i32 } %275, 0
  store ptr %276, ptr %18, align 8
  %277 = extractvalue { ptr, i32 } %275, 1
  store i32 %277, ptr %19, align 4
  br label %292

278:                                              ; preds = %243
  %279 = landingpad { ptr, i32 }
          cleanup
  %280 = extractvalue { ptr, i32 } %279, 0
  store ptr %280, ptr %18, align 8
  %281 = extractvalue { ptr, i32 } %279, 1
  store i32 %281, ptr %19, align 4
  br label %291

282:                                              ; preds = %244
  %283 = landingpad { ptr, i32 }
          cleanup
  %284 = extractvalue { ptr, i32 } %283, 0
  store ptr %284, ptr %18, align 8
  %285 = extractvalue { ptr, i32 } %283, 1
  store i32 %285, ptr %19, align 4
  br label %290

286:                                              ; preds = %246, %245
  %287 = landingpad { ptr, i32 }
          cleanup
  %288 = extractvalue { ptr, i32 } %287, 0
  store ptr %288, ptr %18, align 8
  %289 = extractvalue { ptr, i32 } %287, 1
  store i32 %289, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  br label %290

290:                                              ; preds = %286, %282
  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 %291

291:                                              ; preds = %290, %278
  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 %292

292:                                              ; preds = %291, %274
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #5
  %293 = load i1, ptr %39, align 1
  br i1 %293, label %294, label %295

294:                                              ; preds = %292
  call void @__cxa_free_exception(ptr %242) #5
  br label %295

295:                                              ; preds = %294, %292
  br label %296

296:                                              ; preds = %295, %273
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  br label %297

297:                                              ; preds = %296, %261
  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 %298

298:                                              ; preds = %297, %260
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #5
  br label %442

299:                                              ; preds = %218
  br label %300

300:                                              ; preds = %299
  call void @llvm.lifetime.start.p0(i64 1, ptr %40) #5
  %301 = load ptr, ptr %4, align 8, !tbaa !5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %41, ptr noundef @.str.27) #5
  %302 = getelementptr inbounds { i64, ptr }, ptr %41, i32 0, i32 0
  %303 = load i64, ptr %302, align 8
  %304 = getelementptr inbounds { i64, ptr }, ptr %41, i32 0, i32 1
  %305 = load ptr, ptr %304, align 8
  %306 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %301, i64 %303, ptr %305)
  %307 = zext i1 %306 to i8
  store i8 %307, ptr %40, align 1, !tbaa !33
  call void @llvm.lifetime.start.p0(i64 1, ptr %42) #5
  %308 = load ptr, ptr %4, align 8, !tbaa !5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %43, ptr noundef @.str.28) #5
  %309 = getelementptr inbounds { i64, ptr }, ptr %43, i32 0, i32 0
  %310 = load i64, ptr %309, align 8
  %311 = getelementptr inbounds { i64, ptr }, ptr %43, i32 0, i32 1
  %312 = load ptr, ptr %311, align 8
  %313 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %308, i64 %310, ptr %312)
  %314 = zext i1 %313 to i8
  store i8 %314, ptr %42, align 1, !tbaa !33
  br label %315

315:                                              ; preds = %300
  %316 = load i8, ptr %40, align 1, !tbaa !33, !range !31, !noundef !32
  %317 = trunc i8 %316 to i1
  %318 = zext i1 %317 to i32
  %319 = load i8, ptr %42, align 1, !tbaa !33, !range !31, !noundef !32
  %320 = trunc i8 %319 to i1
  %321 = zext i1 %320 to i32
  %322 = icmp eq i32 %318, %321
  br i1 %322, label %388, label %323

323:                                              ; preds = %315
  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 32, ptr %46) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %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 @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %324 unwind label %336

324:                                              ; preds = %323
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef @.str.29)
          to label %325 unwind label %340

325:                                              ; preds = %324
  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.20)
          to label %326 unwind label %344

326:                                              ; preds = %325
  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 %47) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %48) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %49) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef @.str.30, ptr noundef nonnull align 1 dereferenceable(1) %49)
          to label %327 unwind label %350

327:                                              ; preds = %326
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %328 unwind label %354

328:                                              ; preds = %327
  %329 = 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) %50)
          to label %330 unwind label %358

330:                                              ; preds = %328
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #5
  store i1 true, ptr %55, align 1
  %331 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %332 unwind label %363

332:                                              ; preds = %330
  call void @llvm.lifetime.start.p0(i64 1, ptr %53) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef @.str.31, ptr noundef nonnull align 1 dereferenceable(1) %53)
          to label %333 unwind label %367

333:                                              ; preds = %332
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %54)
          to label %334 unwind label %371

334:                                              ; preds = %333
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %331, ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef %52, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %335 unwind label %375

335:                                              ; preds = %334
  store i1 false, ptr %55, align 1
  invoke void @__cxa_throw(ptr %331, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #6
          to label %447 unwind label %375

336:                                              ; preds = %323
  %337 = landingpad { ptr, i32 }
          cleanup
  %338 = extractvalue { ptr, i32 } %337, 0
  store ptr %338, ptr %18, align 8
  %339 = extractvalue { ptr, i32 } %337, 1
  store i32 %339, ptr %19, align 4
  br label %349

340:                                              ; preds = %324
  %341 = landingpad { ptr, i32 }
          cleanup
  %342 = extractvalue { ptr, i32 } %341, 0
  store ptr %342, ptr %18, align 8
  %343 = extractvalue { ptr, i32 } %341, 1
  store i32 %343, ptr %19, align 4
  br label %348

344:                                              ; preds = %325
  %345 = landingpad { ptr, i32 }
          cleanup
  %346 = extractvalue { ptr, i32 } %345, 0
  store ptr %346, ptr %18, align 8
  %347 = extractvalue { ptr, i32 } %345, 1
  store i32 %347, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #5
  br label %348

348:                                              ; preds = %344, %340
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #5
  br label %349

349:                                              ; preds = %348, %336
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #5
  br label %387

350:                                              ; preds = %326
  %351 = landingpad { ptr, i32 }
          cleanup
  %352 = extractvalue { ptr, i32 } %351, 0
  store ptr %352, ptr %18, align 8
  %353 = extractvalue { ptr, i32 } %351, 1
  store i32 %353, ptr %19, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #5
  br label %386

354:                                              ; preds = %327
  %355 = landingpad { ptr, i32 }
          cleanup
  %356 = extractvalue { ptr, i32 } %355, 0
  store ptr %356, ptr %18, align 8
  %357 = extractvalue { ptr, i32 } %355, 1
  store i32 %357, ptr %19, align 4
  br label %362

358:                                              ; preds = %328
  %359 = landingpad { ptr, i32 }
          cleanup
  %360 = extractvalue { ptr, i32 } %359, 0
  store ptr %360, ptr %18, align 8
  %361 = extractvalue { ptr, i32 } %359, 1
  store i32 %361, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #5
  br label %362

362:                                              ; preds = %358, %354
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #5
  br label %385

363:                                              ; preds = %330
  %364 = landingpad { ptr, i32 }
          cleanup
  %365 = extractvalue { ptr, i32 } %364, 0
  store ptr %365, ptr %18, align 8
  %366 = extractvalue { ptr, i32 } %364, 1
  store i32 %366, ptr %19, align 4
  br label %381

367:                                              ; preds = %332
  %368 = landingpad { ptr, i32 }
          cleanup
  %369 = extractvalue { ptr, i32 } %368, 0
  store ptr %369, ptr %18, align 8
  %370 = extractvalue { ptr, i32 } %368, 1
  store i32 %370, ptr %19, align 4
  br label %380

371:                                              ; preds = %333
  %372 = landingpad { ptr, i32 }
          cleanup
  %373 = extractvalue { ptr, i32 } %372, 0
  store ptr %373, ptr %18, align 8
  %374 = extractvalue { ptr, i32 } %372, 1
  store i32 %374, ptr %19, align 4
  br label %379

375:                                              ; preds = %335, %334
  %376 = landingpad { ptr, i32 }
          cleanup
  %377 = extractvalue { ptr, i32 } %376, 0
  store ptr %377, ptr %18, align 8
  %378 = extractvalue { ptr, i32 } %376, 1
  store i32 %378, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #5
  br label %379

379:                                              ; preds = %375, %371
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #5
  br label %380

380:                                              ; preds = %379, %367
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #5
  br label %381

381:                                              ; preds = %380, %363
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #5
  %382 = load i1, ptr %55, align 1
  br i1 %382, label %383, label %384

383:                                              ; preds = %381
  call void @__cxa_free_exception(ptr %331) #5
  br label %384

384:                                              ; preds = %383, %381
  br label %385

385:                                              ; preds = %384, %362
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #5
  br label %386

386:                                              ; preds = %385, %350
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #5
  br label %387

387:                                              ; preds = %386, %349
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #5
  br label %441

388:                                              ; preds = %315
  br label %389

389:                                              ; preds = %388
  br label %390

390:                                              ; preds = %389
  %391 = load i8, ptr %40, align 1, !tbaa !33, !range !31, !noundef !32
  %392 = trunc i8 %391 to i1
  br i1 %392, label %393, label %396

393:                                              ; preds = %390
  %394 = load i8, ptr %42, align 1, !tbaa !33, !range !31, !noundef !32
  %395 = trunc i8 %394 to i1
  br label %396

396:                                              ; preds = %393, %390
  %397 = phi i1 [ false, %390 ], [ %395, %393 ]
  %398 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 11
  %399 = zext i1 %397 to i8
  store i8 %399, ptr %398, align 8, !tbaa !34
  %400 = load ptr, ptr %4, align 8, !tbaa !5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %56, ptr noundef @.str.32) #5
  %401 = getelementptr inbounds { i64, ptr }, ptr %56, i32 0, i32 0
  %402 = load i64, ptr %401, align 8
  %403 = getelementptr inbounds { i64, ptr }, ptr %56, i32 0, i32 1
  %404 = load ptr, ptr %403, align 8
  %405 = call noundef zeroext i1 @_ZNK4dali6OpSpec11GetArgumentIbEET_St17basic_string_viewIcSt11char_traitsIcEEPKNS_17ArgumentWorkspaceEl(ptr noundef nonnull align 8 dereferenceable(328) %400, i64 %402, ptr %404, ptr noundef null, i64 noundef 0)
  %406 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 12
  %407 = zext i1 %405 to i8
  store i8 %407, ptr %406, align 1, !tbaa !35
  %408 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 6
  %409 = load i8, ptr %408, align 1, !tbaa !9, !range !31, !noundef !32
  %410 = trunc i8 %409 to i1
  br i1 %410, label %411, label %413

411:                                              ; preds = %396
  %412 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 16
  store i32 3, ptr %412, align 8, !tbaa !36
  br label %440

413:                                              ; preds = %396
  %414 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 7
  %415 = load i8, ptr %414, align 4, !tbaa !23, !range !31, !noundef !32
  %416 = trunc i8 %415 to i1
  br i1 %416, label %417, label %419

417:                                              ; preds = %413
  %418 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 16
  store i32 2, ptr %418, align 8, !tbaa !36
  br label %439

419:                                              ; preds = %413
  %420 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 5
  %421 = load i8, ptr %420, align 2, !tbaa !29, !range !31, !noundef !32
  %422 = trunc i8 %421 to i1
  br i1 %422, label %423, label %436

423:                                              ; preds = %419
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #5
  %424 = load ptr, ptr %4, align 8, !tbaa !5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %58, ptr noundef @.str.16) #5
  %425 = getelementptr inbounds { i64, ptr }, ptr %58, i32 0, i32 0
  %426 = load i64, ptr %425, align 8
  %427 = getelementptr inbounds { i64, ptr }, ptr %58, i32 0, i32 1
  %428 = load ptr, ptr %427, align 8
  call void @_ZNK4dali6OpSpec11GetArgumentINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEET_St17basic_string_viewIcS5_EPKNS_17ArgumentWorkspaceEl(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull align 8 dereferenceable(328) %424, i64 %426, ptr %428, ptr noundef null, i64 noundef 0)
  %429 = invoke noundef i32 @_ZN4dali15ParseResizeModeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %430 unwind label %432

430:                                              ; preds = %423
  %431 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 16
  store i32 %429, ptr %431, align 8, !tbaa !36
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #5
  br label %438

432:                                              ; preds = %423
  %433 = landingpad { ptr, i32 }
          cleanup
  %434 = extractvalue { ptr, i32 } %433, 0
  store ptr %434, ptr %18, align 8
  %435 = extractvalue { ptr, i32 } %433, 1
  store i32 %435, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #5
  br label %441

436:                                              ; preds = %419
  %437 = getelementptr inbounds %"class.dali::ResizeAttr", ptr %59, i32 0, i32 16
  store i32 0, ptr %437, align 8, !tbaa !36
  br label %438

438:                                              ; preds = %436, %430
  br label %439

439:                                              ; preds = %438, %417
  br label %440

440:                                              ; preds = %439, %411
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #5
  ret void

441:                                              ; preds = %432, %387
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #5
  br label %442

442:                                              ; preds = %441, %298, %215
  %443 = load ptr, ptr %18, align 8
  %444 = load i32, ptr %19, align 4
  %445 = insertvalue { ptr, i32 } poison, ptr %443, 0
  %446 = insertvalue { ptr, i32 } %445, i32 %444, 1
  resume { ptr, i32 } %446

447:                                              ; preds = %335, %246, %163
  unreachable
}

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328), i64, ptr) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK4dali6OpSpec11GetArgumentIbEET_St17basic_string_viewIcSt11char_traitsIcEEPKNS_17ArgumentWorkspaceEl(ptr noundef nonnull align 8 dereferenceable(328), i64, ptr, ptr noundef, i64 noundef) #2 align 2

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

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

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

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

declare ptr @__cxa_allocate_exception(i64)

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

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

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

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

declare void @__cxa_throw(ptr, ptr, ptr)

declare void @__cxa_free_exception(ptr)

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_ZN4dali15ParseResizeModeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK4dali6OpSpec11GetArgumentINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEET_St17basic_string_viewIcS5_EPKNS_17ArgumentWorkspaceEl(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(328), i64, ptr, ptr noundef, i64 noundef) #2 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, !19, i64 59}
!10 = !{!"_ZTSN4dali10ResizeAttrE", !11, i64 8, !15, i64 32, !19, i64 56, !19, i64 57, !19, i64 58, !19, i64 59, !19, i64 60, !19, i64 61, !19, i64 62, !19, i64 63, !19, i64 64, !19, i64 65, !20, i64 68, !20, i64 72, !19, i64 76, !21, i64 80, !22, i64 84, !20, i64 100, !15, i64 104, !15, i64 128, !15, i64 152, !15, i64 176, !15, i64 200, !15, i64 224}
!11 = !{!"_ZTSSt6vectorIN4dali12ResizeParamsESaIS1_EE", !12, i64 0}
!12 = !{!"_ZTSSt12_Vector_baseIN4dali12ResizeParamsESaIS1_EE", !13, i64 0}
!13 = !{!"_ZTSNSt12_Vector_baseIN4dali12ResizeParamsESaIS1_EE12_Vector_implE", !14, i64 0}
!14 = !{!"_ZTSNSt12_Vector_baseIN4dali12ResizeParamsESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!15 = !{!"_ZTSSt6vectorIfSaIfEE", !16, i64 0}
!16 = !{!"_ZTSSt12_Vector_baseIfSaIfEE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE12_Vector_implE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!19 = !{!"bool", !7, i64 0}
!20 = !{!"int", !7, i64 0}
!21 = !{!"_ZTSN4dali10ResizeModeE", !7, i64 0}
!22 = !{!"_ZTSN4dali12TensorLayoutE", !7, i64 0}
!23 = !{!10, !19, i64 60}
!24 = !{!10, !19, i64 61}
!25 = !{!10, !19, i64 62}
!26 = !{!10, !19, i64 63}
!27 = !{!10, !19, i64 56}
!28 = !{!10, !19, i64 57}
!29 = !{!10, !19, i64 58}
!30 = !{!10, !19, i64 76}
!31 = !{i8 0, i8 2}
!32 = !{}
!33 = !{!19, !19, i64 0}
!34 = !{!10, !19, i64 64}
!35 = !{!10, !19, i64 65}
!36 = !{!10, !21, i64 80}


; 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::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 }

@.str.2 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [190 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [94 x i8], align 1
@_ZTIN4dali13DALIExceptionE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.24 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [13 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 @_ZN4dali10ResizeAttr15SetFlagsAndModeERKNS_6OpSpecE(ptr noundef nonnull align 8 dereferenceable(248) %0, ptr noundef nonnull align 8 dereferenceable(328) %1) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.std::basic_string_view", align 8
  %4 = alloca %"class.std::basic_string_view", align 8
  %5 = alloca %"class.std::basic_string_view", align 8
  %6 = alloca %"class.std::basic_string_view", align 8
  %7 = alloca %"class.std::basic_string_view", align 8
  %8 = alloca %"class.std::basic_string_view", align 8
  %9 = alloca %"class.std::basic_string_view", align 8
  %10 = alloca %"class.std::basic_string_view", align 8
  %11 = alloca %"class.std::basic_string_view", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::allocator", align 1
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::allocator", align 1
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::allocator", align 1
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::allocator", align 1
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::allocator", align 1
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::allocator", align 1
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::basic_string_view", align 8
  %35 = alloca %"class.std::basic_string_view", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::allocator", align 1
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::allocator", align 1
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::allocator", align 1
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::basic_string_view", align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::basic_string_view", align 8
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef @.str.10) #5
  %50 = load i64, ptr %3, align 8
  %51 = getelementptr inbounds i8, ptr %3, i64 8
  %52 = load ptr, ptr %51, align 8
  %53 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %1, i64 %50, ptr %52)
  %54 = getelementptr inbounds i8, ptr %0, i64 59
  %55 = zext i1 %53 to i8
  store i8 %55, ptr %54, align 1, !tbaa !5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef @.str.12) #5
  %56 = load i64, ptr %4, align 8
  %57 = getelementptr inbounds i8, ptr %4, i64 8
  %58 = load ptr, ptr %57, align 8
  %59 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %1, i64 %56, ptr %58)
  %60 = getelementptr inbounds i8, ptr %0, i64 60
  %61 = zext i1 %59 to i8
  store i8 %61, ptr %60, align 4, !tbaa !22
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef @.str.2) #5
  %62 = load i64, ptr %5, align 8
  %63 = getelementptr inbounds i8, ptr %5, i64 8
  %64 = load ptr, ptr %63, align 8
  %65 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %1, i64 %62, ptr %64)
  %66 = getelementptr inbounds i8, ptr %0, i64 61
  %67 = zext i1 %65 to i8
  store i8 %67, ptr %66, align 1, !tbaa !23
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef @.str.4) #5
  %68 = load i64, ptr %6, align 8
  %69 = getelementptr inbounds i8, ptr %6, i64 8
  %70 = load ptr, ptr %69, align 8
  %71 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %1, i64 %68, ptr %70)
  %72 = getelementptr inbounds i8, ptr %0, i64 62
  %73 = zext i1 %71 to i8
  store i8 %73, ptr %72, align 2, !tbaa !24
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %7, ptr noundef @.str.6) #5
  %74 = load i64, ptr %7, align 8
  %75 = getelementptr inbounds i8, ptr %7, i64 8
  %76 = load ptr, ptr %75, align 8
  %77 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %1, i64 %74, ptr %76)
  %78 = getelementptr inbounds i8, ptr %0, i64 63
  %79 = zext i1 %77 to i8
  store i8 %79, ptr %78, align 1, !tbaa !25
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef @.str.8) #5
  %80 = load i64, ptr %8, align 8
  %81 = getelementptr inbounds i8, ptr %8, i64 8
  %82 = load ptr, ptr %81, align 8
  %83 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %1, i64 %80, ptr %82)
  %84 = getelementptr inbounds i8, ptr %0, i64 56
  %85 = zext i1 %83 to i8
  store i8 %85, ptr %84, align 8, !tbaa !26
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %9, ptr noundef @.str.15) #5
  %86 = load i64, ptr %9, align 8
  %87 = getelementptr inbounds i8, ptr %9, i64 8
  %88 = load ptr, ptr %87, align 8
  %89 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %1, i64 %86, ptr %88)
  %90 = getelementptr inbounds i8, ptr %0, i64 57
  %91 = zext i1 %89 to i8
  store i8 %91, ptr %90, align 1, !tbaa !27
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef @.str.16) #5
  %92 = load i64, ptr %10, align 8
  %93 = getelementptr inbounds i8, ptr %10, i64 8
  %94 = load ptr, ptr %93, align 8
  %95 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %1, i64 %92, ptr %94)
  %96 = getelementptr inbounds i8, ptr %0, i64 58
  %97 = zext i1 %95 to i8
  store i8 %97, ptr %96, align 2, !tbaa !28
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %11, ptr noundef @.str.17) #5
  %98 = load i64, ptr %11, align 8
  %99 = getelementptr inbounds i8, ptr %11, i64 8
  %100 = load ptr, ptr %99, align 8
  %101 = call noundef zeroext i1 @_ZNK4dali6OpSpec11GetArgumentIbEET_St17basic_string_viewIcSt11char_traitsIcEEPKNS_17ArgumentWorkspaceEl(ptr noundef nonnull align 8 dereferenceable(328) %1, i64 %98, ptr %100, ptr noundef null, i64 noundef 0)
  %102 = getelementptr inbounds i8, ptr %0, i64 76
  %103 = zext i1 %101 to i8
  store i8 %103, ptr %102, align 4, !tbaa !29
  %104 = call noundef zeroext i1 @_ZNK4dali10ResizeAttr19HasSeparateSizeArgsEv(ptr noundef nonnull align 8 dereferenceable(248) %0)
  %105 = zext i1 %104 to i32
  %106 = load i8, ptr %84, align 8, !tbaa !26, !range !30, !noundef !31
  %107 = zext nneg i8 %106 to i32
  %108 = load i8, ptr %54, align 1, !tbaa !5, !range !30, !noundef !31
  %109 = load i8, ptr %60, align 4, !tbaa !22, !range !30, !noundef !31
  %narrow = add nuw nsw i8 %109, %108
  %110 = zext nneg i8 %narrow to i32
  %111 = add nuw nsw i32 %110, %105
  %112 = add nuw nsw i32 %111, %107
  %113 = icmp eq i32 %112, 1
  br i1 %113, label %155, label %114

114:                                              ; preds = %2
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %15)
          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 %13, ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull @.str.19)
          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 %12, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.20)
          to label %117 unwind label %131

117:                                              ; preds = %116
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %17) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %17)
          to label %118 unwind label %135

118:                                              ; preds = %117
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #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 %18, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %16)
          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) %12, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %121 unwind label %139

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

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

124:                                              ; preds = %123
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22)
          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) %19, ptr noundef nonnull %20, ptr noundef nonnull align 8 dereferenceable(32) %22)
          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 %285 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) %13) #5
  br label %133

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

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

135:                                              ; preds = %117
  %136 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #5
  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) %18) #5
  br label %141

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

.thread:                                          ; preds = %121
  %142 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #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
  %.059 = phi i1 [ false, %126 ], [ true, %125 ]
  %148 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  br label %149

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

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

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

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

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

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

155:                                              ; preds = %2
  %156 = load i8, ptr %96, align 2, !tbaa !28, !range !30, !noundef !31
  %narrow112 = add nuw nsw i8 %narrow, %156
  %157 = icmp ult i8 %narrow112, 2
  br i1 %157, label %199, label %158

158:                                              ; preds = %155
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %26) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %26)
          to label %159 unwind label %171

159:                                              ; preds = %158
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.24)
          to label %160 unwind label %173

160:                                              ; preds = %159
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.20)
          to label %161 unwind label %175

161:                                              ; preds = %160
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %28) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.25, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %162 unwind label %179

162:                                              ; preds = %161
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #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 %29, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %163 unwind label %181

163:                                              ; preds = %162
  %164 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %165 unwind label %183

165:                                              ; preds = %163
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #5
  %166 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %167 unwind label %.thread104

167:                                              ; preds = %165
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %32) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull @.str.26, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %168 unwind label %187

168:                                              ; preds = %167
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33)
          to label %169 unwind label %189

169:                                              ; preds = %168
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %166, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull %31, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %170 unwind label %191

170:                                              ; preds = %169
  invoke void @__cxa_throw(ptr nonnull %166, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %285 unwind label %191

171:                                              ; preds = %158
  %172 = landingpad { ptr, i32 }
          cleanup
  br label %178

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

175:                                              ; preds = %160
  %176 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  br label %177

177:                                              ; preds = %175, %173
  %.pn74 = phi { ptr, i32 } [ %176, %175 ], [ %174, %173 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #5
  br label %178

178:                                              ; preds = %177, %171
  %.pn74.pn = phi { ptr, i32 } [ %.pn74, %177 ], [ %172, %171 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #5
  br label %198

179:                                              ; preds = %161
  %180 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #5
  br label %197

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

183:                                              ; preds = %163
  %184 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  br label %185

185:                                              ; preds = %183, %181
  %.pn77 = phi { ptr, i32 } [ %184, %183 ], [ %182, %181 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #5
  br label %196

.thread104:                                       ; preds = %165
  %186 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #5
  br label %195

187:                                              ; preds = %167
  %188 = landingpad { ptr, i32 }
          cleanup
  br label %194

189:                                              ; preds = %168
  %190 = landingpad { ptr, i32 }
          cleanup
  br label %193

191:                                              ; preds = %170, %169
  %.055 = phi i1 [ false, %170 ], [ true, %169 ]
  %192 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #5
  br label %193

193:                                              ; preds = %191, %189
  %.156 = phi i1 [ %.055, %191 ], [ true, %189 ]
  %.pn79 = phi { ptr, i32 } [ %192, %191 ], [ %190, %189 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #5
  br label %194

194:                                              ; preds = %187, %193
  %.257 = phi i1 [ %.156, %193 ], [ true, %187 ]
  %.pn79.pn = phi { ptr, i32 } [ %.pn79, %193 ], [ %188, %187 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #5
  br i1 %.257, label %195, label %196

195:                                              ; preds = %.thread104, %194
  %.pn79.pn.pn107 = phi { ptr, i32 } [ %186, %.thread104 ], [ %.pn79.pn, %194 ]
  call void @__cxa_free_exception(ptr %166) #5
  br label %196

196:                                              ; preds = %194, %195, %185
  %.pn79.pn.pn.pn = phi { ptr, i32 } [ %.pn79.pn.pn107, %195 ], [ %.pn79.pn, %194 ], [ %.pn77, %185 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #5
  br label %197

197:                                              ; preds = %196, %179
  %.pn79.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn79.pn.pn.pn, %196 ], [ %180, %179 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #5
  br label %198

198:                                              ; preds = %197, %178
  %.pn79.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn79.pn.pn.pn.pn, %197 ], [ %.pn74.pn, %178 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #5
  br label %284

199:                                              ; preds = %155
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %34, ptr noundef @.str.27) #5
  %200 = load i64, ptr %34, align 8
  %201 = getelementptr inbounds i8, ptr %34, i64 8
  %202 = load ptr, ptr %201, align 8
  %203 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %1, i64 %200, ptr %202)
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %35, ptr noundef @.str.28) #5
  %204 = load i64, ptr %35, align 8
  %205 = getelementptr inbounds i8, ptr %35, i64 8
  %206 = load ptr, ptr %205, align 8
  %207 = call noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328) %1, i64 %204, ptr %206)
  %208 = xor i1 %203, %207
  br i1 %208, label %209, label %250

209:                                              ; preds = %199
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %39) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %210 unwind label %222

210:                                              ; preds = %209
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull @.str.29)
          to label %211 unwind label %224

211:                                              ; preds = %210
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %36, ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull @.str.20)
          to label %212 unwind label %226

212:                                              ; preds = %211
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %41) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull @.str.30, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %213 unwind label %230

213:                                              ; preds = %212
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %41) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #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 %42, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %214 unwind label %232

214:                                              ; preds = %213
  %215 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(32) %42)
          to label %216 unwind label %234

216:                                              ; preds = %214
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #5
  %217 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %218 unwind label %.thread108

218:                                              ; preds = %216
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %45) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull @.str.31, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %219 unwind label %238

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

220:                                              ; preds = %219
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %217, ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull %44, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %221 unwind label %242

221:                                              ; preds = %220
  invoke void @__cxa_throw(ptr nonnull %217, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %285 unwind label %242

222:                                              ; preds = %209
  %223 = landingpad { ptr, i32 }
          cleanup
  br label %229

224:                                              ; preds = %210
  %225 = landingpad { ptr, i32 }
          cleanup
  br label %228

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

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

229:                                              ; preds = %228, %222
  %.pn86.pn = phi { ptr, i32 } [ %.pn86, %228 ], [ %223, %222 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #5
  br label %249

230:                                              ; preds = %212
  %231 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %41) #5
  br label %248

232:                                              ; preds = %213
  %233 = landingpad { ptr, i32 }
          cleanup
  br label %236

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

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

.thread108:                                       ; preds = %216
  %237 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #5
  br label %246

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

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

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

244:                                              ; preds = %242, %240
  %.pn91 = phi { ptr, i32 } [ %243, %242 ], [ %241, %240 ]
  %.1 = phi i1 [ %.0, %242 ], [ true, %240 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #5
  br label %245

245:                                              ; preds = %238, %244
  %.pn91.pn = phi { ptr, i32 } [ %.pn91, %244 ], [ %239, %238 ]
  %.2 = phi i1 [ %.1, %244 ], [ true, %238 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #5
  br i1 %.2, label %246, label %247

246:                                              ; preds = %.thread108, %245
  %.pn91.pn.pn111 = phi { ptr, i32 } [ %237, %.thread108 ], [ %.pn91.pn, %245 ]
  call void @__cxa_free_exception(ptr %217) #5
  br label %247

247:                                              ; preds = %245, %246, %236
  %.pn91.pn.pn.pn = phi { ptr, i32 } [ %.pn91.pn.pn111, %246 ], [ %.pn91.pn, %245 ], [ %.pn89, %236 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #5
  br label %248

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

249:                                              ; preds = %248, %229
  %.pn91.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn91.pn.pn.pn.pn, %248 ], [ %.pn86.pn, %229 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #5
  br label %284

250:                                              ; preds = %199
  %251 = and i1 %203, %207
  %252 = getelementptr inbounds i8, ptr %0, i64 64
  %253 = zext i1 %251 to i8
  store i8 %253, ptr %252, align 8, !tbaa !32
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %47, ptr noundef @.str.32) #5
  %254 = load i64, ptr %47, align 8
  %255 = getelementptr inbounds i8, ptr %47, i64 8
  %256 = load ptr, ptr %255, align 8
  %257 = call noundef zeroext i1 @_ZNK4dali6OpSpec11GetArgumentIbEET_St17basic_string_viewIcSt11char_traitsIcEEPKNS_17ArgumentWorkspaceEl(ptr noundef nonnull align 8 dereferenceable(328) %1, i64 %254, ptr %256, ptr noundef null, i64 noundef 0)
  %258 = getelementptr inbounds i8, ptr %0, i64 65
  %259 = zext i1 %257 to i8
  store i8 %259, ptr %258, align 1, !tbaa !33
  %260 = load i8, ptr %54, align 1, !tbaa !5, !range !30, !noundef !31
  %261 = trunc nuw i8 %260 to i1
  br i1 %261, label %262, label %264

262:                                              ; preds = %250
  %263 = getelementptr inbounds i8, ptr %0, i64 80
  store i32 3, ptr %263, align 8, !tbaa !34
  br label %283

264:                                              ; preds = %250
  %265 = load i8, ptr %60, align 4, !tbaa !22, !range !30, !noundef !31
  %266 = trunc nuw i8 %265 to i1
  br i1 %266, label %267, label %269

267:                                              ; preds = %264
  %268 = getelementptr inbounds i8, ptr %0, i64 80
  store i32 2, ptr %268, align 8, !tbaa !34
  br label %283

269:                                              ; preds = %264
  %270 = load i8, ptr %96, align 2, !tbaa !28, !range !30, !noundef !31
  %271 = trunc nuw i8 %270 to i1
  br i1 %271, label %272, label %281

272:                                              ; preds = %269
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %49, ptr noundef @.str.16) #5
  %273 = load i64, ptr %49, align 8
  %274 = getelementptr inbounds i8, ptr %49, i64 8
  %275 = load ptr, ptr %274, align 8
  call void @_ZNK4dali6OpSpec11GetArgumentINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEET_St17basic_string_viewIcS5_EPKNS_17ArgumentWorkspaceEl(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull align 8 dereferenceable(328) %1, i64 %273, ptr %275, ptr noundef null, i64 noundef 0)
  %276 = invoke noundef i32 @_ZN4dali15ParseResizeModeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %277 unwind label %279

277:                                              ; preds = %272
  %278 = getelementptr inbounds i8, ptr %0, i64 80
  store i32 %276, ptr %278, align 8, !tbaa !34
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #5
  br label %283

279:                                              ; preds = %272
  %280 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #5
  br label %284

281:                                              ; preds = %269
  %282 = getelementptr inbounds i8, ptr %0, i64 80
  store i32 0, ptr %282, align 8, !tbaa !34
  br label %283

283:                                              ; preds = %267, %281, %277, %262
  ret void

284:                                              ; preds = %249, %279, %198, %154
  %.pn98.pn = phi { ptr, i32 } [ %.pn79.pn.pn.pn.pn.pn, %198 ], [ %.pn67.pn.pn.pn.pn.pn, %154 ], [ %280, %279 ], [ %.pn91.pn.pn.pn.pn.pn, %249 ]
  resume { ptr, i32 } %.pn98.pn

285:                                              ; preds = %221, %170, %126
  unreachable
}

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK4dali6OpSpec15ArgumentDefinedESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(328), i64, ptr) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK4dali6OpSpec11GetArgumentIbEET_St17basic_string_viewIcSt11char_traitsIcEEPKNS_17ArgumentWorkspaceEl(ptr noundef nonnull align 8 dereferenceable(328), i64, ptr, ptr noundef, i64 noundef) local_unnamed_addr #2 align 2

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

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

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

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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

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

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

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

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

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

declare void @__cxa_free_exception(ptr) local_unnamed_addr

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_ZN4dali15ParseResizeModeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK4dali6OpSpec11GetArgumentINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEET_St17basic_string_viewIcS5_EPKNS_17ArgumentWorkspaceEl(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(328), i64, ptr, ptr noundef, i64 noundef) local_unnamed_addr #2 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, !18, i64 59}
!6 = !{!"_ZTSN4dali10ResizeAttrE", !7, i64 8, !14, i64 32, !18, i64 56, !18, i64 57, !18, i64 58, !18, i64 59, !18, i64 60, !18, i64 61, !18, i64 62, !18, i64 63, !18, i64 64, !18, i64 65, !19, i64 68, !19, i64 72, !18, i64 76, !20, i64 80, !21, i64 84, !19, i64 100, !14, i64 104, !14, i64 128, !14, i64 152, !14, i64 176, !14, i64 200, !14, i64 224}
!7 = !{!"_ZTSSt6vectorIN4dali12ResizeParamsESaIS1_EE", !8, i64 0}
!8 = !{!"_ZTSSt12_Vector_baseIN4dali12ResizeParamsESaIS1_EE", !9, i64 0}
!9 = !{!"_ZTSNSt12_Vector_baseIN4dali12ResizeParamsESaIS1_EE12_Vector_implE", !10, i64 0}
!10 = !{!"_ZTSNSt12_Vector_baseIN4dali12ResizeParamsESaIS1_EE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!11 = !{!"any pointer", !12, i64 0}
!12 = !{!"omnipotent char", !13, i64 0}
!13 = !{!"Simple C++ TBAA"}
!14 = !{!"_ZTSSt6vectorIfSaIfEE", !15, i64 0}
!15 = !{!"_ZTSSt12_Vector_baseIfSaIfEE", !16, i64 0}
!16 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE12_Vector_implE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!18 = !{!"bool", !12, i64 0}
!19 = !{!"int", !12, i64 0}
!20 = !{!"_ZTSN4dali10ResizeModeE", !12, i64 0}
!21 = !{!"_ZTSN4dali12TensorLayoutE", !12, i64 0}
!22 = !{!6, !18, i64 60}
!23 = !{!6, !18, i64 61}
!24 = !{!6, !18, i64 62}
!25 = !{!6, !18, i64 63}
!26 = !{!6, !18, i64 56}
!27 = !{!6, !18, i64 57}
!28 = !{!6, !18, i64 58}
!29 = !{!6, !18, i64 76}
!30 = !{i8 0, i8 2}
!31 = !{}
!32 = !{!6, !18, i64 64}
!33 = !{!6, !18, i64 65}
!34 = !{!6, !20, i64 80}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,ReassociatePass,SROAPass,SimplifyCFGPass