; LLVM IR from alibaba/euler :: euler/common (hdfs_file_io)

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

%"struct.std::__detail::_Node_const_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"struct.std::__detail::_Node_iterator_base" = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator.0" = type { i8 }
%"class.euler::LogMessage" = type { %"class.std::__cxx11::basic_ostringstream.base", ptr, i32, i32, %"class.std::basic_ios" }
%"class.std::__cxx11::basic_ostringstream.base" = type { %"class.std::basic_ostream.base", %"class.std::__cxx11::basic_stringbuf" }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.euler::Slice" = type { ptr, i64 }
%"class.euler::FileIO" = type { ptr, i8, i64, i64 }
%"class.euler::HdfsFileIO" = type { %"class.euler::FileIO", i8, i8, ptr, i64, i64, ptr, ptr, ptr, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string" }
%"struct.std::pair" = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string" }
%"class.euler::LibHDFS" = type { %"class.std::function", %"class.std::function.8", %"class.std::function.10", %"class.std::function.13", %"class.std::function.16", %"class.std::function.19", %"class.std::function.22", %"class.std::function.24", %"class.std::function.26", %"class.std::function.19", %"class.std::function.19", %"class.std::function.28", %"class.std::function.31", %"class.std::function.33", %"class.std::function.36", %"class.std::function.38", %"class.std::function.41", %"class.std::function.33", %"class.std::function.43", %"class.std::function.46", %"class.euler::Status", ptr }
%"class.std::function" = type { %"class.std::_Function_base", ptr }
%"class.std::_Function_base" = type { %"union.std::_Any_data", ptr }
%"union.std::_Any_data" = type { %"union.std::_Nocopy_types" }
%"union.std::_Nocopy_types" = type { { i64, i64 } }
%"class.std::function.8" = type { %"class.std::_Function_base", ptr }
%"class.std::function.10" = type { %"class.std::_Function_base", ptr }
%"class.std::function.13" = type { %"class.std::_Function_base", ptr }
%"class.std::function.16" = type { %"class.std::_Function_base", ptr }
%"class.std::function.22" = type { %"class.std::_Function_base", ptr }
%"class.std::function.24" = type { %"class.std::_Function_base", ptr }
%"class.std::function.26" = type { %"class.std::_Function_base", ptr }
%"class.std::function.19" = type { %"class.std::_Function_base", ptr }
%"class.std::function.28" = type { %"class.std::_Function_base", ptr }
%"class.std::function.31" = type { %"class.std::_Function_base", ptr }
%"class.std::function.36" = type { %"class.std::_Function_base", ptr }
%"class.std::function.38" = type { %"class.std::_Function_base", ptr }
%"class.std::function.41" = type { %"class.std::_Function_base", ptr }
%"class.std::function.33" = type { %"class.std::_Function_base", ptr }
%"class.std::function.43" = type { %"class.std::_Function_base", ptr }
%"class.std::function.46" = type { %"class.std::_Function_base", ptr }
%"class.euler::Status" = type { i32, %"class.std::__cxx11::basic_string" }

@.str.20 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [14 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: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN5euler10HdfsFileIO10InitializeERKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_St4hashIS7_ESt8equal_toIS7_ESaISt4pairIKS7_S7_EEE(ptr noundef nonnull align 8 dereferenceable(184) %0, ptr noundef nonnull align 8 dereferenceable(56) %1) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca i1, align 1
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca %"struct.std::__detail::_Node_const_iterator", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::allocator.0", align 1
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca %"struct.std::__detail::_Node_const_iterator", align 8
  %12 = alloca %"struct.std::__detail::_Node_const_iterator", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator.0", align 1
  %15 = alloca %"struct.std::__detail::_Node_const_iterator", align 8
  %16 = alloca %"struct.std::__detail::_Node_const_iterator", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::allocator.0", align 1
  %19 = alloca %"struct.std::__detail::_Node_const_iterator", align 8
  %20 = alloca %"class.euler::LogMessage", align 8
  %21 = alloca i32, align 4
  %22 = alloca %"struct.std::__detail::_Node_const_iterator", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::allocator.0", align 1
  %25 = alloca %"struct.std::__detail::_Node_const_iterator", align 8
  %26 = alloca i32, align 4
  %27 = alloca %"class.std::vector", align 8
  %28 = alloca %"class.euler::Slice", align 8
  %29 = alloca %"class.euler::Slice", align 8
  %30 = alloca ptr, align 8
  %31 = alloca ptr, align 8
  %32 = alloca %"class.euler::Slice", align 8
  %33 = alloca %"class.euler::Slice", align 8
  %34 = alloca %"class.euler::Slice", align 8
  %35 = alloca %"class.euler::Slice", align 8
  %36 = alloca %"class.euler::Slice", align 8
  %37 = alloca %"class.euler::Slice", align 8
  %38 = alloca %"class.euler::LogMessage", align 8
  %39 = alloca %"class.euler::LogMessage", align 8
  %40 = alloca %"class.euler::LogMessage", align 8
  %41 = alloca %"class.euler::LogMessage", align 8
  store ptr %0, ptr %4, align 8, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !5
  %42 = load ptr, ptr %4, align 8
  %43 = getelementptr inbounds %"class.euler::FileIO", ptr %42, i32 0, i32 1
  store i8 0, ptr %43, align 8, !tbaa !9
  %44 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 1
  store i8 1, ptr %44, align 8, !tbaa !13
  %45 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 3
  %46 = load ptr, ptr %45, align 8, !tbaa !17
  %47 = icmp ne ptr %46, null
  br i1 %47, label %48, label %51

48:                                               ; preds = %2
  %49 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 3
  %50 = load ptr, ptr %49, align 8, !tbaa !17
  call void @free(ptr noundef %50) #10
  br label %51

51:                                               ; preds = %48, %2
  %52 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 3
  store ptr null, ptr %52, align 8, !tbaa !17
  %53 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 4
  store i64 0, ptr %53, align 8, !tbaa !18
  %54 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 5
  store i64 0, ptr %54, align 8, !tbaa !19
  %55 = getelementptr inbounds %"class.euler::FileIO", ptr %42, i32 0, i32 2
  store i64 0, ptr %55, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #10
  %56 = load ptr, ptr %5, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %7) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %8) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %57 unwind label %72

57:                                               ; preds = %51
  %58 = invoke ptr @_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %56, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %59 unwind label %76

59:                                               ; preds = %57
  %60 = getelementptr inbounds %"struct.std::__detail::_Node_const_iterator", ptr %6, i32 0, i32 0
  %61 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %60, i32 0, i32 0
  store ptr %58, ptr %61, align 8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %8) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #10
  %62 = load ptr, ptr %5, align 8, !tbaa !5
  %63 = call ptr @_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %62) #10
  %64 = getelementptr inbounds %"struct.std::__detail::_Node_const_iterator", ptr %11, i32 0, i32 0
  %65 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %64, i32 0, i32 0
  store ptr %63, ptr %65, align 8
  %66 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %11) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #10
  br i1 %66, label %67, label %81

67:                                               ; preds = %59
  %68 = call noundef ptr @_ZNKSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #10
  %69 = getelementptr inbounds %"struct.std::pair", ptr %68, i32 0, i32 1
  %70 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 9
  %71 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull align 8 dereferenceable(32) %69)
  br label %81

72:                                               ; preds = %51
  %73 = landingpad { ptr, i32 }
          cleanup
  %74 = extractvalue { ptr, i32 } %73, 0
  store ptr %74, ptr %9, align 8
  %75 = extractvalue { ptr, i32 } %73, 1
  store i32 %75, ptr %10, align 4
  br label %80

76:                                               ; preds = %57
  %77 = landingpad { ptr, i32 }
          cleanup
  %78 = extractvalue { ptr, i32 } %77, 0
  store ptr %78, ptr %9, align 8
  %79 = extractvalue { ptr, i32 } %77, 1
  store i32 %79, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #10
  br label %80

80:                                               ; preds = %76, %72
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %8) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #10
  br label %426

81:                                               ; preds = %67, %59
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #10
  %82 = load ptr, ptr %5, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %14) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %83 unwind label %98

83:                                               ; preds = %81
  %84 = invoke ptr @_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %82, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %85 unwind label %102

85:                                               ; preds = %83
  %86 = getelementptr inbounds %"struct.std::__detail::_Node_const_iterator", ptr %12, i32 0, i32 0
  %87 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %86, i32 0, i32 0
  store ptr %84, ptr %87, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %12, i64 8, i1 false)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #10
  %88 = load ptr, ptr %5, align 8, !tbaa !5
  %89 = call ptr @_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %88) #10
  %90 = getelementptr inbounds %"struct.std::__detail::_Node_const_iterator", ptr %15, i32 0, i32 0
  %91 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %90, i32 0, i32 0
  store ptr %89, ptr %91, align 8
  %92 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %15) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #10
  br i1 %92, label %93, label %107

93:                                               ; preds = %85
  %94 = call noundef ptr @_ZNKSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #10
  %95 = getelementptr inbounds %"struct.std::pair", ptr %94, i32 0, i32 1
  %96 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 10
  %97 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %96, ptr noundef nonnull align 8 dereferenceable(32) %95)
  br label %107

98:                                               ; preds = %81
  %99 = landingpad { ptr, i32 }
          cleanup
  %100 = extractvalue { ptr, i32 } %99, 0
  store ptr %100, ptr %9, align 8
  %101 = extractvalue { ptr, i32 } %99, 1
  store i32 %101, ptr %10, align 4
  br label %106

102:                                              ; preds = %83
  %103 = landingpad { ptr, i32 }
          cleanup
  %104 = extractvalue { ptr, i32 } %103, 0
  store ptr %104, ptr %9, align 8
  %105 = extractvalue { ptr, i32 } %103, 1
  store i32 %105, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #10
  br label %106

106:                                              ; preds = %102, %98
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #10
  br label %426

107:                                              ; preds = %93, %85
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #10
  %108 = load ptr, ptr %5, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %18) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %109 unwind label %122

109:                                              ; preds = %107
  %110 = invoke ptr @_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %108, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %111 unwind label %126

111:                                              ; preds = %109
  %112 = getelementptr inbounds %"struct.std::__detail::_Node_const_iterator", ptr %16, i32 0, i32 0
  %113 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %112, i32 0, i32 0
  store ptr %110, ptr %113, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %16, i64 8, i1 false)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #10
  %114 = load ptr, ptr %5, align 8, !tbaa !5
  %115 = call ptr @_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %114) #10
  %116 = getelementptr inbounds %"struct.std::__detail::_Node_const_iterator", ptr %19, i32 0, i32 0
  %117 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %116, i32 0, i32 0
  store ptr %115, ptr %117, align 8
  %118 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %19) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #10
  br i1 %118, label %119, label %135

119:                                              ; preds = %111
  call void @llvm.lifetime.start.p0(i64 392, ptr %20) #10
  call void @_ZN5euler10LogMessageC1EPKcii(ptr noundef nonnull align 8 dereferenceable(128) %20, ptr noundef @.str.23, i32 noundef 198, i32 noundef 3)
  %120 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA29_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %20, ptr noundef nonnull align 1 dereferenceable(29) @.str.24)
          to label %121 unwind label %131

121:                                              ; preds = %119
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %20) #10
  call void @llvm.lifetime.end.p0(i64 392, ptr %20) #10
  store i1 false, ptr %3, align 1
  store i32 1, ptr %21, align 4
  br label %424

122:                                              ; preds = %107
  %123 = landingpad { ptr, i32 }
          cleanup
  %124 = extractvalue { ptr, i32 } %123, 0
  store ptr %124, ptr %9, align 8
  %125 = extractvalue { ptr, i32 } %123, 1
  store i32 %125, ptr %10, align 4
  br label %130

126:                                              ; preds = %109
  %127 = landingpad { ptr, i32 }
          cleanup
  %128 = extractvalue { ptr, i32 } %127, 0
  store ptr %128, ptr %9, align 8
  %129 = extractvalue { ptr, i32 } %127, 1
  store i32 %129, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #10
  br label %130

130:                                              ; preds = %126, %122
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #10
  br label %426

131:                                              ; preds = %119
  %132 = landingpad { ptr, i32 }
          cleanup
  %133 = extractvalue { ptr, i32 } %132, 0
  store ptr %133, ptr %9, align 8
  %134 = extractvalue { ptr, i32 } %132, 1
  store i32 %134, ptr %10, align 4
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %20) #10
  call void @llvm.lifetime.end.p0(i64 392, ptr %20) #10
  br label %426

135:                                              ; preds = %111
  %136 = call noundef ptr @_ZNKSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #10
  %137 = getelementptr inbounds %"struct.std::pair", ptr %136, i32 0, i32 1
  %138 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 11
  %139 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %138, ptr noundef nonnull align 8 dereferenceable(32) %137)
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #10
  %140 = load ptr, ptr %5, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %24) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef @.str.25, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %141 unwind label %169

141:                                              ; preds = %135
  %142 = invoke ptr @_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %140, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %143 unwind label %173

143:                                              ; preds = %141
  %144 = getelementptr inbounds %"struct.std::__detail::_Node_const_iterator", ptr %22, i32 0, i32 0
  %145 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %144, i32 0, i32 0
  store ptr %142, ptr %145, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %22, i64 8, i1 false)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #10
  %146 = load ptr, ptr %5, align 8, !tbaa !5
  %147 = call ptr @_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %146) #10
  %148 = getelementptr inbounds %"struct.std::__detail::_Node_const_iterator", ptr %25, i32 0, i32 0
  %149 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %148, i32 0, i32 0
  store ptr %147, ptr %149, align 8
  %150 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %25) #10
  br i1 %150, label %151, label %165

151:                                              ; preds = %143
  %152 = call noundef ptr @_ZNKSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #10
  %153 = getelementptr inbounds %"struct.std::pair", ptr %152, i32 0, i32 1
  %154 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %153, ptr noundef @.str.26)
  br i1 %154, label %163, label %155

155:                                              ; preds = %151
  %156 = call noundef ptr @_ZNKSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #10
  %157 = getelementptr inbounds %"struct.std::pair", ptr %156, i32 0, i32 1
  %158 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %157, ptr noundef @.str.27)
  br i1 %158, label %163, label %159

159:                                              ; preds = %155
  %160 = call noundef ptr @_ZNKSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #10
  %161 = getelementptr inbounds %"struct.std::pair", ptr %160, i32 0, i32 1
  %162 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %161, ptr noundef @.str.28)
  br label %163

163:                                              ; preds = %159, %155, %151
  %164 = phi i1 [ true, %155 ], [ true, %151 ], [ %162, %159 ]
  br label %165

165:                                              ; preds = %163, %143
  %166 = phi i1 [ false, %143 ], [ %164, %163 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #10
  br i1 %166, label %167, label %178

167:                                              ; preds = %165
  %168 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 1
  store i8 0, ptr %168, align 8, !tbaa !13
  br label %178

169:                                              ; preds = %135
  %170 = landingpad { ptr, i32 }
          cleanup
  %171 = extractvalue { ptr, i32 } %170, 0
  store ptr %171, ptr %9, align 8
  %172 = extractvalue { ptr, i32 } %170, 1
  store i32 %172, ptr %10, align 4
  br label %177

173:                                              ; preds = %141
  %174 = landingpad { ptr, i32 }
          cleanup
  %175 = extractvalue { ptr, i32 } %174, 0
  store ptr %175, ptr %9, align 8
  %176 = extractvalue { ptr, i32 } %174, 1
  store i32 %176, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #10
  br label %177

177:                                              ; preds = %173, %169
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #10
  br label %426

178:                                              ; preds = %167, %165
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #10
  store i32 0, ptr %26, align 4, !tbaa !21
  %179 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 1
  %180 = load i8, ptr %179, align 8, !tbaa !13, !range !23, !noundef !24
  %181 = trunc i8 %180 to i1
  br i1 %181, label %183, label %182

182:                                              ; preds = %178
  store i32 65, ptr %26, align 4, !tbaa !21
  br label %183

183:                                              ; preds = %182, %178
  call void @llvm.lifetime.start.p0(i64 24, ptr %27) #10
  %184 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 10
  call void @_ZN5euler5SliceC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %28, ptr noundef nonnull align 8 dereferenceable(32) %184)
  call void @_ZN5euler5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %29, ptr noundef @.str.29)
  %185 = getelementptr inbounds { ptr, i64 }, ptr %28, i32 0, i32 0
  %186 = load ptr, ptr %185, align 8
  %187 = getelementptr inbounds { ptr, i64 }, ptr %28, i32 0, i32 1
  %188 = load i64, ptr %187, align 8
  %189 = getelementptr inbounds { ptr, i64 }, ptr %29, i32 0, i32 0
  %190 = load ptr, ptr %189, align 8
  %191 = getelementptr inbounds { ptr, i64 }, ptr %29, i32 0, i32 1
  %192 = load i64, ptr %191, align 8
  call void @_ZN5euler5SplitB5cxx11ENS_5SliceES0_(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %27, ptr %186, i64 %188, ptr %190, i64 %192)
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #10
  %193 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 6
  %194 = load ptr, ptr %193, align 8, !tbaa !25
  %195 = getelementptr inbounds %"class.euler::LibHDFS", ptr %194, i32 0, i32 1
  %196 = invoke noundef ptr @_ZNKSt8functionIFP11hdfsBuildervEEclEv(ptr noundef nonnull align 8 dereferenceable(32) %195)
          to label %197 unwind label %207

197:                                              ; preds = %183
  store ptr %196, ptr %30, align 8, !tbaa !5
  %198 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 9
  %199 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %198, ptr noundef @.str.30)
          to label %200 unwind label %207

200:                                              ; preds = %197
  br i1 %199, label %201, label %211

201:                                              ; preds = %200
  %202 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 6
  %203 = load ptr, ptr %202, align 8, !tbaa !25
  %204 = getelementptr inbounds %"class.euler::LibHDFS", ptr %203, i32 0, i32 2
  %205 = load ptr, ptr %30, align 8, !tbaa !5
  invoke void @_ZNKSt8functionIFvP11hdfsBuilderPKcEEclES1_S3_(ptr noundef nonnull align 8 dereferenceable(32) %204, ptr noundef %205, ptr noundef null)
          to label %206 unwind label %207

206:                                              ; preds = %201
  br label %323

207:                                              ; preds = %357, %352, %323, %311, %306, %294, %211, %201, %197, %183
  %208 = landingpad { ptr, i32 }
          cleanup
  %209 = extractvalue { ptr, i32 } %208, 0
  store ptr %209, ptr %9, align 8
  %210 = extractvalue { ptr, i32 } %208, 1
  store i32 %210, ptr %10, align 4
  br label %423

211:                                              ; preds = %200
  %212 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 9
  %213 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %212, ptr noundef @.str.31)
          to label %214 unwind label %207

214:                                              ; preds = %211
  br i1 %213, label %215, label %294

215:                                              ; preds = %214
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #10
  store ptr null, ptr %31, align 8, !tbaa !5
  %216 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 6
  %217 = load ptr, ptr %216, align 8, !tbaa !25
  %218 = getelementptr inbounds %"class.euler::LibHDFS", ptr %217, i32 0, i32 4
  %219 = invoke noundef i32 @_ZNKSt8functionIFiPKcPPcEEclES1_S3_(ptr noundef nonnull align 8 dereferenceable(32) %218, ptr noundef @.str.32, ptr noundef %31)
          to label %220 unwind label %256

220:                                              ; preds = %215
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #10
  invoke void @_ZN5euler5SliceC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %32)
          to label %221 unwind label %260

221:                                              ; preds = %220
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #10
  invoke void @_ZN5euler5SliceC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %33)
          to label %222 unwind label %264

222:                                              ; preds = %221
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #10
  invoke void @_ZN5euler5SliceC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34)
          to label %223 unwind label %268

223:                                              ; preds = %222
  %224 = load ptr, ptr %31, align 8, !tbaa !5
  invoke void @_ZN5euler5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %35, ptr noundef %224)
          to label %225 unwind label %268

225:                                              ; preds = %223
  %226 = getelementptr inbounds { ptr, i64 }, ptr %35, i32 0, i32 0
  %227 = load ptr, ptr %226, align 8
  %228 = getelementptr inbounds { ptr, i64 }, ptr %35, i32 0, i32 1
  %229 = load i64, ptr %228, align 8
  invoke void @_ZN5euler8ParseURIENS_5SliceEPS0_S1_S1_(ptr %227, i64 %229, ptr noundef %32, ptr noundef %33, ptr noundef %34)
          to label %230 unwind label %268

230:                                              ; preds = %225
  %231 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 9
  invoke void @_ZN5euler5SliceC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %36, ptr noundef nonnull align 8 dereferenceable(32) %231)
          to label %232 unwind label %268

232:                                              ; preds = %230
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %37, ptr align 8 %32, i64 16, i1 false), !tbaa.struct !26
  %233 = getelementptr inbounds { ptr, i64 }, ptr %36, i32 0, i32 0
  %234 = load ptr, ptr %233, align 8
  %235 = getelementptr inbounds { ptr, i64 }, ptr %36, i32 0, i32 1
  %236 = load i64, ptr %235, align 8
  %237 = getelementptr inbounds { ptr, i64 }, ptr %37, i32 0, i32 0
  %238 = load ptr, ptr %237, align 8
  %239 = getelementptr inbounds { ptr, i64 }, ptr %37, i32 0, i32 1
  %240 = load i64, ptr %239, align 8
  %241 = invoke noundef zeroext i1 @_ZN5eulerneENS_5SliceES0_(ptr %234, i64 %236, ptr %238, i64 %240)
          to label %242 unwind label %268

242:                                              ; preds = %232
  br i1 %241, label %252, label %243

243:                                              ; preds = %242
  %244 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 10
  %245 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %244, ptr noundef @.str.33)
          to label %246 unwind label %268

246:                                              ; preds = %243
  br i1 %245, label %247, label %281

247:                                              ; preds = %246
  %248 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 10
  %249 = load ptr, ptr %31, align 8, !tbaa !5
  %250 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %248, ptr noundef %249)
          to label %251 unwind label %268

251:                                              ; preds = %247
  br i1 %250, label %252, label %281

252:                                              ; preds = %251, %242
  call void @llvm.lifetime.start.p0(i64 392, ptr %38) #10
  invoke void @_ZN5euler10LogMessageC1EPKcii(ptr noundef nonnull align 8 dereferenceable(128) %38, ptr noundef @.str.23, i32 noundef 227, i32 noundef 3)
          to label %253 unwind label %272

253:                                              ; preds = %252
  %254 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA44_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %38, ptr noundef nonnull align 1 dereferenceable(44) @.str.34)
          to label %255 unwind label %276

255:                                              ; preds = %253
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %38) #10
  call void @llvm.lifetime.end.p0(i64 392, ptr %38) #10
  store i1 false, ptr %3, align 1
  store i32 1, ptr %21, align 4
  br label %287

256:                                              ; preds = %215
  %257 = landingpad { ptr, i32 }
          cleanup
  %258 = extractvalue { ptr, i32 } %257, 0
  store ptr %258, ptr %9, align 8
  %259 = extractvalue { ptr, i32 } %257, 1
  store i32 %259, ptr %10, align 4
  br label %293

260:                                              ; preds = %220
  %261 = landingpad { ptr, i32 }
          cleanup
  %262 = extractvalue { ptr, i32 } %261, 0
  store ptr %262, ptr %9, align 8
  %263 = extractvalue { ptr, i32 } %261, 1
  store i32 %263, ptr %10, align 4
  br label %292

264:                                              ; preds = %221
  %265 = landingpad { ptr, i32 }
          cleanup
  %266 = extractvalue { ptr, i32 } %265, 0
  store ptr %266, ptr %9, align 8
  %267 = extractvalue { ptr, i32 } %265, 1
  store i32 %267, ptr %10, align 4
  br label %291

268:                                              ; preds = %281, %247, %243, %232, %230, %225, %223, %222
  %269 = landingpad { ptr, i32 }
          cleanup
  %270 = extractvalue { ptr, i32 } %269, 0
  store ptr %270, ptr %9, align 8
  %271 = extractvalue { ptr, i32 } %269, 1
  store i32 %271, ptr %10, align 4
  br label %290

272:                                              ; preds = %252
  %273 = landingpad { ptr, i32 }
          cleanup
  %274 = extractvalue { ptr, i32 } %273, 0
  store ptr %274, ptr %9, align 8
  %275 = extractvalue { ptr, i32 } %273, 1
  store i32 %275, ptr %10, align 4
  br label %280

276:                                              ; preds = %253
  %277 = landingpad { ptr, i32 }
          cleanup
  %278 = extractvalue { ptr, i32 } %277, 0
  store ptr %278, ptr %9, align 8
  %279 = extractvalue { ptr, i32 } %277, 1
  store i32 %279, ptr %10, align 4
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %38) #10
  br label %280

280:                                              ; preds = %276, %272
  call void @llvm.lifetime.end.p0(i64 392, ptr %38) #10
  br label %290

281:                                              ; preds = %251, %246
  %282 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 6
  %283 = load ptr, ptr %282, align 8, !tbaa !25
  %284 = getelementptr inbounds %"class.euler::LibHDFS", ptr %283, i32 0, i32 2
  %285 = load ptr, ptr %30, align 8, !tbaa !5
  invoke void @_ZNKSt8functionIFvP11hdfsBuilderPKcEEclES1_S3_(ptr noundef nonnull align 8 dereferenceable(32) %284, ptr noundef %285, ptr noundef @.str.35)
          to label %286 unwind label %268

286:                                              ; preds = %281
  store i32 0, ptr %21, align 4
  br label %287

287:                                              ; preds = %286, %255
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #10
  %288 = load i32, ptr %21, align 4
  switch i32 %288, label %422 [
    i32 0, label %289
  ]

289:                                              ; preds = %287
  br label %322

290:                                              ; preds = %280, %268
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #10
  br label %291

291:                                              ; preds = %290, %264
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #10
  br label %292

292:                                              ; preds = %291, %260
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #10
  br label %293

293:                                              ; preds = %292, %256
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #10
  br label %423

294:                                              ; preds = %214
  %295 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 6
  %296 = load ptr, ptr %295, align 8, !tbaa !25
  %297 = getelementptr inbounds %"class.euler::LibHDFS", ptr %296, i32 0, i32 2
  %298 = load ptr, ptr %30, align 8, !tbaa !5
  %299 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 10
  %300 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %299, ptr noundef @.str.33)
          to label %301 unwind label %207

301:                                              ; preds = %294
  br i1 %300, label %302, label %303

302:                                              ; preds = %301
  br label %306

303:                                              ; preds = %301
  %304 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %27, i64 noundef 0) #10
  %305 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %304) #10
  br label %306

306:                                              ; preds = %303, %302
  %307 = phi ptr [ @.str.35, %302 ], [ %305, %303 ]
  invoke void @_ZNKSt8functionIFvP11hdfsBuilderPKcEEclES1_S3_(ptr noundef nonnull align 8 dereferenceable(32) %297, ptr noundef %298, ptr noundef %307)
          to label %308 unwind label %207

308:                                              ; preds = %306
  %309 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %27) #10
  %310 = icmp eq i64 %309, 2
  br i1 %310, label %311, label %321

311:                                              ; preds = %308
  %312 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 6
  %313 = load ptr, ptr %312, align 8, !tbaa !25
  %314 = getelementptr inbounds %"class.euler::LibHDFS", ptr %313, i32 0, i32 3
  %315 = load ptr, ptr %30, align 8, !tbaa !5
  %316 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %27, i64 noundef 1) #10
  %317 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %316) #10
  %318 = call i32 @atoi(ptr noundef %317) #11
  %319 = trunc i32 %318 to i16
  invoke void @_ZNKSt8functionIFvP11hdfsBuildertEEclES1_t(ptr noundef nonnull align 8 dereferenceable(32) %314, ptr noundef %315, i16 noundef zeroext %319)
          to label %320 unwind label %207

320:                                              ; preds = %311
  br label %321

321:                                              ; preds = %320, %308
  br label %322

322:                                              ; preds = %321, %289
  br label %323

323:                                              ; preds = %322, %206
  %324 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 6
  %325 = load ptr, ptr %324, align 8, !tbaa !25
  %326 = getelementptr inbounds %"class.euler::LibHDFS", ptr %325, i32 0, i32 0
  %327 = load ptr, ptr %30, align 8, !tbaa !5
  %328 = invoke noundef ptr @_ZNKSt8functionIFP13hdfs_internalP11hdfsBuilderEEclES3_(ptr noundef nonnull align 8 dereferenceable(32) %326, ptr noundef %327)
          to label %329 unwind label %207

329:                                              ; preds = %323
  %330 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 7
  store ptr %328, ptr %330, align 8, !tbaa !28
  %331 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 7
  %332 = load ptr, ptr %331, align 8, !tbaa !28
  %333 = icmp ne ptr %332, null
  br i1 %333, label %352, label %334

334:                                              ; preds = %329
  call void @llvm.lifetime.start.p0(i64 392, ptr %39) #10
  invoke void @_ZN5euler10LogMessageC1EPKcii(ptr noundef nonnull align 8 dereferenceable(128) %39, ptr noundef @.str.23, i32 noundef 243, i32 noundef 3)
          to label %335 unwind label %343

335:                                              ; preds = %334
  %336 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA22_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %39, ptr noundef nonnull align 1 dereferenceable(22) @.str.36)
          to label %337 unwind label %347

337:                                              ; preds = %335
  %338 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 10
  %339 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %336, ptr noundef nonnull align 8 dereferenceable(32) %338)
          to label %340 unwind label %347

340:                                              ; preds = %337
  %341 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA9_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %339, ptr noundef nonnull align 1 dereferenceable(9) @.str.37)
          to label %342 unwind label %347

342:                                              ; preds = %340
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %39) #10
  call void @llvm.lifetime.end.p0(i64 392, ptr %39) #10
  store i1 false, ptr %3, align 1
  store i32 1, ptr %21, align 4
  br label %422

343:                                              ; preds = %334
  %344 = landingpad { ptr, i32 }
          cleanup
  %345 = extractvalue { ptr, i32 } %344, 0
  store ptr %345, ptr %9, align 8
  %346 = extractvalue { ptr, i32 } %344, 1
  store i32 %346, ptr %10, align 4
  br label %351

347:                                              ; preds = %340, %337, %335
  %348 = landingpad { ptr, i32 }
          cleanup
  %349 = extractvalue { ptr, i32 } %348, 0
  store ptr %349, ptr %9, align 8
  %350 = extractvalue { ptr, i32 } %348, 1
  store i32 %350, ptr %10, align 4
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %39) #10
  br label %351

351:                                              ; preds = %347, %343
  call void @llvm.lifetime.end.p0(i64 392, ptr %39) #10
  br label %423

352:                                              ; preds = %329
  invoke void @_ZN5euler10HdfsFileIO13CheckFileAttrEv(ptr noundef nonnull align 8 dereferenceable(184) %42)
          to label %353 unwind label %207

353:                                              ; preds = %352
  %354 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 2
  %355 = load i8, ptr %354, align 1, !tbaa !29, !range !23, !noundef !24
  %356 = trunc i8 %355 to i1
  br i1 %356, label %396, label %357

357:                                              ; preds = %353
  %358 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 6
  %359 = load ptr, ptr %358, align 8, !tbaa !25
  %360 = getelementptr inbounds %"class.euler::LibHDFS", ptr %359, i32 0, i32 12
  %361 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 7
  %362 = load ptr, ptr %361, align 8, !tbaa !28
  %363 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 11
  %364 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %363) #10
  %365 = load i32, ptr %26, align 4, !tbaa !21
  %366 = invoke noundef ptr @_ZNKSt8functionIFP17hdfsFile_internalP13hdfs_internalPKciisiEEclES3_S5_iisi(ptr noundef nonnull align 8 dereferenceable(32) %360, ptr noundef %362, ptr noundef %364, i32 noundef %365, i32 noundef 0, i16 noundef signext 0, i32 noundef 0)
          to label %367 unwind label %207

367:                                              ; preds = %357
  %368 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 8
  store ptr %366, ptr %368, align 8, !tbaa !30
  %369 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 8
  %370 = load ptr, ptr %369, align 8, !tbaa !30
  %371 = icmp ne ptr %370, null
  br i1 %371, label %395, label %372

372:                                              ; preds = %367
  call void @llvm.lifetime.start.p0(i64 392, ptr %40) #10
  invoke void @_ZN5euler10LogMessageC1EPKcii(ptr noundef nonnull align 8 dereferenceable(128) %40, ptr noundef @.str.23, i32 noundef 252, i32 noundef 3)
          to label %373 unwind label %386

373:                                              ; preds = %372
  %374 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA24_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %40, ptr noundef nonnull align 1 dereferenceable(24) @.str.38)
          to label %375 unwind label %390

375:                                              ; preds = %373
  %376 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 10
  %377 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %374, ptr noundef nonnull align 8 dereferenceable(32) %376)
          to label %378 unwind label %390

378:                                              ; preds = %375
  %379 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA2_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %377, ptr noundef nonnull align 1 dereferenceable(2) @.str.39)
          to label %380 unwind label %390

380:                                              ; preds = %378
  %381 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 11
  %382 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %379, ptr noundef nonnull align 8 dereferenceable(32) %381)
          to label %383 unwind label %390

383:                                              ; preds = %380
  %384 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA9_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %382, ptr noundef nonnull align 1 dereferenceable(9) @.str.37)
          to label %385 unwind label %390

385:                                              ; preds = %383
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %40) #10
  call void @llvm.lifetime.end.p0(i64 392, ptr %40) #10
  store i1 false, ptr %3, align 1
  store i32 1, ptr %21, align 4
  br label %422

386:                                              ; preds = %372
  %387 = landingpad { ptr, i32 }
          cleanup
  %388 = extractvalue { ptr, i32 } %387, 0
  store ptr %388, ptr %9, align 8
  %389 = extractvalue { ptr, i32 } %387, 1
  store i32 %389, ptr %10, align 4
  br label %394

390:                                              ; preds = %383, %380, %378, %375, %373
  %391 = landingpad { ptr, i32 }
          cleanup
  %392 = extractvalue { ptr, i32 } %391, 0
  store ptr %392, ptr %9, align 8
  %393 = extractvalue { ptr, i32 } %391, 1
  store i32 %393, ptr %10, align 4
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %40) #10
  br label %394

394:                                              ; preds = %390, %386
  call void @llvm.lifetime.end.p0(i64 392, ptr %40) #10
  br label %423

395:                                              ; preds = %367
  br label %396

396:                                              ; preds = %395, %353
  %397 = call noalias ptr @malloc(i64 noundef 4096) #12
  %398 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 3
  store ptr %397, ptr %398, align 8, !tbaa !17
  %399 = getelementptr inbounds %"class.euler::FileIO", ptr %42, i32 0, i32 1
  store i8 1, ptr %399, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 392, ptr %41) #10
  invoke void @_ZN5euler10LogMessageC1EPKcii(ptr noundef nonnull align 8 dereferenceable(128) %41, ptr noundef @.str.23, i32 noundef 260, i32 noundef 1)
          to label %400 unwind label %413

400:                                              ; preds = %396
  %401 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA24_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %41, ptr noundef nonnull align 1 dereferenceable(24) @.str.38)
          to label %402 unwind label %417

402:                                              ; preds = %400
  %403 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 10
  %404 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %401, ptr noundef nonnull align 8 dereferenceable(32) %403)
          to label %405 unwind label %417

405:                                              ; preds = %402
  %406 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA2_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %404, ptr noundef nonnull align 1 dereferenceable(2) @.str.39)
          to label %407 unwind label %417

407:                                              ; preds = %405
  %408 = getelementptr inbounds %"class.euler::HdfsFileIO", ptr %42, i32 0, i32 11
  %409 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %406, ptr noundef nonnull align 8 dereferenceable(32) %408)
          to label %410 unwind label %417

410:                                              ; preds = %407
  %411 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA14_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %409, ptr noundef nonnull align 1 dereferenceable(14) @.str.40)
          to label %412 unwind label %417

412:                                              ; preds = %410
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %41) #10
  call void @llvm.lifetime.end.p0(i64 392, ptr %41) #10
  store i1 true, ptr %3, align 1
  store i32 1, ptr %21, align 4
  br label %422

413:                                              ; preds = %396
  %414 = landingpad { ptr, i32 }
          cleanup
  %415 = extractvalue { ptr, i32 } %414, 0
  store ptr %415, ptr %9, align 8
  %416 = extractvalue { ptr, i32 } %414, 1
  store i32 %416, ptr %10, align 4
  br label %421

417:                                              ; preds = %410, %407, %405, %402, %400
  %418 = landingpad { ptr, i32 }
          cleanup
  %419 = extractvalue { ptr, i32 } %418, 0
  store ptr %419, ptr %9, align 8
  %420 = extractvalue { ptr, i32 } %418, 1
  store i32 %420, ptr %10, align 4
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %41) #10
  br label %421

421:                                              ; preds = %417, %413
  call void @llvm.lifetime.end.p0(i64 392, ptr %41) #10
  br label %423

422:                                              ; preds = %412, %385, %342, %287
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #10
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %27) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #10
  br label %424

423:                                              ; preds = %421, %394, %351, %293, %207
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #10
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %27) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #10
  br label %426

424:                                              ; preds = %422, %121
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #10
  %425 = load i1, ptr %3, align 1
  ret i1 %425

426:                                              ; preds = %423, %177, %131, %130, %106, %80
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #10
  br label %427

427:                                              ; preds = %426
  %428 = load ptr, ptr %9, align 8
  %429 = load i32, ptr %10, align 4
  %430 = insertvalue { ptr, i32 } poison, ptr %428, 0
  %431 = insertvalue { ptr, i32 } %430, i32 %429, 1
  resume { ptr, i32 } %431
}

; Function Attrs: nounwind
declare void @free(ptr noundef) #3

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNKSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8)) #1 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)) #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) #4

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA29_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 1 dereferenceable(29)) #5

declare void @_ZN5euler10LogMessageC1EPKcii(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef, i32 noundef, i32 noundef) unnamed_addr #6

; Function Attrs: nounwind
declare void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128)) unnamed_addr #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #7

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5euler5SplitB5cxx11ENS_5SliceES0_(ptr dead_on_unwind noalias writable sret(%"class.std::vector") align 8, ptr, i64, ptr, i64) #5

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

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

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

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

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

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

declare void @_ZN5euler8ParseURIENS_5SliceEPS0_S1_S1_(ptr, i64, ptr noundef, ptr noundef, ptr noundef) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5eulerneENS_5SliceES0_(ptr, i64, ptr, i64) #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #7

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA44_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 1 dereferenceable(44)) #5

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind willreturn memory(read) uwtable
declare i32 @atoi(ptr noundef nonnull) #8

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA9_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 1 dereferenceable(9)) #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 8 dereferenceable(32)) #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA22_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 1 dereferenceable(22)) #5

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNKSt8functionIFP17hdfsFile_internalP13hdfs_internalPKciisiEEclES3_S5_iisi(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef, i32 noundef, i32 noundef, i16 noundef signext, i32 noundef) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA2_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 1 dereferenceable(2)) #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA24_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 1 dereferenceable(24)) #5

; Function Attrs: nounwind allocsize(0)
declare noalias ptr @malloc(i64 noundef) #9

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA14_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 1 dereferenceable(14)) #5

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 = { nounwind "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 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #5 = { 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 #6 = { "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 #7 = { 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 #8 = { inlinehint mustprogress nounwind willreturn memory(read) 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 #9 = { nounwind allocsize(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 #10 = { nounwind }
attributes #11 = { nounwind willreturn memory(read) }
attributes #12 = { nounwind allocsize(0) }

!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, !11, i64 8}
!10 = !{!"_ZTSN5euler6FileIOE", !11, i64 8, !12, i64 16, !12, i64 24}
!11 = !{!"bool", !7, i64 0}
!12 = !{!"long", !7, i64 0}
!13 = !{!14, !11, i64 32}
!14 = !{!"_ZTSN5euler10HdfsFileIOE", !10, i64 0, !11, i64 32, !11, i64 33, !6, i64 40, !12, i64 48, !12, i64 56, !6, i64 64, !6, i64 72, !6, i64 80, !15, i64 88, !15, i64 120, !15, i64 152}
!15 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !16, i64 0, !12, i64 8, !7, i64 16}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!17 = !{!14, !6, i64 40}
!18 = !{!14, !12, i64 48}
!19 = !{!14, !12, i64 56}
!20 = !{!10, !12, i64 16}
!21 = !{!22, !22, i64 0}
!22 = !{!"int", !7, i64 0}
!23 = !{i8 0, i8 2}
!24 = !{}
!25 = !{!14, !6, i64 64}
!26 = !{i64 0, i64 8, !5, i64 8, i64 8, !27}
!27 = !{!12, !12, i64 0}
!28 = !{!14, !6, i64 72}
!29 = !{!14, !11, i64 33}
!30 = !{!14, !6, i64 80}


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

%"struct.std::__detail::_Node_const_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"struct.std::__detail::_Node_iterator_base" = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator.0" = type { i8 }
%"class.euler::LogMessage" = type { %"class.std::__cxx11::basic_ostringstream.base", ptr, i32, i32, %"class.std::basic_ios" }
%"class.std::__cxx11::basic_ostringstream.base" = type { %"class.std::basic_ostream.base", %"class.std::__cxx11::basic_stringbuf" }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.euler::Slice" = type { ptr, i64 }

@.str.20 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [14 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 nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN5euler10HdfsFileIO10InitializeERKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_St4hashIS7_ESt8equal_toIS7_ESaISt4pairIKS7_S7_EEE(ptr noundef nonnull align 8 dereferenceable(184) %0, ptr noundef nonnull align 8 dereferenceable(56) %1) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"struct.std::__detail::_Node_const_iterator", align 8
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::allocator.0", align 1
  %6 = alloca %"struct.std::__detail::_Node_const_iterator", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::allocator.0", align 1
  %9 = alloca %"struct.std::__detail::_Node_const_iterator", align 8
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::allocator.0", align 1
  %12 = alloca %"struct.std::__detail::_Node_const_iterator", align 8
  %13 = alloca %"class.euler::LogMessage", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::allocator.0", align 1
  %16 = alloca %"struct.std::__detail::_Node_const_iterator", align 8
  %17 = alloca %"class.std::vector", align 8
  %18 = alloca %"class.euler::Slice", align 8
  %19 = alloca %"class.euler::Slice", align 8
  %20 = alloca ptr, align 8
  %21 = alloca %"class.euler::Slice", align 8
  %22 = alloca %"class.euler::Slice", align 8
  %23 = alloca %"class.euler::Slice", align 8
  %24 = alloca %"class.euler::Slice", align 8
  %25 = alloca %"class.euler::Slice", align 8
  %26 = alloca %"class.euler::LogMessage", align 8
  %27 = alloca %"class.euler::LogMessage", align 8
  %28 = alloca %"class.euler::LogMessage", align 8
  %29 = alloca %"class.euler::LogMessage", align 8
  %30 = getelementptr inbounds i8, ptr %0, i64 8
  store i8 0, ptr %30, align 8, !tbaa !5
  %31 = getelementptr inbounds i8, ptr %0, i64 32
  store i8 1, ptr %31, align 8, !tbaa !11
  %32 = getelementptr inbounds i8, ptr %0, i64 40
  %33 = load ptr, ptr %32, align 8, !tbaa !16
  %.not = icmp eq ptr %33, null
  br i1 %.not, label %35, label %34

34:                                               ; preds = %2
  tail call void @free(ptr noundef nonnull %33) #11
  br label %35

35:                                               ; preds = %34, %2
  %36 = getelementptr inbounds i8, ptr %0, i64 16
  store i64 0, ptr %36, align 8, !tbaa !17
  tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %32, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #11
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %5)
          to label %37 unwind label %47

37:                                               ; preds = %35
  %38 = invoke ptr @_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %39 unwind label %49

39:                                               ; preds = %37
  store ptr %38, ptr %3, align 8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #11
  %40 = call ptr @_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %1) #11
  store ptr %40, ptr %6, align 8
  %41 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %6) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #11
  br i1 %41, label %42, label %52

42:                                               ; preds = %39
  %43 = call noundef ptr @_ZNKSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3) #11
  %44 = getelementptr inbounds i8, ptr %43, i64 32
  %45 = getelementptr inbounds i8, ptr %0, i64 88
  %46 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(32) %44)
  br label %52

47:                                               ; preds = %35
  %48 = landingpad { ptr, i32 }
          cleanup
  br label %51

49:                                               ; preds = %37
  %50 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #11
  br label %51

51:                                               ; preds = %49, %47
  %.pn = phi { ptr, i32 } [ %50, %49 ], [ %48, %47 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #11
  br label %262

52:                                               ; preds = %42, %39
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %8) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %53 unwind label %63

53:                                               ; preds = %52
  %54 = invoke ptr @_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %55 unwind label %65

55:                                               ; preds = %53
  store ptr %54, ptr %3, align 8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #11
  %56 = call ptr @_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %1) #11
  store ptr %56, ptr %9, align 8
  %57 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %9) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #11
  br i1 %57, label %58, label %68

58:                                               ; preds = %55
  %59 = call noundef ptr @_ZNKSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3) #11
  %60 = getelementptr inbounds i8, ptr %59, i64 32
  %61 = getelementptr inbounds i8, ptr %0, i64 120
  %62 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %60)
  br label %68

63:                                               ; preds = %52
  %64 = landingpad { ptr, i32 }
          cleanup
  br label %67

65:                                               ; preds = %53
  %66 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #11
  br label %67

67:                                               ; preds = %65, %63
  %.pn40 = phi { ptr, i32 } [ %66, %65 ], [ %64, %63 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #11
  br label %262

68:                                               ; preds = %58, %55
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %11) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %11)
          to label %69 unwind label %77

69:                                               ; preds = %68
  %70 = invoke ptr @_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %71 unwind label %79

71:                                               ; preds = %69
  store ptr %70, ptr %3, align 8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #11
  %72 = call ptr @_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %1) #11
  store ptr %72, ptr %12, align 8
  %73 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %12) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #11
  br i1 %73, label %74, label %84

74:                                               ; preds = %71
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %13) #11
  call void @_ZN5euler10LogMessageC1EPKcii(ptr noundef nonnull align 8 dereferenceable(128) %13, ptr noundef nonnull @.str.23, i32 noundef 198, i32 noundef 3)
  %75 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA29_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %13, ptr noundef nonnull align 1 dereferenceable(29) @.str.24)
          to label %76 unwind label %82

76:                                               ; preds = %74
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %13) #11
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %13) #11
  br label %261

77:                                               ; preds = %68
  %78 = landingpad { ptr, i32 }
          cleanup
  br label %81

79:                                               ; preds = %69
  %80 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #11
  br label %81

81:                                               ; preds = %79, %77
  %.pn42 = phi { ptr, i32 } [ %80, %79 ], [ %78, %77 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #11
  br label %262

82:                                               ; preds = %74
  %83 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %13) #11
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %13) #11
  br label %262

84:                                               ; preds = %71
  %85 = call noundef ptr @_ZNKSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3) #11
  %86 = getelementptr inbounds i8, ptr %85, i64 32
  %87 = getelementptr inbounds i8, ptr %0, i64 152
  %88 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef nonnull align 8 dereferenceable(32) %86)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull @.str.25, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %89 unwind label %107

89:                                               ; preds = %84
  %90 = invoke ptr @_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %91 unwind label %109

91:                                               ; preds = %89
  store ptr %90, ptr %3, align 8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #11
  %92 = call ptr @_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %1) #11
  store ptr %92, ptr %16, align 8
  %93 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %16) #11
  br i1 %93, label %94, label %.critedge

94:                                               ; preds = %91
  %95 = call noundef ptr @_ZNKSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3) #11
  %96 = getelementptr inbounds i8, ptr %95, i64 32
  %97 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %96, ptr noundef nonnull @.str.26)
  br i1 %97, label %.critedge2, label %98

98:                                               ; preds = %94
  %99 = call noundef ptr @_ZNKSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3) #11
  %100 = getelementptr inbounds i8, ptr %99, i64 32
  %101 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef nonnull @.str.27)
  br i1 %101, label %.critedge2, label %102

102:                                              ; preds = %98
  %103 = call noundef ptr @_ZNKSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3) #11
  %104 = getelementptr inbounds i8, ptr %103, i64 32
  %105 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %104, ptr noundef nonnull @.str.28)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #11
  br i1 %105, label %106, label %112

.critedge2:                                       ; preds = %94, %98
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #11
  br label %106

106:                                              ; preds = %.critedge2, %102
  store i8 0, ptr %31, align 8, !tbaa !11
  br label %112

107:                                              ; preds = %84
  %108 = landingpad { ptr, i32 }
          cleanup
  br label %111

109:                                              ; preds = %89
  %110 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #11
  br label %111

111:                                              ; preds = %109, %107
  %.pn44 = phi { ptr, i32 } [ %110, %109 ], [ %108, %107 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #11
  br label %262

.critedge:                                        ; preds = %91
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #11
  br label %112

112:                                              ; preds = %.critedge, %106, %102
  %113 = load i8, ptr %31, align 8, !tbaa !11, !range !18, !noundef !19
  %114 = trunc nuw i8 %113 to i1
  %spec.store.select = select i1 %114, i32 0, i32 65
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %17) #11
  %115 = getelementptr inbounds i8, ptr %0, i64 120
  call void @_ZN5euler5SliceC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %18, ptr noundef nonnull align 8 dereferenceable(32) %115)
  call void @_ZN5euler5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %19, ptr noundef nonnull @.str.29)
  %116 = load ptr, ptr %18, align 8
  %117 = getelementptr inbounds i8, ptr %18, i64 8
  %118 = load i64, ptr %117, align 8
  %119 = load ptr, ptr %19, align 8
  %120 = getelementptr inbounds i8, ptr %19, i64 8
  %121 = load i64, ptr %120, align 8
  call void @_ZN5euler5SplitB5cxx11ENS_5SliceES0_(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %17, ptr %116, i64 %118, ptr %119, i64 %121)
  %122 = getelementptr inbounds i8, ptr %0, i64 64
  %123 = load ptr, ptr %122, align 8, !tbaa !20
  %124 = getelementptr inbounds i8, ptr %123, i64 32
  %125 = invoke noundef ptr @_ZNKSt8functionIFP11hdfsBuildervEEclEv(ptr noundef nonnull align 8 dereferenceable(32) %124)
          to label %126 unwind label %132

126:                                              ; preds = %112
  %127 = getelementptr inbounds i8, ptr %0, i64 88
  %128 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef nonnull @.str.30)
  br i1 %128, label %129, label %134

129:                                              ; preds = %126
  %130 = load ptr, ptr %122, align 8, !tbaa !20
  %131 = getelementptr inbounds i8, ptr %130, i64 64
  invoke void @_ZNKSt8functionIFvP11hdfsBuilderPKcEEclES1_S3_(ptr noundef nonnull align 8 dereferenceable(32) %131, ptr noundef %125, ptr noundef null)
          to label %193 unwind label %132

132:                                              ; preds = %216, %211, %193, %186, %181, %129, %112
  %133 = landingpad { ptr, i32 }
          cleanup
  br label %260

134:                                              ; preds = %126
  %135 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef nonnull @.str.31)
  br i1 %135, label %136, label %174

136:                                              ; preds = %134
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #11
  store ptr null, ptr %20, align 8, !tbaa !21
  %137 = load ptr, ptr %122, align 8, !tbaa !20
  %138 = getelementptr inbounds i8, ptr %137, i64 128
  %139 = invoke noundef i32 @_ZNKSt8functionIFiPKcPPcEEclES1_S3_(ptr noundef nonnull align 8 dereferenceable(32) %138, ptr noundef nonnull @.str.32, ptr noundef nonnull %20)
          to label %140 unwind label %159

140:                                              ; preds = %136
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %21) #11
  call void @_ZN5euler5SliceC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %22) #11
  call void @_ZN5euler5SliceC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %23) #11
  call void @_ZN5euler5SliceC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23)
  %141 = load ptr, ptr %20, align 8, !tbaa !21
  call void @_ZN5euler5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %24, ptr noundef %141)
  %142 = load ptr, ptr %24, align 8
  %143 = getelementptr inbounds i8, ptr %24, i64 8
  %144 = load i64, ptr %143, align 8
  invoke void @_ZN5euler8ParseURIENS_5SliceEPS0_S1_S1_(ptr %142, i64 %144, ptr noundef nonnull %21, ptr noundef nonnull %22, ptr noundef nonnull %23)
          to label %145 unwind label %161

145:                                              ; preds = %140
  call void @_ZN5euler5SliceC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %25, ptr noundef nonnull align 8 dereferenceable(32) %127)
  %.sroa.0.0.copyload = load ptr, ptr %21, align 8, !tbaa !21
  %.sroa.2.0..sroa_idx = getelementptr inbounds i8, ptr %21, i64 8
  %.sroa.2.0.copyload = load i64, ptr %.sroa.2.0..sroa_idx, align 8, !tbaa !22
  %146 = load ptr, ptr %25, align 8
  %147 = getelementptr inbounds i8, ptr %25, i64 8
  %148 = load i64, ptr %147, align 8
  %149 = invoke noundef zeroext i1 @_ZN5eulerneENS_5SliceES0_(ptr %146, i64 %148, ptr %.sroa.0.0.copyload, i64 %.sroa.2.0.copyload)
          to label %150 unwind label %161

150:                                              ; preds = %145
  br i1 %149, label %156, label %151

151:                                              ; preds = %150
  %152 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef nonnull @.str.33)
  br i1 %152, label %153, label %168

153:                                              ; preds = %151
  %154 = load ptr, ptr %20, align 8, !tbaa !21
  %155 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef %154)
  br i1 %155, label %156, label %168

156:                                              ; preds = %153, %150
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %26) #11
  invoke void @_ZN5euler10LogMessageC1EPKcii(ptr noundef nonnull align 8 dereferenceable(128) %26, ptr noundef nonnull @.str.23, i32 noundef 227, i32 noundef 3)
          to label %157 unwind label %163

157:                                              ; preds = %156
  %158 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA44_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %26, ptr noundef nonnull align 1 dereferenceable(44) @.str.34)
          to label %.critedge62 unwind label %165

.critedge62:                                      ; preds = %157
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %26) #11
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %26) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #11
  br label %259

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

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

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

165:                                              ; preds = %157
  %166 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %26) #11
  br label %167

167:                                              ; preds = %165, %163
  %.pn46 = phi { ptr, i32 } [ %166, %165 ], [ %164, %163 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %26) #11
  br label %172

168:                                              ; preds = %153, %151
  %169 = load ptr, ptr %122, align 8, !tbaa !20
  %170 = getelementptr inbounds i8, ptr %169, i64 64
  invoke void @_ZNKSt8functionIFvP11hdfsBuilderPKcEEclES1_S3_(ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef %125, ptr noundef nonnull @.str.35)
          to label %171 unwind label %161

171:                                              ; preds = %168
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #11
  br label %193

172:                                              ; preds = %167, %161
  %.pn46.pn = phi { ptr, i32 } [ %.pn46, %167 ], [ %162, %161 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #11
  br label %173

173:                                              ; preds = %172, %159
  %.pn46.pn.pn = phi { ptr, i32 } [ %.pn46.pn, %172 ], [ %160, %159 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #11
  br label %260

174:                                              ; preds = %134
  %175 = load ptr, ptr %122, align 8, !tbaa !20
  %176 = getelementptr inbounds i8, ptr %175, i64 64
  %177 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef nonnull @.str.33)
  br i1 %177, label %181, label %178

178:                                              ; preds = %174
  %179 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 0) #11
  %180 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %179) #11
  br label %181

181:                                              ; preds = %174, %178
  %182 = phi ptr [ %180, %178 ], [ @.str.35, %174 ]
  invoke void @_ZNKSt8functionIFvP11hdfsBuilderPKcEEclES1_S3_(ptr noundef nonnull align 8 dereferenceable(32) %176, ptr noundef %125, ptr noundef %182)
          to label %183 unwind label %132

183:                                              ; preds = %181
  %184 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #11
  %185 = icmp eq i64 %184, 2
  br i1 %185, label %186, label %193

186:                                              ; preds = %183
  %187 = load ptr, ptr %122, align 8, !tbaa !20
  %188 = getelementptr inbounds i8, ptr %187, i64 96
  %189 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 1) #11
  %190 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %189) #11
  %191 = call i32 @atoi(ptr nocapture noundef %190) #12
  %192 = trunc i32 %191 to i16
  invoke void @_ZNKSt8functionIFvP11hdfsBuildertEEclES1_t(ptr noundef nonnull align 8 dereferenceable(32) %188, ptr noundef %125, i16 noundef zeroext %192)
          to label %193 unwind label %132

193:                                              ; preds = %171, %186, %183, %129
  %194 = load ptr, ptr %122, align 8, !tbaa !20
  %195 = invoke noundef ptr @_ZNKSt8functionIFP13hdfs_internalP11hdfsBuilderEEclES3_(ptr noundef nonnull align 8 dereferenceable(32) %194, ptr noundef %125)
          to label %196 unwind label %132

196:                                              ; preds = %193
  %197 = getelementptr inbounds i8, ptr %0, i64 72
  store ptr %195, ptr %197, align 8, !tbaa !23
  %.not50 = icmp eq ptr %195, null
  br i1 %.not50, label %198, label %211

198:                                              ; preds = %196
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %27) #11
  invoke void @_ZN5euler10LogMessageC1EPKcii(ptr noundef nonnull align 8 dereferenceable(128) %27, ptr noundef nonnull @.str.23, i32 noundef 243, i32 noundef 3)
          to label %199 unwind label %206

199:                                              ; preds = %198
  %200 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA22_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %27, ptr noundef nonnull align 1 dereferenceable(22) @.str.36)
          to label %201 unwind label %208

201:                                              ; preds = %199
  %202 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %200, ptr noundef nonnull align 8 dereferenceable(32) %115)
          to label %203 unwind label %208

203:                                              ; preds = %201
  %204 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA9_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %202, ptr noundef nonnull align 1 dereferenceable(9) @.str.37)
          to label %205 unwind label %208

205:                                              ; preds = %203
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %27) #11
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %27) #11
  br label %259

206:                                              ; preds = %198
  %207 = landingpad { ptr, i32 }
          cleanup
  br label %210

208:                                              ; preds = %203, %201, %199
  %209 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %27) #11
  br label %210

210:                                              ; preds = %208, %206
  %.pn51 = phi { ptr, i32 } [ %209, %208 ], [ %207, %206 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %27) #11
  br label %260

211:                                              ; preds = %196
  invoke void @_ZN5euler10HdfsFileIO13CheckFileAttrEv(ptr noundef nonnull align 8 dereferenceable(184) %0)
          to label %212 unwind label %132

212:                                              ; preds = %211
  %213 = getelementptr inbounds i8, ptr %0, i64 33
  %214 = load i8, ptr %213, align 1, !tbaa !24, !range !18, !noundef !19
  %215 = trunc nuw i8 %214 to i1
  br i1 %215, label %241, label %216

216:                                              ; preds = %212
  %217 = load ptr, ptr %122, align 8, !tbaa !20
  %218 = getelementptr inbounds i8, ptr %217, i64 384
  %219 = load ptr, ptr %197, align 8, !tbaa !23
  %220 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %87) #11
  %221 = invoke noundef ptr @_ZNKSt8functionIFP17hdfsFile_internalP13hdfs_internalPKciisiEEclES3_S5_iisi(ptr noundef nonnull align 8 dereferenceable(32) %218, ptr noundef %219, ptr noundef %220, i32 noundef %spec.store.select, i32 noundef 0, i16 noundef signext 0, i32 noundef 0)
          to label %222 unwind label %132

222:                                              ; preds = %216
  %223 = getelementptr inbounds i8, ptr %0, i64 80
  store ptr %221, ptr %223, align 8, !tbaa !25
  %.not53 = icmp eq ptr %221, null
  br i1 %.not53, label %224, label %241

224:                                              ; preds = %222
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %28) #11
  invoke void @_ZN5euler10LogMessageC1EPKcii(ptr noundef nonnull align 8 dereferenceable(128) %28, ptr noundef nonnull @.str.23, i32 noundef 252, i32 noundef 3)
          to label %225 unwind label %236

225:                                              ; preds = %224
  %226 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA24_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %28, ptr noundef nonnull align 1 dereferenceable(24) @.str.38)
          to label %227 unwind label %238

227:                                              ; preds = %225
  %228 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %226, ptr noundef nonnull align 8 dereferenceable(32) %115)
          to label %229 unwind label %238

229:                                              ; preds = %227
  %230 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA2_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %228, ptr noundef nonnull align 1 dereferenceable(2) @.str.39)
          to label %231 unwind label %238

231:                                              ; preds = %229
  %232 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %230, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %233 unwind label %238

233:                                              ; preds = %231
  %234 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA9_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %232, ptr noundef nonnull align 1 dereferenceable(9) @.str.37)
          to label %235 unwind label %238

235:                                              ; preds = %233
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %28) #11
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %28) #11
  br label %259

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

238:                                              ; preds = %233, %231, %229, %227, %225
  %239 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %28) #11
  br label %240

240:                                              ; preds = %238, %236
  %.pn54 = phi { ptr, i32 } [ %239, %238 ], [ %237, %236 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %28) #11
  br label %260

241:                                              ; preds = %222, %212
  %242 = call noalias dereferenceable_or_null(4096) ptr @malloc(i64 noundef 4096) #13
  store ptr %242, ptr %32, align 8, !tbaa !16
  store i8 1, ptr %30, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %29) #11
  invoke void @_ZN5euler10LogMessageC1EPKcii(ptr noundef nonnull align 8 dereferenceable(128) %29, ptr noundef nonnull @.str.23, i32 noundef 260, i32 noundef 1)
          to label %243 unwind label %254

243:                                              ; preds = %241
  %244 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA24_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %29, ptr noundef nonnull align 1 dereferenceable(24) @.str.38)
          to label %245 unwind label %256

245:                                              ; preds = %243
  %246 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %244, ptr noundef nonnull align 8 dereferenceable(32) %115)
          to label %247 unwind label %256

247:                                              ; preds = %245
  %248 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA2_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %246, ptr noundef nonnull align 1 dereferenceable(2) @.str.39)
          to label %249 unwind label %256

249:                                              ; preds = %247
  %250 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %248, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %251 unwind label %256

251:                                              ; preds = %249
  %252 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA14_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128) %250, ptr noundef nonnull align 1 dereferenceable(14) @.str.40)
          to label %253 unwind label %256

253:                                              ; preds = %251
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %29) #11
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %29) #11
  br label %259

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

256:                                              ; preds = %251, %249, %247, %245, %243
  %257 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128) %29) #11
  br label %258

258:                                              ; preds = %256, %254
  %.pn56 = phi { ptr, i32 } [ %257, %256 ], [ %255, %254 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %29) #11
  br label %260

259:                                              ; preds = %.critedge62, %253, %235, %205
  %.1 = phi i1 [ true, %253 ], [ false, %235 ], [ false, %205 ], [ false, %.critedge62 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #11
  br label %261

260:                                              ; preds = %258, %240, %210, %173, %132
  %.pn56.pn = phi { ptr, i32 } [ %.pn56, %258 ], [ %.pn54, %240 ], [ %133, %132 ], [ %.pn51, %210 ], [ %.pn46.pn.pn, %173 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #11
  br label %262

261:                                              ; preds = %259, %76
  %.2 = phi i1 [ false, %76 ], [ %.1, %259 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #11
  ret i1 %.2

262:                                              ; preds = %260, %111, %82, %81, %67, %51
  %.pn59 = phi { ptr, i32 } [ %83, %82 ], [ %.pn56.pn, %260 ], [ %.pn44, %111 ], [ %.pn42, %81 ], [ %.pn40, %67 ], [ %.pn, %51 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #11
  resume { ptr, i32 } %.pn59
}

; Function Attrs: mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite)
declare void @free(ptr allocptr nocapture noundef) local_unnamed_addr #3

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb1EEESC_(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 @_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNKSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1 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 nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA29_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 1 dereferenceable(29)) local_unnamed_addr #4

declare void @_ZN5euler10LogMessageC1EPKcii(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef, i32 noundef, i32 noundef) unnamed_addr #5

; Function Attrs: nounwind
declare void @_ZN5euler10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(128)) unnamed_addr #6

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #7

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5euler5SplitB5cxx11ENS_5SliceES0_(ptr dead_on_unwind noalias writable sret(%"class.std::vector") align 8, ptr, i64, ptr, i64) local_unnamed_addr #4

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

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

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

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

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

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

declare void @_ZN5euler8ParseURIENS_5SliceEPS0_S1_S1_(ptr, i64, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5eulerneENS_5SliceES0_(ptr, i64, ptr, i64) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #7

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA44_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 1 dereferenceable(44)) local_unnamed_addr #4

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNKSt8functionIFvP11hdfsBuildertEEclES1_t(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, i16 noundef zeroext) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress nofree nounwind willreturn memory(read) uwtable
declare i32 @atoi(ptr nocapture noundef nonnull) local_unnamed_addr #8

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA9_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 1 dereferenceable(9)) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA22_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 1 dereferenceable(22)) local_unnamed_addr #4

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNKSt8functionIFP17hdfsFile_internalP13hdfs_internalPKciisiEEclES3_S5_iisi(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef, i32 noundef, i32 noundef, i16 noundef signext, i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA2_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 1 dereferenceable(2)) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA24_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 1 dereferenceable(24)) local_unnamed_addr #4

; Function Attrs: mustprogress nofree nounwind willreturn allockind("alloc,uninitialized") allocsize(0) memory(inaccessiblemem: readwrite)
declare noalias noundef ptr @malloc(i64 noundef) local_unnamed_addr #9

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_ZStlsIN5euler10LogMessageEA14_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 1 dereferenceable(14)) local_unnamed_addr #4

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #10

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 = { mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite) "alloc-family"="malloc" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nounwind "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 #7 = { 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 #8 = { inlinehint mustprogress nofree nounwind willreturn memory(read) 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 #9 = { mustprogress nofree nounwind willreturn allockind("alloc,uninitialized") allocsize(0) memory(inaccessiblemem: readwrite) "alloc-family"="malloc" "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 #10 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #11 = { nounwind }
attributes #12 = { nounwind willreturn memory(read) }
attributes #13 = { nounwind allocsize(0) }

!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, !7, i64 8}
!6 = !{!"_ZTSN5euler6FileIOE", !7, i64 8, !10, i64 16, !10, i64 24}
!7 = !{!"bool", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"long", !8, i64 0}
!11 = !{!12, !7, i64 32}
!12 = !{!"_ZTSN5euler10HdfsFileIOE", !6, i64 0, !7, i64 32, !7, i64 33, !13, i64 40, !10, i64 48, !10, i64 56, !13, i64 64, !13, i64 72, !13, i64 80, !14, i64 88, !14, i64 120, !14, i64 152}
!13 = !{!"any pointer", !8, i64 0}
!14 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !15, i64 0, !10, i64 8, !8, i64 16}
!15 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !13, i64 0}
!16 = !{!12, !13, i64 40}
!17 = !{!6, !10, i64 16}
!18 = !{i8 0, i8 2}
!19 = !{}
!20 = !{!12, !13, i64 64}
!21 = !{!13, !13, i64 0}
!22 = !{!10, !10, i64 0}
!23 = !{!12, !13, i64 72}
!24 = !{!12, !7, i64 33}
!25 = !{!12, !13, i64 80}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,MemCpyOptPass,SROAPass,SimplifyCFGPass,TailCallElimPass