; LLVM IR from NVIDIA/DALI :: dali/pipeline/executor (lowered_graph)

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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::basic_string_view" = type { i64, ptr }
%"class.std::allocator" = type { i8 }
%"struct.std::_Rb_tree_iterator" = type { ptr }
%"struct.std::pair.110" = type <{ %"struct.std::_Rb_tree_const_iterator", i8, [7 x i8] }>
%"struct.std::_Rb_tree_const_iterator" = type { ptr }
%"struct.dali::TensorMeta" = type { i64, i64, i32 }
%"struct.std::pair.112" = type <{ %"struct.std::_Rb_tree_iterator", i8, [7 x i8] }>
%"struct.std::pair" = type { %"class.std::__cxx11::basic_string", i64 }
%"class.dali::OpGraph" = type <{ %"class.std::vector", %"class.std::vector.3", %"class.std::vector.8", %"class.std::map", %"class.std::map.16", %"class.std::map", i8, [7 x i8] }>
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<dali::OpNode, std::allocator<dali::OpNode>>::_Vector_impl" }
%"struct.std::_Vector_base<dali::OpNode, std::allocator<dali::OpNode>>::_Vector_impl" = type { %"struct.std::_Vector_base<dali::OpNode, std::allocator<dali::OpNode>>::_Vector_impl_data" }
%"struct.std::_Vector_base<dali::OpNode, std::allocator<dali::OpNode>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = type { %"struct.std::_Vector_base<dali::TensorNode, std::allocator<dali::TensorNode>>::_Vector_impl" }
%"struct.std::_Vector_base<dali::TensorNode, std::allocator<dali::TensorNode>>::_Vector_impl" = type { %"struct.std::_Vector_base<dali::TensorNode, std::allocator<dali::TensorNode>>::_Vector_impl_data" }
%"struct.std::_Vector_base<dali::TensorNode, std::allocator<dali::TensorNode>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.8" = type { %"struct.std::_Vector_base.9" }
%"struct.std::_Vector_base.9" = type { %"struct.std::_Vector_base<std::vector<long>, std::allocator<std::vector<long>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<long>, std::allocator<std::vector<long>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<long>, std::allocator<std::vector<long>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<long>, std::allocator<std::vector<long>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map.16" = type { %"class.std::_Rb_tree.17" }
%"class.std::_Rb_tree.17" = type { %"struct.std::_Rb_tree<long, std::pair<const long, bool>, std::_Select1st<std::pair<const long, bool>>, std::less<long>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<long, std::pair<const long, bool>, std::_Select1st<std::pair<const long, bool>>, std::less<long>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, long>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, long>>, std::less<void>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, long>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, long>>, std::less<void>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.dali::TensorNode" = type { ptr, i64, %"class.std::__cxx11::basic_string", %"struct.dali::TensorMeta", %"class.std::vector.105" }
%"class.std::vector.105" = type { %"struct.std::_Vector_base.106" }
%"struct.std::_Vector_base.106" = type { %"struct.std::_Vector_base<dali::TensorMeta, std::allocator<dali::TensorMeta>>::_Vector_impl" }
%"struct.std::_Vector_base<dali::TensorMeta, std::allocator<dali::TensorMeta>>::_Vector_impl" = type { %"struct.std::_Vector_base<dali::TensorMeta, std::allocator<dali::TensorMeta>>::_Vector_impl_data" }
%"struct.std::_Vector_base<dali::TensorMeta, std::allocator<dali::TensorMeta>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.dali::OpNode" = type { ptr, ptr, %"class.std::unique_ptr", i64, %"class.dali::OpSpec", %"class.std::set", %"class.std::set", %"class.std::vector.95", %"class.std::vector.95", %"class.std::vector.100", %"class.std::__cxx11::basic_string", i32, i64 }
%"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" }
%"struct.std::__uniq_ptr_data" = type { %"class.std::__uniq_ptr_impl" }
%"class.std::__uniq_ptr_impl" = type { %"class.std::tuple" }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.90" }
%"struct.std::_Head_base.90" = type { ptr }
%"class.dali::OpSpec" = type { %"class.std::__cxx11::basic_string", ptr, %"class.std::vector.55", %"class.std::map.60", %"class.std::vector.65", %"class.std::map.60", %"class.std::map.70", %"class.std::vector.75", %"class.std::vector.75", %"class.std::map.80" }
%"class.std::vector.55" = type { %"struct.std::_Vector_base.56" }
%"struct.std::_Vector_base.56" = type { %"struct.std::_Vector_base<std::shared_ptr<dali::Argument>, std::allocator<std::shared_ptr<dali::Argument>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<dali::Argument>, std::allocator<std::shared_ptr<dali::Argument>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<dali::Argument>, std::allocator<std::shared_ptr<dali::Argument>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<dali::Argument>, std::allocator<std::shared_ptr<dali::Argument>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.65" = type { %"struct.std::_Vector_base.66" }
%"struct.std::_Vector_base.66" = type { %"struct.std::_Vector_base<std::pair<std::__cxx11::basic_string<char>, int>, std::allocator<std::pair<std::__cxx11::basic_string<char>, int>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<std::__cxx11::basic_string<char>, int>, std::allocator<std::pair<std::__cxx11::basic_string<char>, int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<std::__cxx11::basic_string<char>, int>, std::allocator<std::pair<std::__cxx11::basic_string<char>, int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<std::__cxx11::basic_string<char>, int>, std::allocator<std::pair<std::__cxx11::basic_string<char>, int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map.60" = type { %"class.std::_Rb_tree.61" }
%"class.std::_Rb_tree.61" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, int>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, int>>, std::less<void>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, int>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, int>>, std::less<void>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.70" = type { %"class.std::_Rb_tree.71" }
%"class.std::_Rb_tree.71" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>, std::less<void>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>, std::less<void>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::vector.75" = type { %"struct.std::_Vector_base.76" }
%"struct.std::_Vector_base.76" = type { %"struct.std::_Vector_base<dali::OpSpec::InOutDeviceDesc, std::allocator<dali::OpSpec::InOutDeviceDesc>>::_Vector_impl" }
%"struct.std::_Vector_base<dali::OpSpec::InOutDeviceDesc, std::allocator<dali::OpSpec::InOutDeviceDesc>>::_Vector_impl" = type { %"struct.std::_Vector_base<dali::OpSpec::InOutDeviceDesc, std::allocator<dali::OpSpec::InOutDeviceDesc>>::_Vector_impl_data" }
%"struct.std::_Vector_base<dali::OpSpec::InOutDeviceDesc, std::allocator<dali::OpSpec::InOutDeviceDesc>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map.80" = type { %"class.std::_Rb_tree.81" }
%"class.std::_Rb_tree.81" = type { %"struct.std::_Rb_tree<dali::OpSpec::InOutDeviceDesc, std::pair<const dali::OpSpec::InOutDeviceDesc, int>, std::_Select1st<std::pair<const dali::OpSpec::InOutDeviceDesc, int>>, std::less<void>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<dali::OpSpec::InOutDeviceDesc, std::pair<const dali::OpSpec::InOutDeviceDesc, int>, std::_Select1st<std::pair<const dali::OpSpec::InOutDeviceDesc, int>>, std::less<void>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::set" = type { %"class.std::_Rb_tree.91" }
%"class.std::_Rb_tree.91" = type { %"struct.std::_Rb_tree<long, long, std::_Identity<long>, std::less<long>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<long, long, std::_Identity<long>, std::less<long>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::vector.95" = type { %"struct.std::_Vector_base.96" }
%"struct.std::_Vector_base.96" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.100" = type { %"struct.std::_Vector_base.101" }
%"struct.std::_Vector_base.101" = type { %"struct.std::_Vector_base<dali::OutputDesc, std::allocator<dali::OutputDesc>>::_Vector_impl" }
%"struct.std::_Vector_base<dali::OutputDesc, std::allocator<dali::OutputDesc>>::_Vector_impl" = type { %"struct.std::_Vector_base<dali::OutputDesc, std::allocator<dali::OutputDesc>>::_Vector_impl_data" }
%"struct.std::_Vector_base<dali::OutputDesc, std::allocator<dali::OutputDesc>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@.str.8 = external hidden unnamed_addr constant [204 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [92 x i8], align 1
@_ZTIN4dali13DALIExceptionE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.15 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [92 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

declare ptr @__cxa_allocate_exception(i64)

declare void @__cxa_free_exception(ptr)

declare void @__cxa_throw(ptr, ptr, ptr)

; Function Attrs: mustprogress uwtable
define dso_local noundef nonnull align 8 dereferenceable(576) ptr @_ZN4dali7OpGraph5AddOpERKNS_6OpSpecERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(217) %0, ptr noundef nonnull align 8 dereferenceable(328) %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #2 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::basic_string_view", align 8
  %10 = alloca i32, align 4
  %11 = alloca %"class.std::basic_string_view", align 8
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %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 %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator", align 1
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::allocator", align 1
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca i1, align 1
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::allocator", align 1
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator", align 1
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::allocator", align 1
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca i1, align 1
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::allocator", align 1
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::allocator", align 1
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__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 i1, 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::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::allocator", align 1
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca i1, align 1
  %57 = alloca ptr, align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca i32, align 4
  %60 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::allocator", align 1
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::allocator", align 1
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca i1, align 1
  %75 = alloca i64, align 8
  %76 = alloca i64, align 8
  %77 = alloca %"struct.std::pair.110", align 8
  %78 = alloca ptr, align 8
  %79 = alloca %"struct.std::pair.110", align 8
  %80 = alloca %"struct.dali::TensorMeta", align 8
  %81 = alloca i32, align 4
  %82 = alloca %"struct.dali::TensorMeta", align 8
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca ptr, align 8
  %85 = alloca %"struct.std::pair.112", align 8
  %86 = alloca %"struct.std::pair", align 8
  %87 = alloca { ptr, i8 }, align 8
  %88 = alloca %"class.std::__cxx11::basic_string", align 8
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.std::__cxx11::basic_string", align 8
  %91 = alloca %"class.std::allocator", align 1
  %92 = alloca %"class.std::__cxx11::basic_string", align 8
  %93 = alloca %"class.std::__cxx11::basic_string", align 8
  %94 = alloca %"class.std::__cxx11::basic_string", align 8
  %95 = alloca %"class.std::__cxx11::basic_string", align 8
  %96 = alloca %"class.std::allocator", align 1
  %97 = alloca %"class.std::__cxx11::basic_string", align 8
  %98 = alloca i1, align 1
  store ptr %0, ptr %4, align 8, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !5
  store ptr %2, ptr %6, align 8, !tbaa !5
  %99 = load ptr, ptr %4, align 8
  %100 = load ptr, ptr %5, align 8, !tbaa !5
  call void @_ZN4dali12_GLOBAL__N_118CheckOpConstraintsERKNS_6OpSpecE(ptr noundef nonnull align 8 dereferenceable(328) %100)
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #6
  store ptr @.str.8, ptr %7, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %8) #6
  %101 = load ptr, ptr %5, align 8, !tbaa !5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %9, ptr noundef @.str.9) #6
  %102 = getelementptr inbounds { i64, ptr }, ptr %9, i32 0, i32 0
  %103 = load i64, ptr %102, align 8
  %104 = getelementptr inbounds { i64, ptr }, ptr %9, i32 0, i32 1
  %105 = load ptr, ptr %104, 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 %8, ptr noundef nonnull align 8 dereferenceable(328) %101, i64 %103, ptr %105, ptr noundef null, i64 noundef 0)
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #6
  %106 = call { i64, ptr } @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEcvSt17basic_string_viewIcS2_EEv(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  %107 = getelementptr inbounds { i64, ptr }, ptr %11, i32 0, i32 0
  %108 = extractvalue { i64, ptr } %106, 0
  store i64 %108, ptr %107, align 8
  %109 = getelementptr inbounds { i64, ptr }, ptr %11, i32 0, i32 1
  %110 = extractvalue { i64, ptr } %106, 1
  store ptr %110, ptr %109, align 8
  %111 = getelementptr inbounds { i64, ptr }, ptr %11, i32 0, i32 0
  %112 = load i64, ptr %111, align 8
  %113 = getelementptr inbounds { i64, ptr }, ptr %11, i32 0, i32 1
  %114 = load ptr, ptr %113, align 8
  %115 = invoke noundef i32 @_ZN4dali11ParseOpTypeESt17basic_string_viewIcSt11char_traitsIcEE(i64 %112, ptr %114)
          to label %116 unwind label %118

116:                                              ; preds = %3
  store i32 %115, ptr %10, align 4, !tbaa !9
  %117 = load i32, ptr %10, align 4, !tbaa !9
  switch i32 %117, label %343 [
    i32 1, label %122
    i32 0, label %268
    i32 2, label %269
  ]

118:                                              ; preds = %270, %196, %123, %3
  %119 = landingpad { ptr, i32 }
          cleanup
  %120 = extractvalue { ptr, i32 } %119, 0
  store ptr %120, ptr %12, align 8
  %121 = extractvalue { ptr, i32 } %119, 1
  store i32 %121, ptr %13, align 4
  br label %734

122:                                              ; preds = %116
  br label %123

123:                                              ; preds = %122
  %124 = load ptr, ptr %5, align 8, !tbaa !5
  %125 = invoke noundef zeroext i1 @_ZN4dali12_GLOBAL__N_112AllInputsCPUERKNS_6OpSpecE(ptr noundef nonnull align 8 dereferenceable(328) %124)
          to label %126 unwind label %118

126:                                              ; preds = %123
  br i1 %125, label %193, label %127

127:                                              ; preds = %126
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %17) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %17)
          to label %128 unwind label %141

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

129:                                              ; preds = %128
  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.12)
          to label %130 unwind label %149

130:                                              ; preds = %129
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #6
  %131 = load ptr, ptr %7, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef %131, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %132 unwind label %155

132:                                              ; preds = %130
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef @.str.13, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %133 unwind label %159

133:                                              ; preds = %132
  %134 = 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) %20)
          to label %135 unwind label %163

135:                                              ; preds = %133
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #6
  store i1 true, ptr %25, align 1
  %136 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #6
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %21, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %137 unwind label %168

137:                                              ; preds = %135
  call void @llvm.lifetime.start.p0(i64 1, ptr %23) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef @.str.14, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %138 unwind label %172

138:                                              ; preds = %137
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %24)
          to label %139 unwind label %176

139:                                              ; preds = %138
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %136, ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef %22, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %140 unwind label %180

140:                                              ; preds = %139
  store i1 false, ptr %25, align 1
  invoke void @__cxa_throw(ptr %136, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %740 unwind label %180

141:                                              ; preds = %127
  %142 = landingpad { ptr, i32 }
          cleanup
  %143 = extractvalue { ptr, i32 } %142, 0
  store ptr %143, ptr %12, align 8
  %144 = extractvalue { ptr, i32 } %142, 1
  store i32 %144, ptr %13, align 4
  br label %154

145:                                              ; preds = %128
  %146 = landingpad { ptr, i32 }
          cleanup
  %147 = extractvalue { ptr, i32 } %146, 0
  store ptr %147, ptr %12, align 8
  %148 = extractvalue { ptr, i32 } %146, 1
  store i32 %148, ptr %13, align 4
  br label %153

149:                                              ; preds = %129
  %150 = landingpad { ptr, i32 }
          cleanup
  %151 = extractvalue { ptr, i32 } %150, 0
  store ptr %151, ptr %12, align 8
  %152 = extractvalue { ptr, i32 } %150, 1
  store i32 %152, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %153

153:                                              ; preds = %149, %145
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  br label %154

154:                                              ; preds = %153, %141
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #6
  br label %192

155:                                              ; preds = %130
  %156 = landingpad { ptr, i32 }
          cleanup
  %157 = extractvalue { ptr, i32 } %156, 0
  store ptr %157, ptr %12, align 8
  %158 = extractvalue { ptr, i32 } %156, 1
  store i32 %158, ptr %13, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #6
  br label %191

159:                                              ; preds = %132
  %160 = landingpad { ptr, i32 }
          cleanup
  %161 = extractvalue { ptr, i32 } %160, 0
  store ptr %161, ptr %12, align 8
  %162 = extractvalue { ptr, i32 } %160, 1
  store i32 %162, ptr %13, align 4
  br label %167

163:                                              ; preds = %133
  %164 = landingpad { ptr, i32 }
          cleanup
  %165 = extractvalue { ptr, i32 } %164, 0
  store ptr %165, ptr %12, align 8
  %166 = extractvalue { ptr, i32 } %164, 1
  store i32 %166, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %167

167:                                              ; preds = %163, %159
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #6
  br label %190

168:                                              ; preds = %135
  %169 = landingpad { ptr, i32 }
          cleanup
  %170 = extractvalue { ptr, i32 } %169, 0
  store ptr %170, ptr %12, align 8
  %171 = extractvalue { ptr, i32 } %169, 1
  store i32 %171, ptr %13, align 4
  br label %186

172:                                              ; preds = %137
  %173 = landingpad { ptr, i32 }
          cleanup
  %174 = extractvalue { ptr, i32 } %173, 0
  store ptr %174, ptr %12, align 8
  %175 = extractvalue { ptr, i32 } %173, 1
  store i32 %175, ptr %13, align 4
  br label %185

176:                                              ; preds = %138
  %177 = landingpad { ptr, i32 }
          cleanup
  %178 = extractvalue { ptr, i32 } %177, 0
  store ptr %178, ptr %12, align 8
  %179 = extractvalue { ptr, i32 } %177, 1
  store i32 %179, ptr %13, align 4
  br label %184

180:                                              ; preds = %140, %139
  %181 = landingpad { ptr, i32 }
          cleanup
  %182 = extractvalue { ptr, i32 } %181, 0
  store ptr %182, ptr %12, align 8
  %183 = extractvalue { ptr, i32 } %181, 1
  store i32 %183, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  br label %184

184:                                              ; preds = %180, %176
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %185

185:                                              ; preds = %184, %172
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %186

186:                                              ; preds = %185, %168
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #6
  %187 = load i1, ptr %25, align 1
  br i1 %187, label %188, label %189

188:                                              ; preds = %186
  call void @__cxa_free_exception(ptr %136) #6
  br label %189

189:                                              ; preds = %188, %186
  br label %190

190:                                              ; preds = %189, %167
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %191

191:                                              ; preds = %190, %155
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  br label %192

192:                                              ; preds = %191, %154
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #6
  br label %734

193:                                              ; preds = %126
  br label %194

194:                                              ; preds = %193
  br label %195

195:                                              ; preds = %194
  br label %196

196:                                              ; preds = %195
  %197 = load ptr, ptr %5, align 8, !tbaa !5
  %198 = invoke noundef zeroext i1 @_ZN4dali12_GLOBAL__N_113AllOutputsCPUERKNS_6OpSpecE(ptr noundef nonnull align 8 dereferenceable(328) %197)
          to label %199 unwind label %118

199:                                              ; preds = %196
  br i1 %198, label %265, label %200

200:                                              ; preds = %199
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %29) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %29)
          to label %201 unwind label %213

201:                                              ; preds = %200
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef @.str.15)
          to label %202 unwind label %217

202:                                              ; preds = %201
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef @.str.12)
          to label %203 unwind label %221

203:                                              ; preds = %202
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef @.str.16, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %204 unwind label %227

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

205:                                              ; preds = %204
  %206 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %207 unwind label %235

207:                                              ; preds = %205
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #6
  store i1 true, ptr %37, align 1
  %208 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %33) #6
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %209 unwind label %240

209:                                              ; preds = %207
  call void @llvm.lifetime.start.p0(i64 1, ptr %35) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef @.str.17, ptr noundef nonnull align 1 dereferenceable(1) %35)
          to label %210 unwind label %244

210:                                              ; preds = %209
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %36)
          to label %211 unwind label %248

211:                                              ; preds = %210
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %208, ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef %34, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %212 unwind label %252

212:                                              ; preds = %211
  store i1 false, ptr %37, align 1
  invoke void @__cxa_throw(ptr %208, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %740 unwind label %252

213:                                              ; preds = %200
  %214 = landingpad { ptr, i32 }
          cleanup
  %215 = extractvalue { ptr, i32 } %214, 0
  store ptr %215, ptr %12, align 8
  %216 = extractvalue { ptr, i32 } %214, 1
  store i32 %216, ptr %13, align 4
  br label %226

217:                                              ; preds = %201
  %218 = landingpad { ptr, i32 }
          cleanup
  %219 = extractvalue { ptr, i32 } %218, 0
  store ptr %219, ptr %12, align 8
  %220 = extractvalue { ptr, i32 } %218, 1
  store i32 %220, ptr %13, align 4
  br label %225

221:                                              ; preds = %202
  %222 = landingpad { ptr, i32 }
          cleanup
  %223 = extractvalue { ptr, i32 } %222, 0
  store ptr %223, ptr %12, align 8
  %224 = extractvalue { ptr, i32 } %222, 1
  store i32 %224, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  br label %225

225:                                              ; preds = %221, %217
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  br label %226

226:                                              ; preds = %225, %213
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #6
  br label %264

227:                                              ; preds = %203
  %228 = landingpad { ptr, i32 }
          cleanup
  %229 = extractvalue { ptr, i32 } %228, 0
  store ptr %229, ptr %12, align 8
  %230 = extractvalue { ptr, i32 } %228, 1
  store i32 %230, ptr %13, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #6
  br label %263

231:                                              ; preds = %204
  %232 = landingpad { ptr, i32 }
          cleanup
  %233 = extractvalue { ptr, i32 } %232, 0
  store ptr %233, ptr %12, align 8
  %234 = extractvalue { ptr, i32 } %232, 1
  store i32 %234, ptr %13, align 4
  br label %239

235:                                              ; preds = %205
  %236 = landingpad { ptr, i32 }
          cleanup
  %237 = extractvalue { ptr, i32 } %236, 0
  store ptr %237, ptr %12, align 8
  %238 = extractvalue { ptr, i32 } %236, 1
  store i32 %238, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br label %239

239:                                              ; preds = %235, %231
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #6
  br label %262

240:                                              ; preds = %207
  %241 = landingpad { ptr, i32 }
          cleanup
  %242 = extractvalue { ptr, i32 } %241, 0
  store ptr %242, ptr %12, align 8
  %243 = extractvalue { ptr, i32 } %241, 1
  store i32 %243, ptr %13, align 4
  br label %258

244:                                              ; preds = %209
  %245 = landingpad { ptr, i32 }
          cleanup
  %246 = extractvalue { ptr, i32 } %245, 0
  store ptr %246, ptr %12, align 8
  %247 = extractvalue { ptr, i32 } %245, 1
  store i32 %247, ptr %13, align 4
  br label %257

248:                                              ; preds = %210
  %249 = landingpad { ptr, i32 }
          cleanup
  %250 = extractvalue { ptr, i32 } %249, 0
  store ptr %250, ptr %12, align 8
  %251 = extractvalue { ptr, i32 } %249, 1
  store i32 %251, ptr %13, align 4
  br label %256

252:                                              ; preds = %212, %211
  %253 = landingpad { ptr, i32 }
          cleanup
  %254 = extractvalue { ptr, i32 } %253, 0
  store ptr %254, ptr %12, align 8
  %255 = extractvalue { ptr, i32 } %253, 1
  store i32 %255, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %256

256:                                              ; preds = %252, %248
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br label %257

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

258:                                              ; preds = %257, %240
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #6
  %259 = load i1, ptr %37, align 1
  br i1 %259, label %260, label %261

260:                                              ; preds = %258
  call void @__cxa_free_exception(ptr %208) #6
  br label %261

261:                                              ; preds = %260, %258
  br label %262

262:                                              ; preds = %261, %239
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %263

263:                                              ; preds = %262, %227
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %264

264:                                              ; preds = %263, %226
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #6
  br label %734

265:                                              ; preds = %199
  br label %266

266:                                              ; preds = %265
  br label %267

267:                                              ; preds = %266
  br label %383

268:                                              ; preds = %116
  br label %383

269:                                              ; preds = %116
  br label %270

270:                                              ; preds = %269
  %271 = load ptr, ptr %5, align 8, !tbaa !5
  %272 = invoke noundef zeroext i1 @_ZN4dali12_GLOBAL__N_112AllInputsCPUERKNS_6OpSpecE(ptr noundef nonnull align 8 dereferenceable(328) %271)
          to label %273 unwind label %118

273:                                              ; preds = %270
  br i1 %272, label %340, label %274

274:                                              ; preds = %273
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %41) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %275 unwind label %288

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

276:                                              ; preds = %275
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %38, ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef @.str.12)
          to label %277 unwind label %296

277:                                              ; preds = %276
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %42) #6
  %278 = load ptr, ptr %7, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef %278, ptr noundef nonnull align 1 dereferenceable(1) %43)
          to label %279 unwind label %302

279:                                              ; preds = %277
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef @.str.13, ptr noundef nonnull align 8 dereferenceable(32) %42)
          to label %280 unwind label %306

280:                                              ; preds = %279
  %281 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %282 unwind label %310

282:                                              ; preds = %280
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  store i1 true, ptr %49, align 1
  %283 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #6
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %284 unwind label %315

284:                                              ; preds = %282
  call void @llvm.lifetime.start.p0(i64 1, ptr %47) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #6
  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 %285 unwind label %319

285:                                              ; preds = %284
  call void @llvm.lifetime.start.p0(i64 32, ptr %48) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %48)
          to label %286 unwind label %323

286:                                              ; preds = %285
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %283, ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef %46, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %287 unwind label %327

287:                                              ; preds = %286
  store i1 false, ptr %49, align 1
  invoke void @__cxa_throw(ptr %283, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %740 unwind label %327

288:                                              ; preds = %274
  %289 = landingpad { ptr, i32 }
          cleanup
  %290 = extractvalue { ptr, i32 } %289, 0
  store ptr %290, ptr %12, align 8
  %291 = extractvalue { ptr, i32 } %289, 1
  store i32 %291, ptr %13, align 4
  br label %301

292:                                              ; preds = %275
  %293 = landingpad { ptr, i32 }
          cleanup
  %294 = extractvalue { ptr, i32 } %293, 0
  store ptr %294, ptr %12, align 8
  %295 = extractvalue { ptr, i32 } %293, 1
  store i32 %295, ptr %13, align 4
  br label %300

296:                                              ; preds = %276
  %297 = landingpad { ptr, i32 }
          cleanup
  %298 = extractvalue { ptr, i32 } %297, 0
  store ptr %298, ptr %12, align 8
  %299 = extractvalue { ptr, i32 } %297, 1
  store i32 %299, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %300

300:                                              ; preds = %296, %292
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  br label %301

301:                                              ; preds = %300, %288
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  br label %339

302:                                              ; preds = %277
  %303 = landingpad { ptr, i32 }
          cleanup
  %304 = extractvalue { ptr, i32 } %303, 0
  store ptr %304, ptr %12, align 8
  %305 = extractvalue { ptr, i32 } %303, 1
  store i32 %305, ptr %13, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #6
  br label %338

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

310:                                              ; preds = %280
  %311 = landingpad { ptr, i32 }
          cleanup
  %312 = extractvalue { ptr, i32 } %311, 0
  store ptr %312, ptr %12, align 8
  %313 = extractvalue { ptr, i32 } %311, 1
  store i32 %313, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  br label %314

314:                                              ; preds = %310, %306
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  br label %337

315:                                              ; preds = %282
  %316 = landingpad { ptr, i32 }
          cleanup
  %317 = extractvalue { ptr, i32 } %316, 0
  store ptr %317, ptr %12, align 8
  %318 = extractvalue { ptr, i32 } %316, 1
  store i32 %318, ptr %13, align 4
  br label %333

319:                                              ; preds = %284
  %320 = landingpad { ptr, i32 }
          cleanup
  %321 = extractvalue { ptr, i32 } %320, 0
  store ptr %321, ptr %12, align 8
  %322 = extractvalue { ptr, i32 } %320, 1
  store i32 %322, ptr %13, align 4
  br label %332

323:                                              ; preds = %285
  %324 = landingpad { ptr, i32 }
          cleanup
  %325 = extractvalue { ptr, i32 } %324, 0
  store ptr %325, ptr %12, align 8
  %326 = extractvalue { ptr, i32 } %324, 1
  store i32 %326, ptr %13, align 4
  br label %331

327:                                              ; preds = %287, %286
  %328 = landingpad { ptr, i32 }
          cleanup
  %329 = extractvalue { ptr, i32 } %328, 0
  store ptr %329, ptr %12, align 8
  %330 = extractvalue { ptr, i32 } %328, 1
  store i32 %330, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  br label %331

331:                                              ; preds = %327, %323
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %332

332:                                              ; preds = %331, %319
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  br label %333

333:                                              ; preds = %332, %315
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #6
  %334 = load i1, ptr %49, align 1
  br i1 %334, label %335, label %336

335:                                              ; preds = %333
  call void @__cxa_free_exception(ptr %283) #6
  br label %336

336:                                              ; preds = %335, %333
  br label %337

337:                                              ; preds = %336, %314
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  br label %338

338:                                              ; preds = %337, %302
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %339

339:                                              ; preds = %338, %301
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  br label %734

340:                                              ; preds = %273
  br label %341

341:                                              ; preds = %340
  br label %342

342:                                              ; preds = %341
  br label %383

343:                                              ; preds = %116
  store i1 true, ptr %56, align 1
  %344 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef @.str.19, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %345 unwind label %351

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

346:                                              ; preds = %345
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %347 unwind label %359

347:                                              ; preds = %346
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %348 unwind label %363

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

349:                                              ; preds = %348
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %344, ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef %53, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %350 unwind label %371

350:                                              ; preds = %349
  store i1 false, ptr %56, align 1
  invoke void @__cxa_throw(ptr %344, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %740 unwind label %371

351:                                              ; preds = %343
  %352 = landingpad { ptr, i32 }
          cleanup
  %353 = extractvalue { ptr, i32 } %352, 0
  store ptr %353, ptr %12, align 8
  %354 = extractvalue { ptr, i32 } %352, 1
  store i32 %354, ptr %13, align 4
  br label %379

355:                                              ; preds = %345
  %356 = landingpad { ptr, i32 }
          cleanup
  %357 = extractvalue { ptr, i32 } %356, 0
  store ptr %357, ptr %12, align 8
  %358 = extractvalue { ptr, i32 } %356, 1
  store i32 %358, ptr %13, align 4
  br label %378

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

363:                                              ; preds = %347
  %364 = landingpad { ptr, i32 }
          cleanup
  %365 = extractvalue { ptr, i32 } %364, 0
  store ptr %365, ptr %12, align 8
  %366 = extractvalue { ptr, i32 } %364, 1
  store i32 %366, ptr %13, align 4
  br label %376

367:                                              ; preds = %348
  %368 = landingpad { ptr, i32 }
          cleanup
  %369 = extractvalue { ptr, i32 } %368, 0
  store ptr %369, ptr %12, align 8
  %370 = extractvalue { ptr, i32 } %368, 1
  store i32 %370, ptr %13, align 4
  br label %375

371:                                              ; preds = %350, %349
  %372 = landingpad { ptr, i32 }
          cleanup
  %373 = extractvalue { ptr, i32 } %372, 0
  store ptr %373, ptr %12, align 8
  %374 = extractvalue { ptr, i32 } %372, 1
  store i32 %374, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  br label %375

375:                                              ; preds = %371, %367
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %376

376:                                              ; preds = %375, %363
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  br label %377

377:                                              ; preds = %376, %359
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %378

378:                                              ; preds = %377, %355
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  br label %379

379:                                              ; preds = %378, %351
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #6
  %380 = load i1, ptr %56, align 1
  br i1 %380, label %381, label %382

381:                                              ; preds = %379
  call void @__cxa_free_exception(ptr %344) #6
  br label %382

382:                                              ; preds = %381, %379
  br label %734

383:                                              ; preds = %342, %268, %267
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #6
  %384 = load i32, ptr %10, align 4, !tbaa !9
  %385 = load ptr, ptr %5, align 8, !tbaa !5
  %386 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull align 8 dereferenceable(32) %386)
          to label %387 unwind label %397

387:                                              ; preds = %383
  %388 = invoke noundef nonnull align 8 dereferenceable(576) ptr @_ZN4dali7OpGraph10PlaceNewOpENS_6OpTypeERKNS_6OpSpecENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(217) %99, i32 noundef %384, ptr noundef nonnull align 8 dereferenceable(328) %385, ptr noundef %58)
          to label %389 unwind label %401

389:                                              ; preds = %387
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  store ptr %388, ptr %57, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #6
  store i32 0, ptr %59, align 4, !tbaa !11
  br label %390

390:                                              ; preds = %557, %389
  %391 = load i32, ptr %59, align 4, !tbaa !11
  %392 = load ptr, ptr %5, align 8, !tbaa !5
  %393 = invoke noundef i32 @_ZNK4dali6OpSpec8NumInputEv(ptr noundef nonnull align 8 dereferenceable(328) %392)
          to label %394 unwind label %405

394:                                              ; preds = %390
  %395 = icmp slt i32 %391, %393
  br i1 %395, label %409, label %396

396:                                              ; preds = %394
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #6
  br label %576

397:                                              ; preds = %383
  %398 = landingpad { ptr, i32 }
          cleanup
  %399 = extractvalue { ptr, i32 } %398, 0
  store ptr %399, ptr %12, align 8
  %400 = extractvalue { ptr, i32 } %398, 1
  store i32 %400, ptr %13, align 4
  br label %733

401:                                              ; preds = %387
  %402 = landingpad { ptr, i32 }
          cleanup
  %403 = extractvalue { ptr, i32 } %402, 0
  store ptr %403, ptr %12, align 8
  %404 = extractvalue { ptr, i32 } %402, 1
  store i32 %404, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br label %733

405:                                              ; preds = %390
  %406 = landingpad { ptr, i32 }
          cleanup
  %407 = extractvalue { ptr, i32 } %406, 0
  store ptr %407, ptr %12, align 8
  %408 = extractvalue { ptr, i32 } %406, 1
  store i32 %408, ptr %13, align 4
  br label %575

409:                                              ; preds = %394
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #6
  %410 = getelementptr inbounds %"class.dali::OpGraph", ptr %99, i32 0, i32 3
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #6
  %411 = load ptr, ptr %5, align 8, !tbaa !5
  %412 = load i32, ptr %59, align 4, !tbaa !11
  invoke void @_ZNK4dali6OpSpec5InputB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull align 8 dereferenceable(328) %411, i32 noundef %412)
          to label %413 unwind label %438

413:                                              ; preds = %409
  %414 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElSt4lessIvESaISt4pairIKS5_lEEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %410, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %415 unwind label %442

415:                                              ; preds = %413
  %416 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %60, i32 0, i32 0
  store ptr %414, ptr %416, align 8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #6
  br label %417

417:                                              ; preds = %415
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #6
  %418 = getelementptr inbounds %"class.dali::OpGraph", ptr %99, i32 0, i32 3
  %419 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElSt4lessIvESaISt4pairIKS5_lEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %418) #6
  %420 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %62, i32 0, i32 0
  store ptr %419, ptr %420, align 8
  %421 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEESB_(ptr noundef nonnull align 8 dereferenceable(8) %60, ptr noundef nonnull align 8 dereferenceable(8) %62) #6
  %422 = xor i1 %421, true
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #6
  br i1 %422, label %423, label %504

423:                                              ; preds = %417
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %65) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %66) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %66)
          to label %424 unwind label %447

424:                                              ; preds = %423
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef @.str.22)
          to label %425 unwind label %451

425:                                              ; preds = %424
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef @.str.12)
          to label %426 unwind label %455

426:                                              ; preds = %425
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #6
  %427 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %68, ptr noundef @.str.23, ptr noundef nonnull align 8 dereferenceable(32) %427)
          to label %428 unwind label %461

428:                                              ; preds = %426
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %67, ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef @.str.24)
          to label %429 unwind label %465

429:                                              ; preds = %428
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %69) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %69, ptr noundef @.str.13, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %430 unwind label %470

430:                                              ; preds = %429
  %431 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(32) %69)
          to label %432 unwind label %474

432:                                              ; preds = %430
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #6
  store i1 true, ptr %74, align 1
  %433 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #6
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %70, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %434 unwind label %479

434:                                              ; preds = %432
  call void @llvm.lifetime.start.p0(i64 1, ptr %72) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef @.str.25, ptr noundef nonnull align 1 dereferenceable(1) %72)
          to label %435 unwind label %483

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

436:                                              ; preds = %435
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %433, ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef %71, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %437 unwind label %491

437:                                              ; preds = %436
  store i1 false, ptr %74, align 1
  invoke void @__cxa_throw(ptr %433, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %740 unwind label %491

438:                                              ; preds = %409
  %439 = landingpad { ptr, i32 }
          cleanup
  %440 = extractvalue { ptr, i32 } %439, 0
  store ptr %440, ptr %12, align 8
  %441 = extractvalue { ptr, i32 } %439, 1
  store i32 %441, ptr %13, align 4
  br label %446

442:                                              ; preds = %413
  %443 = landingpad { ptr, i32 }
          cleanup
  %444 = extractvalue { ptr, i32 } %443, 0
  store ptr %444, ptr %12, align 8
  %445 = extractvalue { ptr, i32 } %443, 1
  store i32 %445, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  br label %446

446:                                              ; preds = %442, %438
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #6
  br label %574

447:                                              ; preds = %423
  %448 = landingpad { ptr, i32 }
          cleanup
  %449 = extractvalue { ptr, i32 } %448, 0
  store ptr %449, ptr %12, align 8
  %450 = extractvalue { ptr, i32 } %448, 1
  store i32 %450, ptr %13, align 4
  br label %460

451:                                              ; preds = %424
  %452 = landingpad { ptr, i32 }
          cleanup
  %453 = extractvalue { ptr, i32 } %452, 0
  store ptr %453, ptr %12, align 8
  %454 = extractvalue { ptr, i32 } %452, 1
  store i32 %454, ptr %13, align 4
  br label %459

455:                                              ; preds = %425
  %456 = landingpad { ptr, i32 }
          cleanup
  %457 = extractvalue { ptr, i32 } %456, 0
  store ptr %457, ptr %12, align 8
  %458 = extractvalue { ptr, i32 } %456, 1
  store i32 %458, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  br label %459

459:                                              ; preds = %455, %451
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  br label %460

460:                                              ; preds = %459, %447
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #6
  br label %503

461:                                              ; preds = %426
  %462 = landingpad { ptr, i32 }
          cleanup
  %463 = extractvalue { ptr, i32 } %462, 0
  store ptr %463, ptr %12, align 8
  %464 = extractvalue { ptr, i32 } %462, 1
  store i32 %464, ptr %13, align 4
  br label %469

465:                                              ; preds = %428
  %466 = landingpad { ptr, i32 }
          cleanup
  %467 = extractvalue { ptr, i32 } %466, 0
  store ptr %467, ptr %12, align 8
  %468 = extractvalue { ptr, i32 } %466, 1
  store i32 %468, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  br label %469

469:                                              ; preds = %465, %461
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #6
  br label %502

470:                                              ; preds = %429
  %471 = landingpad { ptr, i32 }
          cleanup
  %472 = extractvalue { ptr, i32 } %471, 0
  store ptr %472, ptr %12, align 8
  %473 = extractvalue { ptr, i32 } %471, 1
  store i32 %473, ptr %13, align 4
  br label %478

474:                                              ; preds = %430
  %475 = landingpad { ptr, i32 }
          cleanup
  %476 = extractvalue { ptr, i32 } %475, 0
  store ptr %476, ptr %12, align 8
  %477 = extractvalue { ptr, i32 } %475, 1
  store i32 %477, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  br label %478

478:                                              ; preds = %474, %470
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #6
  br label %501

479:                                              ; preds = %432
  %480 = landingpad { ptr, i32 }
          cleanup
  %481 = extractvalue { ptr, i32 } %480, 0
  store ptr %481, ptr %12, align 8
  %482 = extractvalue { ptr, i32 } %480, 1
  store i32 %482, ptr %13, align 4
  br label %497

483:                                              ; preds = %434
  %484 = landingpad { ptr, i32 }
          cleanup
  %485 = extractvalue { ptr, i32 } %484, 0
  store ptr %485, ptr %12, align 8
  %486 = extractvalue { ptr, i32 } %484, 1
  store i32 %486, ptr %13, align 4
  br label %496

487:                                              ; preds = %435
  %488 = landingpad { ptr, i32 }
          cleanup
  %489 = extractvalue { ptr, i32 } %488, 0
  store ptr %489, ptr %12, align 8
  %490 = extractvalue { ptr, i32 } %488, 1
  store i32 %490, ptr %13, align 4
  br label %495

491:                                              ; preds = %437, %436
  %492 = landingpad { ptr, i32 }
          cleanup
  %493 = extractvalue { ptr, i32 } %492, 0
  store ptr %493, ptr %12, align 8
  %494 = extractvalue { ptr, i32 } %492, 1
  store i32 %494, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %495

495:                                              ; preds = %491, %487
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  br label %496

496:                                              ; preds = %495, %483
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %72) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  br label %497

497:                                              ; preds = %496, %479
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #6
  %498 = load i1, ptr %74, align 1
  br i1 %498, label %499, label %500

499:                                              ; preds = %497
  call void @__cxa_free_exception(ptr %433) #6
  br label %500

500:                                              ; preds = %499, %497
  br label %501

501:                                              ; preds = %500, %478
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  br label %502

502:                                              ; preds = %501, %469
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %503

503:                                              ; preds = %502, %460
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #6
  br label %574

504:                                              ; preds = %417
  br label %505

505:                                              ; preds = %504
  br label %506

506:                                              ; preds = %505
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #6
  %507 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60) #6
  %508 = getelementptr inbounds %"struct.std::pair", ptr %507, i32 0, i32 1
  %509 = load i64, ptr %508, align 8, !tbaa !13
  store i64 %509, ptr %75, align 8, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #6
  %510 = getelementptr inbounds %"class.dali::OpGraph", ptr %99, i32 0, i32 1
  %511 = load i64, ptr %75, align 8, !tbaa !18
  %512 = call noundef nonnull align 8 dereferenceable(96) ptr @_ZNSt6vectorIN4dali10TensorNodeESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %510, i64 noundef %511) #6
  %513 = getelementptr inbounds %"struct.dali::TensorNode", ptr %512, i32 0, i32 3
  %514 = getelementptr inbounds %"struct.dali::TensorMeta", ptr %513, i32 0, i32 0
  %515 = load i64, ptr %514, align 8, !tbaa !19
  store i64 %515, ptr %76, align 8, !tbaa !18
  %516 = load ptr, ptr %57, align 8, !tbaa !5
  %517 = getelementptr inbounds %"struct.dali::OpNode", ptr %516, i32 0, i32 5
  %518 = invoke { ptr, i8 } @_ZNSt3setIlSt4lessIlESaIlEE6insertERKl(ptr noundef nonnull align 8 dereferenceable(48) %517, ptr noundef nonnull align 8 dereferenceable(8) %76)
          to label %519 unwind label %560

519:                                              ; preds = %506
  %520 = getelementptr inbounds { ptr, i8 }, ptr %77, i32 0, i32 0
  %521 = extractvalue { ptr, i8 } %518, 0
  store ptr %521, ptr %520, align 8
  %522 = getelementptr inbounds { ptr, i8 }, ptr %77, i32 0, i32 1
  %523 = extractvalue { ptr, i8 } %518, 1
  store i8 %523, ptr %522, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #6
  %524 = load i64, ptr %76, align 8, !tbaa !18
  %525 = invoke noundef nonnull align 8 dereferenceable(576) ptr @_ZN4dali7OpGraph4NodeEl(ptr noundef nonnull align 8 dereferenceable(217) %99, i64 noundef %524)
          to label %526 unwind label %564

526:                                              ; preds = %519
  store ptr %525, ptr %78, align 8, !tbaa !5
  %527 = load ptr, ptr %78, align 8, !tbaa !5
  %528 = getelementptr inbounds %"struct.dali::OpNode", ptr %527, i32 0, i32 6
  %529 = load ptr, ptr %57, align 8, !tbaa !5
  %530 = getelementptr inbounds %"struct.dali::OpNode", ptr %529, i32 0, i32 3
  %531 = invoke { ptr, i8 } @_ZNSt3setIlSt4lessIlESaIlEE6insertERKl(ptr noundef nonnull align 8 dereferenceable(48) %528, ptr noundef nonnull align 8 dereferenceable(8) %530)
          to label %532 unwind label %564

532:                                              ; preds = %526
  %533 = getelementptr inbounds { ptr, i8 }, ptr %79, i32 0, i32 0
  %534 = extractvalue { ptr, i8 } %531, 0
  store ptr %534, ptr %533, align 8
  %535 = getelementptr inbounds { ptr, i8 }, ptr %79, i32 0, i32 1
  %536 = extractvalue { ptr, i8 } %531, 1
  store i8 %536, ptr %535, align 8
  %537 = load ptr, ptr %57, align 8, !tbaa !5
  %538 = getelementptr inbounds %"struct.dali::OpNode", ptr %537, i32 0, i32 7
  invoke void @_ZNSt6vectorIlSaIlEE9push_backERKl(ptr noundef nonnull align 8 dereferenceable(24) %538, ptr noundef nonnull align 8 dereferenceable(8) %75)
          to label %539 unwind label %564

539:                                              ; preds = %532
  call void @llvm.lifetime.start.p0(i64 24, ptr %80) #6
  %540 = load ptr, ptr %57, align 8, !tbaa !5
  %541 = getelementptr inbounds %"struct.dali::OpNode", ptr %540, i32 0, i32 3
  %542 = load i64, ptr %541, align 8, !tbaa !27
  %543 = getelementptr inbounds %"struct.dali::TensorMeta", ptr %80, i32 0, i32 0
  store i64 %542, ptr %543, align 8, !tbaa !75
  %544 = load i32, ptr %59, align 4, !tbaa !11
  %545 = sext i32 %544 to i64
  %546 = getelementptr inbounds %"struct.dali::TensorMeta", ptr %80, i32 0, i32 1
  store i64 %545, ptr %546, align 8, !tbaa !76
  %547 = load ptr, ptr %5, align 8, !tbaa !5
  %548 = load i32, ptr %59, align 4, !tbaa !11
  %549 = invoke noundef i32 @_ZNK4dali6OpSpec11InputDeviceEi(ptr noundef nonnull align 8 dereferenceable(328) %547, i32 noundef %548)
          to label %550 unwind label %568

550:                                              ; preds = %539
  %551 = getelementptr inbounds %"struct.dali::TensorMeta", ptr %80, i32 0, i32 2
  store i32 %549, ptr %551, align 8, !tbaa !77
  %552 = getelementptr inbounds %"class.dali::OpGraph", ptr %99, i32 0, i32 1
  %553 = load i64, ptr %75, align 8, !tbaa !18
  %554 = call noundef nonnull align 8 dereferenceable(96) ptr @_ZNSt6vectorIN4dali10TensorNodeESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %552, i64 noundef %553) #6
  %555 = getelementptr inbounds %"struct.dali::TensorNode", ptr %554, i32 0, i32 4
  invoke void @_ZNSt6vectorIN4dali10TensorMetaESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %555, ptr noundef nonnull align 8 dereferenceable(24) %80)
          to label %556 unwind label %568

556:                                              ; preds = %550
  call void @llvm.lifetime.end.p0(i64 24, ptr %80) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #6
  br label %557

557:                                              ; preds = %556
  %558 = load i32, ptr %59, align 4, !tbaa !11
  %559 = add nsw i32 %558, 1
  store i32 %559, ptr %59, align 4, !tbaa !11
  br label %390, !llvm.loop !78

560:                                              ; preds = %506
  %561 = landingpad { ptr, i32 }
          cleanup
  %562 = extractvalue { ptr, i32 } %561, 0
  store ptr %562, ptr %12, align 8
  %563 = extractvalue { ptr, i32 } %561, 1
  store i32 %563, ptr %13, align 4
  br label %573

564:                                              ; preds = %532, %526, %519
  %565 = landingpad { ptr, i32 }
          cleanup
  %566 = extractvalue { ptr, i32 } %565, 0
  store ptr %566, ptr %12, align 8
  %567 = extractvalue { ptr, i32 } %565, 1
  store i32 %567, ptr %13, align 4
  br label %572

568:                                              ; preds = %550, %539
  %569 = landingpad { ptr, i32 }
          cleanup
  %570 = extractvalue { ptr, i32 } %569, 0
  store ptr %570, ptr %12, align 8
  %571 = extractvalue { ptr, i32 } %569, 1
  store i32 %571, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %80) #6
  br label %572

572:                                              ; preds = %568, %564
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #6
  br label %573

573:                                              ; preds = %572, %560
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #6
  br label %574

574:                                              ; preds = %573, %503, %446
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #6
  br label %575

575:                                              ; preds = %574, %405
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #6
  br label %733

576:                                              ; preds = %396
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #6
  store i32 0, ptr %81, align 4, !tbaa !11
  br label %577

577:                                              ; preds = %723, %576
  %578 = load i32, ptr %81, align 4, !tbaa !11
  %579 = load ptr, ptr %5, align 8, !tbaa !5
  %580 = invoke noundef i32 @_ZNK4dali6OpSpec9NumOutputEv(ptr noundef nonnull align 8 dereferenceable(328) %579)
          to label %581 unwind label %584

581:                                              ; preds = %577
  %582 = icmp slt i32 %578, %580
  br i1 %582, label %588, label %583

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

584:                                              ; preds = %577
  %585 = landingpad { ptr, i32 }
          cleanup
  %586 = extractvalue { ptr, i32 } %585, 0
  store ptr %586, ptr %12, align 8
  %587 = extractvalue { ptr, i32 } %585, 1
  store i32 %587, ptr %13, align 4
  br label %730

588:                                              ; preds = %581
  call void @llvm.lifetime.start.p0(i64 24, ptr %82) #6
  %589 = load ptr, ptr %57, align 8, !tbaa !5
  %590 = getelementptr inbounds %"struct.dali::OpNode", ptr %589, i32 0, i32 3
  %591 = load i64, ptr %590, align 8, !tbaa !27
  %592 = getelementptr inbounds %"struct.dali::TensorMeta", ptr %82, i32 0, i32 0
  store i64 %591, ptr %592, align 8, !tbaa !75
  %593 = load i32, ptr %81, align 4, !tbaa !11
  %594 = sext i32 %593 to i64
  %595 = getelementptr inbounds %"struct.dali::TensorMeta", ptr %82, i32 0, i32 1
  store i64 %594, ptr %595, align 8, !tbaa !76
  %596 = load ptr, ptr %5, align 8, !tbaa !5
  %597 = load i32, ptr %81, align 4, !tbaa !11
  %598 = invoke noundef i32 @_ZNK4dali6OpSpec12OutputDeviceEi(ptr noundef nonnull align 8 dereferenceable(328) %596, i32 noundef %597)
          to label %599 unwind label %647

599:                                              ; preds = %588
  %600 = getelementptr inbounds %"struct.dali::TensorMeta", ptr %82, i32 0, i32 2
  store i32 %598, ptr %600, align 8, !tbaa !77
  call void @llvm.lifetime.start.p0(i64 32, ptr %83) #6
  %601 = load ptr, ptr %5, align 8, !tbaa !5
  %602 = load i32, ptr %81, align 4, !tbaa !11
  invoke void @_ZNK4dali6OpSpec6OutputB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %83, ptr noundef nonnull align 8 dereferenceable(328) %601, i32 noundef %602)
          to label %603 unwind label %651

603:                                              ; preds = %599
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #6
  %604 = invoke noundef nonnull align 8 dereferenceable(96) ptr @_ZN4dali7OpGraph14PlaceNewTensorEv(ptr noundef nonnull align 8 dereferenceable(217) %99)
          to label %605 unwind label %655

605:                                              ; preds = %603
  store ptr %604, ptr %84, align 8, !tbaa !5
  %606 = load ptr, ptr %84, align 8, !tbaa !5
  %607 = getelementptr inbounds %"struct.dali::TensorNode", ptr %606, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %607, ptr align 8 %82, i64 24, i1 false), !tbaa.struct !80
  %608 = load ptr, ptr %84, align 8, !tbaa !5
  %609 = getelementptr inbounds %"struct.dali::TensorNode", ptr %608, i32 0, i32 2
  %610 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %609, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %611 unwind label %655

611:                                              ; preds = %605
  %612 = load ptr, ptr %57, align 8, !tbaa !5
  %613 = getelementptr inbounds %"struct.dali::OpNode", ptr %612, i32 0, i32 8
  %614 = load ptr, ptr %84, align 8, !tbaa !5
  %615 = getelementptr inbounds %"struct.dali::TensorNode", ptr %614, i32 0, i32 1
  invoke void @_ZNSt6vectorIlSaIlEE9push_backERKl(ptr noundef nonnull align 8 dereferenceable(24) %613, ptr noundef nonnull align 8 dereferenceable(8) %615)
          to label %616 unwind label %655

616:                                              ; preds = %611
  call void @llvm.lifetime.start.p0(i64 16, ptr %85) #6
  %617 = getelementptr inbounds %"class.dali::OpGraph", ptr %99, i32 0, i32 3
  call void @llvm.lifetime.start.p0(i64 40, ptr %86) #6
  %618 = load ptr, ptr %84, align 8, !tbaa !5
  %619 = getelementptr inbounds %"struct.dali::TensorNode", ptr %618, i32 0, i32 1
  invoke void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEC2IRS5_RlTnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISC_SD_EEEbE4typeELb1EEEOSC_OSD_(ptr noundef nonnull align 8 dereferenceable(40) %86, ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull align 8 dereferenceable(8) %619)
          to label %620 unwind label %659

620:                                              ; preds = %616
  %621 = invoke { ptr, i8 } @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElSt4lessIvESaISt4pairIKS5_lEEE6insertEOSA_(ptr noundef nonnull align 8 dereferenceable(48) %617, ptr noundef nonnull align 8 dereferenceable(40) %86)
          to label %622 unwind label %663

622:                                              ; preds = %620
  store { ptr, i8 } %621, ptr %87, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %85, ptr align 8 %87, i64 9, i1 false)
  call void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %86) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %86) #6
  br label %623

623:                                              ; preds = %622
  %624 = getelementptr inbounds %"struct.std::pair.112", ptr %85, i32 0, i32 1
  %625 = load i8, ptr %624, align 8, !tbaa !82, !range !86, !noundef !87
  %626 = trunc i8 %625 to i1
  br i1 %626, label %720, label %627

627:                                              ; preds = %623
  call void @llvm.lifetime.start.p0(i64 32, ptr %88) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %89) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %90) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %91) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %91)
          to label %628 unwind label %668

628:                                              ; preds = %627
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %89, ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef @.str.26)
          to label %629 unwind label %672

629:                                              ; preds = %628
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %88, ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef @.str.12)
          to label %630 unwind label %676

630:                                              ; preds = %629
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %92) #6
  %631 = load ptr, ptr %57, align 8, !tbaa !5
  %632 = getelementptr inbounds %"struct.dali::OpNode", ptr %631, i32 0, i32 10
  %633 = invoke noundef i64 @_ZN4dali7OpGraph14TensorSourceIDERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(217) %99, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %634 unwind label %682

634:                                              ; preds = %630
  %635 = invoke noundef nonnull align 8 dereferenceable(576) ptr @_ZN4dali7OpGraph4NodeEl(ptr noundef nonnull align 8 dereferenceable(217) %99, i64 noundef %633)
          to label %636 unwind label %682

636:                                              ; preds = %634
  %637 = getelementptr inbounds %"struct.dali::OpNode", ptr %635, i32 0, i32 10
  invoke void @_ZN4dali11make_stringIJA11_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA24_cS7_A61_cS7_A2_cEEES7_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %92, ptr noundef nonnull align 1 dereferenceable(11) @.str.27, ptr noundef nonnull align 8 dereferenceable(32) %632, ptr noundef nonnull align 1 dereferenceable(24) @.str.28, ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull align 1 dereferenceable(61) @.str.29, ptr noundef nonnull align 8 dereferenceable(32) %637, ptr noundef nonnull align 1 dereferenceable(2) @.str.30)
          to label %638 unwind label %682

638:                                              ; preds = %636
  call void @llvm.lifetime.start.p0(i64 32, ptr %93) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %93, ptr noundef @.str.13, ptr noundef nonnull align 8 dereferenceable(32) %92)
          to label %639 unwind label %686

639:                                              ; preds = %638
  %640 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull align 8 dereferenceable(32) %93)
          to label %641 unwind label %690

641:                                              ; preds = %639
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #6
  store i1 true, ptr %98, align 1
  %642 = call ptr @__cxa_allocate_exception(i64 80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %94) #6
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %94, ptr noundef nonnull align 8 dereferenceable(32) %88)
          to label %643 unwind label %695

643:                                              ; preds = %641
  call void @llvm.lifetime.start.p0(i64 1, ptr %96) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef @.str.31, ptr noundef nonnull align 1 dereferenceable(1) %96)
          to label %644 unwind label %699

644:                                              ; preds = %643
  call void @llvm.lifetime.start.p0(i64 32, ptr %97) #6
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %97)
          to label %645 unwind label %703

645:                                              ; preds = %644
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %642, ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef %95, ptr noundef nonnull align 8 dereferenceable(32) %97)
          to label %646 unwind label %707

646:                                              ; preds = %645
  store i1 false, ptr %98, align 1
  invoke void @__cxa_throw(ptr %642, ptr @_ZTIN4dali13DALIExceptionE, ptr @_ZN4dali13DALIExceptionD2Ev) #7
          to label %740 unwind label %707

647:                                              ; preds = %588
  %648 = landingpad { ptr, i32 }
          cleanup
  %649 = extractvalue { ptr, i32 } %648, 0
  store ptr %649, ptr %12, align 8
  %650 = extractvalue { ptr, i32 } %648, 1
  store i32 %650, ptr %13, align 4
  br label %729

651:                                              ; preds = %599
  %652 = landingpad { ptr, i32 }
          cleanup
  %653 = extractvalue { ptr, i32 } %652, 0
  store ptr %653, ptr %12, align 8
  %654 = extractvalue { ptr, i32 } %652, 1
  store i32 %654, ptr %13, align 4
  br label %728

655:                                              ; preds = %611, %605, %603
  %656 = landingpad { ptr, i32 }
          cleanup
  %657 = extractvalue { ptr, i32 } %656, 0
  store ptr %657, ptr %12, align 8
  %658 = extractvalue { ptr, i32 } %656, 1
  store i32 %658, ptr %13, align 4
  br label %727

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

663:                                              ; preds = %620
  %664 = landingpad { ptr, i32 }
          cleanup
  %665 = extractvalue { ptr, i32 } %664, 0
  store ptr %665, ptr %12, align 8
  %666 = extractvalue { ptr, i32 } %664, 1
  store i32 %666, ptr %13, align 4
  call void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %86) #6
  br label %667

667:                                              ; preds = %663, %659
  call void @llvm.lifetime.end.p0(i64 40, ptr %86) #6
  br label %726

668:                                              ; preds = %627
  %669 = landingpad { ptr, i32 }
          cleanup
  %670 = extractvalue { ptr, i32 } %669, 0
  store ptr %670, ptr %12, align 8
  %671 = extractvalue { ptr, i32 } %669, 1
  store i32 %671, ptr %13, align 4
  br label %681

672:                                              ; preds = %628
  %673 = landingpad { ptr, i32 }
          cleanup
  %674 = extractvalue { ptr, i32 } %673, 0
  store ptr %674, ptr %12, align 8
  %675 = extractvalue { ptr, i32 } %673, 1
  store i32 %675, ptr %13, align 4
  br label %680

676:                                              ; preds = %629
  %677 = landingpad { ptr, i32 }
          cleanup
  %678 = extractvalue { ptr, i32 } %677, 0
  store ptr %678, ptr %12, align 8
  %679 = extractvalue { ptr, i32 } %677, 1
  store i32 %679, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  br label %680

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

681:                                              ; preds = %680, %668
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #6
  br label %719

682:                                              ; preds = %636, %634, %630
  %683 = landingpad { ptr, i32 }
          cleanup
  %684 = extractvalue { ptr, i32 } %683, 0
  store ptr %684, ptr %12, align 8
  %685 = extractvalue { ptr, i32 } %683, 1
  store i32 %685, ptr %13, align 4
  br label %718

686:                                              ; preds = %638
  %687 = landingpad { ptr, i32 }
          cleanup
  %688 = extractvalue { ptr, i32 } %687, 0
  store ptr %688, ptr %12, align 8
  %689 = extractvalue { ptr, i32 } %687, 1
  store i32 %689, ptr %13, align 4
  br label %694

690:                                              ; preds = %639
  %691 = landingpad { ptr, i32 }
          cleanup
  %692 = extractvalue { ptr, i32 } %691, 0
  store ptr %692, ptr %12, align 8
  %693 = extractvalue { ptr, i32 } %691, 1
  store i32 %693, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #6
  br label %694

694:                                              ; preds = %690, %686
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #6
  br label %717

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

699:                                              ; preds = %643
  %700 = landingpad { ptr, i32 }
          cleanup
  %701 = extractvalue { ptr, i32 } %700, 0
  store ptr %701, ptr %12, align 8
  %702 = extractvalue { ptr, i32 } %700, 1
  store i32 %702, ptr %13, align 4
  br label %712

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

707:                                              ; preds = %646, %645
  %708 = landingpad { ptr, i32 }
          cleanup
  %709 = extractvalue { ptr, i32 } %708, 0
  store ptr %709, ptr %12, align 8
  %710 = extractvalue { ptr, i32 } %708, 1
  store i32 %710, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  br label %711

711:                                              ; preds = %707, %703
  call void @llvm.lifetime.end.p0(i64 32, ptr %97) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  br label %712

712:                                              ; preds = %711, %699
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %96) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  br label %713

713:                                              ; preds = %712, %695
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #6
  %714 = load i1, ptr %98, align 1
  br i1 %714, label %715, label %716

715:                                              ; preds = %713
  call void @__cxa_free_exception(ptr %642) #6
  br label %716

716:                                              ; preds = %715, %713
  br label %717

717:                                              ; preds = %716, %694
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #6
  br label %718

718:                                              ; preds = %717, %682
  call void @llvm.lifetime.end.p0(i64 32, ptr %92) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %719

719:                                              ; preds = %718, %681
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #6
  br label %726

720:                                              ; preds = %623
  br label %721

721:                                              ; preds = %720
  br label %722

722:                                              ; preds = %721
  call void @llvm.lifetime.end.p0(i64 16, ptr %85) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %82) #6
  br label %723

723:                                              ; preds = %722
  %724 = load i32, ptr %81, align 4, !tbaa !11
  %725 = add nsw i32 %724, 1
  store i32 %725, ptr %81, align 4, !tbaa !11
  br label %577, !llvm.loop !88

726:                                              ; preds = %719, %667
  call void @llvm.lifetime.end.p0(i64 16, ptr %85) #6
  br label %727

727:                                              ; preds = %726, %655
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  br label %728

728:                                              ; preds = %727, %651
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #6
  br label %729

729:                                              ; preds = %728, %647
  call void @llvm.lifetime.end.p0(i64 24, ptr %82) #6
  br label %730

730:                                              ; preds = %729, %584
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #6
  br label %733

731:                                              ; preds = %583
  %732 = load ptr, ptr %57, align 8, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #6
  ret ptr %732

733:                                              ; preds = %730, %575, %401, %397
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #6
  br label %734

734:                                              ; preds = %733, %382, %339, %264, %192, %118
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #6
  br label %735

735:                                              ; preds = %734
  %736 = load ptr, ptr %12, align 8
  %737 = load i32, ptr %13, align 4
  %738 = insertvalue { ptr, i32 } poison, ptr %736, 0
  %739 = insertvalue { ptr, i32 } %738, i32 %737, 1
  resume { ptr, i32 } %739

740:                                              ; preds = %646, %437, %350, %287, %212, %140
  unreachable
}

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

; Function Attrs: mustprogress nounwind uwtable
declare { i64, ptr } @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEcvSt17basic_string_viewIcS2_EEv(ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(576) ptr @_ZN4dali7OpGraph10PlaceNewOpENS_6OpTypeERKNS_6OpSpecENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(217), i32 noundef, ptr noundef nonnull align 8 dereferenceable(328), ptr noundef) #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(96) ptr @_ZN4dali7OpGraph14PlaceNewTensorEv(ptr noundef nonnull align 8 dereferenceable(217)) #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN4dali12_GLOBAL__N_118CheckOpConstraintsERKNS_6OpSpecE(ptr noundef nonnull align 8 dereferenceable(328)) #2

; 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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN4dali11ParseOpTypeESt17basic_string_viewIcSt11char_traitsIcEE(i64, ptr) #2

; Function Attrs: mustprogress uwtable
declare hidden noundef zeroext i1 @_ZN4dali12_GLOBAL__N_112AllInputsCPUERKNS_6OpSpecE(ptr noundef nonnull align 8 dereferenceable(328)) #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

; 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

; Function Attrs: mustprogress uwtable
declare hidden noundef zeroext i1 @_ZN4dali12_GLOBAL__N_113AllOutputsCPUERKNS_6OpSpecE(ptr noundef nonnull align 8 dereferenceable(328)) #2

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZNSt3setIlSt4lessIlESaIlEE6insertERKl(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(576) ptr @_ZN4dali7OpGraph4NodeEl(ptr noundef nonnull align 8 dereferenceable(217), i64 noundef) #2 align 2

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElSt4lessIvESaISt4pairIKS5_lEEE6insertEOSA_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(40)) #2 align 2

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i64 @_ZN4dali7OpGraph14TensorSourceIDERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(217), ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"_ZTSN4dali6OpTypeE", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"int", !7, i64 0}
!13 = !{!14, !17, i64 32}
!14 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElE", !15, i64 0, !17, i64 32}
!15 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !16, i64 0, !17, i64 8, !7, i64 16}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!17 = !{!"long", !7, i64 0}
!18 = !{!17, !17, i64 0}
!19 = !{!20, !17, i64 48}
!20 = !{!"_ZTSN4dali10TensorNodeE", !6, i64 0, !17, i64 8, !15, i64 16, !21, i64 48, !23, i64 72}
!21 = !{!"_ZTSN4dali10TensorMetaE", !17, i64 0, !17, i64 8, !22, i64 16}
!22 = !{!"_ZTSN4dali13StorageDeviceE", !7, i64 0}
!23 = !{!"_ZTSSt6vectorIN4dali10TensorMetaESaIS1_EE", !24, i64 0}
!24 = !{!"_ZTSSt12_Vector_baseIN4dali10TensorMetaESaIS1_EE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseIN4dali10TensorMetaESaIS1_EE12_Vector_implE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIN4dali10TensorMetaESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!27 = !{!28, !17, i64 24}
!28 = !{!"_ZTSN4dali6OpNodeE", !6, i64 8, !29, i64 16, !17, i64 24, !35, i64 32, !62, i64 360, !62, i64 408, !67, i64 456, !67, i64 480, !71, i64 504, !15, i64 528, !10, i64 560, !17, i64 568}
!29 = !{!"_ZTSSt10unique_ptrIN4dali12OperatorBaseESt14default_deleteIS1_EE", !30, i64 0}
!30 = !{!"_ZTSSt15__uniq_ptr_dataIN4dali12OperatorBaseESt14default_deleteIS1_ELb1ELb1EE", !31, i64 0}
!31 = !{!"_ZTSSt15__uniq_ptr_implIN4dali12OperatorBaseESt14default_deleteIS1_EE", !32, i64 0}
!32 = !{!"_ZTSSt5tupleIJPN4dali12OperatorBaseESt14default_deleteIS1_EEE", !33, i64 0}
!33 = !{!"_ZTSSt11_Tuple_implILm0EJPN4dali12OperatorBaseESt14default_deleteIS1_EEE", !34, i64 0}
!34 = !{!"_ZTSSt10_Head_baseILm0EPN4dali12OperatorBaseELb0EE", !6, i64 0}
!35 = !{!"_ZTSN4dali6OpSpecE", !15, i64 0, !6, i64 32, !36, i64 40, !40, i64 64, !48, i64 112, !40, i64 136, !52, i64 184, !55, i64 232, !55, i64 256, !59, i64 280}
!36 = !{!"_ZTSSt6vectorISt10shared_ptrIN4dali8ArgumentEESaIS3_EE", !37, i64 0}
!37 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE", !38, i64 0}
!38 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE12_Vector_implE", !39, i64 0}
!39 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!40 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIvESaISt4pairIKS5_iEEE", !41, i64 0}
!41 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIvESaIS8_EE", !42, i64 0}
!42 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIvESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !43, i64 0, !45, i64 8}
!43 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIvEE", !44, i64 0}
!44 = !{!"_ZTSSt4lessIvE"}
!45 = !{!"_ZTSSt15_Rb_tree_header", !46, i64 0, !17, i64 32}
!46 = !{!"_ZTSSt18_Rb_tree_node_base", !47, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!47 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!48 = !{!"_ZTSSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE", !49, i64 0}
!49 = !{!"_ZTSSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE", !50, i64 0}
!50 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE12_Vector_implE", !51, i64 0}
!51 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!52 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIvESaISt4pairIKS5_S5_EEE", !53, i64 0}
!53 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIvESaIS8_EE", !54, i64 0}
!54 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIvESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !43, i64 0, !45, i64 8}
!55 = !{!"_ZTSSt6vectorIN4dali6OpSpec15InOutDeviceDescESaIS2_EE", !56, i64 0}
!56 = !{!"_ZTSSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE", !57, i64 0}
!57 = !{!"_ZTSNSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE12_Vector_implE", !58, i64 0}
!58 = !{!"_ZTSNSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!59 = !{!"_ZTSSt3mapIN4dali6OpSpec15InOutDeviceDescEiSt4lessIvESaISt4pairIKS2_iEEE", !60, i64 0}
!60 = !{!"_ZTSSt8_Rb_treeIN4dali6OpSpec15InOutDeviceDescESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIvESaIS5_EE", !61, i64 0}
!61 = !{!"_ZTSNSt8_Rb_treeIN4dali6OpSpec15InOutDeviceDescESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIvESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !43, i64 0, !45, i64 8}
!62 = !{!"_ZTSSt3setIlSt4lessIlESaIlEE", !63, i64 0}
!63 = !{!"_ZTSSt8_Rb_treeIllSt9_IdentityIlESt4lessIlESaIlEE", !64, i64 0}
!64 = !{!"_ZTSNSt8_Rb_treeIllSt9_IdentityIlESt4lessIlESaIlEE13_Rb_tree_implIS3_Lb1EEE", !65, i64 0, !45, i64 8}
!65 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIlEE", !66, i64 0}
!66 = !{!"_ZTSSt4lessIlE"}
!67 = !{!"_ZTSSt6vectorIlSaIlEE", !68, i64 0}
!68 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !69, i64 0}
!69 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !70, i64 0}
!70 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!71 = !{!"_ZTSSt6vectorIN4dali10OutputDescESaIS1_EE", !72, i64 0}
!72 = !{!"_ZTSSt12_Vector_baseIN4dali10OutputDescESaIS1_EE", !73, i64 0}
!73 = !{!"_ZTSNSt12_Vector_baseIN4dali10OutputDescESaIS1_EE12_Vector_implE", !74, i64 0}
!74 = !{!"_ZTSNSt12_Vector_baseIN4dali10OutputDescESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!75 = !{!21, !17, i64 0}
!76 = !{!21, !17, i64 8}
!77 = !{!21, !22, i64 16}
!78 = distinct !{!78, !79}
!79 = !{!"llvm.loop.mustprogress"}
!80 = !{i64 0, i64 8, !18, i64 8, i64 8, !18, i64 16, i64 4, !81}
!81 = !{!22, !22, i64 0}
!82 = !{!83, !85, i64 8}
!83 = !{!"_ZTSSt4pairISt17_Rb_tree_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEEbE", !84, i64 0, !85, i64 8}
!84 = !{!"_ZTSSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEE", !6, i64 0}
!85 = !{!"bool", !7, i64 0}
!86 = !{i8 0, i8 2}
!87 = !{}
!88 = distinct !{!88, !79}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::basic_string_view" = type { i64, ptr }
%"class.std::allocator" = type { i8 }
%"struct.std::_Rb_tree_iterator" = type { ptr }
%"struct.dali::TensorMeta" = type { i64, i64, i32 }
%"struct.std::pair" = type { %"class.std::__cxx11::basic_string", i64 }

@.str.8 = external hidden unnamed_addr constant [204 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [92 x i8], align 1
@_ZTIN4dali13DALIExceptionE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.15 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [92 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

declare void @__cxa_free_exception(ptr) local_unnamed_addr

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

; Function Attrs: mustprogress uwtable
define dso_local noundef nonnull align 8 dereferenceable(576) ptr @_ZN4dali7OpGraph5AddOpERKNS_6OpSpecERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(217) %0, ptr noundef nonnull align 8 dereferenceable(328) %1, ptr noundef nonnull align 8 dereferenceable(32) %2) local_unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::basic_string_view", align 8
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::allocator", align 1
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::allocator", align 1
  %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::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::allocator", align 1
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::allocator", align 1
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"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::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator", align 1
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::allocator", align 1
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::allocator", align 1
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::allocator", align 1
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::allocator", align 1
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::allocator", align 1
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca i64, align 8
  %61 = alloca i64, align 8
  %62 = alloca %"struct.dali::TensorMeta", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"struct.std::pair", align 8
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::__cxx11::basic_string", align 8
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::allocator", align 1
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.std::allocator", align 1
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  tail call void @_ZN4dali12_GLOBAL__N_118CheckOpConstraintsERKNS_6OpSpecE(ptr noundef nonnull align 8 dereferenceable(328) %1)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef @.str.9) #5
  %75 = load i64, ptr %5, align 8
  %76 = getelementptr inbounds i8, ptr %5, i64 8
  %77 = load ptr, ptr %76, 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 %4, ptr noundef nonnull align 8 dereferenceable(328) %1, i64 %75, ptr %77, ptr noundef null, i64 noundef 0)
  %78 = call { i64, ptr } @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEcvSt17basic_string_viewIcS2_EEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #5
  %79 = extractvalue { i64, ptr } %78, 0
  %80 = extractvalue { i64, ptr } %78, 1
  %81 = invoke noundef i32 @_ZN4dali11ParseOpTypeESt17basic_string_viewIcSt11char_traitsIcEE(i64 %79, ptr %80)
          to label %82 unwind label %83

82:                                               ; preds = %3
  switch i32 %81, label %217 [
    i32 1, label %85
    i32 0, label %239
    i32 2, label %173
  ]

83:                                               ; preds = %173, %129, %85, %3
  %84 = landingpad { ptr, i32 }
          cleanup
  br label %434

85:                                               ; preds = %82
  %86 = invoke noundef zeroext i1 @_ZN4dali12_GLOBAL__N_112AllInputsCPUERKNS_6OpSpecE(ptr noundef nonnull align 8 dereferenceable(328) %1)
          to label %87 unwind label %83

87:                                               ; preds = %85
  br i1 %86, label %129, label %88

88:                                               ; preds = %87
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %89 unwind label %101

89:                                               ; preds = %88
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %7, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull @.str.11)
          to label %90 unwind label %103

90:                                               ; preds = %89
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %6, ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @.str.12)
          to label %91 unwind label %105

91:                                               ; preds = %90
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %11) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull @.str.8, ptr noundef nonnull align 1 dereferenceable(1) %11)
          to label %92 unwind label %109

92:                                               ; preds = %91
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #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 %12, ptr noundef nonnull @.str.13, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %93 unwind label %111

93:                                               ; preds = %92
  %94 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %95 unwind label %113

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

97:                                               ; preds = %95
  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.14, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %98 unwind label %117

98:                                               ; preds = %97
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16)
          to label %99 unwind label %119

99:                                               ; preds = %98
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %96, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull %14, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %100 unwind label %121

100:                                              ; preds = %99
  invoke void @__cxa_throw(ptr nonnull %96, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %435 unwind label %121

101:                                              ; preds = %88
  %102 = landingpad { ptr, i32 }
          cleanup
  br label %108

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

105:                                              ; preds = %90
  %106 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #5
  br label %107

107:                                              ; preds = %105, %103
  %.pn158 = phi { ptr, i32 } [ %106, %105 ], [ %104, %103 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #5
  br label %108

108:                                              ; preds = %107, %101
  %.pn158.pn = phi { ptr, i32 } [ %.pn158, %107 ], [ %102, %101 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #5
  br label %128

109:                                              ; preds = %91
  %110 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #5
  br label %127

111:                                              ; preds = %92
  %112 = landingpad { ptr, i32 }
          cleanup
  br label %115

113:                                              ; preds = %93
  %114 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #5
  br label %115

115:                                              ; preds = %113, %111
  %.pn161 = phi { ptr, i32 } [ %114, %113 ], [ %112, %111 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #5
  br label %126

.thread:                                          ; preds = %95
  %116 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #5
  br label %125

117:                                              ; preds = %97
  %118 = landingpad { ptr, i32 }
          cleanup
  br label %124

119:                                              ; preds = %98
  %120 = landingpad { ptr, i32 }
          cleanup
  br label %123

121:                                              ; preds = %100, %99
  %.0123 = phi i1 [ false, %100 ], [ true, %99 ]
  %122 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  br label %123

123:                                              ; preds = %121, %119
  %.1124 = phi i1 [ %.0123, %121 ], [ true, %119 ]
  %.pn163 = phi { ptr, i32 } [ %122, %121 ], [ %120, %119 ]
  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) %14) #5
  br label %124

124:                                              ; preds = %117, %123
  %.2125 = phi i1 [ %.1124, %123 ], [ true, %117 ]
  %.pn163.pn = phi { ptr, i32 } [ %.pn163, %123 ], [ %118, %117 ]
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #5
  br i1 %.2125, label %125, label %126

125:                                              ; preds = %.thread, %124
  %.pn163.pn.pn230 = phi { ptr, i32 } [ %116, %.thread ], [ %.pn163.pn, %124 ]
  call void @__cxa_free_exception(ptr %96) #5
  br label %126

126:                                              ; preds = %124, %125, %115
  %.pn163.pn.pn.pn = phi { ptr, i32 } [ %.pn163.pn.pn230, %125 ], [ %.pn163.pn, %124 ], [ %.pn161, %115 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #5
  br label %127

127:                                              ; preds = %126, %109
  %.pn163.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn163.pn.pn.pn, %126 ], [ %110, %109 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #5
  br label %128

128:                                              ; preds = %127, %108
  %.pn163.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn163.pn.pn.pn.pn, %127 ], [ %.pn158.pn, %108 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #5
  br label %434

129:                                              ; preds = %87
  %130 = invoke noundef zeroext i1 @_ZN4dali12_GLOBAL__N_113AllOutputsCPUERKNS_6OpSpecE(ptr noundef nonnull align 8 dereferenceable(328) %1)
          to label %131 unwind label %83

131:                                              ; preds = %129
  br i1 %130, label %239, label %132

132:                                              ; preds = %131
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %133 unwind label %145

133:                                              ; preds = %132
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull @.str.15)
          to label %134 unwind label %147

134:                                              ; preds = %133
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull @.str.12)
          to label %135 unwind label %149

135:                                              ; preds = %134
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull @.str.16, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %136 unwind label %153

136:                                              ; preds = %135
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #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 %23, ptr noundef nonnull @.str.13, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %137 unwind label %155

137:                                              ; preds = %136
  %138 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %139 unwind label %157

139:                                              ; preds = %137
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #5
  %140 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %141 unwind label %.thread231

141:                                              ; preds = %139
  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.17, ptr noundef nonnull align 1 dereferenceable(1) %26)
          to label %142 unwind label %161

142:                                              ; preds = %141
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %27)
          to label %143 unwind label %163

143:                                              ; preds = %142
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %140, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull %25, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %144 unwind label %165

144:                                              ; preds = %143
  invoke void @__cxa_throw(ptr nonnull %140, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %435 unwind label %165

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

147:                                              ; preds = %133
  %148 = landingpad { ptr, i32 }
          cleanup
  br label %151

149:                                              ; preds = %134
  %150 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  br label %151

151:                                              ; preds = %149, %147
  %.pn170 = phi { ptr, i32 } [ %150, %149 ], [ %148, %147 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #5
  br label %152

152:                                              ; preds = %151, %145
  %.pn170.pn = phi { ptr, i32 } [ %.pn170, %151 ], [ %146, %145 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #5
  br label %172

153:                                              ; preds = %135
  %154 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #5
  br label %171

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

157:                                              ; preds = %137
  %158 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #5
  br label %159

159:                                              ; preds = %157, %155
  %.pn173 = phi { ptr, i32 } [ %158, %157 ], [ %156, %155 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #5
  br label %170

.thread231:                                       ; preds = %139
  %160 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #5
  br label %169

161:                                              ; preds = %141
  %162 = landingpad { ptr, i32 }
          cleanup
  br label %168

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

165:                                              ; preds = %144, %143
  %.0127 = phi i1 [ false, %144 ], [ true, %143 ]
  %166 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #5
  br label %167

167:                                              ; preds = %165, %163
  %.1128 = phi i1 [ %.0127, %165 ], [ true, %163 ]
  %.pn175 = phi { ptr, i32 } [ %166, %165 ], [ %164, %163 ]
  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) %25) #5
  br label %168

168:                                              ; preds = %161, %167
  %.2129 = phi i1 [ %.1128, %167 ], [ true, %161 ]
  %.pn175.pn = phi { ptr, i32 } [ %.pn175, %167 ], [ %162, %161 ]
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #5
  br i1 %.2129, label %169, label %170

169:                                              ; preds = %.thread231, %168
  %.pn175.pn.pn234 = phi { ptr, i32 } [ %160, %.thread231 ], [ %.pn175.pn, %168 ]
  call void @__cxa_free_exception(ptr %140) #5
  br label %170

170:                                              ; preds = %168, %169, %159
  %.pn175.pn.pn.pn = phi { ptr, i32 } [ %.pn175.pn.pn234, %169 ], [ %.pn175.pn, %168 ], [ %.pn173, %159 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #5
  br label %171

171:                                              ; preds = %170, %153
  %.pn175.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn175.pn.pn.pn, %170 ], [ %154, %153 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  br label %172

172:                                              ; preds = %171, %152
  %.pn175.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn175.pn.pn.pn.pn, %171 ], [ %.pn170.pn, %152 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #5
  br label %434

173:                                              ; preds = %82
  %174 = invoke noundef zeroext i1 @_ZN4dali12_GLOBAL__N_112AllInputsCPUERKNS_6OpSpecE(ptr noundef nonnull align 8 dereferenceable(328) %1)
          to label %175 unwind label %83

175:                                              ; preds = %173
  br i1 %174, label %239, label %176

176:                                              ; preds = %175
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %177 unwind label %189

177:                                              ; preds = %176
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.11)
          to label %178 unwind label %191

178:                                              ; preds = %177
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull @.str.12)
          to label %179 unwind label %193

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

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

181:                                              ; preds = %180
  %182 = 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 %183 unwind label %201

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

185:                                              ; preds = %183
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %37)
          to label %186 unwind label %205

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

187:                                              ; preds = %186
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %184, ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull %36, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %188 unwind label %209

188:                                              ; preds = %187
  invoke void @__cxa_throw(ptr nonnull %184, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %435 unwind label %209

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

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

193:                                              ; preds = %178
  %194 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  br label %195

195:                                              ; preds = %193, %191
  %.pn = phi { ptr, i32 } [ %194, %193 ], [ %192, %191 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  br label %196

196:                                              ; preds = %195, %189
  %.pn.pn = phi { ptr, i32 } [ %.pn, %195 ], [ %190, %189 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #5
  br label %216

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

199:                                              ; preds = %180
  %200 = landingpad { ptr, i32 }
          cleanup
  br label %203

201:                                              ; preds = %181
  %202 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #5
  br label %203

203:                                              ; preds = %201, %199
  %.pn149 = phi { ptr, i32 } [ %202, %201 ], [ %200, %199 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #5
  br label %214

.thread235:                                       ; preds = %183
  %204 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #5
  br label %213

205:                                              ; preds = %185
  %206 = landingpad { ptr, i32 }
          cleanup
  br label %212

207:                                              ; preds = %186
  %208 = landingpad { ptr, i32 }
          cleanup
  br label %211

209:                                              ; preds = %188, %187
  %.0131 = phi i1 [ false, %188 ], [ true, %187 ]
  %210 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  br label %211

211:                                              ; preds = %209, %207
  %.1132 = phi i1 [ %.0131, %209 ], [ true, %207 ]
  %.pn151 = phi { ptr, i32 } [ %210, %209 ], [ %208, %207 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #5
  br label %212

212:                                              ; preds = %205, %211
  %.2133 = phi i1 [ %.1132, %211 ], [ true, %205 ]
  %.pn151.pn = phi { ptr, i32 } [ %.pn151, %211 ], [ %206, %205 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #5
  br i1 %.2133, label %213, label %214

213:                                              ; preds = %.thread235, %212
  %.pn151.pn.pn238 = phi { ptr, i32 } [ %204, %.thread235 ], [ %.pn151.pn, %212 ]
  call void @__cxa_free_exception(ptr %184) #5
  br label %214

214:                                              ; preds = %212, %213, %203
  %.pn151.pn.pn.pn = phi { ptr, i32 } [ %.pn151.pn.pn238, %213 ], [ %.pn151.pn, %212 ], [ %.pn149, %203 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  br label %215

215:                                              ; preds = %214, %197
  %.pn151.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn151.pn.pn.pn, %214 ], [ %198, %197 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #5
  br label %216

216:                                              ; preds = %215, %196
  %.pn151.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn151.pn.pn.pn.pn, %215 ], [ %.pn.pn, %196 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #5
  br label %434

217:                                              ; preds = %82
  %218 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull @.str.19, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %219 unwind label %.thread239

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

220:                                              ; preds = %219
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %221 unwind label %227

221:                                              ; preds = %220
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %43) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %43)
          to label %222 unwind label %229

222:                                              ; preds = %221
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %44)
          to label %223 unwind label %231

223:                                              ; preds = %222
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %218, ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull %42, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %224 unwind label %233

224:                                              ; preds = %223
  invoke void @__cxa_throw(ptr nonnull %218, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %435 unwind label %233

.thread239:                                       ; preds = %217
  %225 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #5
  br label %238

.thread243:                                       ; preds = %219
  %226 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #5
  br label %238

227:                                              ; preds = %220
  %228 = landingpad { ptr, i32 }
          cleanup
  br label %237

229:                                              ; preds = %221
  %230 = landingpad { ptr, i32 }
          cleanup
  br label %236

231:                                              ; preds = %222
  %232 = landingpad { ptr, i32 }
          cleanup
  br label %235

233:                                              ; preds = %224, %223
  %.0135 = phi i1 [ false, %224 ], [ true, %223 ]
  %234 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #5
  br label %235

235:                                              ; preds = %233, %231
  %.1136 = phi i1 [ %.0135, %233 ], [ true, %231 ]
  %.pn221 = phi { ptr, i32 } [ %234, %233 ], [ %232, %231 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #5
  br label %236

236:                                              ; preds = %235, %229
  %.2137 = phi i1 [ %.1136, %235 ], [ true, %229 ]
  %.pn221.pn = phi { ptr, i32 } [ %.pn221, %235 ], [ %230, %229 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %43) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #5
  br label %237

237:                                              ; preds = %227, %236
  %.3138 = phi i1 [ %.2137, %236 ], [ true, %227 ]
  %.pn221.pn.pn = phi { ptr, i32 } [ %.pn221.pn, %236 ], [ %228, %227 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #5
  br i1 %.3138, label %238, label %434

238:                                              ; preds = %.thread243, %.thread239, %237
  %.pn221.pn.pn.pn.pn242 = phi { ptr, i32 } [ %225, %.thread239 ], [ %.pn221.pn.pn, %237 ], [ %226, %.thread243 ]
  call void @__cxa_free_exception(ptr %218) #5
  br label %434

239:                                              ; preds = %175, %82, %131
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %240 unwind label %257

240:                                              ; preds = %239
  %241 = invoke noundef nonnull align 8 dereferenceable(576) ptr @_ZN4dali7OpGraph10PlaceNewOpENS_6OpTypeERKNS_6OpSpecENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(217) %0, i32 noundef %81, ptr noundef nonnull align 8 dereferenceable(328) %1, ptr noundef nonnull %45)
          to label %242 unwind label %259

242:                                              ; preds = %240
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #5
  %243 = call noundef i32 @_ZNK4dali6OpSpec8NumInputEv(ptr noundef nonnull align 8 dereferenceable(328) %1)
  %244 = icmp sgt i32 %243, 0
  br i1 %244, label %.lr.ph, label %.preheader

.lr.ph:                                           ; preds = %242
  %245 = getelementptr inbounds i8, ptr %0, i64 72
  %246 = getelementptr inbounds i8, ptr %0, i64 24
  %247 = getelementptr inbounds i8, ptr %241, i64 360
  %248 = getelementptr inbounds i8, ptr %241, i64 24
  %249 = getelementptr inbounds i8, ptr %241, i64 456
  %250 = getelementptr inbounds i8, ptr %62, i64 8
  %251 = getelementptr inbounds i8, ptr %62, i64 16
  br label %261

.preheader:                                       ; preds = %340, %242
  %252 = call noundef i32 @_ZNK4dali6OpSpec9NumOutputEv(ptr noundef nonnull align 8 dereferenceable(328) %1)
  %253 = icmp sgt i32 %252, 0
  br i1 %253, label %.lr.ph256, label %._crit_edge

.lr.ph256:                                        ; preds = %.preheader
  %254 = getelementptr inbounds i8, ptr %241, i64 24
  %255 = getelementptr inbounds i8, ptr %241, i64 480
  %256 = getelementptr inbounds i8, ptr %0, i64 72
  br label %352

257:                                              ; preds = %239
  %258 = landingpad { ptr, i32 }
          cleanup
  br label %434

259:                                              ; preds = %240
  %260 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #5
  br label %434

261:                                              ; preds = %.lr.ph, %340
  %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %340 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #5
  %262 = trunc nuw nsw i64 %indvars.iv to i32
  invoke void @_ZNK4dali6OpSpec5InputB5cxx11Ei(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %47, ptr noundef nonnull align 8 dereferenceable(328) %1, i32 noundef %262)
          to label %263 unwind label %282

263:                                              ; preds = %261
  %264 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElSt4lessIvESaISt4pairIKS5_lEEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %245, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %265 unwind label %284

265:                                              ; preds = %263
  store ptr %264, ptr %46, align 8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #5
  %266 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElSt4lessIvESaISt4pairIKS5_lEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %245) #5
  store ptr %266, ptr %48, align 8
  %267 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEESB_(ptr noundef nonnull align 8 dereferenceable(8) %46, ptr noundef nonnull align 8 dereferenceable(8) %48) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #5
  br i1 %267, label %318, label %268

268:                                              ; preds = %265
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %269 unwind label %287

269:                                              ; preds = %268
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull @.str.22)
          to label %270 unwind label %289

270:                                              ; preds = %269
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull @.str.12)
          to label %271 unwind label %291

271:                                              ; preds = %270
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #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 %54, ptr noundef nonnull @.str.23, ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %272 unwind label %295

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

273:                                              ; preds = %272
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #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 %55, ptr noundef nonnull @.str.13, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %274 unwind label %300

274:                                              ; preds = %273
  %275 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %276 unwind label %302

276:                                              ; preds = %274
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #5
  %277 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %278 unwind label %.thread246

278:                                              ; preds = %276
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %58) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull @.str.25, ptr noundef nonnull align 1 dereferenceable(1) %58)
          to label %279 unwind label %306

279:                                              ; preds = %278
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #5
  invoke void @_ZN4dali13GetStacktraceB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %59)
          to label %280 unwind label %308

280:                                              ; preds = %279
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %277, ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull %57, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %281 unwind label %310

281:                                              ; preds = %280
  invoke void @__cxa_throw(ptr nonnull %277, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %435 unwind label %310

282:                                              ; preds = %261
  %283 = landingpad { ptr, i32 }
          cleanup
  br label %286

284:                                              ; preds = %263
  %285 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #5
  br label %286

286:                                              ; preds = %284, %282
  %.pn200 = phi { ptr, i32 } [ %285, %284 ], [ %283, %282 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #5
  br label %351

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

289:                                              ; preds = %269
  %290 = landingpad { ptr, i32 }
          cleanup
  br label %293

291:                                              ; preds = %270
  %292 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #5
  br label %293

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

294:                                              ; preds = %293, %287
  %.pn205.pn = phi { ptr, i32 } [ %.pn205, %293 ], [ %288, %287 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #5
  br label %317

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

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

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

300:                                              ; preds = %273
  %301 = landingpad { ptr, i32 }
          cleanup
  br label %304

302:                                              ; preds = %274
  %303 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #5
  br label %304

304:                                              ; preds = %302, %300
  %.pn210 = phi { ptr, i32 } [ %303, %302 ], [ %301, %300 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #5
  br label %315

.thread246:                                       ; preds = %276
  %305 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #5
  br label %314

306:                                              ; preds = %278
  %307 = landingpad { ptr, i32 }
          cleanup
  br label %313

308:                                              ; preds = %279
  %309 = landingpad { ptr, i32 }
          cleanup
  br label %312

310:                                              ; preds = %281, %280
  %.0142 = phi i1 [ false, %281 ], [ true, %280 ]
  %311 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #5
  br label %312

312:                                              ; preds = %310, %308
  %.1143 = phi i1 [ %.0142, %310 ], [ true, %308 ]
  %.pn212 = phi { ptr, i32 } [ %311, %310 ], [ %309, %308 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  br label %313

313:                                              ; preds = %306, %312
  %.2144 = phi i1 [ %.1143, %312 ], [ true, %306 ]
  %.pn212.pn = phi { ptr, i32 } [ %.pn212, %312 ], [ %307, %306 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %58) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #5
  br i1 %.2144, label %314, label %315

314:                                              ; preds = %.thread246, %313
  %.pn212.pn.pn249 = phi { ptr, i32 } [ %305, %.thread246 ], [ %.pn212.pn, %313 ]
  call void @__cxa_free_exception(ptr %277) #5
  br label %315

315:                                              ; preds = %313, %314, %304
  %.pn212.pn.pn.pn = phi { ptr, i32 } [ %.pn212.pn.pn249, %314 ], [ %.pn212.pn, %313 ], [ %.pn210, %304 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #5
  br label %316

316:                                              ; preds = %315, %299
  %.pn212.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn212.pn.pn.pn, %315 ], [ %.pn208, %299 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #5
  br label %317

317:                                              ; preds = %316, %294
  %.pn212.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn212.pn.pn.pn.pn, %316 ], [ %.pn205.pn, %294 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #5
  br label %351

318:                                              ; preds = %265
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #5
  %319 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %46) #5
  %320 = getelementptr inbounds i8, ptr %319, i64 32
  %321 = load i64, ptr %320, align 8, !tbaa !5
  store i64 %321, ptr %60, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %61) #5
  %322 = call noundef nonnull align 8 dereferenceable(96) ptr @_ZNSt6vectorIN4dali10TensorNodeESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %246, i64 noundef %321) #5
  %323 = getelementptr inbounds i8, ptr %322, i64 48
  %324 = load i64, ptr %323, align 8, !tbaa !14
  store i64 %324, ptr %61, align 8, !tbaa !13
  %325 = invoke { ptr, i8 } @_ZNSt3setIlSt4lessIlESaIlEE6insertERKl(ptr noundef nonnull align 8 dereferenceable(48) %247, ptr noundef nonnull align 8 dereferenceable(8) %61)
          to label %326 unwind label %344

326:                                              ; preds = %318
  %327 = load i64, ptr %61, align 8, !tbaa !13
  %328 = invoke noundef nonnull align 8 dereferenceable(576) ptr @_ZN4dali7OpGraph4NodeEl(ptr noundef nonnull align 8 dereferenceable(217) %0, i64 noundef %327)
          to label %329 unwind label %346

329:                                              ; preds = %326
  %330 = getelementptr inbounds i8, ptr %328, i64 408
  %331 = invoke { ptr, i8 } @_ZNSt3setIlSt4lessIlESaIlEE6insertERKl(ptr noundef nonnull align 8 dereferenceable(48) %330, ptr noundef nonnull align 8 dereferenceable(8) %248)
          to label %332 unwind label %346

332:                                              ; preds = %329
  invoke void @_ZNSt6vectorIlSaIlEE9push_backERKl(ptr noundef nonnull align 8 dereferenceable(24) %249, ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %333 unwind label %346

333:                                              ; preds = %332
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %62) #5
  %334 = load i64, ptr %248, align 8, !tbaa !22
  store i64 %334, ptr %62, align 8, !tbaa !71
  store i64 %indvars.iv, ptr %250, align 8, !tbaa !72
  %335 = invoke noundef i32 @_ZNK4dali6OpSpec11InputDeviceEi(ptr noundef nonnull align 8 dereferenceable(328) %1, i32 noundef %262)
          to label %336 unwind label %348

336:                                              ; preds = %333
  store i32 %335, ptr %251, align 8, !tbaa !73
  %337 = load i64, ptr %60, align 8, !tbaa !13
  %338 = call noundef nonnull align 8 dereferenceable(96) ptr @_ZNSt6vectorIN4dali10TensorNodeESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %246, i64 noundef %337) #5
  %339 = getelementptr inbounds i8, ptr %338, i64 72
  invoke void @_ZNSt6vectorIN4dali10TensorMetaESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %339, ptr noundef nonnull align 8 dereferenceable(24) %62)
          to label %340 unwind label %348

340:                                              ; preds = %336
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %62) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #5
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %341 = call noundef i32 @_ZNK4dali6OpSpec8NumInputEv(ptr noundef nonnull align 8 dereferenceable(328) %1)
  %342 = sext i32 %341 to i64
  %343 = icmp slt i64 %indvars.iv.next, %342
  br i1 %343, label %261, label %.preheader, !llvm.loop !74

344:                                              ; preds = %318
  %345 = landingpad { ptr, i32 }
          cleanup
  br label %350

346:                                              ; preds = %332, %329, %326
  %347 = landingpad { ptr, i32 }
          cleanup
  br label %350

348:                                              ; preds = %336, %333
  %349 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %62) #5
  br label %350

350:                                              ; preds = %346, %348, %344
  %.pn202.pn = phi { ptr, i32 } [ %345, %344 ], [ %349, %348 ], [ %347, %346 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #5
  br label %351

351:                                              ; preds = %350, %317, %286
  %.pn212.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn212.pn.pn.pn.pn.pn, %317 ], [ %.pn202.pn, %350 ], [ %.pn200, %286 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #5
  br label %434

._crit_edge:                                      ; preds = %428, %.preheader
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #5
  ret ptr %241

352:                                              ; preds = %.lr.ph256, %428
  %indvars.iv258 = phi i64 [ 0, %.lr.ph256 ], [ %indvars.iv.next259, %428 ]
  %353 = load i64, ptr %254, align 8, !tbaa !22
  %354 = trunc nuw nsw i64 %indvars.iv258 to i32
  %355 = invoke noundef i32 @_ZNK4dali6OpSpec12OutputDeviceEi(ptr noundef nonnull align 8 dereferenceable(328) %1, i32 noundef %354)
          to label %356 unwind label %389

356:                                              ; preds = %352
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #5
  invoke void @_ZNK4dali6OpSpec6OutputB5cxx11Ei(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef nonnull align 8 dereferenceable(328) %1, i32 noundef %354)
          to label %357 unwind label %391

357:                                              ; preds = %356
  %358 = invoke noundef nonnull align 8 dereferenceable(96) ptr @_ZN4dali7OpGraph14PlaceNewTensorEv(ptr noundef nonnull align 8 dereferenceable(217) %0)
          to label %359 unwind label %393

359:                                              ; preds = %357
  %360 = getelementptr inbounds i8, ptr %358, i64 48
  store i64 %353, ptr %360, align 8, !tbaa !13
  %.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %358, i64 56
  store i64 %indvars.iv258, ptr %.sroa.5.0..sroa_idx, align 8, !tbaa !13
  %.sroa.67.0..sroa_idx = getelementptr inbounds i8, ptr %358, i64 64
  store i32 %355, ptr %.sroa.67.0..sroa_idx, align 8, !tbaa !76
  %361 = getelementptr inbounds i8, ptr %358, i64 16
  %362 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %361, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %363 unwind label %393

363:                                              ; preds = %359
  %364 = getelementptr inbounds i8, ptr %358, i64 8
  invoke void @_ZNSt6vectorIlSaIlEE9push_backERKl(ptr noundef nonnull align 8 dereferenceable(24) %255, ptr noundef nonnull align 8 dereferenceable(8) %364)
          to label %365 unwind label %393

365:                                              ; preds = %363
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %64) #5
  invoke void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEC2IRS5_RlTnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISC_SD_EEEbE4typeELb1EEEOSC_OSD_(ptr noundef nonnull align 8 dereferenceable(40) %64, ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(8) %364)
          to label %366 unwind label %395

366:                                              ; preds = %365
  %367 = invoke { ptr, i8 } @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElSt4lessIvESaISt4pairIKS5_lEEE6insertEOSA_(ptr noundef nonnull align 8 dereferenceable(48) %256, ptr noundef nonnull align 8 dereferenceable(40) %64)
          to label %368 unwind label %397

368:                                              ; preds = %366
  %.fca.1.extract = extractvalue { ptr, i8 } %367, 1
  call void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %64) #5
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %64) #5
  %369 = trunc i8 %.fca.1.extract to i1
  br i1 %369, label %428, label %370

370:                                              ; preds = %368
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %65) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %66) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %68) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %371 unwind label %400

371:                                              ; preds = %370
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %66, ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull @.str.26)
          to label %372 unwind label %402

372:                                              ; preds = %371
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %65, ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull @.str.12)
          to label %373 unwind label %404

373:                                              ; preds = %372
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %69) #5
  %374 = getelementptr inbounds i8, ptr %241, i64 528
  %375 = invoke noundef i64 @_ZN4dali7OpGraph14TensorSourceIDERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(217) %0, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %376 unwind label %408

376:                                              ; preds = %373
  %377 = invoke noundef nonnull align 8 dereferenceable(576) ptr @_ZN4dali7OpGraph4NodeEl(ptr noundef nonnull align 8 dereferenceable(217) %0, i64 noundef %375)
          to label %378 unwind label %408

378:                                              ; preds = %376
  %379 = getelementptr inbounds i8, ptr %377, i64 528
  invoke void @_ZN4dali11make_stringIJA11_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA24_cS7_A61_cS7_A2_cEEES7_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %69, ptr noundef nonnull align 1 dereferenceable(11) @.str.27, ptr noundef nonnull align 8 dereferenceable(32) %374, ptr noundef nonnull align 1 dereferenceable(24) @.str.28, ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 1 dereferenceable(61) @.str.29, ptr noundef nonnull align 8 dereferenceable(32) %379, ptr noundef nonnull align 1 dereferenceable(2) @.str.30)
          to label %380 unwind label %408

380:                                              ; preds = %378
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %70) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %70, ptr noundef nonnull @.str.13, ptr noundef nonnull align 8 dereferenceable(32) %69)
          to label %381 unwind label %410

381:                                              ; preds = %380
  %382 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %383 unwind label %412

383:                                              ; preds = %381
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #5
  %384 = call ptr @__cxa_allocate_exception(i64 80) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #5
  invoke void @_ZN4dali11make_stringIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull align 8 dereferenceable(32) %65)
          to label %385 unwind label %.thread250

385:                                              ; preds = %383
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %73) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef nonnull @.str.31, ptr noundef nonnull align 1 dereferenceable(1) %73)
          to label %386 unwind label %416

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

387:                                              ; preds = %386
  invoke void @_ZN4dali13DALIExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S8_(ptr noundef nonnull align 8 dereferenceable(80) %384, ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull %72, ptr noundef nonnull align 8 dereferenceable(32) %74)
          to label %388 unwind label %420

388:                                              ; preds = %387
  invoke void @__cxa_throw(ptr nonnull %384, ptr nonnull @_ZTIN4dali13DALIExceptionE, ptr nonnull @_ZN4dali13DALIExceptionD2Ev) #6
          to label %435 unwind label %420

389:                                              ; preds = %352
  %390 = landingpad { ptr, i32 }
          cleanup
  br label %434

391:                                              ; preds = %356
  %392 = landingpad { ptr, i32 }
          cleanup
  br label %433

393:                                              ; preds = %363, %359, %357
  %394 = landingpad { ptr, i32 }
          cleanup
  br label %432

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

397:                                              ; preds = %366
  %398 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %64) #5
  br label %399

399:                                              ; preds = %397, %395
  %.pn182 = phi { ptr, i32 } [ %398, %397 ], [ %396, %395 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %64) #5
  br label %432

400:                                              ; preds = %370
  %401 = landingpad { ptr, i32 }
          cleanup
  br label %407

402:                                              ; preds = %371
  %403 = landingpad { ptr, i32 }
          cleanup
  br label %406

404:                                              ; preds = %372
  %405 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #5
  br label %406

406:                                              ; preds = %404, %402
  %.pn184 = phi { ptr, i32 } [ %405, %404 ], [ %403, %402 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #5
  br label %407

407:                                              ; preds = %406, %400
  %.pn184.pn = phi { ptr, i32 } [ %.pn184, %406 ], [ %401, %400 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #5
  br label %427

408:                                              ; preds = %378, %376, %373
  %409 = landingpad { ptr, i32 }
          cleanup
  br label %426

410:                                              ; preds = %380
  %411 = landingpad { ptr, i32 }
          cleanup
  br label %414

412:                                              ; preds = %381
  %413 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #5
  br label %414

414:                                              ; preds = %412, %410
  %.pn187 = phi { ptr, i32 } [ %413, %412 ], [ %411, %410 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #5
  br label %425

.thread250:                                       ; preds = %383
  %415 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #5
  br label %424

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

418:                                              ; preds = %386
  %419 = landingpad { ptr, i32 }
          cleanup
  br label %422

420:                                              ; preds = %388, %387
  %.0 = phi i1 [ false, %388 ], [ true, %387 ]
  %421 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #5
  br label %422

422:                                              ; preds = %420, %418
  %.pn189 = phi { ptr, i32 } [ %421, %420 ], [ %419, %418 ]
  %.1 = phi i1 [ %.0, %420 ], [ true, %418 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #5
  br label %423

423:                                              ; preds = %416, %422
  %.pn189.pn = phi { ptr, i32 } [ %.pn189, %422 ], [ %417, %416 ]
  %.2 = phi i1 [ %.1, %422 ], [ true, %416 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %73) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #5
  br i1 %.2, label %424, label %425

424:                                              ; preds = %.thread250, %423
  %.pn189.pn.pn253 = phi { ptr, i32 } [ %415, %.thread250 ], [ %.pn189.pn, %423 ]
  call void @__cxa_free_exception(ptr %384) #5
  br label %425

425:                                              ; preds = %423, %424, %414
  %.pn189.pn.pn.pn = phi { ptr, i32 } [ %.pn189.pn.pn253, %424 ], [ %.pn189.pn, %423 ], [ %.pn187, %414 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #5
  br label %426

426:                                              ; preds = %425, %408
  %.pn189.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn189.pn.pn.pn, %425 ], [ %409, %408 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #5
  br label %427

427:                                              ; preds = %426, %407
  %.pn189.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn189.pn.pn.pn.pn, %426 ], [ %.pn184.pn, %407 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #5
  br label %432

428:                                              ; preds = %368
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #5
  %indvars.iv.next259 = add nuw nsw i64 %indvars.iv258, 1
  %429 = call noundef i32 @_ZNK4dali6OpSpec9NumOutputEv(ptr noundef nonnull align 8 dereferenceable(328) %1)
  %430 = sext i32 %429 to i64
  %431 = icmp slt i64 %indvars.iv.next259, %430
  br i1 %431, label %352, label %._crit_edge, !llvm.loop !77

432:                                              ; preds = %399, %427, %393
  %.pn189.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %394, %393 ], [ %.pn189.pn.pn.pn.pn.pn, %427 ], [ %.pn182, %399 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #5
  br label %433

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

434:                                              ; preds = %257, %259, %351, %433, %389, %237, %238, %216, %172, %128, %83
  %.pn221.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn221.pn.pn.pn.pn242, %238 ], [ %.pn221.pn.pn, %237 ], [ %.pn151.pn.pn.pn.pn.pn, %216 ], [ %84, %83 ], [ %.pn175.pn.pn.pn.pn.pn, %172 ], [ %.pn163.pn.pn.pn.pn.pn, %128 ], [ %.pn212.pn.pn.pn.pn.pn.pn, %351 ], [ %260, %259 ], [ %258, %257 ], [ %.pn189.pn.pn.pn.pn.pn.pn.pn.pn, %433 ], [ %390, %389 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #5
  resume { ptr, i32 } %.pn221.pn.pn.pn.pn.pn

435:                                              ; preds = %388, %281, %224, %188, %144, %100
  unreachable
}

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

; Function Attrs: mustprogress nounwind uwtable
declare { i64, ptr } @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEcvSt17basic_string_viewIcS2_EEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(576) ptr @_ZN4dali7OpGraph10PlaceNewOpENS_6OpTypeERKNS_6OpSpecENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(217), i32 noundef, ptr noundef nonnull align 8 dereferenceable(328), ptr noundef) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(96) ptr @_ZN4dali7OpGraph14PlaceNewTensorEv(ptr noundef nonnull align 8 dereferenceable(217)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN4dali12_GLOBAL__N_118CheckOpConstraintsERKNS_6OpSpecE(ptr noundef nonnull align 8 dereferenceable(328)) local_unnamed_addr #2

; 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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN4dali11ParseOpTypeESt17basic_string_viewIcSt11char_traitsIcEE(i64, ptr) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare hidden noundef zeroext i1 @_ZN4dali12_GLOBAL__N_112AllInputsCPUERKNS_6OpSpecE(ptr noundef nonnull align 8 dereferenceable(328)) local_unnamed_addr #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

; 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

; Function Attrs: mustprogress uwtable
declare hidden noundef zeroext i1 @_ZN4dali12_GLOBAL__N_113AllOutputsCPUERKNS_6OpSpecE(ptr noundef nonnull align 8 dereferenceable(328)) local_unnamed_addr #2

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZNSt3setIlSt4lessIlESaIlEE6insertERKl(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(576) ptr @_ZN4dali7OpGraph4NodeEl(ptr noundef nonnull align 8 dereferenceable(217), i64 noundef) local_unnamed_addr #2 align 2

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElSt4lessIvESaISt4pairIKS5_lEEE6insertEOSA_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(40)) local_unnamed_addr #2 align 2

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i64 @_ZN4dali7OpGraph14TensorSourceIDERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(217), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !12, i64 32}
!6 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElE", !7, i64 0, !12, i64 32}
!7 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !8, i64 0, !12, i64 8, !10, i64 16}
!8 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !9, i64 0}
!9 = !{!"any pointer", !10, i64 0}
!10 = !{!"omnipotent char", !11, i64 0}
!11 = !{!"Simple C++ TBAA"}
!12 = !{!"long", !10, i64 0}
!13 = !{!12, !12, i64 0}
!14 = !{!15, !12, i64 48}
!15 = !{!"_ZTSN4dali10TensorNodeE", !9, i64 0, !12, i64 8, !7, i64 16, !16, i64 48, !18, i64 72}
!16 = !{!"_ZTSN4dali10TensorMetaE", !12, i64 0, !12, i64 8, !17, i64 16}
!17 = !{!"_ZTSN4dali13StorageDeviceE", !10, i64 0}
!18 = !{!"_ZTSSt6vectorIN4dali10TensorMetaESaIS1_EE", !19, i64 0}
!19 = !{!"_ZTSSt12_Vector_baseIN4dali10TensorMetaESaIS1_EE", !20, i64 0}
!20 = !{!"_ZTSNSt12_Vector_baseIN4dali10TensorMetaESaIS1_EE12_Vector_implE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseIN4dali10TensorMetaESaIS1_EE17_Vector_impl_dataE", !9, i64 0, !9, i64 8, !9, i64 16}
!22 = !{!23, !12, i64 24}
!23 = !{!"_ZTSN4dali6OpNodeE", !9, i64 8, !24, i64 16, !12, i64 24, !30, i64 32, !57, i64 360, !57, i64 408, !62, i64 456, !62, i64 480, !66, i64 504, !7, i64 528, !70, i64 560, !12, i64 568}
!24 = !{!"_ZTSSt10unique_ptrIN4dali12OperatorBaseESt14default_deleteIS1_EE", !25, i64 0}
!25 = !{!"_ZTSSt15__uniq_ptr_dataIN4dali12OperatorBaseESt14default_deleteIS1_ELb1ELb1EE", !26, i64 0}
!26 = !{!"_ZTSSt15__uniq_ptr_implIN4dali12OperatorBaseESt14default_deleteIS1_EE", !27, i64 0}
!27 = !{!"_ZTSSt5tupleIJPN4dali12OperatorBaseESt14default_deleteIS1_EEE", !28, i64 0}
!28 = !{!"_ZTSSt11_Tuple_implILm0EJPN4dali12OperatorBaseESt14default_deleteIS1_EEE", !29, i64 0}
!29 = !{!"_ZTSSt10_Head_baseILm0EPN4dali12OperatorBaseELb0EE", !9, i64 0}
!30 = !{!"_ZTSN4dali6OpSpecE", !7, i64 0, !9, i64 32, !31, i64 40, !35, i64 64, !43, i64 112, !35, i64 136, !47, i64 184, !50, i64 232, !50, i64 256, !54, i64 280}
!31 = !{!"_ZTSSt6vectorISt10shared_ptrIN4dali8ArgumentEESaIS3_EE", !32, i64 0}
!32 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE", !33, i64 0}
!33 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE12_Vector_implE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN4dali8ArgumentEESaIS3_EE17_Vector_impl_dataE", !9, i64 0, !9, i64 8, !9, i64 16}
!35 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIvESaISt4pairIKS5_iEEE", !36, i64 0}
!36 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIvESaIS8_EE", !37, i64 0}
!37 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIvESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !38, i64 0, !40, i64 8}
!38 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIvEE", !39, i64 0}
!39 = !{!"_ZTSSt4lessIvE"}
!40 = !{!"_ZTSSt15_Rb_tree_header", !41, i64 0, !12, i64 32}
!41 = !{!"_ZTSSt18_Rb_tree_node_base", !42, i64 0, !9, i64 8, !9, i64 16, !9, i64 24}
!42 = !{!"_ZTSSt14_Rb_tree_color", !10, i64 0}
!43 = !{!"_ZTSSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE", !44, i64 0}
!44 = !{!"_ZTSSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE", !45, i64 0}
!45 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE12_Vector_implE", !46, i64 0}
!46 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE17_Vector_impl_dataE", !9, i64 0, !9, i64 8, !9, i64 16}
!47 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIvESaISt4pairIKS5_S5_EEE", !48, i64 0}
!48 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIvESaIS8_EE", !49, i64 0}
!49 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIvESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !38, i64 0, !40, i64 8}
!50 = !{!"_ZTSSt6vectorIN4dali6OpSpec15InOutDeviceDescESaIS2_EE", !51, i64 0}
!51 = !{!"_ZTSSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE", !52, i64 0}
!52 = !{!"_ZTSNSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE12_Vector_implE", !53, i64 0}
!53 = !{!"_ZTSNSt12_Vector_baseIN4dali6OpSpec15InOutDeviceDescESaIS2_EE17_Vector_impl_dataE", !9, i64 0, !9, i64 8, !9, i64 16}
!54 = !{!"_ZTSSt3mapIN4dali6OpSpec15InOutDeviceDescEiSt4lessIvESaISt4pairIKS2_iEEE", !55, i64 0}
!55 = !{!"_ZTSSt8_Rb_treeIN4dali6OpSpec15InOutDeviceDescESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIvESaIS5_EE", !56, i64 0}
!56 = !{!"_ZTSNSt8_Rb_treeIN4dali6OpSpec15InOutDeviceDescESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIvESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !38, i64 0, !40, i64 8}
!57 = !{!"_ZTSSt3setIlSt4lessIlESaIlEE", !58, i64 0}
!58 = !{!"_ZTSSt8_Rb_treeIllSt9_IdentityIlESt4lessIlESaIlEE", !59, i64 0}
!59 = !{!"_ZTSNSt8_Rb_treeIllSt9_IdentityIlESt4lessIlESaIlEE13_Rb_tree_implIS3_Lb1EEE", !60, i64 0, !40, i64 8}
!60 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIlEE", !61, i64 0}
!61 = !{!"_ZTSSt4lessIlE"}
!62 = !{!"_ZTSSt6vectorIlSaIlEE", !63, i64 0}
!63 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !64, i64 0}
!64 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !65, i64 0}
!65 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !9, i64 0, !9, i64 8, !9, i64 16}
!66 = !{!"_ZTSSt6vectorIN4dali10OutputDescESaIS1_EE", !67, i64 0}
!67 = !{!"_ZTSSt12_Vector_baseIN4dali10OutputDescESaIS1_EE", !68, i64 0}
!68 = !{!"_ZTSNSt12_Vector_baseIN4dali10OutputDescESaIS1_EE12_Vector_implE", !69, i64 0}
!69 = !{!"_ZTSNSt12_Vector_baseIN4dali10OutputDescESaIS1_EE17_Vector_impl_dataE", !9, i64 0, !9, i64 8, !9, i64 16}
!70 = !{!"_ZTSN4dali6OpTypeE", !10, i64 0}
!71 = !{!16, !12, i64 0}
!72 = !{!16, !12, i64 8}
!73 = !{!16, !17, i64 16}
!74 = distinct !{!74, !75}
!75 = !{!"llvm.loop.mustprogress"}
!76 = !{!17, !17, i64 0}
!77 = distinct !{!77, !75}


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