Created
January 10, 2018 19:37
-
-
Save stelleg/89f40a1d726600956d72ed580194fcbc to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; ModuleID = 'main.cpp' | |
source_filename = "main.cpp" | |
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-unknown-linux-gnu" | |
%"class.std::ios_base::Init" = type { i8 } | |
%"class.std::basic_ostream" = type { i32 (...)**, %"class.std::basic_ios" } | |
%"class.std::basic_ios" = type { %"class.std::ios_base", %"class.std::basic_ostream"*, i8, i8, %"class.std::basic_streambuf"*, %"class.std::ctype"*, %"class.std::num_put"*, %"class.std::num_get"* } | |
%"class.std::ios_base" = type { i32 (...)**, i64, i64, i32, i32, i32, %"struct.std::ios_base::_Callback_list"*, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, %"struct.std::ios_base::_Words"*, %"class.std::locale" } | |
%"struct.std::ios_base::_Callback_list" = type { %"struct.std::ios_base::_Callback_list"*, void (i32, %"class.std::ios_base"*, i32)*, i32, i32 } | |
%"struct.std::ios_base::_Words" = type { i8*, i64 } | |
%"class.std::locale" = type { %"class.std::locale::_Impl"* } | |
%"class.std::locale::_Impl" = type { i32, %"class.std::locale::facet"**, i64, %"class.std::locale::facet"**, i8** } | |
%"class.std::locale::facet" = type <{ i32 (...)**, i32, [4 x i8] }> | |
%"class.std::basic_streambuf" = type { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, %"class.std::locale" } | |
%"class.std::ctype" = type <{ %"class.std::locale::facet.base", [4 x i8], %struct.__locale_struct*, i8, [7 x i8], i32*, i32*, i16*, i8, [256 x i8], [256 x i8], i8, [6 x i8] }> | |
%"class.std::locale::facet.base" = type <{ i32 (...)**, i32 }> | |
%struct.__locale_struct = type { [13 x %struct.__locale_data*], i16*, i32*, i32*, [13 x i8*] } | |
%struct.__locale_data = type opaque | |
%"class.std::num_put" = type { %"class.std::locale::facet.base", [4 x i8] } | |
%"class.std::num_get" = type { %"class.std::locale::facet.base", [4 x i8] } | |
%struct.cilk_c_monoid = type { void (i8*, i8*, i8*)*, void (i8*, i8*)*, void (i8*, i8*)*, i8* (i8*, i64)*, void (i8*, i8*)* } | |
%struct.Box = type { [6 x i32] } | |
%"struct.std::pair" = type { i32, i32 } | |
%"struct.miniFE::Parameters" = type <{ i32, i32, i32, i32, i32, i32, float, [4 x i8], %"class.std::__cxx11::basic_string", i32, i32, i32, i32, i32, i32, i32, [4 x i8] }> | |
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider", i64, %union.anon } | |
%"struct.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider" = type { i8* } | |
%union.anon = type { i64, [8 x i8] } | |
%"class.std::vector" = type { %"struct.std::_Vector_base" } | |
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl" } | |
%"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl" = type { %struct.Box*, %struct.Box*, %struct.Box* } | |
%"class.std::allocator.0" = type { i8 } | |
%"class.std::__cxx11::basic_ostringstream" = type { %"class.std::basic_ostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" } | |
%"class.std::basic_ostream.base" = type { i32 (...)** } | |
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" } | |
%class.YAML_Doc = type { %class.YAML_Element, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string" } | |
%class.YAML_Element = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::vector.3" } | |
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" } | |
%"struct.std::_Vector_base.4" = type { %"struct.std::_Vector_base<YAML_Element *, std::allocator<YAML_Element *> >::_Vector_impl" } | |
%"struct.std::_Vector_base<YAML_Element *, std::allocator<YAML_Element *> >::_Vector_impl" = type { %class.YAML_Element**, %class.YAML_Element**, %class.YAML_Element** } | |
%"class.std::allocator" = type { i8 } | |
%"class.__gnu_cxx::new_allocator.1" = type { i8 } | |
%struct.tm = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i8* } | |
%"class.miniFE::simple_mesh_description" = type { %"class.std::set", %"class.std::set", %"class.std::map", %struct.Box, %struct.Box } | |
%"class.std::set" = type { %"class.std::_Rb_tree" } | |
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_Rb_tree_impl" } | |
%"struct.std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_Rb_tree_impl" = type { %"struct.std::_Rb_tree_key_compare", %"struct.std::_Rb_tree_header" } | |
%"struct.std::_Rb_tree_key_compare" = type { %"struct.std::less" } | |
%"struct.std::less" = type { i8 } | |
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 } | |
%"struct.std::_Rb_tree_node_base" = type { i32, %"struct.std::_Rb_tree_node_base"*, %"struct.std::_Rb_tree_node_base"*, %"struct.std::_Rb_tree_node_base"* } | |
%"class.std::map" = type { %"class.std::_Rb_tree.11" } | |
%"class.std::_Rb_tree.11" = type { %"struct.std::_Rb_tree<int, std::pair<const int, int>, std::_Select1st<std::pair<const int, int> >, std::less<int>, std::allocator<std::pair<const int, int> > >::_Rb_tree_impl" } | |
%"struct.std::_Rb_tree<int, std::pair<const int, int>, std::_Select1st<std::pair<const int, int> >, std::less<int>, std::allocator<std::pair<const int, int> > >::_Rb_tree_impl" = type { %"struct.std::_Rb_tree_key_compare", %"struct.std::_Rb_tree_header" } | |
%"struct.miniFE::CSRMatrix" = type <{ i8, [7 x i8], %"class.std::vector.15", %"class.std::vector.15", %"class.std::vector.15", %"class.std::vector.15", %"class.std::vector.20", i32, [4 x i8] }> | |
%"class.std::vector.15" = type { %"struct.std::_Vector_base.16" } | |
%"struct.std::_Vector_base.16" = type { %"struct.std::_Vector_base<int, std::allocator<int> >::_Vector_impl" } | |
%"struct.std::_Vector_base<int, std::allocator<int> >::_Vector_impl" = type { i32*, i32*, i32* } | |
%"class.std::vector.20" = type { %"struct.std::_Vector_base.21" } | |
%"struct.std::_Vector_base.21" = type { %"struct.std::_Vector_base<double, std::allocator<double> >::_Vector_impl" } | |
%"struct.std::_Vector_base<double, std::allocator<double> >::_Vector_impl" = type { double*, double*, double* } | |
%"struct.miniFE::Vector" = type { i32, i32, %"class.std::vector.20" } | |
%"struct.miniFE::matvec_overlap" = type { i8 } | |
%"struct.miniFE::matvec_std" = type { i8 } | |
%"struct.std::pair.25" = type <{ %"struct.std::_Rb_tree_const_iterator", i8, [7 x i8] }> | |
%"struct.std::_Rb_tree_const_iterator" = type { %"struct.std::_Rb_tree_node_base"* } | |
%"class.std::exception" = type { i32 (...)** } | |
%"class.std::allocator.17" = type { i8 } | |
%"class.std::runtime_error" = type { %"class.std::exception", %"struct.std::__cow_string" } | |
%"struct.std::__cow_string" = type { %union.anon.40 } | |
%union.anon.40 = type { i8* } | |
%"class.std::allocator.22" = type { i8 } | |
%"struct.miniFE::err_info" = type { double, double, double, [3 x double] } | |
%"class.__gnu_cxx::new_allocator.18" = type { i8 } | |
%"struct.std::__true_type" = type { i8 } | |
%"struct.std::pair.28" = type { i32, i32 } | |
%"struct.std::pair.26" = type <{ %"struct.std::_Rb_tree_iterator", i8, [7 x i8] }> | |
%"struct.std::_Rb_tree_iterator" = type { %"struct.std::_Rb_tree_node_base"* } | |
%"struct.std::pair.29" = type { i32, i64 } | |
%"struct.std::pair.34" = type <{ %"struct.std::_Rb_tree_iterator.35", i8, [7 x i8] }> | |
%"struct.std::_Rb_tree_iterator.35" = type { %"struct.std::_Rb_tree_node_base"* } | |
%"class.std::allocator.8" = type { i8 } | |
%"class.__gnu_cxx::new_allocator.9" = type { i8 } | |
%"class.std::allocator.12" = type { i8 } | |
%"class.__gnu_cxx::new_allocator.13" = type { i8 } | |
%"class.__gnu_cxx::__normal_iterator" = type { i32* } | |
%"struct.std::pair.30" = type { %"struct.std::_Rb_tree_node_base"*, %"struct.std::_Rb_tree_node_base"* } | |
%"struct.std::_Select1st" = type { i8 } | |
%"struct.std::_Rb_tree<int, std::pair<const int, int>, std::_Select1st<std::pair<const int, int> >, std::less<int>, std::allocator<std::pair<const int, int> > >::_Alloc_node" = type { %"class.std::_Rb_tree.11"* } | |
%"struct.std::_Rb_tree_node" = type { %"struct.std::_Rb_tree_node_base", %"struct.std::pair.28" } | |
%"class.std::allocator.31" = type { i8 } | |
%"class.__gnu_cxx::new_allocator.32" = type { i8 } | |
%"struct.std::_Identity" = type { i8 } | |
%"struct.std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_Alloc_node" = type { %"class.std::_Rb_tree"* } | |
%"struct.std::_Rb_tree_node.38" = type <{ %"struct.std::_Rb_tree_node_base", i32, [4 x i8] }> | |
%"struct.std::_Rb_tree_const_iterator.39" = type { %"struct.std::_Rb_tree_node_base"* } | |
%"class.__gnu_cxx::new_allocator.23" = type { i8 } | |
%struct.MatrixInitOp = type { i32*, i32*, i32*, i32, i32, i32, i32, i32*, i32*, i32*, double*, i32, %"class.miniFE::simple_mesh_description"* } | |
%"class.__gnu_cxx::__normal_iterator.41" = type { double* } | |
%"struct.__gnu_cxx::__ops::_Iter_less_iter" = type { i8 } | |
%"struct.__gnu_cxx::__ops::_Iter_less_val" = type { i8 } | |
%"struct.__gnu_cxx::__ops::_Val_less_iter" = type { i8 } | |
%"class.miniFE::BoxIterator" = type { i32, i32, i32, %struct.Box } | |
%"struct.miniFE::ElemData" = type { i64, [8 x i32], [192 x double], [24 x double], [36 x double], [8 x double] } | |
%"struct.std::random_access_iterator_tag" = type { i8 } | |
%"class.cilk::reducer_opadd" = type { %"class.cilk::reducer.base", [56 x i8] } | |
%"class.cilk::reducer.base" = type { %"class.cilk::internal::reducer_content.base" } | |
%"class.cilk::internal::reducer_content.base" = type { %"class.cilk::internal::reducer_base", [48 x i8], [8 x i8] } | |
%"class.cilk::internal::reducer_base" = type { %struct.__cilkrts_hyperobject_base, %"class.cilk::internal::storage_for_object", i8* } | |
%struct.__cilkrts_hyperobject_base = type { %struct.cilk_c_monoid, i64, i64, i64 } | |
%"class.cilk::internal::storage_for_object" = type { %"class.cilk::internal::aligned_storage" } | |
%"class.cilk::internal::aligned_storage" = type { [1 x i8] } | |
%"class.cilk::reducer" = type { %"class.cilk::internal::reducer_content.base", [56 x i8] } | |
%"class.cilk::op_add_view" = type { %"class.cilk::scalar_view" } | |
%"class.cilk::scalar_view" = type { double } | |
%"class.cilk::internal::reducer_content" = type { %"class.cilk::internal::reducer_base", [48 x i8], [8 x i8], [56 x i8] } | |
%"struct.cilk::op_add" = type { i8 } | |
%"class.cilk::monoid_base<double, cilk::op_add_view<double> >::provisional_guard" = type { %"struct.cilk::op_add"* } | |
%"class.cilk::monoid_with_view" = type { i8 } | |
%"class.cilk::monoid_base" = type { i8 } | |
$_ZNK3BoxixEi = comdat any | |
$_ZNSt4pairIiiEC2ERKiS2_ = comdat any | |
$_ZN6miniFE10ParametersC2Ev = comdat any | |
$_ZNSaI3BoxEC2Ev = comdat any | |
$_ZNSt6vectorI3BoxSaIS0_EEC2EmRKS0_RKS1_ = comdat any | |
$_ZNSaI3BoxED2Ev = comdat any | |
$_ZNSt6vectorI3BoxSaIS0_EEixEm = comdat any | |
$_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_ = comdat any | |
$__clang_call_terminate = comdat any | |
$_ZN6miniFE6driverIdiiEEvRK3BoxRS1_RNS_10ParametersER8YAML_Doc = comdat any | |
$_ZNSt6vectorI3BoxSaIS0_EED2Ev = comdat any | |
$_ZN6miniFE10ParametersD2Ev = comdat any | |
$_ZNSt8ios_base5widthEl = comdat any | |
$_ZN9__gnu_cxx13new_allocatorI3BoxEC2Ev = comdat any | |
$_ZN9__gnu_cxx13new_allocatorI3BoxED2Ev = comdat any | |
$_ZNSt12_Vector_baseI3BoxSaIS0_EEC2EmRKS1_ = comdat any | |
$_ZNSt6vectorI3BoxSaIS0_EE18_M_fill_initializeEmRKS0_ = comdat any | |
$_ZNSt12_Vector_baseI3BoxSaIS0_EED2Ev = comdat any | |
$_ZNSt12_Vector_baseI3BoxSaIS0_EE12_Vector_implC2ERKS1_ = comdat any | |
$_ZNSt12_Vector_baseI3BoxSaIS0_EE17_M_create_storageEm = comdat any | |
$_ZNSt12_Vector_baseI3BoxSaIS0_EE12_Vector_implD2Ev = comdat any | |
$_ZNSaI3BoxEC2ERKS0_ = comdat any | |
$_ZN9__gnu_cxx13new_allocatorI3BoxEC2ERKS2_ = comdat any | |
$_ZNSt12_Vector_baseI3BoxSaIS0_EE11_M_allocateEm = comdat any | |
$_ZN9__gnu_cxx14__alloc_traitsISaI3BoxEE8allocateERS2_m = comdat any | |
$_ZN9__gnu_cxx13new_allocatorI3BoxE8allocateEmPKv = comdat any | |
$_ZNK9__gnu_cxx13new_allocatorI3BoxE8max_sizeEv = comdat any | |
$_ZSt24__uninitialized_fill_n_aIP3BoxmS0_S0_ET_S2_T0_RKT1_RSaIT2_E = comdat any | |
$_ZNSt12_Vector_baseI3BoxSaIS0_EE19_M_get_Tp_allocatorEv = comdat any | |
$_ZSt20uninitialized_fill_nIP3BoxmS0_ET_S2_T0_RKT1_ = comdat any | |
$_ZNSt22__uninitialized_fill_nILb1EE15__uninit_fill_nIP3BoxmS2_EET_S4_T0_RKT1_ = comdat any | |
$_ZSt6fill_nIP3BoxmS0_ET_S2_T0_RKT1_ = comdat any | |
$_ZSt10__fill_n_aIP3BoxmS0_EN9__gnu_cxx11__enable_ifIXntsr11__is_scalarIT1_EE7__valueET_E6__typeES5_T0_RKS4_ = comdat any | |
$_ZSt12__niter_baseIP3BoxET_S2_ = comdat any | |
$_ZNSt12_Vector_baseI3BoxSaIS0_EE13_M_deallocateEPS0_m = comdat any | |
$_ZN9__gnu_cxx14__alloc_traitsISaI3BoxEE10deallocateERS2_PS1_m = comdat any | |
$_ZN9__gnu_cxx13new_allocatorI3BoxE10deallocateEPS1_m = comdat any | |
$_ZSt8_DestroyIP3BoxS0_EvT_S2_RSaIT0_E = comdat any | |
$_ZSt8_DestroyIP3BoxEvT_S2_ = comdat any | |
$_ZNSt12_Destroy_auxILb1EE9__destroyIP3BoxEEvT_S4_ = comdat any | |
$_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_ = comdat any | |
$_ZN6miniFE13add_imbalanceIiEEvRK3BoxRS1_fR8YAML_Doc = comdat any | |
$_ZN6miniFE17compute_imbalanceIiEEvRK3BoxS3_RfS4_R8YAML_Docb = comdat any | |
$_ZN6miniFE23simple_mesh_descriptionIiEC2ERK3BoxS4_ = comdat any | |
$_ZN6miniFE9CSRMatrixIdiiEC2Ev = comdat any | |
$_ZN6miniFE25generate_matrix_structureINS_9CSRMatrixIdiiEEEEiRKNS_23simple_mesh_descriptionINT_17GlobalOrdinalTypeEEERS4_ = comdat any | |
$_ZNKSt6vectorIiSaIiEE4sizeEv = comdat any | |
$_ZNSt6vectorIiSaIiEEixEm = comdat any | |
$_ZN6miniFE6VectorIdiiEC2Eii = comdat any | |
$_ZN6miniFE16assemble_FE_dataINS_9CSRMatrixIdiiEENS_6VectorIdiiEEEEvRKNS_23simple_mesh_descriptionINT_17GlobalOrdinalTypeEEERS6_RT0_RNS_10ParametersE = comdat any | |
$_ZN6miniFE16impose_dirichletINS_9CSRMatrixIdiiEENS_6VectorIdiiEEEEvNT_10ScalarTypeERS5_RT0_iiiRKSt3setINS5_17GlobalOrdinalTypeESt4lessISB_ESaISB_EE = comdat any | |
$_ZN6miniFE17make_local_matrixINS_9CSRMatrixIdiiEEEEvRT_ = comdat any | |
$_ZN6miniFE20compute_matrix_statsINS_9CSRMatrixIdiiEEEEmRKT_iiR8YAML_Doc = comdat any | |
$_ZNSt14numeric_limitsIdE7epsilonEv = comdat any | |
$_ZN6miniFE31rearrange_matrix_local_externalINS_9CSRMatrixIdiiEEEEvRT_ = comdat any | |
$_ZN6miniFE8cg_solveINS_9CSRMatrixIdiiEENS_6VectorIdiiEENS_14matvec_overlapIS2_S4_EEEEvRT_RKT0_RS9_T1_NS7_16LocalOrdinalTypeERNS_10TypeTraitsINS7_10ScalarTypeEE14magnitude_typeERSE_SJ_Pd = comdat any | |
$_ZN6miniFE8cg_solveINS_9CSRMatrixIdiiEENS_6VectorIdiiEENS_10matvec_stdIS2_S4_EEEEvRT_RKT0_RS9_T1_NS7_16LocalOrdinalTypeERNS_10TypeTraitsINS7_10ScalarTypeEE14magnitude_typeERSE_SJ_Pd = comdat any | |
$_ZN6miniFE15verify_solutionINS_6VectorIdiiEEEEiRKNS_23simple_mesh_descriptionINT_17GlobalOrdinalTypeEEERKS4_db = comdat any | |
$_ZN6miniFE10TypeTraitsIdE4nameEv = comdat any | |
$_ZN6miniFE10TypeTraitsIiE4nameEv = comdat any | |
$_ZN6miniFE6VectorIdiiED2Ev = comdat any | |
$_ZN6miniFE9CSRMatrixIdiiED2Ev = comdat any | |
$_ZN6miniFE23simple_mesh_descriptionIiED2Ev = comdat any | |
$_ZN6miniFE11get_num_idsIiEET_RK3Box = comdat any | |
$_ZN6miniFE18get_global_min_maxIiEEvT_RS1_S2_RiS2_S3_ = comdat any | |
$_ZN3BoxixEi = comdat any | |
$_ZNSaIiEC2Ev = comdat any | |
$_ZNSt6vectorIiSaIiEEC2IiEET_S3_RKS0_ = comdat any | |
$_ZNSaIiED2Ev = comdat any | |
$_ZNSt6vectorIiSaIiEED2Ev = comdat any | |
$_ZN9__gnu_cxx13new_allocatorIiEC2Ev = comdat any | |
$_ZNSt12_Vector_baseIiSaIiEEC2ERKS0_ = comdat any | |
$_ZNSt6vectorIiSaIiEE22_M_initialize_dispatchIiEEvT_S3_St11__true_type = comdat any | |
$_ZNSt12_Vector_baseIiSaIiEED2Ev = comdat any | |
$_ZNSt12_Vector_baseIiSaIiEE12_Vector_implC2ERKS0_ = comdat any | |
$_ZNSaIiEC2ERKS_ = comdat any | |
$_ZN9__gnu_cxx13new_allocatorIiEC2ERKS1_ = comdat any | |
$_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm = comdat any | |
$_ZNSt6vectorIiSaIiEE18_M_fill_initializeEmRKi = comdat any | |
$_ZN9__gnu_cxx14__alloc_traitsISaIiEE8allocateERS1_m = comdat any | |
$_ZN9__gnu_cxx13new_allocatorIiE8allocateEmPKv = comdat any | |
$_ZNK9__gnu_cxx13new_allocatorIiE8max_sizeEv = comdat any | |
$_ZSt24__uninitialized_fill_n_aIPimiiET_S1_T0_RKT1_RSaIT2_E = comdat any | |
$_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv = comdat any | |
$_ZSt20uninitialized_fill_nIPimiET_S1_T0_RKT1_ = comdat any | |
$_ZNSt22__uninitialized_fill_nILb1EE15__uninit_fill_nIPimiEET_S3_T0_RKT1_ = comdat any | |
$_ZSt6fill_nIPimiET_S1_T0_RKT1_ = comdat any | |
$_ZSt10__fill_n_aIPimiEN9__gnu_cxx11__enable_ifIXsr11__is_scalarIT1_EE7__valueET_E6__typeES4_T0_RKS3_ = comdat any | |
$_ZSt12__niter_baseIPiET_S1_ = comdat any | |
$_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim = comdat any | |
$_ZNSt12_Vector_baseIiSaIiEE12_Vector_implD2Ev = comdat any | |
$_ZN9__gnu_cxx14__alloc_traitsISaIiEE10deallocateERS1_Pim = comdat any | |
$_ZN9__gnu_cxx13new_allocatorIiE10deallocateEPim = comdat any | |
$_ZN9__gnu_cxx13new_allocatorIiED2Ev = comdat any | |
$_ZSt8_DestroyIPiiEvT_S1_RSaIT0_E = comdat any | |
$_ZSt8_DestroyIPiEvT_S1_ = comdat any | |
$_ZNSt12_Destroy_auxILb1EE9__destroyIPiEEvT_S3_ = comdat any | |
$_ZN6miniFE21percentage_differenceIfEET_S1_S1_ = comdat any | |
$_ZN6miniFE29compute_std_dev_as_percentageIfEET_S1_S1_ = comdat any | |
$_ZSt3absf = comdat any | |
$_ZNSt3setIiSt4lessIiESaIiEEC2Ev = comdat any | |
$_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEC2Ev = comdat any | |
$_ZN6miniFE20create_map_id_to_rowIiEEviiiRK3BoxRSt3mapIT_S5_St4lessIS5_ESaISt4pairIKS5_S5_EEE = comdat any | |
$_ZN6miniFE6get_idIiEET_iiiiii = comdat any | |
$_ZNSt3setIiSt4lessIiESaIiEE6insertERKi = comdat any | |
$_ZNK6miniFE23simple_mesh_descriptionIiE13map_id_to_rowERKi = comdat any | |
$_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEED2Ev = comdat any | |
$_ZNSt3setIiSt4lessIiESaIiEED2Ev = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEEC2Ev = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE13_Rb_tree_implIS3_Lb0EEC2Ev = comdat any | |
$_ZNSaISt13_Rb_tree_nodeIiEEC2Ev = comdat any | |
$_ZNSt20_Rb_tree_key_compareISt4lessIiEEC2Ev = comdat any | |
$_ZNSt15_Rb_tree_headerC2Ev = comdat any | |
$_ZNSaISt13_Rb_tree_nodeIiEED2Ev = comdat any | |
$_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeIiEEC2Ev = comdat any | |
$_ZNSt15_Rb_tree_header8_M_resetEv = comdat any | |
$_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeIiEED2Ev = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EEC2Ev = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE13_Rb_tree_implIS6_Lb0EEC2Ev = comdat any | |
$_ZNSaISt13_Rb_tree_nodeISt4pairIKiiEEEC2Ev = comdat any | |
$_ZNSaISt13_Rb_tree_nodeISt4pairIKiiEEED2Ev = comdat any | |
$_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKiiEEEC2Ev = comdat any | |
$_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKiiEEED2Ev = comdat any | |
$_ZNSt6vectorIiSaIiEEC2Ev = comdat any | |
$_ZN6miniFE7get_idsIiEEviiiRK3BoxRSt6vectorIT_SaIS5_EEb = comdat any | |
$_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE6insertERKS4_ = comdat any | |
$_ZSt9make_pairIiiESt4pairIT_T0_ES1_S2_ = comdat any | |
$_ZNSt4pairIKiiEC2IiiEERKS_IT_T0_E = comdat any | |
$_ZSt9make_pairIimESt4pairIT_T0_ES1_S2_ = comdat any | |
$_ZNSt4pairIKiiEC2IimEERKS_IT_T0_E = comdat any | |
$_ZNSt12_Vector_baseIiSaIiEEC2Ev = comdat any | |
$_ZNSt12_Vector_baseIiSaIiEE12_Vector_implC2Ev = comdat any | |
$_ZNSt6vectorIiSaIiEE5clearEv = comdat any | |
$_ZNSt6vectorIiSaIiEE7reserveEm = comdat any | |
$_ZNSt6vectorIiSaIiEE9push_backERKi = comdat any | |
$_ZNSt6vectorIiSaIiEE15_M_erase_at_endEPi = comdat any | |
$_ZNKSt6vectorIiSaIiEE8max_sizeEv = comdat any | |
$_ZNKSt6vectorIiSaIiEE8capacityEv = comdat any | |
$_ZNSt6vectorIiSaIiEE20_M_allocate_and_copyIPiEES3_mT_S4_ = comdat any | |
$_ZN9__gnu_cxx14__alloc_traitsISaIiEE8max_sizeERKS1_ = comdat any | |
$_ZNKSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv = comdat any | |
$_ZSt22__uninitialized_copy_aIPiS0_iET0_T_S2_S1_RSaIT1_E = comdat any | |
$_ZSt18uninitialized_copyIPiS0_ET0_T_S2_S1_ = comdat any | |
$_ZNSt20__uninitialized_copyILb1EE13__uninit_copyIPiS2_EET0_T_S4_S3_ = comdat any | |
$_ZSt4copyIPiS0_ET0_T_S2_S1_ = comdat any | |
$_ZSt14__copy_move_a2ILb0EPiS0_ET1_T0_S2_S1_ = comdat any | |
$_ZSt12__miter_baseIPiET_S1_ = comdat any | |
$_ZSt13__copy_move_aILb0EPiS0_ET1_T0_S2_S1_ = comdat any | |
$_ZNSt11__copy_moveILb0ELb1ESt26random_access_iterator_tagE8__copy_mIiEEPT_PKS3_S6_S4_ = comdat any | |
$_ZN9__gnu_cxx14__alloc_traitsISaIiEE9constructIiEEvRS1_PiRKT_ = comdat any | |
$_ZNSt6vectorIiSaIiEE17_M_realloc_insertEN9__gnu_cxx17__normal_iteratorIPiS1_EERKi = comdat any | |
$_ZNSt6vectorIiSaIiEE3endEv = comdat any | |
$_ZN9__gnu_cxx13new_allocatorIiE9constructEPiRKi = comdat any | |
$_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc = comdat any | |
$_ZN9__gnu_cxxmiIPiSt6vectorIiSaIiEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKS8_SB_ = comdat any | |
$_ZNSt6vectorIiSaIiEE5beginEv = comdat any | |
$_ZSt34__uninitialized_move_if_noexcept_aIPiS0_SaIiEET0_T_S3_S2_RT1_ = comdat any | |
$_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEE4baseEv = comdat any | |
$_ZN9__gnu_cxx14__alloc_traitsISaIiEE7destroyERS1_Pi = comdat any | |
$_ZSt3maxImERKT_S2_S2_ = comdat any | |
$_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEC2ERKS1_ = comdat any | |
$_ZN9__gnu_cxx13new_allocatorIiE7destroyEPi = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE16_M_insert_uniqueERKS2_ = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE24_M_get_insert_unique_posERS1_ = comdat any | |
$_ZNKSt10_Select1stISt4pairIKiiEEclERKS2_ = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE11_Alloc_nodeC2ERS8_ = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE10_M_insert_INS8_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS2_EPSt18_Rb_tree_node_baseSE_RKS2_RT_ = comdat any | |
$_ZNSt4pairISt17_Rb_tree_iteratorIS_IKiiEEbEC2ERKS3_RKb = comdat any | |
$_ZNSt17_Rb_tree_iteratorISt4pairIKiiEEC2EPSt18_Rb_tree_node_base = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_M_beginEv = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_M_endEv = comdat any | |
$_ZNKSt4lessIiEclERKiS2_ = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_S_keyEPKSt13_Rb_tree_nodeIS2_E = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE7_S_leftEPSt18_Rb_tree_node_base = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_S_rightEPSt18_Rb_tree_node_base = comdat any | |
$_ZNKSt17_Rb_tree_iteratorISt4pairIKiiEEeqERKS3_ = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE5beginEv = comdat any | |
$_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2ERKS1_S4_ = comdat any | |
$_ZNSt17_Rb_tree_iteratorISt4pairIKiiEEmmEv = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_S_keyEPKSt18_Rb_tree_node_base = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_S_valueEPKSt13_Rb_tree_nodeIS2_E = comdat any | |
$_ZNKSt13_Rb_tree_nodeISt4pairIKiiEE9_M_valptrEv = comdat any | |
$_ZSt11__addressofIKSt4pairIKiiEEPT_RS4_ = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_S_valueEPKSt18_Rb_tree_node_base = comdat any | |
$_ZNKSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE11_Alloc_nodeclIS2_EEPSt13_Rb_tree_nodeIS2_ERKT_ = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE14_M_create_nodeERKS2_ = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE11_M_get_nodeEv = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE17_M_construct_nodeEPSt13_Rb_tree_nodeIS2_ERKS2_ = comdat any | |
$_ZN9__gnu_cxx14__alloc_traitsISaISt13_Rb_tree_nodeISt4pairIKiiEEEE8allocateERS6_m = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE21_M_get_Node_allocatorEv = comdat any | |
$_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKiiEEE8allocateEmPKv = comdat any | |
$_ZNK9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKiiEEE8max_sizeEv = comdat any | |
$_ZNKSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE13get_allocatorEv = comdat any | |
$_ZN9__gnu_cxx13new_allocatorISt4pairIKiiEE9constructEPS3_RKS3_ = comdat any | |
$_ZNSt13_Rb_tree_nodeISt4pairIKiiEE9_M_valptrEv = comdat any | |
$_ZNSaISt4pairIKiiEED2Ev = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS2_E = comdat any | |
$_ZNKSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE21_M_get_Node_allocatorEv = comdat any | |
$_ZNSaISt4pairIKiiEEC2ISt13_Rb_tree_nodeIS1_EEERKSaIT_E = comdat any | |
$_ZN9__gnu_cxx13new_allocatorISt4pairIKiiEEC2Ev = comdat any | |
$_ZSt11__addressofISt4pairIKiiEEPT_RS3_ = comdat any | |
$_ZN9__gnu_cxx13new_allocatorISt4pairIKiiEED2Ev = comdat any | |
$_ZN9__gnu_cxx14__alloc_traitsISaISt13_Rb_tree_nodeISt4pairIKiiEEEE10deallocateERS6_PS5_m = comdat any | |
$_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKiiEEE10deallocateEPS5_m = comdat any | |
$_ZNSt4pairIimEC2ERKiRKm = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE16_M_insert_uniqueERKi = comdat any | |
$_ZNSt23_Rb_tree_const_iteratorIiEC2ERKSt17_Rb_tree_iteratorIiE = comdat any | |
$_ZNSt4pairISt23_Rb_tree_const_iteratorIiEbEC2ERKS1_RKb = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE24_M_get_insert_unique_posERKi = comdat any | |
$_ZNKSt9_IdentityIiEclERKi = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE11_Alloc_nodeC2ERS5_ = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE10_M_insert_INS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSB_RKiRT_ = comdat any | |
$_ZNSt4pairISt17_Rb_tree_iteratorIiEbEC2ERKS1_RKb = comdat any | |
$_ZNSt17_Rb_tree_iteratorIiEC2EPSt18_Rb_tree_node_base = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_beginEv = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE6_M_endEv = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE6_S_keyEPKSt13_Rb_tree_nodeIiE = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE7_S_leftEPSt18_Rb_tree_node_base = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_S_rightEPSt18_Rb_tree_node_base = comdat any | |
$_ZNKSt17_Rb_tree_iteratorIiEeqERKS0_ = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE5beginEv = comdat any | |
$_ZNSt17_Rb_tree_iteratorIiEmmEv = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE6_S_keyEPKSt18_Rb_tree_node_base = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_S_valueEPKSt13_Rb_tree_nodeIiE = comdat any | |
$_ZNKSt13_Rb_tree_nodeIiE9_M_valptrEv = comdat any | |
$_ZSt11__addressofIKiEPT_RS1_ = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_S_valueEPKSt18_Rb_tree_node_base = comdat any | |
$_ZNKSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE11_Alloc_nodeclIiEEPSt13_Rb_tree_nodeIiERKT_ = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE14_M_create_nodeERKi = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE11_M_get_nodeEv = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE17_M_construct_nodeEPSt13_Rb_tree_nodeIiERKi = comdat any | |
$_ZN9__gnu_cxx14__alloc_traitsISaISt13_Rb_tree_nodeIiEEE8allocateERS3_m = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE21_M_get_Node_allocatorEv = comdat any | |
$_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeIiEE8allocateEmPKv = comdat any | |
$_ZNK9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeIiEE8max_sizeEv = comdat any | |
$_ZNKSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE13get_allocatorEv = comdat any | |
$_ZNSt13_Rb_tree_nodeIiE9_M_valptrEv = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE11_M_put_nodeEPSt13_Rb_tree_nodeIiE = comdat any | |
$_ZNKSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE21_M_get_Node_allocatorEv = comdat any | |
$_ZNSaIiEC2ISt13_Rb_tree_nodeIiEEERKSaIT_E = comdat any | |
$_ZSt11__addressofIiEPT_RS0_ = comdat any | |
$_ZN9__gnu_cxx14__alloc_traitsISaISt13_Rb_tree_nodeIiEEE10deallocateERS3_PS2_m = comdat any | |
$_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeIiEE10deallocateEPS2_m = comdat any | |
$_ZN6miniFE15find_row_for_idIiEET_S1_RKSt3mapIS1_S1_St4lessIS1_ESaISt4pairIKS1_S1_EEE = comdat any | |
$_ZNKSt3mapIiiSt4lessIiESaISt4pairIKiiEEE11lower_boundERS3_ = comdat any | |
$_ZNKSt23_Rb_tree_const_iteratorISt4pairIKiiEEeqERKS3_ = comdat any | |
$_ZNKSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv = comdat any | |
$_ZNKSt23_Rb_tree_const_iteratorISt4pairIKiiEEptEv = comdat any | |
$_ZNKSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4sizeEv = comdat any | |
$_ZNSt23_Rb_tree_const_iteratorISt4pairIKiiEEmmEv = comdat any | |
$_ZNKSt3mapIiiSt4lessIiESaISt4pairIKiiEEE5beginEv = comdat any | |
$_ZNKSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE11lower_boundERS1_ = comdat any | |
$_ZNKSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS2_EPKSt18_Rb_tree_node_baseRS1_ = comdat any | |
$_ZNKSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_M_beginEv = comdat any | |
$_ZNKSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_M_endEv = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE7_S_leftEPKSt18_Rb_tree_node_base = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_S_rightEPKSt18_Rb_tree_node_base = comdat any | |
$_ZNSt23_Rb_tree_const_iteratorISt4pairIKiiEEC2EPKSt18_Rb_tree_node_base = comdat any | |
$_ZNKSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE3endEv = comdat any | |
$_ZNKSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE4sizeEv = comdat any | |
$_ZNKSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE5beginEv = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EED2Ev = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE13_Rb_tree_implIS6_Lb0EED2Ev = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS2_E = comdat any | |
$_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS2_E = comdat any | |
$_ZN9__gnu_cxx13new_allocatorISt4pairIKiiEE7destroyEPS3_ = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEED2Ev = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE13_Rb_tree_implIS3_Lb0EED2Ev = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE12_M_drop_nodeEPSt13_Rb_tree_nodeIiE = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE15_M_destroy_nodeEPSt13_Rb_tree_nodeIiE = comdat any | |
$_ZNSt6vectorIdSaIdEEC2Ev = comdat any | |
$_ZNSt12_Vector_baseIdSaIdEEC2Ev = comdat any | |
$_ZNSt12_Vector_baseIdSaIdEE12_Vector_implC2Ev = comdat any | |
$_ZN9__gnu_cxx13new_allocatorIdEC2Ev = comdat any | |
$_ZN6miniFE8copy_boxERK3BoxRS0_ = comdat any | |
$_ZN6miniFE9CSRMatrixIdiiE13reserve_spaceEjj = comdat any | |
$_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_ = comdat any | |
$_ZN6miniFE11init_matrixINS_9CSRMatrixIdiiEEEEvRT_RKSt6vectorINS3_17GlobalOrdinalTypeESaIS6_EERKS5_INS3_16LocalOrdinalTypeESaISB_EERKS5_IiSaIiEEiiiS6_RKNS_23simple_mesh_descriptionIS6_EE = comdat any | |
$_ZNSt6vectorIiSaIiEE6resizeEmi = comdat any | |
$_ZNSt6vectorIdSaIdEE7reserveEm = comdat any | |
$_ZNSt6vectorIiSaIiEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPiS1_EEmRKi = comdat any | |
$_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_ = comdat any | |
$_ZSt13copy_backwardIPiS0_ET0_T_S2_S1_ = comdat any | |
$_ZSt4fillIPiiEvT_S1_RKT0_ = comdat any | |
$_ZSt23__copy_move_backward_a2ILb0EPiS0_ET1_T0_S2_S1_ = comdat any | |
$_ZSt22__copy_move_backward_aILb0EPiS0_ET1_T0_S2_S1_ = comdat any | |
$_ZNSt20__copy_move_backwardILb0ELb1ESt26random_access_iterator_tagE13__copy_move_bIiEEPT_PKS3_S6_S4_ = comdat any | |
$_ZSt8__fill_aIPiiEN9__gnu_cxx11__enable_ifIXsr11__is_scalarIT0_EE7__valueEvE6__typeET_S6_RKS3_ = comdat any | |
$_ZNKSt6vectorIdSaIdEE8max_sizeEv = comdat any | |
$_ZNKSt6vectorIdSaIdEE8capacityEv = comdat any | |
$_ZNKSt6vectorIdSaIdEE4sizeEv = comdat any | |
$_ZNSt6vectorIdSaIdEE20_M_allocate_and_copyIPdEES3_mT_S4_ = comdat any | |
$_ZSt8_DestroyIPddEvT_S1_RSaIT0_E = comdat any | |
$_ZNSt12_Vector_baseIdSaIdEE19_M_get_Tp_allocatorEv = comdat any | |
$_ZNSt12_Vector_baseIdSaIdEE13_M_deallocateEPdm = comdat any | |
$_ZN9__gnu_cxx14__alloc_traitsISaIdEE8max_sizeERKS1_ = comdat any | |
$_ZNKSt12_Vector_baseIdSaIdEE19_M_get_Tp_allocatorEv = comdat any | |
$_ZNK9__gnu_cxx13new_allocatorIdE8max_sizeEv = comdat any | |
$_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm = comdat any | |
$_ZSt22__uninitialized_copy_aIPdS0_dET0_T_S2_S1_RSaIT1_E = comdat any | |
$_ZN9__gnu_cxx14__alloc_traitsISaIdEE8allocateERS1_m = comdat any | |
$_ZN9__gnu_cxx13new_allocatorIdE8allocateEmPKv = comdat any | |
$_ZSt18uninitialized_copyIPdS0_ET0_T_S2_S1_ = comdat any | |
$_ZNSt20__uninitialized_copyILb1EE13__uninit_copyIPdS2_EET0_T_S4_S3_ = comdat any | |
$_ZSt4copyIPdS0_ET0_T_S2_S1_ = comdat any | |
$_ZSt14__copy_move_a2ILb0EPdS0_ET1_T0_S2_S1_ = comdat any | |
$_ZSt12__miter_baseIPdET_S1_ = comdat any | |
$_ZSt13__copy_move_aILb0EPdS0_ET1_T0_S2_S1_ = comdat any | |
$_ZSt12__niter_baseIPdET_S1_ = comdat any | |
$_ZNSt11__copy_moveILb0ELb1ESt26random_access_iterator_tagE8__copy_mIdEEPT_PKS3_S6_S4_ = comdat any | |
$_ZSt8_DestroyIPdEvT_S1_ = comdat any | |
$_ZNSt12_Destroy_auxILb1EE9__destroyIPdEEvT_S3_ = comdat any | |
$_ZN9__gnu_cxx14__alloc_traitsISaIdEE10deallocateERS1_Pdm = comdat any | |
$_ZN9__gnu_cxx13new_allocatorIdE10deallocateEPdm = comdat any | |
$_ZNSt12_Vector_baseIiSaIiEEC2EmRKS0_ = comdat any | |
$_ZNSt12_Vector_baseIiSaIiEE17_M_create_storageEm = comdat any | |
$_ZN12MatrixInitOpIN6miniFE9CSRMatrixIdiiEEEC2ERKSt6vectorIiSaIiEES8_S8_iiiiRKNS0_23simple_mesh_descriptionIiEERS2_ = comdat any | |
$_ZN12MatrixInitOpIN6miniFE9CSRMatrixIdiiEEEclEi = comdat any | |
$_ZNKSt6vectorIiSaIiEEixEm = comdat any | |
$_ZNSt6vectorIdSaIdEEixEm = comdat any | |
$_ZNSt6vectorIdSaIdEE6resizeEmd = comdat any | |
$_ZNSt6vectorIdSaIdEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPdS1_EEmRKd = comdat any | |
$_ZNSt6vectorIdSaIdEE3endEv = comdat any | |
$_ZNSt6vectorIdSaIdEE15_M_erase_at_endEPd = comdat any | |
$_ZN9__gnu_cxxmiIPdSt6vectorIdSaIdEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKS8_SB_ = comdat any | |
$_ZSt22__uninitialized_move_aIPdS0_SaIdEET0_T_S3_S2_RT1_ = comdat any | |
$_ZSt13copy_backwardIPdS0_ET0_T_S2_S1_ = comdat any | |
$_ZNK9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEE4baseEv = comdat any | |
$_ZSt4fillIPddEvT_S1_RKT0_ = comdat any | |
$_ZSt24__uninitialized_fill_n_aIPdmddET_S1_T0_RKT1_RSaIT2_E = comdat any | |
$_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc = comdat any | |
$_ZNSt6vectorIdSaIdEE5beginEv = comdat any | |
$_ZSt34__uninitialized_move_if_noexcept_aIPdS0_SaIdEET0_T_S3_S2_RT1_ = comdat any | |
$_ZSt23__copy_move_backward_a2ILb0EPdS0_ET1_T0_S2_S1_ = comdat any | |
$_ZSt22__copy_move_backward_aILb0EPdS0_ET1_T0_S2_S1_ = comdat any | |
$_ZNSt20__copy_move_backwardILb0ELb1ESt26random_access_iterator_tagE13__copy_move_bIdEEPT_PKS3_S6_S4_ = comdat any | |
$_ZSt8__fill_aIPddEN9__gnu_cxx11__enable_ifIXsr11__is_scalarIT0_EE7__valueEvE6__typeET_S6_RKS3_ = comdat any | |
$_ZSt20uninitialized_fill_nIPdmdET_S1_T0_RKT1_ = comdat any | |
$_ZNSt22__uninitialized_fill_nILb1EE15__uninit_fill_nIPdmdEET_S3_T0_RKT1_ = comdat any | |
$_ZSt6fill_nIPdmdET_S1_T0_RKT1_ = comdat any | |
$_ZSt10__fill_n_aIPdmdEN9__gnu_cxx11__enable_ifIXsr11__is_scalarIT1_EE7__valueET_E6__typeES4_T0_RKS3_ = comdat any | |
$_ZN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEC2ERKS1_ = comdat any | |
$_Z14sort_if_neededIiEvPT_S0_ = comdat any | |
$_ZSt4sortIPiEvT_S1_ = comdat any | |
$_ZSt6__sortIPiN9__gnu_cxx5__ops15_Iter_less_iterEEvT_S4_T0_ = comdat any | |
$_ZN9__gnu_cxx5__ops16__iter_less_iterEv = comdat any | |
$_ZSt16__introsort_loopIPilN9__gnu_cxx5__ops15_Iter_less_iterEEvT_S4_T0_T1_ = comdat any | |
$_ZSt4__lgl = comdat any | |
$_ZSt22__final_insertion_sortIPiN9__gnu_cxx5__ops15_Iter_less_iterEEvT_S4_T0_ = comdat any | |
$_ZSt14__partial_sortIPiN9__gnu_cxx5__ops15_Iter_less_iterEEvT_S4_S4_T0_ = comdat any | |
$_ZSt27__unguarded_partition_pivotIPiN9__gnu_cxx5__ops15_Iter_less_iterEET_S4_S4_T0_ = comdat any | |
$_ZSt13__heap_selectIPiN9__gnu_cxx5__ops15_Iter_less_iterEEvT_S4_S4_T0_ = comdat any | |
$_ZSt11__sort_heapIPiN9__gnu_cxx5__ops15_Iter_less_iterEEvT_S4_RT0_ = comdat any | |
$_ZSt11__make_heapIPiN9__gnu_cxx5__ops15_Iter_less_iterEEvT_S4_RT0_ = comdat any | |
$_ZNK9__gnu_cxx5__ops15_Iter_less_iterclIPiS3_EEbT_T0_ = comdat any | |
$_ZSt10__pop_heapIPiN9__gnu_cxx5__ops15_Iter_less_iterEEvT_S4_S4_RT0_ = comdat any | |
$_ZSt13__adjust_heapIPiliN9__gnu_cxx5__ops15_Iter_less_iterEEvT_T0_S5_T1_T2_ = comdat any | |
$_ZN9__gnu_cxx5__ops14_Iter_less_valC2ENS0_15_Iter_less_iterE = comdat any | |
$_ZSt11__push_heapIPiliN9__gnu_cxx5__ops14_Iter_less_valEEvT_T0_S5_T1_RT2_ = comdat any | |
$_ZNK9__gnu_cxx5__ops14_Iter_less_valclIPiiEEbT_RT0_ = comdat any | |
$_ZSt22__move_median_to_firstIPiN9__gnu_cxx5__ops15_Iter_less_iterEEvT_S4_S4_S4_T0_ = comdat any | |
$_ZSt21__unguarded_partitionIPiN9__gnu_cxx5__ops15_Iter_less_iterEET_S4_S4_S4_T0_ = comdat any | |
$_ZSt9iter_swapIPiS0_EvT_T0_ = comdat any | |
$_ZNSt11__iter_swapILb1EE9iter_swapIPiS2_EEvT_T0_ = comdat any | |
$_ZSt4swapIiEvRT_S1_ = comdat any | |
$_ZSt16__insertion_sortIPiN9__gnu_cxx5__ops15_Iter_less_iterEEvT_S4_T0_ = comdat any | |
$_ZSt26__unguarded_insertion_sortIPiN9__gnu_cxx5__ops15_Iter_less_iterEEvT_S4_T0_ = comdat any | |
$_ZSt25__unguarded_linear_insertIPiN9__gnu_cxx5__ops14_Val_less_iterEEvT_T0_ = comdat any | |
$_ZN9__gnu_cxx5__ops15__val_comp_iterENS0_15_Iter_less_iterE = comdat any | |
$_ZNK9__gnu_cxx5__ops14_Val_less_iterclIiPiEEbRT_T0_ = comdat any | |
$_ZN9__gnu_cxx5__ops14_Val_less_iterC2Ev = comdat any | |
$_ZNSaIdEC2Ev = comdat any | |
$_ZNSt6vectorIdSaIdEEC2EmRKdRKS0_ = comdat any | |
$_ZNSaIdED2Ev = comdat any | |
$_ZNSt6vectorIdSaIdEED2Ev = comdat any | |
$_ZNSt12_Vector_baseIdSaIdEEC2EmRKS0_ = comdat any | |
$_ZNSt6vectorIdSaIdEE18_M_fill_initializeEmRKd = comdat any | |
$_ZNSt12_Vector_baseIdSaIdEED2Ev = comdat any | |
$_ZNSt12_Vector_baseIdSaIdEE12_Vector_implC2ERKS0_ = comdat any | |
$_ZNSt12_Vector_baseIdSaIdEE17_M_create_storageEm = comdat any | |
$_ZNSt12_Vector_baseIdSaIdEE12_Vector_implD2Ev = comdat any | |
$_ZNSaIdEC2ERKS_ = comdat any | |
$_ZN9__gnu_cxx13new_allocatorIdEC2ERKS1_ = comdat any | |
$_ZN9__gnu_cxx13new_allocatorIdED2Ev = comdat any | |
$_ZN6miniFE20perform_element_loopIiNS_9CSRMatrixIdiiEENS_6VectorIdiiEEEEvRKNS_23simple_mesh_descriptionIT_EERK3BoxRT0_RT1_RNS_10ParametersE = comdat any | |
$_ZN6miniFE11BoxIterator5beginERK3Box = comdat any | |
$_ZN6miniFE11BoxIterator3endERK3Box = comdat any | |
$_ZNK6miniFE11BoxIteratorneERKS0_ = comdat any | |
$_ZN6miniFE11BoxIteratorppEv = comdat any | |
$_ZN6miniFE8ElemDataIidEC2Ev = comdat any | |
$_ZN6miniFE23compute_gradient_valuesIdEEvPT_ = comdat any | |
$_ZN6miniFE25get_elem_nodes_and_coordsIidEEvRKNS_23simple_mesh_descriptionIT_EES2_RNS_8ElemDataIS2_T0_EE = comdat any | |
$_ZN6miniFE33compute_element_matrix_and_vectorIidEEvRNS_8ElemDataIT_T0_EE = comdat any | |
$_ZN6miniFE29sum_into_global_linear_systemIidNS_9CSRMatrixIdiiEENS_6VectorIdiiEEEEvRNS_8ElemDataIT_T0_EERT1_RT2_ = comdat any | |
$_ZN6miniFE8ElemDataIidED2Ev = comdat any | |
$_ZN6miniFE11BoxIteratorD2Ev = comdat any | |
$_ZN6miniFE11BoxIteratorC2ERK3Boxb = comdat any | |
$_ZNK6miniFE11BoxIteratoreqERKS0_ = comdat any | |
$_ZN6miniFE9gauss_ptsIdEEviPT_S2_ = comdat any | |
$_ZN6miniFE4Hex89gradientsIdEEvPKT_PS2_ = comdat any | |
$_ZN6miniFE25get_elem_nodes_and_coordsIidEEvRKNS_23simple_mesh_descriptionIT_EES2_PS2_PT0_ = comdat any | |
$_ZN6miniFE14get_int_coordsIiEEvT_iiiRiS2_S2_ = comdat any | |
$_ZN6miniFE17get_hex8_node_idsIiEEviiT_PS1_ = comdat any | |
$_ZN6miniFE10get_coordsIidEEvT_iiiRT0_S3_S3_ = comdat any | |
$_ZN6miniFE23get_hex8_node_coords_3dIdEEvT_S1_S1_S1_S1_S1_PS1_ = comdat any | |
$_ZN6miniFE4Hex820diffusionMatrix_symmIdEEvPKT_S4_PS2_ = comdat any | |
$_ZN6miniFE4Hex812sourceVectorIdEEvPKT_S4_PS2_ = comdat any | |
$_ZN6miniFE4fillIdEEvPT_S2_RKS1_ = comdat any | |
$_ZN6miniFE4Hex827gradients_and_invJ_and_detJIdEEvPKT_S4_PS2_RS2_ = comdat any | |
$_ZN6miniFE4Hex89shape_fnsIdEEvPKT_PS2_ = comdat any | |
$_ZN6miniFE4Hex818gradients_and_detJIdEEvPKT_S4_RS2_ = comdat any | |
$_ZN6miniFE23sum_in_symm_elem_matrixINS_9CSRMatrixIdiiEEEEvmPKNT_17GlobalOrdinalTypeEPKNS3_10ScalarTypeERS3_ = comdat any | |
$_ZN6miniFE15sum_into_vectorINS_6VectorIdiiEEEEvmPKNT_17GlobalOrdinalTypeEPKNS3_10ScalarTypeERS3_ = comdat any | |
$_ZN6miniFE9CSRMatrixIdiiE16get_row_pointersEiRmRPiRPd = comdat any | |
$_ZN6miniFE12sum_into_rowIidEEviPT_PT0_iPKS1_PKS3_ = comdat any | |
$_ZSt11lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiET_S7_S7_RKT0_ = comdat any | |
$_ZN9__gnu_cxxeqIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_ = comdat any | |
$_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv = comdat any | |
$_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_ = comdat any | |
$_ZN9__gnu_cxx5__ops15__iter_less_valEv = comdat any | |
$_ZSt8distanceIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEENSt15iterator_traitsIT_E15difference_typeES8_S8_ = comdat any | |
$_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElEvRT_T0_ = comdat any | |
$_ZNK9__gnu_cxx5__ops14_Iter_less_valclINS_17__normal_iteratorIPiSt6vectorIiSaIiEEEEKiEEbT_RT0_ = comdat any | |
$_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv = comdat any | |
$_ZSt10__distanceIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEENSt15iterator_traitsIT_E15difference_typeES8_S8_St26random_access_iterator_tag = comdat any | |
$_ZSt19__iterator_categoryIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEENSt15iterator_traitsIT_E17iterator_categoryERKS8_ = comdat any | |
$_ZSt9__advanceIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElEvRT_T0_St26random_access_iterator_tag = comdat any | |
$_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEpLEl = comdat any | |
$_ZN9__gnu_cxx5__ops14_Iter_less_valC2Ev = comdat any | |
$_ZSt11lower_boundIPiiET_S1_S1_RKT0_ = comdat any | |
$_ZSt13__lower_boundIPiiN9__gnu_cxx5__ops14_Iter_less_valEET_S4_S4_RKT0_T1_ = comdat any | |
$_ZSt8distanceIPiENSt15iterator_traitsIT_E15difference_typeES2_S2_ = comdat any | |
$_ZSt7advanceIPilEvRT_T0_ = comdat any | |
$_ZNK9__gnu_cxx5__ops14_Iter_less_valclIPiKiEEbT_RT0_ = comdat any | |
$_ZSt10__distanceIPiENSt15iterator_traitsIT_E15difference_typeES2_S2_St26random_access_iterator_tag = comdat any | |
$_ZSt19__iterator_categoryIPiENSt15iterator_traitsIT_E17iterator_categoryERKS2_ = comdat any | |
$_ZSt9__advanceIPilEvRT_T0_St26random_access_iterator_tag = comdat any | |
$_ZNKSt3setIiSt4lessIiESaIiEE5beginEv = comdat any | |
$_ZNKSt3setIiSt4lessIiESaIiEE3endEv = comdat any | |
$_ZNKSt23_Rb_tree_const_iteratorIiEneERKS0_ = comdat any | |
$_ZNKSt23_Rb_tree_const_iteratorIiEdeEv = comdat any | |
$_ZN6miniFE30zero_row_and_put_1_on_diagonalINS_9CSRMatrixIdiiEEEEvRT_NS3_17GlobalOrdinalTypeE = comdat any | |
$_ZNSt23_Rb_tree_const_iteratorIiEppEv = comdat any | |
$_ZNKSt3setIiSt4lessIiESaIiEE4findERKi = comdat any | |
$_ZNKSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE5beginEv = comdat any | |
$_ZNSt23_Rb_tree_const_iteratorIiEC2EPKSt18_Rb_tree_node_base = comdat any | |
$_ZNKSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE3endEv = comdat any | |
$_ZNKSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE4findERKi = comdat any | |
$_ZNKSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE14_M_lower_boundEPKSt13_Rb_tree_nodeIiEPKSt18_Rb_tree_node_baseRKi = comdat any | |
$_ZNKSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_beginEv = comdat any | |
$_ZNKSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE6_M_endEv = comdat any | |
$_ZNKSt23_Rb_tree_const_iteratorIiEeqERKS0_ = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE7_S_leftEPKSt18_Rb_tree_node_base = comdat any | |
$_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_S_rightEPKSt18_Rb_tree_node_base = comdat any | |
$_ZNK6miniFE9CSRMatrixIdiiE12num_nonzerosEv = comdat any | |
$_ZN6miniFE18get_global_min_maxIdEEvT_RS1_S2_RiS2_S3_ = comdat any | |
$_ZN6miniFE27parallel_memory_overhead_MBINS_9CSRMatrixIdiiEEEEdRKT_ = comdat any | |
$_ZNSt6vectorIdSaIdEEC2IiEET_S3_RKS0_ = comdat any | |
$_ZNSt12_Vector_baseIdSaIdEEC2ERKS0_ = comdat any | |
$_ZNSt6vectorIdSaIdEE22_M_initialize_dispatchIiEEvT_S3_St11__true_type = comdat any | |
$_ZN6miniFE20sort_with_companionsIidEEvlPT_PT0_ = comdat any | |
$_ZSt11lower_boundIPimET_S1_S1_RKT0_ = comdat any | |
$_ZSt13__lower_boundIPimN9__gnu_cxx5__ops14_Iter_less_valEET_S4_S4_RKT0_T1_ = comdat any | |
$_ZNK9__gnu_cxx5__ops14_Iter_less_valclIPiKmEEbT_RT0_ = comdat any | |
$_ZN6miniFE6waxpbyINS_6VectorIdiiEEEEvNT_10ScalarTypeERKS3_S4_S6_RS3_ = comdat any | |
$_ZN6miniFE14matvec_overlapINS_9CSRMatrixIdiiEENS_6VectorIdiiEEEclERS2_RS4_S7_ = comdat any | |
$_ZN6miniFE3dotINS_6VectorIdiiEEEENS_10TypeTraitsINT_10ScalarTypeEE14magnitude_typeERKS4_S9_ = comdat any | |
$_ZN6miniFE6dot_r2INS_6VectorIdiiEEEENS_10TypeTraitsINT_10ScalarTypeEE14magnitude_typeERKS4_ = comdat any | |
$_ZN6miniFE6daxpbyINS_6VectorIdiiEEEEvNT_10ScalarTypeERKS3_S4_RS3_ = comdat any | |
$_ZN6miniFE9breakdownINS_6VectorIdiiEEEEbNT_10ScalarTypeERKS3_S6_ = comdat any | |
$_ZNKSt6vectorIdSaIdEEixEm = comdat any | |
$_ZN4cilk13reducer_opaddIdEC2Ev = comdat any | |
$_ZN4cilk13reducer_opaddIdEpLERKd = comdat any | |
$_ZNK4cilk7reducerINS_6op_addIdLb1EEEE9get_valueEv = comdat any | |
$_ZN4cilk13reducer_opaddIdED2Ev = comdat any | |
$_ZN4cilk7reducerINS_6op_addIdLb1EEEEC2Ev = comdat any | |
$_ZN4cilk8internal15reducer_contentINS_6op_addIdLb1EEELb1EEC2Ev = comdat any | |
$_ZN4cilk11monoid_baseIdNS_11op_add_viewIdEEE9constructINS_6op_addIdLb1EEEEEvPT_PS2_ = comdat any | |
$_ZN4cilk8internal12reducer_baseINS_6op_addIdLb1EEEE10monoid_ptrEv = comdat any | |
$_ZN4cilk8internal12reducer_baseINS_6op_addIdLb1EEEE12leftmost_ptrEv = comdat any | |
$_ZN4cilk8internal15reducer_contentINS_6op_addIdLb1EEELb1EED2Ev = comdat any | |
$_ZN4cilk8internal12reducer_baseINS_6op_addIdLb1EEEEC2EPc = comdat any | |
$_ZNK4cilk8internal15reducer_contentINS_6op_addIdLb1EEELb1EE24reducer_is_cache_alignedEv = comdat any | |
$_ZN4cilk8internal12reducer_baseINS_6op_addIdLb1EEEED2Ev = comdat any | |
$_ZN4cilk8internal12reducer_baseINS_6op_addIdLb1EEEE14reduce_wrapperEPvS5_S5_ = comdat any | |
$_ZN4cilk8internal12reducer_baseINS_6op_addIdLb1EEEE16identity_wrapperEPvS5_ = comdat any | |
$_ZN4cilk8internal12reducer_baseINS_6op_addIdLb1EEEE15destroy_wrapperEPvS5_ = comdat any | |
$_ZN4cilk8internal12reducer_baseINS_6op_addIdLb1EEEE16allocate_wrapperEPvm = comdat any | |
$_ZN4cilk8internal12reducer_baseINS_6op_addIdLb1EEEE18deallocate_wrapperEPvS5_ = comdat any | |
$_ZNK4cilk16monoid_with_viewINS_11op_add_viewIdEELb1EE6reduceEPS2_S4_ = comdat any | |
$_ZN4cilk11op_add_viewIdE6reduceEPS1_ = comdat any | |
$_ZNK4cilk16monoid_with_viewINS_11op_add_viewIdEELb1EE8identityEPS2_ = comdat any | |
$_ZN4cilk11op_add_viewIdEC2Ev = comdat any | |
$_ZN4cilk11scalar_viewIdEC2Ev = comdat any | |
$_ZNK4cilk11monoid_baseIdNS_11op_add_viewIdEEE7destroyEPS2_ = comdat any | |
$_ZNK4cilk11monoid_baseIdNS_11op_add_viewIdEEE8allocateEm = comdat any | |
$_ZNK4cilk11monoid_baseIdNS_11op_add_viewIdEEE10deallocateEPv = comdat any | |
$_ZN4cilk11monoid_baseIdNS_11op_add_viewIdEEE11provisionalINS_6op_addIdLb1EEEEENS3_17provisional_guardIT_EEPS8_ = comdat any | |
$_ZN4cilk11monoid_baseIdNS_11op_add_viewIdEEE17provisional_guardINS_6op_addIdLb1EEEE10confirm_ifIS2_EEPT_SA_ = comdat any | |
$_ZN4cilk11monoid_baseIdNS_11op_add_viewIdEEE17provisional_guardINS_6op_addIdLb1EEEED2Ev = comdat any | |
$_ZN4cilk11monoid_baseIdNS_11op_add_viewIdEEE17provisional_guardINS_6op_addIdLb1EEEEC2EPS6_ = comdat any | |
$_ZN4cilk8internal18storage_for_objectINS_6op_addIdLb1EEEE6objectEv = comdat any | |
$_ZN4cilk7reducerINS_6op_addIdLb1EEEE4viewEv = comdat any | |
$_ZN4cilk11op_add_viewIdEpLERKd = comdat any | |
$_ZN4cilk8internal12reducer_baseINS_6op_addIdLb1EEEE4viewEv = comdat any | |
$_ZN4cilk8internal15reducer_set_getIdNS_11op_add_viewIdEEE9get_valueERKS3_ = comdat any | |
$_ZNK4cilk7reducerINS_6op_addIdLb1EEEE4viewEv = comdat any | |
$_ZNK4cilk11scalar_viewIdE14view_get_valueEv = comdat any | |
$_ZNK4cilk8internal12reducer_baseINS_6op_addIdLb1EEEE4viewEv = comdat any | |
$_ZN4cilk7reducerINS_6op_addIdLb1EEEED2Ev = comdat any | |
$_ZSt3absd = comdat any | |
$_ZN6miniFE10matvec_stdINS_9CSRMatrixIdiiEENS_6VectorIdiiEEEclERS2_RS4_S7_ = comdat any | |
$_ZN6miniFE18exchange_externalsINS_9CSRMatrixIdiiEENS_6VectorIdiiEEEEvRT_RT0_ = comdat any | |
$_ZNSt6vectorIdSaIdEE9push_backERKd = comdat any | |
$_ZN6miniFE4solnEdddii = comdat any | |
$_ZN9__gnu_cxx14__alloc_traitsISaIdEE9constructIdEEvRS1_PdRKT_ = comdat any | |
$_ZNSt6vectorIdSaIdEE17_M_realloc_insertEN9__gnu_cxx17__normal_iteratorIPdS1_EERKd = comdat any | |
$_ZN9__gnu_cxx13new_allocatorIdE9constructEPdRKd = comdat any | |
$_ZN9__gnu_cxx14__alloc_traitsISaIdEE7destroyERS1_Pd = comdat any | |
$_ZN9__gnu_cxx13new_allocatorIdE7destroyEPd = comdat any | |
$_ZN6miniFE3fcnEid = comdat any | |
$_ZN6miniFE5fcn_lEii = comdat any | |
$_ZZN4cilk8internal12reducer_baseINS_6op_addIdLb1EEEEC1EPcE20c_monoid_initializer = comdat any | |
@_ZStL8__ioinit = internal global %"class.std::ios_base::Init" zeroinitializer, align 1 | |
@__dso_handle = external hidden global i8 | |
@_ZN6miniFEL4NONEE = internal constant i32 3, align 4 | |
@_ZN6miniFEL5UPPERE = internal constant i32 1, align 4 | |
@.str = private unnamed_addr constant [8 x i8] c"miniFE.\00", align 1 | |
@.str.1 = private unnamed_addr constant [2 x i8] c"x\00", align 1 | |
@.str.2 = private unnamed_addr constant [2 x i8] c".\00", align 1 | |
@.str.3 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 | |
@.str.4 = private unnamed_addr constant [7 x i8] c"miniFE\00", align 1 | |
@.str.5 = private unnamed_addr constant [4 x i8] c"2.0\00", align 1 | |
@.str.6 = private unnamed_addr constant [19 x i8] c"Total Program Time\00", align 1 | |
@.str.7 = private unnamed_addr constant [22 x i8] c"Global Run Parameters\00", align 1 | |
@.str.8 = private unnamed_addr constant [11 x i8] c"dimensions\00", align 1 | |
@.str.9 = private unnamed_addr constant [3 x i8] c"nx\00", align 1 | |
@.str.10 = private unnamed_addr constant [3 x i8] c"ny\00", align 1 | |
@.str.11 = private unnamed_addr constant [3 x i8] c"nz\00", align 1 | |
@.str.12 = private unnamed_addr constant [15 x i8] c"load_imbalance\00", align 1 | |
@.str.13 = private unnamed_addr constant [8 x i8] c"1 (yes)\00", align 1 | |
@.str.14 = private unnamed_addr constant [21 x i8] c"mv_overlap_comm_comp\00", align 1 | |
@.str.15 = private unnamed_addr constant [7 x i8] c"0 (no)\00", align 1 | |
@.str.16 = private unnamed_addr constant [21 x i8] c"number of processors\00", align 1 | |
@.str.17 = private unnamed_addr constant [9 x i8] c"Platform\00", align 1 | |
@.str.18 = private unnamed_addr constant [9 x i8] c"hostname\00", align 1 | |
@.str.19 = private unnamed_addr constant [10 x i8] c"pn1714976\00", align 1 | |
@.str.20 = private unnamed_addr constant [12 x i8] c"kernel name\00", align 1 | |
@.str.21 = private unnamed_addr constant [8 x i8] c"'Linux'\00", align 1 | |
@.str.22 = private unnamed_addr constant [15 x i8] c"kernel release\00", align 1 | |
@.str.23 = private unnamed_addr constant [17 x i8] c"'4.14.12-1-ARCH'\00", align 1 | |
@.str.24 = private unnamed_addr constant [10 x i8] c"processor\00", align 1 | |
@.str.25 = private unnamed_addr constant [10 x i8] c"'unknown'\00", align 1 | |
@.str.26 = private unnamed_addr constant [6 x i8] c"Build\00", align 1 | |
@.str.27 = private unnamed_addr constant [4 x i8] c"CXX\00", align 1 | |
@.str.28 = private unnamed_addr constant [45 x i8] c"'/home/george/tasks/tapir/build/bin/clang++'\00", align 1 | |
@.str.29 = private unnamed_addr constant [17 x i8] c"compiler version\00", align 1 | |
@.str.30 = private unnamed_addr constant [177 x i8] c"'clang version 5.0.0 (git github.com:wsmoses/cilk-clang 076e3106215e6a17a659ec1d015fdacf86f57ff2) (git github.com:wsmoses/parallel-ir 865ac1a659b97bdecd170253554e25cec4391252)'\00", align 1 | |
@.str.31 = private unnamed_addr constant [9 x i8] c"CXXFLAGS\00", align 1 | |
@.str.32 = private unnamed_addr constant [17 x i8] c"'-O2 -fcilkplus'\00", align 1 | |
@.str.33 = private unnamed_addr constant [3 x i8] c"no\00", align 1 | |
@.str.34 = private unnamed_addr constant [10 x i8] c"using MPI\00", align 1 | |
@.str.35 = private unnamed_addr constant [2 x i8] c"-\00", align 1 | |
@.str.36 = private unnamed_addr constant [3 x i8] c", \00", align 1 | |
@.str.37 = private unnamed_addr constant [14 x i8] c"Run Date/Time\00", align 1 | |
@_ZSt4cout = external global %"class.std::basic_ostream", align 8 | |
@.str.38 = private unnamed_addr constant [25 x i8] c"creating/filling mesh...\00", align 1 | |
@.str.39 = private unnamed_addr constant [16 x i8] c"s, total time: \00", align 1 | |
@.str.40 = private unnamed_addr constant [31 x i8] c"generating matrix structure...\00", align 1 | |
@.str.41 = private unnamed_addr constant [22 x i8] c"assembling FE data...\00", align 1 | |
@.str.42 = private unnamed_addr constant [28 x i8] c"Matrix structure generation\00", align 1 | |
@.str.43 = private unnamed_addr constant [19 x i8] c"Mat-struc-gen Time\00", align 1 | |
@.str.44 = private unnamed_addr constant [12 x i8] c"FE assembly\00", align 1 | |
@.str.45 = private unnamed_addr constant [17 x i8] c"FE assembly Time\00", align 1 | |
@.str.46 = private unnamed_addr constant [25 x i8] c"imposing Dirichlet BC...\00", align 1 | |
@.str.47 = private unnamed_addr constant [31 x i8] c"making matrix indices local...\00", align 1 | |
@.str.48 = private unnamed_addr constant [24 x i8] c"Starting CG solver ... \00", align 1 | |
@.str.49 = private unnamed_addr constant [19 x i8] c"Final Resid Norm: \00", align 1 | |
@.str.50 = private unnamed_addr constant [22 x i8] c"verifying solution...\00", align 1 | |
@.str.51 = private unnamed_addr constant [44 x i8] c"verifying solution at ~ (0.5, 0.5, 0.5) ...\00", align 1 | |
@.str.52 = private unnamed_addr constant [9 x i8] c"CG solve\00", align 1 | |
@.str.53 = private unnamed_addr constant [11 x i8] c"ScalarType\00", align 1 | |
@.str.54 = private unnamed_addr constant [18 x i8] c"GlobalOrdinalType\00", align 1 | |
@.str.55 = private unnamed_addr constant [17 x i8] c"LocalOrdinalType\00", align 1 | |
@.str.56 = private unnamed_addr constant [11 x i8] c"Iterations\00", align 1 | |
@.str.57 = private unnamed_addr constant [17 x i8] c"Final Resid Norm\00", align 1 | |
@.str.58 = private unnamed_addr constant [11 x i8] c"WAXPY Time\00", align 1 | |
@.str.59 = private unnamed_addr constant [12 x i8] c"WAXPY Flops\00", align 1 | |
@.str.60 = private unnamed_addr constant [13 x i8] c"WAXPY Mflops\00", align 1 | |
@.str.61 = private unnamed_addr constant [4 x i8] c"inf\00", align 1 | |
@.str.62 = private unnamed_addr constant [9 x i8] c"DOT Time\00", align 1 | |
@.str.63 = private unnamed_addr constant [10 x i8] c"DOT Flops\00", align 1 | |
@.str.64 = private unnamed_addr constant [11 x i8] c"DOT Mflops\00", align 1 | |
@.str.65 = private unnamed_addr constant [12 x i8] c"MATVEC Time\00", align 1 | |
@.str.66 = private unnamed_addr constant [13 x i8] c"MATVEC Flops\00", align 1 | |
@.str.67 = private unnamed_addr constant [14 x i8] c"MATVEC Mflops\00", align 1 | |
@.str.68 = private unnamed_addr constant [6 x i8] c"Total\00", align 1 | |
@.str.69 = private unnamed_addr constant [14 x i8] c"Total CG Time\00", align 1 | |
@.str.70 = private unnamed_addr constant [15 x i8] c"Total CG Flops\00", align 1 | |
@.str.71 = private unnamed_addr constant [16 x i8] c"Total CG Mflops\00", align 1 | |
@.str.72 = private unnamed_addr constant [19 x i8] c"Time per iteration\00", align 1 | |
@.str.73 = private unnamed_addr constant [29 x i8] c"Rows-per-proc Load Imbalance\00", align 1 | |
@.str.74 = private unnamed_addr constant [22 x i8] c"Largest (from avg, %)\00", align 1 | |
@.str.75 = private unnamed_addr constant [12 x i8] c"Std Dev (%)\00", align 1 | |
@.str.76 = private unnamed_addr constant [22 x i8] c"on the y==0 face (ix=\00", align 1 | |
@.str.77 = private unnamed_addr constant [6 x i8] c", iz=\00", align 1 | |
@.str.78 = private unnamed_addr constant [31 x i8] c"), ERROR: found negative row (\00", align 1 | |
@.str.79 = private unnamed_addr constant [14 x i8] c") for nodeID=\00", align 1 | |
@.str.80 = private unnamed_addr constant [16 x i8] c"vector::reserve\00", align 1 | |
@.str.81 = private unnamed_addr constant [26 x i8] c"vector::_M_realloc_insert\00", align 1 | |
@.str.82 = private unnamed_addr constant [32 x i8] c"ERROR, failed to map id to row.\00", align 1 | |
@.str.83 = private unnamed_addr constant [11 x i8] c"ERROR, id:\00", align 1 | |
@.str.84 = private unnamed_addr constant [24 x i8] c", ids_to_rows.begin(): \00", align 1 | |
@.str.85 = private unnamed_addr constant [50 x i8] c"ERROR, negative offset in find_row_for_id for id=\00", align 1 | |
@_ZTISt9exception = external constant i8* | |
@.str.86 = private unnamed_addr constant [100 x i8] c"One of A.rows.resize, A.row_offsets.resize, A.packed_cols.reserve or A.packed_coefs.reserve: nrows=\00", align 1 | |
@.str.87 = private unnamed_addr constant [3 x i8] c": \00", align 1 | |
@_ZTISt13runtime_error = external constant i8* | |
@.str.88 = private unnamed_addr constant [54 x i8] c"ERROR in generate_matrix_structure, roffset != nrows.\00", align 1 | |
@.str.89 = private unnamed_addr constant [6 x i8] c"proc \00", align 1 | |
@.str.90 = private unnamed_addr constant [89 x i8] c" threw an exception in generate_matrix_structure, probably due to running out of memory.\00", align 1 | |
@.str.91 = private unnamed_addr constant [23 x i8] c"vector::_M_fill_insert\00", align 1 | |
@.str.92 = private unnamed_addr constant [32 x i8] c"Warning, packed_cols.capacity (\00", align 1 | |
@.str.93 = private unnamed_addr constant [6 x i8] c") != \00", align 1 | |
@.str.94 = private unnamed_addr constant [24 x i8] c"packed_coefs.capacity (\00", align 1 | |
@.str.95 = private unnamed_addr constant [2 x i8] c")\00", align 1 | |
@.str.96 = private unnamed_addr constant [11 x i8] c") < nnz (\00", align 1 | |
@.str.97 = private unnamed_addr constant [49 x i8] c"get_elem_nodes_and_coords ERROR, negative elemID\00", align 1 | |
@.str.98 = private unnamed_addr constant [18 x i8] c"Matrix attributes\00", align 1 | |
@.str.99 = private unnamed_addr constant [13 x i8] c"Global Nrows\00", align 1 | |
@.str.100 = private unnamed_addr constant [11 x i8] c"Global NNZ\00", align 1 | |
@.str.101 = private unnamed_addr constant [19 x i8] c"Global Memory (GB)\00", align 1 | |
@.str.102 = private unnamed_addr constant [25 x i8] c"Pll Memory Overhead (MB)\00", align 1 | |
@.str.103 = private unnamed_addr constant [18 x i8] c"Rows per proc MIN\00", align 1 | |
@.str.104 = private unnamed_addr constant [18 x i8] c"Rows per proc MAX\00", align 1 | |
@.str.105 = private unnamed_addr constant [18 x i8] c"Rows per proc AVG\00", align 1 | |
@.str.106 = private unnamed_addr constant [17 x i8] c"NNZ per proc MIN\00", align 1 | |
@.str.107 = private unnamed_addr constant [17 x i8] c"NNZ per proc MAX\00", align 1 | |
@.str.108 = private unnamed_addr constant [17 x i8] c"NNZ per proc AVG\00", align 1 | |
@_ZSt4cerr = external global %"class.std::basic_ostream", align 8 | |
@.str.109 = private unnamed_addr constant [93 x i8] c"miniFE::cg_solve ERROR, A.has_local_indices is false, needs to be true. This probably means \00", align 1 | |
@.str.110 = private unnamed_addr constant [79 x i8] c"miniFE::make_local_matrix(A) was not called prior to calling miniFE::cg_solve.\00", align 1 | |
@.str.111 = private unnamed_addr constant [20 x i8] c"Initial Residual = \00", align 1 | |
@.str.112 = private unnamed_addr constant [13 x i8] c"Iteration = \00", align 1 | |
@.str.113 = private unnamed_addr constant [15 x i8] c" Residual = \00", align 1 | |
@.str.114 = private unnamed_addr constant [45 x i8] c"miniFE::cg_solve ERROR, numerical breakdown!\00", align 1 | |
@.str.115 = private unnamed_addr constant [105 x i8] c"Reducer should be cache aligned. Please see comments following this assertion for explanation and fixes.\00", align 1 | |
@.str.116 = private unnamed_addr constant [137 x i8] c"reducer_is_cache_aligned() && \22Reducer should be cache aligned. Please see comments following this assertion for explanation and fixes.\22\00", align 1 | |
@.str.117 = private unnamed_addr constant [70 x i8] c"/home/george/tasks/tapir/build/lib/clang/5.0.0/include/cilk/reducer.h\00", align 1 | |
@__PRETTY_FUNCTION__._ZN4cilk8internal15reducer_contentINS_6op_addIdLb1EEELb1EEC2Ev = private unnamed_addr constant [139 x i8] c"cilk::internal::reducer_content<cilk::op_add<double, true>, true>::reducer_content() [Monoid = cilk::op_add<double, true>, Aligned = true]\00", align 1 | |
@_ZZN4cilk8internal12reducer_baseINS_6op_addIdLb1EEEEC1EPcE20c_monoid_initializer = linkonce_odr constant %struct.cilk_c_monoid { void (i8*, i8*, i8*)* @_ZN4cilk8internal12reducer_baseINS_6op_addIdLb1EEEE14reduce_wrapperEPvS5_S5_, void (i8*, i8*)* @_ZN4cilk8internal12reducer_baseINS_6op_addIdLb1EEEE16identity_wrapperEPvS5_, void (i8*, i8*)* @_ZN4cilk8internal12reducer_baseINS_6op_addIdLb1EEEE15destroy_wrapperEPvS5_, i8* (i8*, i64)* @_ZN4cilk8internal12reducer_baseINS_6op_addIdLb1EEEE16allocate_wrapperEPvm, void (i8*, i8*)* @_ZN4cilk8internal12reducer_baseINS_6op_addIdLb1EEEE18deallocate_wrapperEPvS5_ }, comdat, align 8 | |
@.str.118 = private unnamed_addr constant [55 x i8] c"this == m_initialThis || this == *(&m_initialThis + 1)\00", align 1 | |
@__PRETTY_FUNCTION__._ZN4cilk8internal12reducer_baseINS_6op_addIdLb1EEEED2Ev = private unnamed_addr constant [113 x i8] c"cilk::internal::reducer_base<cilk::op_add<double, true> >::~reducer_base() [Monoid = cilk::op_add<double, true>]\00", align 1 | |
@.str.119 = private unnamed_addr constant [23 x i8] c"max absolute error is \00", align 1 | |
@.str.120 = private unnamed_addr constant [2 x i8] c":\00", align 1 | |
@.str.121 = private unnamed_addr constant [17 x i8] c" at position (\00", align 1 | |
@.str.122 = private unnamed_addr constant [2 x i8] c",\00", align 1 | |
@.str.123 = private unnamed_addr constant [4 x i8] c"), \00", align 1 | |
@.str.124 = private unnamed_addr constant [23 x i8] c" computed solution: \00", align 1 | |
@.str.125 = private unnamed_addr constant [23 x i8] c", analytic solution: \00", align 1 | |
@.str.126 = private unnamed_addr constant [46 x i8] c"solution matches analytic solution to within \00", align 1 | |
@.str.127 = private unnamed_addr constant [12 x i8] c" or better.\00", align 1 | |
@.str.128 = private unnamed_addr constant [7 x i8] c"double\00", align 1 | |
@.str.129 = private unnamed_addr constant [4 x i8] c"int\00", align 1 | |
@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @_GLOBAL__sub_I_main.cpp, i8* null }] | |
; Function Attrs: noinline uwtable | |
define internal void @__cxx_global_var_init() #0 section ".text.startup" { | |
entry: | |
call void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"* @_ZStL8__ioinit) | |
%0 = call i32 @__cxa_atexit(void (i8*)* bitcast (void (%"class.std::ios_base::Init"*)* @_ZNSt8ios_base4InitD1Ev to void (i8*)*), i8* getelementptr inbounds (%"class.std::ios_base::Init", %"class.std::ios_base::Init"* @_ZStL8__ioinit, i32 0, i32 0), i8* @__dso_handle) #2 | |
ret void | |
} | |
declare void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"*) unnamed_addr #1 | |
declare void @_ZNSt8ios_base4InitD1Ev(%"class.std::ios_base::Init"*) unnamed_addr #1 | |
; Function Attrs: nounwind | |
declare i32 @__cxa_atexit(void (i8*)*, i8*, i8*) #2 | |
; Function Attrs: noinline optnone uwtable | |
define zeroext i1 @_ZN6miniFE11is_neighborERK3BoxS2_(%struct.Box* dereferenceable(24) %box1, %struct.Box* dereferenceable(24) %box2) #3 { | |
entry: | |
%box1.addr = alloca %struct.Box*, align 8 | |
%box2.addr = alloca %struct.Box*, align 8 | |
%x_neighbor = alloca i8, align 1 | |
%y_neighbor = alloca i8, align 1 | |
%z_neighbor = alloca i8, align 1 | |
store %struct.Box* %box1, %struct.Box** %box1.addr, align 8 | |
store %struct.Box* %box2, %struct.Box** %box2.addr, align 8 | |
%0 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call = call i32* @_ZNK3BoxixEi(%struct.Box* %0, i32 0) | |
%arrayidx = getelementptr inbounds i32, i32* %call, i64 1 | |
%1 = load i32, i32* %arrayidx, align 4 | |
%2 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call1 = call i32* @_ZNK3BoxixEi(%struct.Box* %2, i32 0) | |
%arrayidx2 = getelementptr inbounds i32, i32* %call1, i64 0 | |
%3 = load i32, i32* %arrayidx2, align 4 | |
%cmp = icmp eq i32 %1, %3 | |
br i1 %cmp, label %lor.end, label %lor.lhs.false | |
lor.lhs.false: ; preds = %entry | |
%4 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call3 = call i32* @_ZNK3BoxixEi(%struct.Box* %4, i32 0) | |
%arrayidx4 = getelementptr inbounds i32, i32* %call3, i64 0 | |
%5 = load i32, i32* %arrayidx4, align 4 | |
%6 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call5 = call i32* @_ZNK3BoxixEi(%struct.Box* %6, i32 0) | |
%arrayidx6 = getelementptr inbounds i32, i32* %call5, i64 1 | |
%7 = load i32, i32* %arrayidx6, align 4 | |
%cmp7 = icmp eq i32 %5, %7 | |
br i1 %cmp7, label %lor.end, label %lor.lhs.false8 | |
lor.lhs.false8: ; preds = %lor.lhs.false | |
%8 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call9 = call i32* @_ZNK3BoxixEi(%struct.Box* %8, i32 0) | |
%arrayidx10 = getelementptr inbounds i32, i32* %call9, i64 0 | |
%9 = load i32, i32* %arrayidx10, align 4 | |
%10 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call11 = call i32* @_ZNK3BoxixEi(%struct.Box* %10, i32 0) | |
%arrayidx12 = getelementptr inbounds i32, i32* %call11, i64 0 | |
%11 = load i32, i32* %arrayidx12, align 4 | |
%cmp13 = icmp eq i32 %9, %11 | |
br i1 %cmp13, label %lor.end, label %lor.lhs.false14 | |
lor.lhs.false14: ; preds = %lor.lhs.false8 | |
%12 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call15 = call i32* @_ZNK3BoxixEi(%struct.Box* %12, i32 0) | |
%arrayidx16 = getelementptr inbounds i32, i32* %call15, i64 1 | |
%13 = load i32, i32* %arrayidx16, align 4 | |
%14 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call17 = call i32* @_ZNK3BoxixEi(%struct.Box* %14, i32 0) | |
%arrayidx18 = getelementptr inbounds i32, i32* %call17, i64 1 | |
%15 = load i32, i32* %arrayidx18, align 4 | |
%cmp19 = icmp eq i32 %13, %15 | |
br i1 %cmp19, label %lor.end, label %lor.lhs.false20 | |
lor.lhs.false20: ; preds = %lor.lhs.false14 | |
%16 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call21 = call i32* @_ZNK3BoxixEi(%struct.Box* %16, i32 0) | |
%arrayidx22 = getelementptr inbounds i32, i32* %call21, i64 0 | |
%17 = load i32, i32* %arrayidx22, align 4 | |
%18 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call23 = call i32* @_ZNK3BoxixEi(%struct.Box* %18, i32 0) | |
%arrayidx24 = getelementptr inbounds i32, i32* %call23, i64 0 | |
%19 = load i32, i32* %arrayidx24, align 4 | |
%cmp25 = icmp sgt i32 %17, %19 | |
br i1 %cmp25, label %land.lhs.true, label %lor.lhs.false31 | |
land.lhs.true: ; preds = %lor.lhs.false20 | |
%20 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call26 = call i32* @_ZNK3BoxixEi(%struct.Box* %20, i32 0) | |
%arrayidx27 = getelementptr inbounds i32, i32* %call26, i64 1 | |
%21 = load i32, i32* %arrayidx27, align 4 | |
%22 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call28 = call i32* @_ZNK3BoxixEi(%struct.Box* %22, i32 0) | |
%arrayidx29 = getelementptr inbounds i32, i32* %call28, i64 1 | |
%23 = load i32, i32* %arrayidx29, align 4 | |
%cmp30 = icmp slt i32 %21, %23 | |
br i1 %cmp30, label %lor.end, label %lor.lhs.false31 | |
lor.lhs.false31: ; preds = %land.lhs.true, %lor.lhs.false20 | |
%24 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call32 = call i32* @_ZNK3BoxixEi(%struct.Box* %24, i32 0) | |
%arrayidx33 = getelementptr inbounds i32, i32* %call32, i64 0 | |
%25 = load i32, i32* %arrayidx33, align 4 | |
%26 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call34 = call i32* @_ZNK3BoxixEi(%struct.Box* %26, i32 0) | |
%arrayidx35 = getelementptr inbounds i32, i32* %call34, i64 0 | |
%27 = load i32, i32* %arrayidx35, align 4 | |
%cmp36 = icmp sgt i32 %25, %27 | |
br i1 %cmp36, label %land.lhs.true37, label %lor.lhs.false43 | |
land.lhs.true37: ; preds = %lor.lhs.false31 | |
%28 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call38 = call i32* @_ZNK3BoxixEi(%struct.Box* %28, i32 0) | |
%arrayidx39 = getelementptr inbounds i32, i32* %call38, i64 1 | |
%29 = load i32, i32* %arrayidx39, align 4 | |
%30 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call40 = call i32* @_ZNK3BoxixEi(%struct.Box* %30, i32 0) | |
%arrayidx41 = getelementptr inbounds i32, i32* %call40, i64 1 | |
%31 = load i32, i32* %arrayidx41, align 4 | |
%cmp42 = icmp slt i32 %29, %31 | |
br i1 %cmp42, label %lor.end, label %lor.lhs.false43 | |
lor.lhs.false43: ; preds = %land.lhs.true37, %lor.lhs.false31 | |
%32 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call44 = call i32* @_ZNK3BoxixEi(%struct.Box* %32, i32 0) | |
%arrayidx45 = getelementptr inbounds i32, i32* %call44, i64 0 | |
%33 = load i32, i32* %arrayidx45, align 4 | |
%34 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call46 = call i32* @_ZNK3BoxixEi(%struct.Box* %34, i32 0) | |
%arrayidx47 = getelementptr inbounds i32, i32* %call46, i64 0 | |
%35 = load i32, i32* %arrayidx47, align 4 | |
%cmp48 = icmp sgt i32 %33, %35 | |
br i1 %cmp48, label %land.lhs.true49, label %lor.rhs | |
land.lhs.true49: ; preds = %lor.lhs.false43 | |
%36 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call50 = call i32* @_ZNK3BoxixEi(%struct.Box* %36, i32 0) | |
%arrayidx51 = getelementptr inbounds i32, i32* %call50, i64 0 | |
%37 = load i32, i32* %arrayidx51, align 4 | |
%38 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call52 = call i32* @_ZNK3BoxixEi(%struct.Box* %38, i32 0) | |
%arrayidx53 = getelementptr inbounds i32, i32* %call52, i64 1 | |
%39 = load i32, i32* %arrayidx53, align 4 | |
%cmp54 = icmp slt i32 %37, %39 | |
br i1 %cmp54, label %lor.end, label %lor.rhs | |
lor.rhs: ; preds = %land.lhs.true49, %lor.lhs.false43 | |
%40 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call55 = call i32* @_ZNK3BoxixEi(%struct.Box* %40, i32 0) | |
%arrayidx56 = getelementptr inbounds i32, i32* %call55, i64 0 | |
%41 = load i32, i32* %arrayidx56, align 4 | |
%42 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call57 = call i32* @_ZNK3BoxixEi(%struct.Box* %42, i32 0) | |
%arrayidx58 = getelementptr inbounds i32, i32* %call57, i64 0 | |
%43 = load i32, i32* %arrayidx58, align 4 | |
%cmp59 = icmp sgt i32 %41, %43 | |
br i1 %cmp59, label %land.rhs, label %land.end | |
land.rhs: ; preds = %lor.rhs | |
%44 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call60 = call i32* @_ZNK3BoxixEi(%struct.Box* %44, i32 0) | |
%arrayidx61 = getelementptr inbounds i32, i32* %call60, i64 0 | |
%45 = load i32, i32* %arrayidx61, align 4 | |
%46 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call62 = call i32* @_ZNK3BoxixEi(%struct.Box* %46, i32 0) | |
%arrayidx63 = getelementptr inbounds i32, i32* %call62, i64 1 | |
%47 = load i32, i32* %arrayidx63, align 4 | |
%cmp64 = icmp slt i32 %45, %47 | |
br label %land.end | |
land.end: ; preds = %land.rhs, %lor.rhs | |
%48 = phi i1 [ false, %lor.rhs ], [ %cmp64, %land.rhs ] | |
br label %lor.end | |
lor.end: ; preds = %land.end, %land.lhs.true49, %land.lhs.true37, %land.lhs.true, %lor.lhs.false14, %lor.lhs.false8, %lor.lhs.false, %entry | |
%49 = phi i1 [ true, %land.lhs.true49 ], [ true, %land.lhs.true37 ], [ true, %land.lhs.true ], [ true, %lor.lhs.false14 ], [ true, %lor.lhs.false8 ], [ true, %lor.lhs.false ], [ true, %entry ], [ %48, %land.end ] | |
%frombool = zext i1 %49 to i8 | |
store i8 %frombool, i8* %x_neighbor, align 1 | |
%50 = load i8, i8* %x_neighbor, align 1 | |
%tobool = trunc i8 %50 to i1 | |
br i1 %tobool, label %if.end, label %if.then | |
if.then: ; preds = %lor.end | |
%51 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call65 = call i32* @_ZNK3BoxixEi(%struct.Box* %51, i32 0) | |
%arrayidx66 = getelementptr inbounds i32, i32* %call65, i64 1 | |
%52 = load i32, i32* %arrayidx66, align 4 | |
%53 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call67 = call i32* @_ZNK3BoxixEi(%struct.Box* %53, i32 0) | |
%arrayidx68 = getelementptr inbounds i32, i32* %call67, i64 0 | |
%54 = load i32, i32* %arrayidx68, align 4 | |
%sub = sub nsw i32 %54, 1 | |
%cmp69 = icmp eq i32 %52, %sub | |
br i1 %cmp69, label %lor.end76, label %lor.rhs70 | |
lor.rhs70: ; preds = %if.then | |
%55 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call71 = call i32* @_ZNK3BoxixEi(%struct.Box* %55, i32 0) | |
%arrayidx72 = getelementptr inbounds i32, i32* %call71, i64 0 | |
%56 = load i32, i32* %arrayidx72, align 4 | |
%57 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call73 = call i32* @_ZNK3BoxixEi(%struct.Box* %57, i32 0) | |
%arrayidx74 = getelementptr inbounds i32, i32* %call73, i64 1 | |
%58 = load i32, i32* %arrayidx74, align 4 | |
%add = add nsw i32 %58, 1 | |
%cmp75 = icmp eq i32 %56, %add | |
br label %lor.end76 | |
lor.end76: ; preds = %lor.rhs70, %if.then | |
%59 = phi i1 [ true, %if.then ], [ %cmp75, %lor.rhs70 ] | |
%frombool77 = zext i1 %59 to i8 | |
store i8 %frombool77, i8* %x_neighbor, align 1 | |
br label %if.end | |
if.end: ; preds = %lor.end76, %lor.end | |
%60 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call78 = call i32* @_ZNK3BoxixEi(%struct.Box* %60, i32 1) | |
%arrayidx79 = getelementptr inbounds i32, i32* %call78, i64 1 | |
%61 = load i32, i32* %arrayidx79, align 4 | |
%62 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call80 = call i32* @_ZNK3BoxixEi(%struct.Box* %62, i32 1) | |
%arrayidx81 = getelementptr inbounds i32, i32* %call80, i64 0 | |
%63 = load i32, i32* %arrayidx81, align 4 | |
%cmp82 = icmp eq i32 %61, %63 | |
br i1 %cmp82, label %lor.end150, label %lor.lhs.false83 | |
lor.lhs.false83: ; preds = %if.end | |
%64 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call84 = call i32* @_ZNK3BoxixEi(%struct.Box* %64, i32 1) | |
%arrayidx85 = getelementptr inbounds i32, i32* %call84, i64 0 | |
%65 = load i32, i32* %arrayidx85, align 4 | |
%66 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call86 = call i32* @_ZNK3BoxixEi(%struct.Box* %66, i32 1) | |
%arrayidx87 = getelementptr inbounds i32, i32* %call86, i64 1 | |
%67 = load i32, i32* %arrayidx87, align 4 | |
%cmp88 = icmp eq i32 %65, %67 | |
br i1 %cmp88, label %lor.end150, label %lor.lhs.false89 | |
lor.lhs.false89: ; preds = %lor.lhs.false83 | |
%68 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call90 = call i32* @_ZNK3BoxixEi(%struct.Box* %68, i32 1) | |
%arrayidx91 = getelementptr inbounds i32, i32* %call90, i64 0 | |
%69 = load i32, i32* %arrayidx91, align 4 | |
%70 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call92 = call i32* @_ZNK3BoxixEi(%struct.Box* %70, i32 1) | |
%arrayidx93 = getelementptr inbounds i32, i32* %call92, i64 0 | |
%71 = load i32, i32* %arrayidx93, align 4 | |
%cmp94 = icmp eq i32 %69, %71 | |
br i1 %cmp94, label %lor.end150, label %lor.lhs.false95 | |
lor.lhs.false95: ; preds = %lor.lhs.false89 | |
%72 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call96 = call i32* @_ZNK3BoxixEi(%struct.Box* %72, i32 1) | |
%arrayidx97 = getelementptr inbounds i32, i32* %call96, i64 1 | |
%73 = load i32, i32* %arrayidx97, align 4 | |
%74 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call98 = call i32* @_ZNK3BoxixEi(%struct.Box* %74, i32 1) | |
%arrayidx99 = getelementptr inbounds i32, i32* %call98, i64 1 | |
%75 = load i32, i32* %arrayidx99, align 4 | |
%cmp100 = icmp eq i32 %73, %75 | |
br i1 %cmp100, label %lor.end150, label %lor.lhs.false101 | |
lor.lhs.false101: ; preds = %lor.lhs.false95 | |
%76 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call102 = call i32* @_ZNK3BoxixEi(%struct.Box* %76, i32 1) | |
%arrayidx103 = getelementptr inbounds i32, i32* %call102, i64 0 | |
%77 = load i32, i32* %arrayidx103, align 4 | |
%78 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call104 = call i32* @_ZNK3BoxixEi(%struct.Box* %78, i32 1) | |
%arrayidx105 = getelementptr inbounds i32, i32* %call104, i64 0 | |
%79 = load i32, i32* %arrayidx105, align 4 | |
%cmp106 = icmp sgt i32 %77, %79 | |
br i1 %cmp106, label %land.lhs.true107, label %lor.lhs.false113 | |
land.lhs.true107: ; preds = %lor.lhs.false101 | |
%80 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call108 = call i32* @_ZNK3BoxixEi(%struct.Box* %80, i32 1) | |
%arrayidx109 = getelementptr inbounds i32, i32* %call108, i64 1 | |
%81 = load i32, i32* %arrayidx109, align 4 | |
%82 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call110 = call i32* @_ZNK3BoxixEi(%struct.Box* %82, i32 1) | |
%arrayidx111 = getelementptr inbounds i32, i32* %call110, i64 1 | |
%83 = load i32, i32* %arrayidx111, align 4 | |
%cmp112 = icmp slt i32 %81, %83 | |
br i1 %cmp112, label %lor.end150, label %lor.lhs.false113 | |
lor.lhs.false113: ; preds = %land.lhs.true107, %lor.lhs.false101 | |
%84 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call114 = call i32* @_ZNK3BoxixEi(%struct.Box* %84, i32 1) | |
%arrayidx115 = getelementptr inbounds i32, i32* %call114, i64 0 | |
%85 = load i32, i32* %arrayidx115, align 4 | |
%86 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call116 = call i32* @_ZNK3BoxixEi(%struct.Box* %86, i32 1) | |
%arrayidx117 = getelementptr inbounds i32, i32* %call116, i64 0 | |
%87 = load i32, i32* %arrayidx117, align 4 | |
%cmp118 = icmp sgt i32 %85, %87 | |
br i1 %cmp118, label %land.lhs.true119, label %lor.lhs.false125 | |
land.lhs.true119: ; preds = %lor.lhs.false113 | |
%88 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call120 = call i32* @_ZNK3BoxixEi(%struct.Box* %88, i32 1) | |
%arrayidx121 = getelementptr inbounds i32, i32* %call120, i64 1 | |
%89 = load i32, i32* %arrayidx121, align 4 | |
%90 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call122 = call i32* @_ZNK3BoxixEi(%struct.Box* %90, i32 1) | |
%arrayidx123 = getelementptr inbounds i32, i32* %call122, i64 1 | |
%91 = load i32, i32* %arrayidx123, align 4 | |
%cmp124 = icmp slt i32 %89, %91 | |
br i1 %cmp124, label %lor.end150, label %lor.lhs.false125 | |
lor.lhs.false125: ; preds = %land.lhs.true119, %lor.lhs.false113 | |
%92 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call126 = call i32* @_ZNK3BoxixEi(%struct.Box* %92, i32 1) | |
%arrayidx127 = getelementptr inbounds i32, i32* %call126, i64 0 | |
%93 = load i32, i32* %arrayidx127, align 4 | |
%94 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call128 = call i32* @_ZNK3BoxixEi(%struct.Box* %94, i32 1) | |
%arrayidx129 = getelementptr inbounds i32, i32* %call128, i64 0 | |
%95 = load i32, i32* %arrayidx129, align 4 | |
%cmp130 = icmp sgt i32 %93, %95 | |
br i1 %cmp130, label %land.lhs.true131, label %lor.rhs137 | |
land.lhs.true131: ; preds = %lor.lhs.false125 | |
%96 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call132 = call i32* @_ZNK3BoxixEi(%struct.Box* %96, i32 1) | |
%arrayidx133 = getelementptr inbounds i32, i32* %call132, i64 0 | |
%97 = load i32, i32* %arrayidx133, align 4 | |
%98 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call134 = call i32* @_ZNK3BoxixEi(%struct.Box* %98, i32 1) | |
%arrayidx135 = getelementptr inbounds i32, i32* %call134, i64 1 | |
%99 = load i32, i32* %arrayidx135, align 4 | |
%cmp136 = icmp slt i32 %97, %99 | |
br i1 %cmp136, label %lor.end150, label %lor.rhs137 | |
lor.rhs137: ; preds = %land.lhs.true131, %lor.lhs.false125 | |
%100 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call138 = call i32* @_ZNK3BoxixEi(%struct.Box* %100, i32 1) | |
%arrayidx139 = getelementptr inbounds i32, i32* %call138, i64 0 | |
%101 = load i32, i32* %arrayidx139, align 4 | |
%102 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call140 = call i32* @_ZNK3BoxixEi(%struct.Box* %102, i32 1) | |
%arrayidx141 = getelementptr inbounds i32, i32* %call140, i64 0 | |
%103 = load i32, i32* %arrayidx141, align 4 | |
%cmp142 = icmp sgt i32 %101, %103 | |
br i1 %cmp142, label %land.rhs143, label %land.end149 | |
land.rhs143: ; preds = %lor.rhs137 | |
%104 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call144 = call i32* @_ZNK3BoxixEi(%struct.Box* %104, i32 1) | |
%arrayidx145 = getelementptr inbounds i32, i32* %call144, i64 0 | |
%105 = load i32, i32* %arrayidx145, align 4 | |
%106 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call146 = call i32* @_ZNK3BoxixEi(%struct.Box* %106, i32 1) | |
%arrayidx147 = getelementptr inbounds i32, i32* %call146, i64 1 | |
%107 = load i32, i32* %arrayidx147, align 4 | |
%cmp148 = icmp slt i32 %105, %107 | |
br label %land.end149 | |
land.end149: ; preds = %land.rhs143, %lor.rhs137 | |
%108 = phi i1 [ false, %lor.rhs137 ], [ %cmp148, %land.rhs143 ] | |
br label %lor.end150 | |
lor.end150: ; preds = %land.end149, %land.lhs.true131, %land.lhs.true119, %land.lhs.true107, %lor.lhs.false95, %lor.lhs.false89, %lor.lhs.false83, %if.end | |
%109 = phi i1 [ true, %land.lhs.true131 ], [ true, %land.lhs.true119 ], [ true, %land.lhs.true107 ], [ true, %lor.lhs.false95 ], [ true, %lor.lhs.false89 ], [ true, %lor.lhs.false83 ], [ true, %if.end ], [ %108, %land.end149 ] | |
%frombool151 = zext i1 %109 to i8 | |
store i8 %frombool151, i8* %y_neighbor, align 1 | |
%110 = load i8, i8* %y_neighbor, align 1 | |
%tobool152 = trunc i8 %110 to i1 | |
br i1 %tobool152, label %if.end169, label %if.then153 | |
if.then153: ; preds = %lor.end150 | |
%111 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call154 = call i32* @_ZNK3BoxixEi(%struct.Box* %111, i32 1) | |
%arrayidx155 = getelementptr inbounds i32, i32* %call154, i64 1 | |
%112 = load i32, i32* %arrayidx155, align 4 | |
%113 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call156 = call i32* @_ZNK3BoxixEi(%struct.Box* %113, i32 1) | |
%arrayidx157 = getelementptr inbounds i32, i32* %call156, i64 0 | |
%114 = load i32, i32* %arrayidx157, align 4 | |
%sub158 = sub nsw i32 %114, 1 | |
%cmp159 = icmp eq i32 %112, %sub158 | |
br i1 %cmp159, label %lor.end167, label %lor.rhs160 | |
lor.rhs160: ; preds = %if.then153 | |
%115 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call161 = call i32* @_ZNK3BoxixEi(%struct.Box* %115, i32 1) | |
%arrayidx162 = getelementptr inbounds i32, i32* %call161, i64 0 | |
%116 = load i32, i32* %arrayidx162, align 4 | |
%117 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call163 = call i32* @_ZNK3BoxixEi(%struct.Box* %117, i32 1) | |
%arrayidx164 = getelementptr inbounds i32, i32* %call163, i64 1 | |
%118 = load i32, i32* %arrayidx164, align 4 | |
%add165 = add nsw i32 %118, 1 | |
%cmp166 = icmp eq i32 %116, %add165 | |
br label %lor.end167 | |
lor.end167: ; preds = %lor.rhs160, %if.then153 | |
%119 = phi i1 [ true, %if.then153 ], [ %cmp166, %lor.rhs160 ] | |
%frombool168 = zext i1 %119 to i8 | |
store i8 %frombool168, i8* %y_neighbor, align 1 | |
br label %if.end169 | |
if.end169: ; preds = %lor.end167, %lor.end150 | |
%120 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call170 = call i32* @_ZNK3BoxixEi(%struct.Box* %120, i32 2) | |
%arrayidx171 = getelementptr inbounds i32, i32* %call170, i64 1 | |
%121 = load i32, i32* %arrayidx171, align 4 | |
%122 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call172 = call i32* @_ZNK3BoxixEi(%struct.Box* %122, i32 2) | |
%arrayidx173 = getelementptr inbounds i32, i32* %call172, i64 0 | |
%123 = load i32, i32* %arrayidx173, align 4 | |
%cmp174 = icmp eq i32 %121, %123 | |
br i1 %cmp174, label %lor.end242, label %lor.lhs.false175 | |
lor.lhs.false175: ; preds = %if.end169 | |
%124 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call176 = call i32* @_ZNK3BoxixEi(%struct.Box* %124, i32 2) | |
%arrayidx177 = getelementptr inbounds i32, i32* %call176, i64 0 | |
%125 = load i32, i32* %arrayidx177, align 4 | |
%126 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call178 = call i32* @_ZNK3BoxixEi(%struct.Box* %126, i32 2) | |
%arrayidx179 = getelementptr inbounds i32, i32* %call178, i64 1 | |
%127 = load i32, i32* %arrayidx179, align 4 | |
%cmp180 = icmp eq i32 %125, %127 | |
br i1 %cmp180, label %lor.end242, label %lor.lhs.false181 | |
lor.lhs.false181: ; preds = %lor.lhs.false175 | |
%128 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call182 = call i32* @_ZNK3BoxixEi(%struct.Box* %128, i32 2) | |
%arrayidx183 = getelementptr inbounds i32, i32* %call182, i64 0 | |
%129 = load i32, i32* %arrayidx183, align 4 | |
%130 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call184 = call i32* @_ZNK3BoxixEi(%struct.Box* %130, i32 2) | |
%arrayidx185 = getelementptr inbounds i32, i32* %call184, i64 0 | |
%131 = load i32, i32* %arrayidx185, align 4 | |
%cmp186 = icmp eq i32 %129, %131 | |
br i1 %cmp186, label %lor.end242, label %lor.lhs.false187 | |
lor.lhs.false187: ; preds = %lor.lhs.false181 | |
%132 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call188 = call i32* @_ZNK3BoxixEi(%struct.Box* %132, i32 2) | |
%arrayidx189 = getelementptr inbounds i32, i32* %call188, i64 1 | |
%133 = load i32, i32* %arrayidx189, align 4 | |
%134 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call190 = call i32* @_ZNK3BoxixEi(%struct.Box* %134, i32 2) | |
%arrayidx191 = getelementptr inbounds i32, i32* %call190, i64 1 | |
%135 = load i32, i32* %arrayidx191, align 4 | |
%cmp192 = icmp eq i32 %133, %135 | |
br i1 %cmp192, label %lor.end242, label %lor.lhs.false193 | |
lor.lhs.false193: ; preds = %lor.lhs.false187 | |
%136 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call194 = call i32* @_ZNK3BoxixEi(%struct.Box* %136, i32 2) | |
%arrayidx195 = getelementptr inbounds i32, i32* %call194, i64 0 | |
%137 = load i32, i32* %arrayidx195, align 4 | |
%138 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call196 = call i32* @_ZNK3BoxixEi(%struct.Box* %138, i32 2) | |
%arrayidx197 = getelementptr inbounds i32, i32* %call196, i64 0 | |
%139 = load i32, i32* %arrayidx197, align 4 | |
%cmp198 = icmp sgt i32 %137, %139 | |
br i1 %cmp198, label %land.lhs.true199, label %lor.lhs.false205 | |
land.lhs.true199: ; preds = %lor.lhs.false193 | |
%140 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call200 = call i32* @_ZNK3BoxixEi(%struct.Box* %140, i32 2) | |
%arrayidx201 = getelementptr inbounds i32, i32* %call200, i64 1 | |
%141 = load i32, i32* %arrayidx201, align 4 | |
%142 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call202 = call i32* @_ZNK3BoxixEi(%struct.Box* %142, i32 2) | |
%arrayidx203 = getelementptr inbounds i32, i32* %call202, i64 1 | |
%143 = load i32, i32* %arrayidx203, align 4 | |
%cmp204 = icmp slt i32 %141, %143 | |
br i1 %cmp204, label %lor.end242, label %lor.lhs.false205 | |
lor.lhs.false205: ; preds = %land.lhs.true199, %lor.lhs.false193 | |
%144 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call206 = call i32* @_ZNK3BoxixEi(%struct.Box* %144, i32 2) | |
%arrayidx207 = getelementptr inbounds i32, i32* %call206, i64 0 | |
%145 = load i32, i32* %arrayidx207, align 4 | |
%146 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call208 = call i32* @_ZNK3BoxixEi(%struct.Box* %146, i32 2) | |
%arrayidx209 = getelementptr inbounds i32, i32* %call208, i64 0 | |
%147 = load i32, i32* %arrayidx209, align 4 | |
%cmp210 = icmp sgt i32 %145, %147 | |
br i1 %cmp210, label %land.lhs.true211, label %lor.lhs.false217 | |
land.lhs.true211: ; preds = %lor.lhs.false205 | |
%148 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call212 = call i32* @_ZNK3BoxixEi(%struct.Box* %148, i32 2) | |
%arrayidx213 = getelementptr inbounds i32, i32* %call212, i64 1 | |
%149 = load i32, i32* %arrayidx213, align 4 | |
%150 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call214 = call i32* @_ZNK3BoxixEi(%struct.Box* %150, i32 2) | |
%arrayidx215 = getelementptr inbounds i32, i32* %call214, i64 1 | |
%151 = load i32, i32* %arrayidx215, align 4 | |
%cmp216 = icmp slt i32 %149, %151 | |
br i1 %cmp216, label %lor.end242, label %lor.lhs.false217 | |
lor.lhs.false217: ; preds = %land.lhs.true211, %lor.lhs.false205 | |
%152 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call218 = call i32* @_ZNK3BoxixEi(%struct.Box* %152, i32 2) | |
%arrayidx219 = getelementptr inbounds i32, i32* %call218, i64 0 | |
%153 = load i32, i32* %arrayidx219, align 4 | |
%154 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call220 = call i32* @_ZNK3BoxixEi(%struct.Box* %154, i32 2) | |
%arrayidx221 = getelementptr inbounds i32, i32* %call220, i64 0 | |
%155 = load i32, i32* %arrayidx221, align 4 | |
%cmp222 = icmp sgt i32 %153, %155 | |
br i1 %cmp222, label %land.lhs.true223, label %lor.rhs229 | |
land.lhs.true223: ; preds = %lor.lhs.false217 | |
%156 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call224 = call i32* @_ZNK3BoxixEi(%struct.Box* %156, i32 2) | |
%arrayidx225 = getelementptr inbounds i32, i32* %call224, i64 0 | |
%157 = load i32, i32* %arrayidx225, align 4 | |
%158 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call226 = call i32* @_ZNK3BoxixEi(%struct.Box* %158, i32 2) | |
%arrayidx227 = getelementptr inbounds i32, i32* %call226, i64 1 | |
%159 = load i32, i32* %arrayidx227, align 4 | |
%cmp228 = icmp slt i32 %157, %159 | |
br i1 %cmp228, label %lor.end242, label %lor.rhs229 | |
lor.rhs229: ; preds = %land.lhs.true223, %lor.lhs.false217 | |
%160 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call230 = call i32* @_ZNK3BoxixEi(%struct.Box* %160, i32 2) | |
%arrayidx231 = getelementptr inbounds i32, i32* %call230, i64 0 | |
%161 = load i32, i32* %arrayidx231, align 4 | |
%162 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call232 = call i32* @_ZNK3BoxixEi(%struct.Box* %162, i32 2) | |
%arrayidx233 = getelementptr inbounds i32, i32* %call232, i64 0 | |
%163 = load i32, i32* %arrayidx233, align 4 | |
%cmp234 = icmp sgt i32 %161, %163 | |
br i1 %cmp234, label %land.rhs235, label %land.end241 | |
land.rhs235: ; preds = %lor.rhs229 | |
%164 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call236 = call i32* @_ZNK3BoxixEi(%struct.Box* %164, i32 2) | |
%arrayidx237 = getelementptr inbounds i32, i32* %call236, i64 0 | |
%165 = load i32, i32* %arrayidx237, align 4 | |
%166 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call238 = call i32* @_ZNK3BoxixEi(%struct.Box* %166, i32 2) | |
%arrayidx239 = getelementptr inbounds i32, i32* %call238, i64 1 | |
%167 = load i32, i32* %arrayidx239, align 4 | |
%cmp240 = icmp slt i32 %165, %167 | |
br label %land.end241 | |
land.end241: ; preds = %land.rhs235, %lor.rhs229 | |
%168 = phi i1 [ false, %lor.rhs229 ], [ %cmp240, %land.rhs235 ] | |
br label %lor.end242 | |
lor.end242: ; preds = %land.end241, %land.lhs.true223, %land.lhs.true211, %land.lhs.true199, %lor.lhs.false187, %lor.lhs.false181, %lor.lhs.false175, %if.end169 | |
%169 = phi i1 [ true, %land.lhs.true223 ], [ true, %land.lhs.true211 ], [ true, %land.lhs.true199 ], [ true, %lor.lhs.false187 ], [ true, %lor.lhs.false181 ], [ true, %lor.lhs.false175 ], [ true, %if.end169 ], [ %168, %land.end241 ] | |
%frombool243 = zext i1 %169 to i8 | |
store i8 %frombool243, i8* %z_neighbor, align 1 | |
%170 = load i8, i8* %z_neighbor, align 1 | |
%tobool244 = trunc i8 %170 to i1 | |
br i1 %tobool244, label %if.end261, label %if.then245 | |
if.then245: ; preds = %lor.end242 | |
%171 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call246 = call i32* @_ZNK3BoxixEi(%struct.Box* %171, i32 2) | |
%arrayidx247 = getelementptr inbounds i32, i32* %call246, i64 1 | |
%172 = load i32, i32* %arrayidx247, align 4 | |
%173 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call248 = call i32* @_ZNK3BoxixEi(%struct.Box* %173, i32 2) | |
%arrayidx249 = getelementptr inbounds i32, i32* %call248, i64 0 | |
%174 = load i32, i32* %arrayidx249, align 4 | |
%sub250 = sub nsw i32 %174, 1 | |
%cmp251 = icmp eq i32 %172, %sub250 | |
br i1 %cmp251, label %lor.end259, label %lor.rhs252 | |
lor.rhs252: ; preds = %if.then245 | |
%175 = load %struct.Box*, %struct.Box** %box1.addr, align 8 | |
%call253 = call i32* @_ZNK3BoxixEi(%struct.Box* %175, i32 2) | |
%arrayidx254 = getelementptr inbounds i32, i32* %call253, i64 0 | |
%176 = load i32, i32* %arrayidx254, align 4 | |
%177 = load %struct.Box*, %struct.Box** %box2.addr, align 8 | |
%call255 = call i32* @_ZNK3BoxixEi(%struct.Box* %177, i32 2) | |
%arrayidx256 = getelementptr inbounds i32, i32* %call255, i64 1 | |
%178 = load i32, i32* %arrayidx256, align 4 | |
%add257 = add nsw i32 %178, 1 | |
%cmp258 = icmp eq i32 %176, %add257 | |
br label %lor.end259 | |
lor.end259: ; preds = %lor.rhs252, %if.then245 | |
%179 = phi i1 [ true, %if.then245 ], [ %cmp258, %lor.rhs252 ] | |
%frombool260 = zext i1 %179 to i8 | |
store i8 %frombool260, i8* %z_neighbor, align 1 | |
br label %if.end261 | |
if.end261: ; preds = %lor.end259, %lor.end242 | |
%180 = load i8, i8* %x_neighbor, align 1 | |
%tobool262 = trunc i8 %180 to i1 | |
br i1 %tobool262, label %land.lhs.true263, label %land.end267 | |
land.lhs.true263: ; preds = %if.end261 | |
%181 = load i8, i8* %y_neighbor, align 1 | |
%tobool264 = trunc i8 %181 to i1 | |
br i1 %tobool264, label %land.rhs265, label %land.end267 | |
land.rhs265: ; preds = %land.lhs.true263 | |
%182 = load i8, i8* %z_neighbor, align 1 | |
%tobool266 = trunc i8 %182 to i1 | |
br label %land.end267 | |
land.end267: ; preds = %land.rhs265, %land.lhs.true263, %if.end261 | |
%183 = phi i1 [ false, %land.lhs.true263 ], [ false, %if.end261 ], [ %tobool266, %land.rhs265 ] | |
ret i1 %183 | |
} | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr i32* @_ZNK3BoxixEi(%struct.Box* %this, i32 %xyz) #4 comdat align 2 { | |
entry: | |
%this.addr = alloca %struct.Box*, align 8 | |
%xyz.addr = alloca i32, align 4 | |
store %struct.Box* %this, %struct.Box** %this.addr, align 8 | |
store i32 %xyz, i32* %xyz.addr, align 4 | |
%this1 = load %struct.Box*, %struct.Box** %this.addr, align 8 | |
%ranges = getelementptr inbounds %struct.Box, %struct.Box* %this1, i32 0, i32 0 | |
%0 = load i32, i32* %xyz.addr, align 4 | |
%mul = mul nsw i32 %0, 2 | |
%idxprom = sext i32 %mul to i64 | |
%arrayidx = getelementptr inbounds [6 x i32], [6 x i32]* %ranges, i64 0, i64 %idxprom | |
ret i32* %arrayidx | |
} | |
; Function Attrs: noinline optnone uwtable | |
define i64 @_ZN6miniFE18decide_how_to_growERK3BoxS2_(%struct.Box* dereferenceable(24) %global_box, %struct.Box* dereferenceable(24) %local_box) #3 { | |
entry: | |
%retval = alloca %"struct.std::pair", align 4 | |
%global_box.addr = alloca %struct.Box*, align 8 | |
%local_box.addr = alloca %struct.Box*, align 8 | |
store %struct.Box* %global_box, %struct.Box** %global_box.addr, align 8 | |
store %struct.Box* %local_box, %struct.Box** %local_box.addr, align 8 | |
call void @_ZNSt4pairIiiEC2ERKiS2_(%"struct.std::pair"* %retval, i32* dereferenceable(4) @_ZN6miniFEL4NONEE, i32* dereferenceable(4) @_ZN6miniFEL5UPPERE) | |
%0 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call = call i32* @_ZNK3BoxixEi(%struct.Box* %0, i32 2) | |
%arrayidx = getelementptr inbounds i32, i32* %call, i64 1 | |
%1 = load i32, i32* %arrayidx, align 4 | |
%2 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%call1 = call i32* @_ZNK3BoxixEi(%struct.Box* %2, i32 2) | |
%arrayidx2 = getelementptr inbounds i32, i32* %call1, i64 1 | |
%3 = load i32, i32* %arrayidx2, align 4 | |
%cmp = icmp slt i32 %1, %3 | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
%first = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 0 | |
store i32 2, i32* %first, align 4 | |
%second = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 1 | |
store i32 1, i32* %second, align 4 | |
br label %return | |
if.end: ; preds = %entry | |
%4 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call3 = call i32* @_ZNK3BoxixEi(%struct.Box* %4, i32 2) | |
%arrayidx4 = getelementptr inbounds i32, i32* %call3, i64 0 | |
%5 = load i32, i32* %arrayidx4, align 4 | |
%6 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%call5 = call i32* @_ZNK3BoxixEi(%struct.Box* %6, i32 2) | |
%arrayidx6 = getelementptr inbounds i32, i32* %call5, i64 0 | |
%7 = load i32, i32* %arrayidx6, align 4 | |
%cmp7 = icmp sgt i32 %5, %7 | |
br i1 %cmp7, label %if.then8, label %if.end11 | |
if.then8: ; preds = %if.end | |
%first9 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 0 | |
store i32 2, i32* %first9, align 4 | |
%second10 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 1 | |
store i32 0, i32* %second10, align 4 | |
br label %return | |
if.end11: ; preds = %if.end | |
%8 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call12 = call i32* @_ZNK3BoxixEi(%struct.Box* %8, i32 1) | |
%arrayidx13 = getelementptr inbounds i32, i32* %call12, i64 1 | |
%9 = load i32, i32* %arrayidx13, align 4 | |
%10 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%call14 = call i32* @_ZNK3BoxixEi(%struct.Box* %10, i32 1) | |
%arrayidx15 = getelementptr inbounds i32, i32* %call14, i64 1 | |
%11 = load i32, i32* %arrayidx15, align 4 | |
%cmp16 = icmp slt i32 %9, %11 | |
br i1 %cmp16, label %if.then17, label %if.end20 | |
if.then17: ; preds = %if.end11 | |
%first18 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 0 | |
store i32 1, i32* %first18, align 4 | |
%second19 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 1 | |
store i32 1, i32* %second19, align 4 | |
br label %return | |
if.end20: ; preds = %if.end11 | |
%12 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call21 = call i32* @_ZNK3BoxixEi(%struct.Box* %12, i32 1) | |
%arrayidx22 = getelementptr inbounds i32, i32* %call21, i64 0 | |
%13 = load i32, i32* %arrayidx22, align 4 | |
%14 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%call23 = call i32* @_ZNK3BoxixEi(%struct.Box* %14, i32 1) | |
%arrayidx24 = getelementptr inbounds i32, i32* %call23, i64 0 | |
%15 = load i32, i32* %arrayidx24, align 4 | |
%cmp25 = icmp sgt i32 %13, %15 | |
br i1 %cmp25, label %if.then26, label %if.end29 | |
if.then26: ; preds = %if.end20 | |
%first27 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 0 | |
store i32 1, i32* %first27, align 4 | |
%second28 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 1 | |
store i32 0, i32* %second28, align 4 | |
br label %return | |
if.end29: ; preds = %if.end20 | |
%16 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call30 = call i32* @_ZNK3BoxixEi(%struct.Box* %16, i32 0) | |
%arrayidx31 = getelementptr inbounds i32, i32* %call30, i64 1 | |
%17 = load i32, i32* %arrayidx31, align 4 | |
%18 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%call32 = call i32* @_ZNK3BoxixEi(%struct.Box* %18, i32 0) | |
%arrayidx33 = getelementptr inbounds i32, i32* %call32, i64 1 | |
%19 = load i32, i32* %arrayidx33, align 4 | |
%cmp34 = icmp slt i32 %17, %19 | |
br i1 %cmp34, label %if.then35, label %if.end38 | |
if.then35: ; preds = %if.end29 | |
%first36 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 0 | |
store i32 0, i32* %first36, align 4 | |
%second37 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 1 | |
store i32 1, i32* %second37, align 4 | |
br label %return | |
if.end38: ; preds = %if.end29 | |
%20 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call39 = call i32* @_ZNK3BoxixEi(%struct.Box* %20, i32 0) | |
%arrayidx40 = getelementptr inbounds i32, i32* %call39, i64 0 | |
%21 = load i32, i32* %arrayidx40, align 4 | |
%22 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%call41 = call i32* @_ZNK3BoxixEi(%struct.Box* %22, i32 0) | |
%arrayidx42 = getelementptr inbounds i32, i32* %call41, i64 0 | |
%23 = load i32, i32* %arrayidx42, align 4 | |
%cmp43 = icmp sgt i32 %21, %23 | |
br i1 %cmp43, label %if.then44, label %if.end47 | |
if.then44: ; preds = %if.end38 | |
%first45 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 0 | |
store i32 0, i32* %first45, align 4 | |
%second46 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 1 | |
store i32 0, i32* %second46, align 4 | |
br label %return | |
if.end47: ; preds = %if.end38 | |
br label %return | |
return: ; preds = %if.end47, %if.then44, %if.then35, %if.then26, %if.then17, %if.then8, %if.then | |
%24 = bitcast %"struct.std::pair"* %retval to i64* | |
%25 = load i64, i64* %24, align 4 | |
ret i64 %25 | |
} | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr void @_ZNSt4pairIiiEC2ERKiS2_(%"struct.std::pair"* %this, i32* dereferenceable(4) %__a, i32* dereferenceable(4) %__b) unnamed_addr #4 comdat align 2 { | |
entry: | |
%this.addr = alloca %"struct.std::pair"*, align 8 | |
%__a.addr = alloca i32*, align 8 | |
%__b.addr = alloca i32*, align 8 | |
store %"struct.std::pair"* %this, %"struct.std::pair"** %this.addr, align 8 | |
store i32* %__a, i32** %__a.addr, align 8 | |
store i32* %__b, i32** %__b.addr, align 8 | |
%this1 = load %"struct.std::pair"*, %"struct.std::pair"** %this.addr, align 8 | |
%first = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %this1, i32 0, i32 0 | |
%0 = load i32*, i32** %__a.addr, align 8 | |
%1 = load i32, i32* %0, align 4 | |
store i32 %1, i32* %first, align 4 | |
%second = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %this1, i32 0, i32 1 | |
%2 = load i32*, i32** %__b.addr, align 8 | |
%3 = load i32, i32* %2, align 4 | |
store i32 %3, i32* %second, align 4 | |
ret void | |
} | |
; Function Attrs: noinline optnone uwtable | |
define i64 @_ZN6miniFE20decide_how_to_shrinkERK3BoxS2_(%struct.Box* dereferenceable(24) %global_box, %struct.Box* dereferenceable(24) %local_box) #3 { | |
entry: | |
%retval = alloca %"struct.std::pair", align 4 | |
%global_box.addr = alloca %struct.Box*, align 8 | |
%local_box.addr = alloca %struct.Box*, align 8 | |
store %struct.Box* %global_box, %struct.Box** %global_box.addr, align 8 | |
store %struct.Box* %local_box, %struct.Box** %local_box.addr, align 8 | |
call void @_ZNSt4pairIiiEC2ERKiS2_(%"struct.std::pair"* %retval, i32* dereferenceable(4) @_ZN6miniFEL4NONEE, i32* dereferenceable(4) @_ZN6miniFEL5UPPERE) | |
%0 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call = call i32* @_ZNK3BoxixEi(%struct.Box* %0, i32 2) | |
%arrayidx = getelementptr inbounds i32, i32* %call, i64 1 | |
%1 = load i32, i32* %arrayidx, align 4 | |
%2 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%call1 = call i32* @_ZNK3BoxixEi(%struct.Box* %2, i32 2) | |
%arrayidx2 = getelementptr inbounds i32, i32* %call1, i64 1 | |
%3 = load i32, i32* %arrayidx2, align 4 | |
%cmp = icmp slt i32 %1, %3 | |
br i1 %cmp, label %land.lhs.true, label %if.end | |
land.lhs.true: ; preds = %entry | |
%4 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call3 = call i32* @_ZNK3BoxixEi(%struct.Box* %4, i32 2) | |
%arrayidx4 = getelementptr inbounds i32, i32* %call3, i64 1 | |
%5 = load i32, i32* %arrayidx4, align 4 | |
%6 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call5 = call i32* @_ZNK3BoxixEi(%struct.Box* %6, i32 2) | |
%arrayidx6 = getelementptr inbounds i32, i32* %call5, i64 0 | |
%7 = load i32, i32* %arrayidx6, align 4 | |
%sub = sub nsw i32 %5, %7 | |
%cmp7 = icmp sgt i32 %sub, 2 | |
br i1 %cmp7, label %if.then, label %if.end | |
if.then: ; preds = %land.lhs.true | |
%first = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 0 | |
store i32 2, i32* %first, align 4 | |
%second = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 1 | |
store i32 1, i32* %second, align 4 | |
br label %return | |
if.end: ; preds = %land.lhs.true, %entry | |
%8 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call8 = call i32* @_ZNK3BoxixEi(%struct.Box* %8, i32 2) | |
%arrayidx9 = getelementptr inbounds i32, i32* %call8, i64 0 | |
%9 = load i32, i32* %arrayidx9, align 4 | |
%10 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%call10 = call i32* @_ZNK3BoxixEi(%struct.Box* %10, i32 2) | |
%arrayidx11 = getelementptr inbounds i32, i32* %call10, i64 0 | |
%11 = load i32, i32* %arrayidx11, align 4 | |
%cmp12 = icmp sgt i32 %9, %11 | |
br i1 %cmp12, label %land.lhs.true13, label %if.end23 | |
land.lhs.true13: ; preds = %if.end | |
%12 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call14 = call i32* @_ZNK3BoxixEi(%struct.Box* %12, i32 2) | |
%arrayidx15 = getelementptr inbounds i32, i32* %call14, i64 1 | |
%13 = load i32, i32* %arrayidx15, align 4 | |
%14 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call16 = call i32* @_ZNK3BoxixEi(%struct.Box* %14, i32 2) | |
%arrayidx17 = getelementptr inbounds i32, i32* %call16, i64 0 | |
%15 = load i32, i32* %arrayidx17, align 4 | |
%sub18 = sub nsw i32 %13, %15 | |
%cmp19 = icmp sgt i32 %sub18, 2 | |
br i1 %cmp19, label %if.then20, label %if.end23 | |
if.then20: ; preds = %land.lhs.true13 | |
%first21 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 0 | |
store i32 2, i32* %first21, align 4 | |
%second22 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 1 | |
store i32 0, i32* %second22, align 4 | |
br label %return | |
if.end23: ; preds = %land.lhs.true13, %if.end | |
%16 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call24 = call i32* @_ZNK3BoxixEi(%struct.Box* %16, i32 1) | |
%arrayidx25 = getelementptr inbounds i32, i32* %call24, i64 1 | |
%17 = load i32, i32* %arrayidx25, align 4 | |
%18 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%call26 = call i32* @_ZNK3BoxixEi(%struct.Box* %18, i32 1) | |
%arrayidx27 = getelementptr inbounds i32, i32* %call26, i64 1 | |
%19 = load i32, i32* %arrayidx27, align 4 | |
%cmp28 = icmp slt i32 %17, %19 | |
br i1 %cmp28, label %land.lhs.true29, label %if.end39 | |
land.lhs.true29: ; preds = %if.end23 | |
%20 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call30 = call i32* @_ZNK3BoxixEi(%struct.Box* %20, i32 1) | |
%arrayidx31 = getelementptr inbounds i32, i32* %call30, i64 1 | |
%21 = load i32, i32* %arrayidx31, align 4 | |
%22 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call32 = call i32* @_ZNK3BoxixEi(%struct.Box* %22, i32 1) | |
%arrayidx33 = getelementptr inbounds i32, i32* %call32, i64 0 | |
%23 = load i32, i32* %arrayidx33, align 4 | |
%sub34 = sub nsw i32 %21, %23 | |
%cmp35 = icmp sgt i32 %sub34, 2 | |
br i1 %cmp35, label %if.then36, label %if.end39 | |
if.then36: ; preds = %land.lhs.true29 | |
%first37 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 0 | |
store i32 1, i32* %first37, align 4 | |
%second38 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 1 | |
store i32 1, i32* %second38, align 4 | |
br label %return | |
if.end39: ; preds = %land.lhs.true29, %if.end23 | |
%24 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call40 = call i32* @_ZNK3BoxixEi(%struct.Box* %24, i32 1) | |
%arrayidx41 = getelementptr inbounds i32, i32* %call40, i64 0 | |
%25 = load i32, i32* %arrayidx41, align 4 | |
%26 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%call42 = call i32* @_ZNK3BoxixEi(%struct.Box* %26, i32 1) | |
%arrayidx43 = getelementptr inbounds i32, i32* %call42, i64 0 | |
%27 = load i32, i32* %arrayidx43, align 4 | |
%cmp44 = icmp sgt i32 %25, %27 | |
br i1 %cmp44, label %land.lhs.true45, label %if.end55 | |
land.lhs.true45: ; preds = %if.end39 | |
%28 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call46 = call i32* @_ZNK3BoxixEi(%struct.Box* %28, i32 1) | |
%arrayidx47 = getelementptr inbounds i32, i32* %call46, i64 1 | |
%29 = load i32, i32* %arrayidx47, align 4 | |
%30 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call48 = call i32* @_ZNK3BoxixEi(%struct.Box* %30, i32 1) | |
%arrayidx49 = getelementptr inbounds i32, i32* %call48, i64 0 | |
%31 = load i32, i32* %arrayidx49, align 4 | |
%sub50 = sub nsw i32 %29, %31 | |
%cmp51 = icmp sgt i32 %sub50, 2 | |
br i1 %cmp51, label %if.then52, label %if.end55 | |
if.then52: ; preds = %land.lhs.true45 | |
%first53 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 0 | |
store i32 1, i32* %first53, align 4 | |
%second54 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 1 | |
store i32 0, i32* %second54, align 4 | |
br label %return | |
if.end55: ; preds = %land.lhs.true45, %if.end39 | |
%32 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call56 = call i32* @_ZNK3BoxixEi(%struct.Box* %32, i32 0) | |
%arrayidx57 = getelementptr inbounds i32, i32* %call56, i64 1 | |
%33 = load i32, i32* %arrayidx57, align 4 | |
%34 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%call58 = call i32* @_ZNK3BoxixEi(%struct.Box* %34, i32 0) | |
%arrayidx59 = getelementptr inbounds i32, i32* %call58, i64 1 | |
%35 = load i32, i32* %arrayidx59, align 4 | |
%cmp60 = icmp slt i32 %33, %35 | |
br i1 %cmp60, label %land.lhs.true61, label %if.end71 | |
land.lhs.true61: ; preds = %if.end55 | |
%36 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call62 = call i32* @_ZNK3BoxixEi(%struct.Box* %36, i32 0) | |
%arrayidx63 = getelementptr inbounds i32, i32* %call62, i64 1 | |
%37 = load i32, i32* %arrayidx63, align 4 | |
%38 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call64 = call i32* @_ZNK3BoxixEi(%struct.Box* %38, i32 0) | |
%arrayidx65 = getelementptr inbounds i32, i32* %call64, i64 0 | |
%39 = load i32, i32* %arrayidx65, align 4 | |
%sub66 = sub nsw i32 %37, %39 | |
%cmp67 = icmp sgt i32 %sub66, 2 | |
br i1 %cmp67, label %if.then68, label %if.end71 | |
if.then68: ; preds = %land.lhs.true61 | |
%first69 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 0 | |
store i32 0, i32* %first69, align 4 | |
%second70 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 1 | |
store i32 1, i32* %second70, align 4 | |
br label %return | |
if.end71: ; preds = %land.lhs.true61, %if.end55 | |
%40 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call72 = call i32* @_ZNK3BoxixEi(%struct.Box* %40, i32 0) | |
%arrayidx73 = getelementptr inbounds i32, i32* %call72, i64 0 | |
%41 = load i32, i32* %arrayidx73, align 4 | |
%42 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%call74 = call i32* @_ZNK3BoxixEi(%struct.Box* %42, i32 0) | |
%arrayidx75 = getelementptr inbounds i32, i32* %call74, i64 0 | |
%43 = load i32, i32* %arrayidx75, align 4 | |
%cmp76 = icmp sgt i32 %41, %43 | |
br i1 %cmp76, label %land.lhs.true77, label %if.end87 | |
land.lhs.true77: ; preds = %if.end71 | |
%44 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call78 = call i32* @_ZNK3BoxixEi(%struct.Box* %44, i32 0) | |
%arrayidx79 = getelementptr inbounds i32, i32* %call78, i64 1 | |
%45 = load i32, i32* %arrayidx79, align 4 | |
%46 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call80 = call i32* @_ZNK3BoxixEi(%struct.Box* %46, i32 0) | |
%arrayidx81 = getelementptr inbounds i32, i32* %call80, i64 0 | |
%47 = load i32, i32* %arrayidx81, align 4 | |
%sub82 = sub nsw i32 %45, %47 | |
%cmp83 = icmp sgt i32 %sub82, 2 | |
br i1 %cmp83, label %if.then84, label %if.end87 | |
if.then84: ; preds = %land.lhs.true77 | |
%first85 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 0 | |
store i32 0, i32* %first85, align 4 | |
%second86 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %retval, i32 0, i32 1 | |
store i32 0, i32* %second86, align 4 | |
br label %return | |
if.end87: ; preds = %land.lhs.true77, %if.end71 | |
br label %return | |
return: ; preds = %if.end87, %if.then84, %if.then68, %if.then52, %if.then36, %if.then20, %if.then | |
%48 = bitcast %"struct.std::pair"* %retval to i64* | |
%49 = load i64, i64* %48, align 4 | |
ret i64 %49 | |
} | |
; Function Attrs: noinline norecurse optnone uwtable | |
define i32 @main(i32 %argc, i8** %argv) #5 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%retval = alloca i32, align 4 | |
%argc.addr = alloca i32, align 4 | |
%argv.addr = alloca i8**, align 8 | |
%params = alloca %"struct.miniFE::Parameters", align 8 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
%numprocs = alloca i32, align 4 | |
%myproc = alloca i32, align 4 | |
%start_time = alloca double, align 8 | |
%global_box = alloca %struct.Box, align 4 | |
%local_boxes = alloca %"class.std::vector", align 8 | |
%ref.tmp = alloca %struct.Box, align 4 | |
%ref.tmp8 = alloca %"class.std::allocator.0", align 1 | |
%my_box = alloca %struct.Box*, align 8 | |
%osstr = alloca %"class.std::__cxx11::basic_ostringstream", align 8 | |
%doc = alloca %class.YAML_Doc, align 8 | |
%ref.tmp44 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp45 = alloca %"class.std::allocator", align 1 | |
%ref.tmp48 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp49 = alloca %"class.std::allocator", align 1 | |
%ref.tmp52 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp53 = alloca %"class.std::allocator", align 1 | |
%ref.tmp56 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%total_time = alloca double, align 8 | |
%ref.tmp85 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp86 = alloca %"class.std::allocator", align 1 | |
%agg.tmp.ensured = alloca %"class.std::__cxx11::basic_string", align 8 | |
store i32 0, i32* %retval, align 4 | |
store i32 %argc, i32* %argc.addr, align 4 | |
store i8** %argv, i8*** %argv.addr, align 8 | |
call void @_ZN6miniFE10ParametersC2Ev(%"struct.miniFE::Parameters"* %params) | |
%0 = load i32, i32* %argc.addr, align 4 | |
%1 = load i8**, i8*** %argv.addr, align 8 | |
invoke void @_ZN6miniFE14get_parametersEiPPcRNS_10ParametersE(i32 %0, i8** %1, %"struct.miniFE::Parameters"* dereferenceable(96) %params) | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %entry | |
store i32 1, i32* %numprocs, align 4 | |
store i32 0, i32* %myproc, align 4 | |
%2 = load i32, i32* %argc.addr, align 4 | |
%3 = load i8**, i8*** %argv.addr, align 8 | |
invoke void @_ZN6miniFE14initialize_mpiEiPPcRiS2_(i32 %2, i8** %3, i32* dereferenceable(4) %numprocs, i32* dereferenceable(4) %myproc) | |
to label %invoke.cont1 unwind label %lpad | |
invoke.cont1: ; preds = %invoke.cont | |
%call = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont2 unwind label %lpad | |
invoke.cont2: ; preds = %invoke.cont1 | |
store double %call, double* %start_time, align 8 | |
invoke void @_ZN6miniFE20broadcast_parametersERNS_10ParametersE(%"struct.miniFE::Parameters"* dereferenceable(96) %params) | |
to label %invoke.cont3 unwind label %lpad | |
invoke.cont3: ; preds = %invoke.cont2 | |
%ranges = getelementptr inbounds %struct.Box, %struct.Box* %global_box, i32 0, i32 0 | |
%arrayinit.begin = getelementptr inbounds [6 x i32], [6 x i32]* %ranges, i64 0, i64 0 | |
store i32 0, i32* %arrayinit.begin, align 4 | |
%arrayinit.element = getelementptr inbounds i32, i32* %arrayinit.begin, i64 1 | |
%nx = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %params, i32 0, i32 0 | |
%4 = load i32, i32* %nx, align 8 | |
store i32 %4, i32* %arrayinit.element, align 4 | |
%arrayinit.element4 = getelementptr inbounds i32, i32* %arrayinit.element, i64 1 | |
store i32 0, i32* %arrayinit.element4, align 4 | |
%arrayinit.element5 = getelementptr inbounds i32, i32* %arrayinit.element4, i64 1 | |
%ny = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %params, i32 0, i32 1 | |
%5 = load i32, i32* %ny, align 4 | |
store i32 %5, i32* %arrayinit.element5, align 4 | |
%arrayinit.element6 = getelementptr inbounds i32, i32* %arrayinit.element5, i64 1 | |
store i32 0, i32* %arrayinit.element6, align 4 | |
%arrayinit.element7 = getelementptr inbounds i32, i32* %arrayinit.element6, i64 1 | |
%nz = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %params, i32 0, i32 2 | |
%6 = load i32, i32* %nz, align 8 | |
store i32 %6, i32* %arrayinit.element7, align 4 | |
%7 = load i32, i32* %numprocs, align 4 | |
%conv = sext i32 %7 to i64 | |
%8 = bitcast %struct.Box* %ref.tmp to i8* | |
call void @llvm.memset.p0i8.i64(i8* %8, i8 0, i64 24, i32 4, i1 false) | |
call void @_ZNSaI3BoxEC2Ev(%"class.std::allocator.0"* %ref.tmp8) #2 | |
invoke void @_ZNSt6vectorI3BoxSaIS0_EEC2EmRKS0_RKS1_(%"class.std::vector"* %local_boxes, i64 %conv, %struct.Box* dereferenceable(24) %ref.tmp, %"class.std::allocator.0"* dereferenceable(1) %ref.tmp8) | |
to label %invoke.cont10 unwind label %lpad9 | |
invoke.cont10: ; preds = %invoke.cont3 | |
call void @_ZNSaI3BoxED2Ev(%"class.std::allocator.0"* %ref.tmp8) #2 | |
%9 = load i32, i32* %numprocs, align 4 | |
%call13 = invoke dereferenceable(24) %struct.Box* @_ZNSt6vectorI3BoxSaIS0_EEixEm(%"class.std::vector"* %local_boxes, i64 0) | |
to label %invoke.cont12 unwind label %lpad11 | |
invoke.cont12: ; preds = %invoke.cont10 | |
invoke void @_Z13box_partitioniiiRK3BoxPS_(i32 0, i32 %9, i32 2, %struct.Box* dereferenceable(24) %global_box, %struct.Box* %call13) | |
to label %invoke.cont14 unwind label %lpad11 | |
invoke.cont14: ; preds = %invoke.cont12 | |
%10 = load i32, i32* %myproc, align 4 | |
%conv15 = sext i32 %10 to i64 | |
%call17 = invoke dereferenceable(24) %struct.Box* @_ZNSt6vectorI3BoxSaIS0_EEixEm(%"class.std::vector"* %local_boxes, i64 %conv15) | |
to label %invoke.cont16 unwind label %lpad11 | |
invoke.cont16: ; preds = %invoke.cont14 | |
store %struct.Box* %call17, %struct.Box** %my_box, align 8 | |
invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::__cxx11::basic_ostringstream"* %osstr, i32 16) | |
to label %invoke.cont18 unwind label %lpad11 | |
invoke.cont18: ; preds = %invoke.cont16 | |
%11 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to %"class.std::basic_ostream"* | |
%call21 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %11, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str, i32 0, i32 0)) | |
to label %invoke.cont20 unwind label %lpad19 | |
invoke.cont20: ; preds = %invoke.cont18 | |
%nx22 = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %params, i32 0, i32 0 | |
%12 = load i32, i32* %nx22, align 8 | |
%call24 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %call21, i32 %12) | |
to label %invoke.cont23 unwind label %lpad19 | |
invoke.cont23: ; preds = %invoke.cont20 | |
%call26 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call24, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i32 0, i32 0)) | |
to label %invoke.cont25 unwind label %lpad19 | |
invoke.cont25: ; preds = %invoke.cont23 | |
%ny27 = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %params, i32 0, i32 1 | |
%13 = load i32, i32* %ny27, align 4 | |
%call29 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %call26, i32 %13) | |
to label %invoke.cont28 unwind label %lpad19 | |
invoke.cont28: ; preds = %invoke.cont25 | |
%call31 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call29, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i32 0, i32 0)) | |
to label %invoke.cont30 unwind label %lpad19 | |
invoke.cont30: ; preds = %invoke.cont28 | |
%nz32 = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %params, i32 0, i32 2 | |
%14 = load i32, i32* %nz32, align 8 | |
%call34 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %call31, i32 %14) | |
to label %invoke.cont33 unwind label %lpad19 | |
invoke.cont33: ; preds = %invoke.cont30 | |
%15 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to %"class.std::basic_ostream"* | |
%call36 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %15, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.2, i32 0, i32 0)) | |
to label %invoke.cont35 unwind label %lpad19 | |
invoke.cont35: ; preds = %invoke.cont33 | |
%name = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %params, i32 0, i32 8 | |
%call38 = invoke zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(%"class.std::__cxx11::basic_string"* dereferenceable(32) %name, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0)) | |
to label %invoke.cont37 unwind label %lpad19 | |
invoke.cont37: ; preds = %invoke.cont35 | |
br i1 %call38, label %if.then, label %if.end | |
if.then: ; preds = %invoke.cont37 | |
%16 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to %"class.std::basic_ostream"* | |
%name39 = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %params, i32 0, i32 8 | |
%call41 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(%"class.std::basic_ostream"* dereferenceable(272) %16, %"class.std::__cxx11::basic_string"* dereferenceable(32) %name39) | |
to label %invoke.cont40 unwind label %lpad19 | |
invoke.cont40: ; preds = %if.then | |
%call43 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call41, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.2, i32 0, i32 0)) | |
to label %invoke.cont42 unwind label %lpad19 | |
invoke.cont42: ; preds = %invoke.cont40 | |
br label %if.end | |
lpad: ; preds = %invoke.cont103, %invoke.cont2, %invoke.cont1, %invoke.cont, %entry | |
%17 = landingpad { i8*, i32 } | |
cleanup | |
%18 = extractvalue { i8*, i32 } %17, 0 | |
store i8* %18, i8** %exn.slot, align 8 | |
%19 = extractvalue { i8*, i32 } %17, 1 | |
store i32 %19, i32* %ehselector.slot, align 4 | |
br label %ehcleanup109 | |
lpad9: ; preds = %invoke.cont3 | |
%20 = landingpad { i8*, i32 } | |
cleanup | |
%21 = extractvalue { i8*, i32 } %20, 0 | |
store i8* %21, i8** %exn.slot, align 8 | |
%22 = extractvalue { i8*, i32 } %20, 1 | |
store i32 %22, i32* %ehselector.slot, align 4 | |
call void @_ZNSaI3BoxED2Ev(%"class.std::allocator.0"* %ref.tmp8) #2 | |
br label %ehcleanup109 | |
lpad11: ; preds = %invoke.cont100, %invoke.cont16, %invoke.cont14, %invoke.cont12, %invoke.cont10 | |
%23 = landingpad { i8*, i32 } | |
cleanup | |
%24 = extractvalue { i8*, i32 } %23, 0 | |
store i8* %24, i8** %exn.slot, align 8 | |
%25 = extractvalue { i8*, i32 } %23, 1 | |
store i32 %25, i32* %ehselector.slot, align 4 | |
br label %ehcleanup107 | |
lpad19: ; preds = %invoke.cont99, %invoke.cont40, %if.then, %invoke.cont35, %invoke.cont33, %invoke.cont30, %invoke.cont28, %invoke.cont25, %invoke.cont23, %invoke.cont20, %invoke.cont18 | |
%26 = landingpad { i8*, i32 } | |
cleanup | |
%27 = extractvalue { i8*, i32 } %26, 0 | |
store i8* %27, i8** %exn.slot, align 8 | |
%28 = extractvalue { i8*, i32 } %26, 1 | |
store i32 %28, i32* %ehselector.slot, align 4 | |
br label %ehcleanup104 | |
if.end: ; preds = %invoke.cont42, %invoke.cont37 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp45) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp44, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.4, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp45) | |
to label %invoke.cont47 unwind label %lpad46 | |
invoke.cont47: ; preds = %if.end | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp49) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp48, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.5, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp49) | |
to label %invoke.cont51 unwind label %lpad50 | |
invoke.cont51: ; preds = %invoke.cont47 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp53) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp52, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.2, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp53) | |
to label %invoke.cont55 unwind label %lpad54 | |
invoke.cont55: ; preds = %invoke.cont51 | |
invoke void @_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv(%"class.std::__cxx11::basic_string"* sret %ref.tmp56, %"class.std::__cxx11::basic_ostringstream"* %osstr) | |
to label %invoke.cont58 unwind label %lpad57 | |
invoke.cont58: ; preds = %invoke.cont55 | |
invoke void @_ZN8YAML_DocC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_S7_S7_(%class.YAML_Doc* %doc, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp44, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp48, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp52, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp56) | |
to label %invoke.cont60 unwind label %lpad59 | |
invoke.cont60: ; preds = %invoke.cont58 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp56) | |
to label %invoke.cont61 unwind label %lpad57 | |
invoke.cont61: ; preds = %invoke.cont60 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp52) | |
to label %invoke.cont63 unwind label %lpad54 | |
invoke.cont63: ; preds = %invoke.cont61 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp53) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp48) | |
to label %invoke.cont66 unwind label %lpad50 | |
invoke.cont66: ; preds = %invoke.cont63 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp49) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp44) | |
to label %invoke.cont70 unwind label %lpad46 | |
invoke.cont70: ; preds = %invoke.cont66 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp45) #2 | |
%29 = load i32, i32* %myproc, align 4 | |
%cmp = icmp eq i32 %29, 0 | |
br i1 %cmp, label %if.then74, label %if.end79 | |
if.then74: ; preds = %invoke.cont70 | |
invoke void @_Z18add_params_to_yamlR8YAML_DocRN6miniFE10ParametersE(%class.YAML_Doc* dereferenceable(216) %doc, %"struct.miniFE::Parameters"* dereferenceable(96) %params) | |
to label %invoke.cont76 unwind label %lpad75 | |
invoke.cont76: ; preds = %if.then74 | |
%30 = load i32, i32* %numprocs, align 4 | |
%numthreads = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %params, i32 0, i32 3 | |
%31 = load i32, i32* %numthreads, align 4 | |
invoke void @_Z25add_configuration_to_yamlR8YAML_Docii(%class.YAML_Doc* dereferenceable(216) %doc, i32 %30, i32 %31) | |
to label %invoke.cont77 unwind label %lpad75 | |
invoke.cont77: ; preds = %invoke.cont76 | |
invoke void @_Z22add_timestring_to_yamlR8YAML_Doc(%class.YAML_Doc* dereferenceable(216) %doc) | |
to label %invoke.cont78 unwind label %lpad75 | |
invoke.cont78: ; preds = %invoke.cont77 | |
br label %if.end79 | |
lpad46: ; preds = %invoke.cont66, %if.end | |
%32 = landingpad { i8*, i32 } | |
cleanup | |
%33 = extractvalue { i8*, i32 } %32, 0 | |
store i8* %33, i8** %exn.slot, align 8 | |
%34 = extractvalue { i8*, i32 } %32, 1 | |
store i32 %34, i32* %ehselector.slot, align 4 | |
br label %ehcleanup73 | |
lpad50: ; preds = %invoke.cont63, %invoke.cont47 | |
%35 = landingpad { i8*, i32 } | |
cleanup | |
%36 = extractvalue { i8*, i32 } %35, 0 | |
store i8* %36, i8** %exn.slot, align 8 | |
%37 = extractvalue { i8*, i32 } %35, 1 | |
store i32 %37, i32* %ehselector.slot, align 4 | |
br label %ehcleanup69 | |
lpad54: ; preds = %invoke.cont61, %invoke.cont51 | |
%38 = landingpad { i8*, i32 } | |
cleanup | |
%39 = extractvalue { i8*, i32 } %38, 0 | |
store i8* %39, i8** %exn.slot, align 8 | |
%40 = extractvalue { i8*, i32 } %38, 1 | |
store i32 %40, i32* %ehselector.slot, align 4 | |
br label %ehcleanup65 | |
lpad57: ; preds = %invoke.cont60, %invoke.cont55 | |
%41 = landingpad { i8*, i32 } | |
cleanup | |
%42 = extractvalue { i8*, i32 } %41, 0 | |
store i8* %42, i8** %exn.slot, align 8 | |
%43 = extractvalue { i8*, i32 } %41, 1 | |
store i32 %43, i32* %ehselector.slot, align 4 | |
br label %ehcleanup | |
lpad59: ; preds = %invoke.cont58 | |
%44 = landingpad { i8*, i32 } | |
cleanup | |
%45 = extractvalue { i8*, i32 } %44, 0 | |
store i8* %45, i8** %exn.slot, align 8 | |
%46 = extractvalue { i8*, i32 } %44, 1 | |
store i32 %46, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp56) | |
to label %invoke.cont62 unwind label %terminate.lpad | |
invoke.cont62: ; preds = %lpad59 | |
br label %ehcleanup | |
ehcleanup: ; preds = %invoke.cont62, %lpad57 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp52) | |
to label %invoke.cont64 unwind label %terminate.lpad | |
invoke.cont64: ; preds = %ehcleanup | |
br label %ehcleanup65 | |
ehcleanup65: ; preds = %invoke.cont64, %lpad54 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp53) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp48) | |
to label %invoke.cont68 unwind label %terminate.lpad | |
invoke.cont68: ; preds = %ehcleanup65 | |
br label %ehcleanup69 | |
ehcleanup69: ; preds = %invoke.cont68, %lpad50 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp49) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp44) | |
to label %invoke.cont72 unwind label %terminate.lpad | |
invoke.cont72: ; preds = %ehcleanup69 | |
br label %ehcleanup73 | |
ehcleanup73: ; preds = %invoke.cont72, %lpad46 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp45) #2 | |
br label %ehcleanup104 | |
lpad75: ; preds = %if.end98, %invoke.cont96, %invoke.cont92, %invoke.cont80, %if.end79, %invoke.cont77, %invoke.cont76, %if.then74 | |
%47 = landingpad { i8*, i32 } | |
cleanup | |
%48 = extractvalue { i8*, i32 } %47, 0 | |
store i8* %48, i8** %exn.slot, align 8 | |
%49 = extractvalue { i8*, i32 } %47, 1 | |
store i32 %49, i32* %ehselector.slot, align 4 | |
br label %ehcleanup101 | |
if.end79: ; preds = %invoke.cont78, %invoke.cont70 | |
%50 = load %struct.Box*, %struct.Box** %my_box, align 8 | |
invoke void @_ZN6miniFE6driverIdiiEEvRK3BoxRS1_RNS_10ParametersER8YAML_Doc(%struct.Box* dereferenceable(24) %global_box, %struct.Box* dereferenceable(24) %50, %"struct.miniFE::Parameters"* dereferenceable(96) %params, %class.YAML_Doc* dereferenceable(216) %doc) | |
to label %invoke.cont80 unwind label %lpad75 | |
invoke.cont80: ; preds = %if.end79 | |
%call82 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont81 unwind label %lpad75 | |
invoke.cont81: ; preds = %invoke.cont80 | |
%51 = load double, double* %start_time, align 8 | |
%sub = fsub double %call82, %51 | |
store double %sub, double* %total_time, align 8 | |
%52 = load i32, i32* %myproc, align 4 | |
%cmp83 = icmp eq i32 %52, 0 | |
br i1 %cmp83, label %if.then84, label %if.end98 | |
if.then84: ; preds = %invoke.cont81 | |
%53 = bitcast %class.YAML_Doc* %doc to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp86) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp85, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.6, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp86) | |
to label %invoke.cont88 unwind label %lpad87 | |
invoke.cont88: ; preds = %if.then84 | |
%54 = load double, double* %total_time, align 8 | |
%call91 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %53, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp85, double %54) | |
to label %invoke.cont90 unwind label %lpad89 | |
invoke.cont90: ; preds = %invoke.cont88 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp85) | |
to label %invoke.cont92 unwind label %lpad87 | |
invoke.cont92: ; preds = %invoke.cont90 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp86) #2 | |
invoke void @_ZN8YAML_Doc12generateYAMLB5cxx11Ev(%"class.std::__cxx11::basic_string"* sret %agg.tmp.ensured, %class.YAML_Doc* %doc) | |
to label %invoke.cont96 unwind label %lpad75 | |
invoke.cont96: ; preds = %invoke.cont92 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %agg.tmp.ensured) | |
to label %invoke.cont97 unwind label %lpad75 | |
invoke.cont97: ; preds = %invoke.cont96 | |
br label %if.end98 | |
lpad87: ; preds = %invoke.cont90, %if.then84 | |
%55 = landingpad { i8*, i32 } | |
cleanup | |
%56 = extractvalue { i8*, i32 } %55, 0 | |
store i8* %56, i8** %exn.slot, align 8 | |
%57 = extractvalue { i8*, i32 } %55, 1 | |
store i32 %57, i32* %ehselector.slot, align 4 | |
br label %ehcleanup95 | |
lpad89: ; preds = %invoke.cont88 | |
%58 = landingpad { i8*, i32 } | |
cleanup | |
%59 = extractvalue { i8*, i32 } %58, 0 | |
store i8* %59, i8** %exn.slot, align 8 | |
%60 = extractvalue { i8*, i32 } %58, 1 | |
store i32 %60, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp85) | |
to label %invoke.cont94 unwind label %terminate.lpad | |
invoke.cont94: ; preds = %lpad89 | |
br label %ehcleanup95 | |
ehcleanup95: ; preds = %invoke.cont94, %lpad87 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp86) #2 | |
br label %ehcleanup101 | |
if.end98: ; preds = %invoke.cont97, %invoke.cont81 | |
invoke void @_ZN6miniFE12finalize_mpiEv() | |
to label %invoke.cont99 unwind label %lpad75 | |
invoke.cont99: ; preds = %if.end98 | |
store i32 0, i32* %retval, align 4 | |
invoke void @_ZN8YAML_DocD1Ev(%class.YAML_Doc* %doc) | |
to label %invoke.cont100 unwind label %lpad19 | |
invoke.cont100: ; preds = %invoke.cont99 | |
invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_ostringstream"* %osstr) | |
to label %invoke.cont103 unwind label %lpad11 | |
ehcleanup101: ; preds = %ehcleanup95, %lpad75 | |
invoke void @_ZN8YAML_DocD1Ev(%class.YAML_Doc* %doc) | |
to label %invoke.cont102 unwind label %terminate.lpad | |
invoke.cont102: ; preds = %ehcleanup101 | |
br label %ehcleanup104 | |
invoke.cont103: ; preds = %invoke.cont100 | |
invoke void @_ZNSt6vectorI3BoxSaIS0_EED2Ev(%"class.std::vector"* %local_boxes) | |
to label %invoke.cont106 unwind label %lpad | |
ehcleanup104: ; preds = %invoke.cont102, %ehcleanup73, %lpad19 | |
invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_ostringstream"* %osstr) | |
to label %invoke.cont105 unwind label %terminate.lpad | |
invoke.cont105: ; preds = %ehcleanup104 | |
br label %ehcleanup107 | |
invoke.cont106: ; preds = %invoke.cont103 | |
call void @_ZN6miniFE10ParametersD2Ev(%"struct.miniFE::Parameters"* %params) | |
%61 = load i32, i32* %retval, align 4 | |
ret i32 %61 | |
ehcleanup107: ; preds = %invoke.cont105, %lpad11 | |
invoke void @_ZNSt6vectorI3BoxSaIS0_EED2Ev(%"class.std::vector"* %local_boxes) | |
to label %invoke.cont108 unwind label %terminate.lpad | |
invoke.cont108: ; preds = %ehcleanup107 | |
br label %ehcleanup109 | |
ehcleanup109: ; preds = %invoke.cont108, %lpad9, %lpad | |
invoke void @_ZN6miniFE10ParametersD2Ev(%"struct.miniFE::Parameters"* %params) | |
to label %invoke.cont110 unwind label %terminate.lpad | |
invoke.cont110: ; preds = %ehcleanup109 | |
br label %eh.resume | |
eh.resume: ; preds = %invoke.cont110 | |
%exn = load i8*, i8** %exn.slot, align 8 | |
%sel = load i32, i32* %ehselector.slot, align 4 | |
%lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 | |
%lpad.val111 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 | |
resume { i8*, i32 } %lpad.val111 | |
terminate.lpad: ; preds = %ehcleanup109, %ehcleanup107, %ehcleanup104, %ehcleanup101, %lpad89, %ehcleanup69, %ehcleanup65, %ehcleanup, %lpad59 | |
%62 = landingpad { i8*, i32 } | |
catch i8* null | |
%63 = extractvalue { i8*, i32 } %62, 0 | |
call void @__clang_call_terminate(i8* %63) #13 | |
unreachable | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZN6miniFE10ParametersC2Ev(%"struct.miniFE::Parameters"* %this) unnamed_addr #3 comdat align 2 { | |
entry: | |
%this.addr = alloca %"struct.miniFE::Parameters"*, align 8 | |
store %"struct.miniFE::Parameters"* %this, %"struct.miniFE::Parameters"** %this.addr, align 8 | |
%this1 = load %"struct.miniFE::Parameters"*, %"struct.miniFE::Parameters"** %this.addr, align 8 | |
%nx = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %this1, i32 0, i32 0 | |
store i32 5, i32* %nx, align 8 | |
%ny = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %this1, i32 0, i32 1 | |
%nx2 = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %this1, i32 0, i32 0 | |
%0 = load i32, i32* %nx2, align 8 | |
store i32 %0, i32* %ny, align 4 | |
%nz = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %this1, i32 0, i32 2 | |
%nx3 = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %this1, i32 0, i32 0 | |
%1 = load i32, i32* %nx3, align 8 | |
store i32 %1, i32* %nz, align 8 | |
%numthreads = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %this1, i32 0, i32 3 | |
store i32 1, i32* %numthreads, align 4 | |
%mv_overlap_comm_comp = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %this1, i32 0, i32 4 | |
store i32 0, i32* %mv_overlap_comm_comp, align 8 | |
%use_locking = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %this1, i32 0, i32 5 | |
store i32 0, i32* %use_locking, align 4 | |
%load_imbalance = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %this1, i32 0, i32 6 | |
store float 0.000000e+00, float* %load_imbalance, align 8 | |
%name = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %this1, i32 0, i32 8 | |
call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(%"class.std::__cxx11::basic_string"* %name) | |
%elem_group_size = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %this1, i32 0, i32 9 | |
store i32 1, i32* %elem_group_size, align 8 | |
%use_elem_mat_fields = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %this1, i32 0, i32 10 | |
store i32 1, i32* %use_elem_mat_fields, align 4 | |
%verify_solution = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %this1, i32 0, i32 11 | |
store i32 0, i32* %verify_solution, align 8 | |
%device = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %this1, i32 0, i32 12 | |
store i32 0, i32* %device, align 4 | |
%num_devices = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %this1, i32 0, i32 13 | |
store i32 2, i32* %num_devices, align 8 | |
%skip_device = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %this1, i32 0, i32 14 | |
store i32 9999, i32* %skip_device, align 4 | |
%numa = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %this1, i32 0, i32 15 | |
store i32 1, i32* %numa, align 8 | |
ret void | |
} | |
declare void @_ZN6miniFE14get_parametersEiPPcRNS_10ParametersE(i32, i8**, %"struct.miniFE::Parameters"* dereferenceable(96)) #1 | |
declare i32 @__gxx_personality_v0(...) | |
declare void @_ZN6miniFE14initialize_mpiEiPPcRiS2_(i32, i8**, i32* dereferenceable(4), i32* dereferenceable(4)) #1 | |
declare double @_ZN6miniFE7mytimerEv() #1 | |
declare void @_ZN6miniFE20broadcast_parametersERNS_10ParametersE(%"struct.miniFE::Parameters"* dereferenceable(96)) #1 | |
; Function Attrs: argmemonly nounwind | |
declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i32, i1) #6 | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr void @_ZNSaI3BoxEC2Ev(%"class.std::allocator.0"* %this) unnamed_addr #4 comdat align 2 { | |
entry: | |
%this.addr = alloca %"class.std::allocator.0"*, align 8 | |
store %"class.std::allocator.0"* %this, %"class.std::allocator.0"** %this.addr, align 8 | |
%this1 = load %"class.std::allocator.0"*, %"class.std::allocator.0"** %this.addr, align 8 | |
%0 = bitcast %"class.std::allocator.0"* %this1 to %"class.__gnu_cxx::new_allocator.1"* | |
call void @_ZN9__gnu_cxx13new_allocatorI3BoxEC2Ev(%"class.__gnu_cxx::new_allocator.1"* %0) #2 | |
ret void | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZNSt6vectorI3BoxSaIS0_EEC2EmRKS0_RKS1_(%"class.std::vector"* %this, i64 %__n, %struct.Box* dereferenceable(24) %__value, %"class.std::allocator.0"* dereferenceable(1) %__a) unnamed_addr #3 comdat align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%this.addr = alloca %"class.std::vector"*, align 8 | |
%__n.addr = alloca i64, align 8 | |
%__value.addr = alloca %struct.Box*, align 8 | |
%__a.addr = alloca %"class.std::allocator.0"*, align 8 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 8 | |
store i64 %__n, i64* %__n.addr, align 8 | |
store %struct.Box* %__value, %struct.Box** %__value.addr, align 8 | |
store %"class.std::allocator.0"* %__a, %"class.std::allocator.0"** %__a.addr, align 8 | |
%this1 = load %"class.std::vector"*, %"class.std::vector"** %this.addr, align 8 | |
%0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"* | |
%1 = load i64, i64* %__n.addr, align 8 | |
%2 = load %"class.std::allocator.0"*, %"class.std::allocator.0"** %__a.addr, align 8 | |
call void @_ZNSt12_Vector_baseI3BoxSaIS0_EEC2EmRKS1_(%"struct.std::_Vector_base"* %0, i64 %1, %"class.std::allocator.0"* dereferenceable(1) %2) | |
%3 = load i64, i64* %__n.addr, align 8 | |
%4 = load %struct.Box*, %struct.Box** %__value.addr, align 8 | |
invoke void @_ZNSt6vectorI3BoxSaIS0_EE18_M_fill_initializeEmRKS0_(%"class.std::vector"* %this1, i64 %3, %struct.Box* dereferenceable(24) %4) | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %entry | |
ret void | |
lpad: ; preds = %entry | |
%5 = landingpad { i8*, i32 } | |
cleanup | |
%6 = extractvalue { i8*, i32 } %5, 0 | |
store i8* %6, i8** %exn.slot, align 8 | |
%7 = extractvalue { i8*, i32 } %5, 1 | |
store i32 %7, i32* %ehselector.slot, align 4 | |
%8 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"* | |
invoke void @_ZNSt12_Vector_baseI3BoxSaIS0_EED2Ev(%"struct.std::_Vector_base"* %8) | |
to label %invoke.cont2 unwind label %terminate.lpad | |
invoke.cont2: ; preds = %lpad | |
br label %eh.resume | |
eh.resume: ; preds = %invoke.cont2 | |
%exn = load i8*, i8** %exn.slot, align 8 | |
%sel = load i32, i32* %ehselector.slot, align 4 | |
%lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 | |
%lpad.val3 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 | |
resume { i8*, i32 } %lpad.val3 | |
terminate.lpad: ; preds = %lpad | |
%9 = landingpad { i8*, i32 } | |
catch i8* null | |
%10 = extractvalue { i8*, i32 } %9, 0 | |
call void @__clang_call_terminate(i8* %10) #13 | |
unreachable | |
} | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr void @_ZNSaI3BoxED2Ev(%"class.std::allocator.0"* %this) unnamed_addr #4 comdat align 2 { | |
entry: | |
%this.addr = alloca %"class.std::allocator.0"*, align 8 | |
store %"class.std::allocator.0"* %this, %"class.std::allocator.0"** %this.addr, align 8 | |
%this1 = load %"class.std::allocator.0"*, %"class.std::allocator.0"** %this.addr, align 8 | |
%0 = bitcast %"class.std::allocator.0"* %this1 to %"class.__gnu_cxx::new_allocator.1"* | |
call void @_ZN9__gnu_cxx13new_allocatorI3BoxED2Ev(%"class.__gnu_cxx::new_allocator.1"* %0) #2 | |
ret void | |
} | |
declare void @_Z13box_partitioniiiRK3BoxPS_(i32, i32, i32, %struct.Box* dereferenceable(24), %struct.Box*) #1 | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr dereferenceable(24) %struct.Box* @_ZNSt6vectorI3BoxSaIS0_EEixEm(%"class.std::vector"* %this, i64 %__n) #4 comdat align 2 { | |
entry: | |
%this.addr = alloca %"class.std::vector"*, align 8 | |
%__n.addr = alloca i64, align 8 | |
store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 8 | |
store i64 %__n, i64* %__n.addr, align 8 | |
%this1 = load %"class.std::vector"*, %"class.std::vector"** %this.addr, align 8 | |
%0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"* | |
%_M_impl = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %0, i32 0, i32 0 | |
%_M_start = getelementptr inbounds %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl", %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl, i32 0, i32 0 | |
%1 = load %struct.Box*, %struct.Box** %_M_start, align 8 | |
%2 = load i64, i64* %__n.addr, align 8 | |
%add.ptr = getelementptr inbounds %struct.Box, %struct.Box* %1, i64 %2 | |
ret %struct.Box* %add.ptr | |
} | |
declare void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::__cxx11::basic_ostringstream"*, i32) unnamed_addr #1 | |
declare dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272), i8*) #1 | |
declare dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"*, i32) #1 | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(%"class.std::__cxx11::basic_string"* dereferenceable(32) %__lhs, i8* %__rhs) #3 comdat { | |
entry: | |
%__lhs.addr = alloca %"class.std::__cxx11::basic_string"*, align 8 | |
%__rhs.addr = alloca i8*, align 8 | |
store %"class.std::__cxx11::basic_string"* %__lhs, %"class.std::__cxx11::basic_string"** %__lhs.addr, align 8 | |
store i8* %__rhs, i8** %__rhs.addr, align 8 | |
%0 = load %"class.std::__cxx11::basic_string"*, %"class.std::__cxx11::basic_string"** %__lhs.addr, align 8 | |
%1 = load i8*, i8** %__rhs.addr, align 8 | |
%call = call zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(%"class.std::__cxx11::basic_string"* dereferenceable(32) %0, i8* %1) | |
%lnot = xor i1 %call, true | |
ret i1 %lnot | |
} | |
declare dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(%"class.std::basic_ostream"* dereferenceable(272), %"class.std::__cxx11::basic_string"* dereferenceable(32)) #1 | |
; Function Attrs: nounwind | |
declare void @_ZNSaIcEC1Ev(%"class.std::allocator"*) unnamed_addr #7 | |
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"*, i8*, %"class.std::allocator"* dereferenceable(1)) unnamed_addr #1 | |
declare void @_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv(%"class.std::__cxx11::basic_string"* sret, %"class.std::__cxx11::basic_ostringstream"*) #1 | |
declare void @_ZN8YAML_DocC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_S7_S7_(%class.YAML_Doc*, %"class.std::__cxx11::basic_string"* dereferenceable(32), %"class.std::__cxx11::basic_string"* dereferenceable(32), %"class.std::__cxx11::basic_string"* dereferenceable(32), %"class.std::__cxx11::basic_string"* dereferenceable(32)) unnamed_addr #1 | |
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"*) unnamed_addr #1 | |
; Function Attrs: noinline noreturn nounwind | |
define linkonce_odr hidden void @__clang_call_terminate(i8*) #8 comdat { | |
%2 = call i8* @__cxa_begin_catch(i8* %0) #2 | |
call void @_ZSt9terminatev() #13 | |
unreachable | |
} | |
declare i8* @__cxa_begin_catch(i8*) | |
declare void @_ZSt9terminatev() | |
; Function Attrs: nounwind | |
declare void @_ZNSaIcED1Ev(%"class.std::allocator"*) unnamed_addr #7 | |
; Function Attrs: noinline optnone uwtable | |
define void @_Z18add_params_to_yamlR8YAML_DocRN6miniFE10ParametersE(%class.YAML_Doc* dereferenceable(216) %doc, %"struct.miniFE::Parameters"* dereferenceable(96) %params) #3 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%doc.addr = alloca %class.YAML_Doc*, align 8 | |
%params.addr = alloca %"struct.miniFE::Parameters"*, align 8 | |
%ref.tmp = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp1 = alloca %"class.std::allocator", align 1 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
%ref.tmp2 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp3 = alloca %"class.std::allocator", align 1 | |
%ref.tmp14 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp15 = alloca %"class.std::allocator", align 1 | |
%ref.tmp21 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp22 = alloca %"class.std::allocator", align 1 | |
%ref.tmp25 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp26 = alloca %"class.std::allocator", align 1 | |
%ref.tmp44 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp45 = alloca %"class.std::allocator", align 1 | |
%ref.tmp51 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp52 = alloca %"class.std::allocator", align 1 | |
%ref.tmp58 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp59 = alloca %"class.std::allocator", align 1 | |
%ref.tmp77 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp78 = alloca %"class.std::allocator", align 1 | |
%ref.tmp84 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp85 = alloca %"class.std::allocator", align 1 | |
%ref.tmp91 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp92 = alloca %"class.std::allocator", align 1 | |
%ref.tmp110 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp111 = alloca %"class.std::allocator", align 1 | |
%ref.tmp117 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp118 = alloca %"class.std::allocator", align 1 | |
%ref.tmp124 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp125 = alloca %"class.std::allocator", align 1 | |
%ref.tmp143 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp144 = alloca %"class.std::allocator", align 1 | |
%ref.tmp150 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp151 = alloca %"class.std::allocator", align 1 | |
%val = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp165 = alloca %"class.std::allocator", align 1 | |
%ref.tmp169 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp170 = alloca %"class.std::allocator", align 1 | |
%ref.tmp176 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp177 = alloca %"class.std::allocator", align 1 | |
%val193 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp194 = alloca %"class.std::allocator", align 1 | |
%ref.tmp198 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp199 = alloca %"class.std::allocator", align 1 | |
%ref.tmp205 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp206 = alloca %"class.std::allocator", align 1 | |
store %class.YAML_Doc* %doc, %class.YAML_Doc** %doc.addr, align 8 | |
store %"struct.miniFE::Parameters"* %params, %"struct.miniFE::Parameters"** %params.addr, align 8 | |
%0 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%1 = bitcast %class.YAML_Doc* %0 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp1) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.7, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp1) | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %entry | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp3) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp2, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp3) | |
to label %invoke.cont5 unwind label %lpad4 | |
invoke.cont5: ; preds = %invoke.cont | |
%call = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %1, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp2) | |
to label %invoke.cont7 unwind label %lpad6 | |
invoke.cont7: ; preds = %invoke.cont5 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp2) | |
to label %invoke.cont8 unwind label %lpad4 | |
invoke.cont8: ; preds = %invoke.cont7 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp3) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp) | |
to label %invoke.cont10 unwind label %lpad | |
invoke.cont10: ; preds = %invoke.cont8 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp1) #2 | |
%2 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%3 = bitcast %class.YAML_Doc* %2 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp15) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp14, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.7, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp15) | |
to label %invoke.cont17 unwind label %lpad16 | |
invoke.cont17: ; preds = %invoke.cont10 | |
%call20 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %3, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp14) | |
to label %invoke.cont19 unwind label %lpad18 | |
invoke.cont19: ; preds = %invoke.cont17 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp22) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp21, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.8, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp22) | |
to label %invoke.cont24 unwind label %lpad23 | |
invoke.cont24: ; preds = %invoke.cont19 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp26) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp25, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp26) | |
to label %invoke.cont28 unwind label %lpad27 | |
invoke.cont28: ; preds = %invoke.cont24 | |
%call31 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call20, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp21, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp25) | |
to label %invoke.cont30 unwind label %lpad29 | |
invoke.cont30: ; preds = %invoke.cont28 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp25) | |
to label %invoke.cont32 unwind label %lpad27 | |
invoke.cont32: ; preds = %invoke.cont30 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp26) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp21) | |
to label %invoke.cont36 unwind label %lpad23 | |
invoke.cont36: ; preds = %invoke.cont32 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp22) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp14) | |
to label %invoke.cont40 unwind label %lpad16 | |
invoke.cont40: ; preds = %invoke.cont36 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp15) #2 | |
%4 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%5 = bitcast %class.YAML_Doc* %4 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp45) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp44, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.7, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp45) | |
to label %invoke.cont47 unwind label %lpad46 | |
invoke.cont47: ; preds = %invoke.cont40 | |
%call50 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %5, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp44) | |
to label %invoke.cont49 unwind label %lpad48 | |
invoke.cont49: ; preds = %invoke.cont47 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp52) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp51, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.8, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp52) | |
to label %invoke.cont54 unwind label %lpad53 | |
invoke.cont54: ; preds = %invoke.cont49 | |
%call57 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %call50, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp51) | |
to label %invoke.cont56 unwind label %lpad55 | |
invoke.cont56: ; preds = %invoke.cont54 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp59) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp58, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.9, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp59) | |
to label %invoke.cont61 unwind label %lpad60 | |
invoke.cont61: ; preds = %invoke.cont56 | |
%6 = load %"struct.miniFE::Parameters"*, %"struct.miniFE::Parameters"** %params.addr, align 8 | |
%nx = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %6, i32 0, i32 0 | |
%7 = load i32, i32* %nx, align 8 | |
%call64 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(%class.YAML_Element* %call57, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp58, i32 %7) | |
to label %invoke.cont63 unwind label %lpad62 | |
invoke.cont63: ; preds = %invoke.cont61 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp58) | |
to label %invoke.cont65 unwind label %lpad60 | |
invoke.cont65: ; preds = %invoke.cont63 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp59) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp51) | |
to label %invoke.cont69 unwind label %lpad53 | |
invoke.cont69: ; preds = %invoke.cont65 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp52) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp44) | |
to label %invoke.cont73 unwind label %lpad46 | |
invoke.cont73: ; preds = %invoke.cont69 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp45) #2 | |
%8 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%9 = bitcast %class.YAML_Doc* %8 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp78) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp77, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.7, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp78) | |
to label %invoke.cont80 unwind label %lpad79 | |
invoke.cont80: ; preds = %invoke.cont73 | |
%call83 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %9, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp77) | |
to label %invoke.cont82 unwind label %lpad81 | |
invoke.cont82: ; preds = %invoke.cont80 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp85) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp84, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.8, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp85) | |
to label %invoke.cont87 unwind label %lpad86 | |
invoke.cont87: ; preds = %invoke.cont82 | |
%call90 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %call83, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp84) | |
to label %invoke.cont89 unwind label %lpad88 | |
invoke.cont89: ; preds = %invoke.cont87 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp92) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp91, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.10, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp92) | |
to label %invoke.cont94 unwind label %lpad93 | |
invoke.cont94: ; preds = %invoke.cont89 | |
%10 = load %"struct.miniFE::Parameters"*, %"struct.miniFE::Parameters"** %params.addr, align 8 | |
%ny = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %10, i32 0, i32 1 | |
%11 = load i32, i32* %ny, align 4 | |
%call97 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(%class.YAML_Element* %call90, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp91, i32 %11) | |
to label %invoke.cont96 unwind label %lpad95 | |
invoke.cont96: ; preds = %invoke.cont94 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp91) | |
to label %invoke.cont98 unwind label %lpad93 | |
invoke.cont98: ; preds = %invoke.cont96 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp92) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp84) | |
to label %invoke.cont102 unwind label %lpad86 | |
invoke.cont102: ; preds = %invoke.cont98 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp85) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp77) | |
to label %invoke.cont106 unwind label %lpad79 | |
invoke.cont106: ; preds = %invoke.cont102 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp78) #2 | |
%12 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%13 = bitcast %class.YAML_Doc* %12 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp111) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp110, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.7, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp111) | |
to label %invoke.cont113 unwind label %lpad112 | |
invoke.cont113: ; preds = %invoke.cont106 | |
%call116 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %13, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp110) | |
to label %invoke.cont115 unwind label %lpad114 | |
invoke.cont115: ; preds = %invoke.cont113 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp118) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp117, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.8, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp118) | |
to label %invoke.cont120 unwind label %lpad119 | |
invoke.cont120: ; preds = %invoke.cont115 | |
%call123 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %call116, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp117) | |
to label %invoke.cont122 unwind label %lpad121 | |
invoke.cont122: ; preds = %invoke.cont120 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp125) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp124, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.11, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp125) | |
to label %invoke.cont127 unwind label %lpad126 | |
invoke.cont127: ; preds = %invoke.cont122 | |
%14 = load %"struct.miniFE::Parameters"*, %"struct.miniFE::Parameters"** %params.addr, align 8 | |
%nz = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %14, i32 0, i32 2 | |
%15 = load i32, i32* %nz, align 8 | |
%call130 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(%class.YAML_Element* %call123, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp124, i32 %15) | |
to label %invoke.cont129 unwind label %lpad128 | |
invoke.cont129: ; preds = %invoke.cont127 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp124) | |
to label %invoke.cont131 unwind label %lpad126 | |
invoke.cont131: ; preds = %invoke.cont129 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp125) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp117) | |
to label %invoke.cont135 unwind label %lpad119 | |
invoke.cont135: ; preds = %invoke.cont131 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp118) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp110) | |
to label %invoke.cont139 unwind label %lpad112 | |
invoke.cont139: ; preds = %invoke.cont135 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp111) #2 | |
%16 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%17 = bitcast %class.YAML_Doc* %16 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp144) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp143, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.7, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp144) | |
to label %invoke.cont146 unwind label %lpad145 | |
invoke.cont146: ; preds = %invoke.cont139 | |
%call149 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %17, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp143) | |
to label %invoke.cont148 unwind label %lpad147 | |
invoke.cont148: ; preds = %invoke.cont146 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp151) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp150, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.12, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp151) | |
to label %invoke.cont153 unwind label %lpad152 | |
invoke.cont153: ; preds = %invoke.cont148 | |
%18 = load %"struct.miniFE::Parameters"*, %"struct.miniFE::Parameters"** %params.addr, align 8 | |
%load_imbalance = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %18, i32 0, i32 6 | |
%19 = load float, float* %load_imbalance, align 8 | |
%conv = fpext float %19 to double | |
%call156 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call149, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp150, double %conv) | |
to label %invoke.cont155 unwind label %lpad154 | |
invoke.cont155: ; preds = %invoke.cont153 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp150) | |
to label %invoke.cont157 unwind label %lpad152 | |
invoke.cont157: ; preds = %invoke.cont155 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp151) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp143) | |
to label %invoke.cont161 unwind label %lpad145 | |
invoke.cont161: ; preds = %invoke.cont157 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp144) #2 | |
%20 = load %"struct.miniFE::Parameters"*, %"struct.miniFE::Parameters"** %params.addr, align 8 | |
%mv_overlap_comm_comp = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %20, i32 0, i32 4 | |
%21 = load i32, i32* %mv_overlap_comm_comp, align 8 | |
%cmp = icmp eq i32 %21, 1 | |
br i1 %cmp, label %if.then, label %if.else | |
if.then: ; preds = %invoke.cont161 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp165) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %val, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.13, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp165) | |
to label %invoke.cont167 unwind label %lpad166 | |
invoke.cont167: ; preds = %if.then | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp165) #2 | |
%22 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%23 = bitcast %class.YAML_Doc* %22 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp170) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp169, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.7, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp170) | |
to label %invoke.cont172 unwind label %lpad171 | |
invoke.cont172: ; preds = %invoke.cont167 | |
%call175 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %23, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp169) | |
to label %invoke.cont174 unwind label %lpad173 | |
invoke.cont174: ; preds = %invoke.cont172 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp177) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp176, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.14, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp177) | |
to label %invoke.cont179 unwind label %lpad178 | |
invoke.cont179: ; preds = %invoke.cont174 | |
%call182 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call175, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp176, %"class.std::__cxx11::basic_string"* dereferenceable(32) %val) | |
to label %invoke.cont181 unwind label %lpad180 | |
invoke.cont181: ; preds = %invoke.cont179 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp176) | |
to label %invoke.cont183 unwind label %lpad178 | |
invoke.cont183: ; preds = %invoke.cont181 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp177) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp169) | |
to label %invoke.cont187 unwind label %lpad171 | |
invoke.cont187: ; preds = %invoke.cont183 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp170) #2 | |
call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %val) | |
br label %if.end | |
lpad: ; preds = %invoke.cont8, %entry | |
%24 = landingpad { i8*, i32 } | |
cleanup | |
%25 = extractvalue { i8*, i32 } %24, 0 | |
store i8* %25, i8** %exn.slot, align 8 | |
%26 = extractvalue { i8*, i32 } %24, 1 | |
store i32 %26, i32* %ehselector.slot, align 4 | |
br label %ehcleanup13 | |
lpad4: ; preds = %invoke.cont7, %invoke.cont | |
%27 = landingpad { i8*, i32 } | |
cleanup | |
%28 = extractvalue { i8*, i32 } %27, 0 | |
store i8* %28, i8** %exn.slot, align 8 | |
%29 = extractvalue { i8*, i32 } %27, 1 | |
store i32 %29, i32* %ehselector.slot, align 4 | |
br label %ehcleanup | |
lpad6: ; preds = %invoke.cont5 | |
%30 = landingpad { i8*, i32 } | |
cleanup | |
%31 = extractvalue { i8*, i32 } %30, 0 | |
store i8* %31, i8** %exn.slot, align 8 | |
%32 = extractvalue { i8*, i32 } %30, 1 | |
store i32 %32, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp2) | |
to label %invoke.cont9 unwind label %terminate.lpad | |
invoke.cont9: ; preds = %lpad6 | |
br label %ehcleanup | |
ehcleanup: ; preds = %invoke.cont9, %lpad4 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp3) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp) | |
to label %invoke.cont12 unwind label %terminate.lpad | |
invoke.cont12: ; preds = %ehcleanup | |
br label %ehcleanup13 | |
ehcleanup13: ; preds = %invoke.cont12, %lpad | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp1) #2 | |
br label %eh.resume | |
lpad16: ; preds = %invoke.cont36, %invoke.cont10 | |
%33 = landingpad { i8*, i32 } | |
cleanup | |
%34 = extractvalue { i8*, i32 } %33, 0 | |
store i8* %34, i8** %exn.slot, align 8 | |
%35 = extractvalue { i8*, i32 } %33, 1 | |
store i32 %35, i32* %ehselector.slot, align 4 | |
br label %ehcleanup43 | |
lpad18: ; preds = %invoke.cont17 | |
%36 = landingpad { i8*, i32 } | |
cleanup | |
%37 = extractvalue { i8*, i32 } %36, 0 | |
store i8* %37, i8** %exn.slot, align 8 | |
%38 = extractvalue { i8*, i32 } %36, 1 | |
store i32 %38, i32* %ehselector.slot, align 4 | |
br label %ehcleanup41 | |
lpad23: ; preds = %invoke.cont32, %invoke.cont19 | |
%39 = landingpad { i8*, i32 } | |
cleanup | |
%40 = extractvalue { i8*, i32 } %39, 0 | |
store i8* %40, i8** %exn.slot, align 8 | |
%41 = extractvalue { i8*, i32 } %39, 1 | |
store i32 %41, i32* %ehselector.slot, align 4 | |
br label %ehcleanup39 | |
lpad27: ; preds = %invoke.cont30, %invoke.cont24 | |
%42 = landingpad { i8*, i32 } | |
cleanup | |
%43 = extractvalue { i8*, i32 } %42, 0 | |
store i8* %43, i8** %exn.slot, align 8 | |
%44 = extractvalue { i8*, i32 } %42, 1 | |
store i32 %44, i32* %ehselector.slot, align 4 | |
br label %ehcleanup35 | |
lpad29: ; preds = %invoke.cont28 | |
%45 = landingpad { i8*, i32 } | |
cleanup | |
%46 = extractvalue { i8*, i32 } %45, 0 | |
store i8* %46, i8** %exn.slot, align 8 | |
%47 = extractvalue { i8*, i32 } %45, 1 | |
store i32 %47, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp25) | |
to label %invoke.cont34 unwind label %terminate.lpad | |
invoke.cont34: ; preds = %lpad29 | |
br label %ehcleanup35 | |
ehcleanup35: ; preds = %invoke.cont34, %lpad27 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp26) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp21) | |
to label %invoke.cont38 unwind label %terminate.lpad | |
invoke.cont38: ; preds = %ehcleanup35 | |
br label %ehcleanup39 | |
ehcleanup39: ; preds = %invoke.cont38, %lpad23 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp22) #2 | |
br label %ehcleanup41 | |
ehcleanup41: ; preds = %ehcleanup39, %lpad18 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp14) | |
to label %invoke.cont42 unwind label %terminate.lpad | |
invoke.cont42: ; preds = %ehcleanup41 | |
br label %ehcleanup43 | |
ehcleanup43: ; preds = %invoke.cont42, %lpad16 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp15) #2 | |
br label %eh.resume | |
lpad46: ; preds = %invoke.cont69, %invoke.cont40 | |
%48 = landingpad { i8*, i32 } | |
cleanup | |
%49 = extractvalue { i8*, i32 } %48, 0 | |
store i8* %49, i8** %exn.slot, align 8 | |
%50 = extractvalue { i8*, i32 } %48, 1 | |
store i32 %50, i32* %ehselector.slot, align 4 | |
br label %ehcleanup76 | |
lpad48: ; preds = %invoke.cont47 | |
%51 = landingpad { i8*, i32 } | |
cleanup | |
%52 = extractvalue { i8*, i32 } %51, 0 | |
store i8* %52, i8** %exn.slot, align 8 | |
%53 = extractvalue { i8*, i32 } %51, 1 | |
store i32 %53, i32* %ehselector.slot, align 4 | |
br label %ehcleanup74 | |
lpad53: ; preds = %invoke.cont65, %invoke.cont49 | |
%54 = landingpad { i8*, i32 } | |
cleanup | |
%55 = extractvalue { i8*, i32 } %54, 0 | |
store i8* %55, i8** %exn.slot, align 8 | |
%56 = extractvalue { i8*, i32 } %54, 1 | |
store i32 %56, i32* %ehselector.slot, align 4 | |
br label %ehcleanup72 | |
lpad55: ; preds = %invoke.cont54 | |
%57 = landingpad { i8*, i32 } | |
cleanup | |
%58 = extractvalue { i8*, i32 } %57, 0 | |
store i8* %58, i8** %exn.slot, align 8 | |
%59 = extractvalue { i8*, i32 } %57, 1 | |
store i32 %59, i32* %ehselector.slot, align 4 | |
br label %ehcleanup70 | |
lpad60: ; preds = %invoke.cont63, %invoke.cont56 | |
%60 = landingpad { i8*, i32 } | |
cleanup | |
%61 = extractvalue { i8*, i32 } %60, 0 | |
store i8* %61, i8** %exn.slot, align 8 | |
%62 = extractvalue { i8*, i32 } %60, 1 | |
store i32 %62, i32* %ehselector.slot, align 4 | |
br label %ehcleanup68 | |
lpad62: ; preds = %invoke.cont61 | |
%63 = landingpad { i8*, i32 } | |
cleanup | |
%64 = extractvalue { i8*, i32 } %63, 0 | |
store i8* %64, i8** %exn.slot, align 8 | |
%65 = extractvalue { i8*, i32 } %63, 1 | |
store i32 %65, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp58) | |
to label %invoke.cont67 unwind label %terminate.lpad | |
invoke.cont67: ; preds = %lpad62 | |
br label %ehcleanup68 | |
ehcleanup68: ; preds = %invoke.cont67, %lpad60 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp59) #2 | |
br label %ehcleanup70 | |
ehcleanup70: ; preds = %ehcleanup68, %lpad55 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp51) | |
to label %invoke.cont71 unwind label %terminate.lpad | |
invoke.cont71: ; preds = %ehcleanup70 | |
br label %ehcleanup72 | |
ehcleanup72: ; preds = %invoke.cont71, %lpad53 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp52) #2 | |
br label %ehcleanup74 | |
ehcleanup74: ; preds = %ehcleanup72, %lpad48 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp44) | |
to label %invoke.cont75 unwind label %terminate.lpad | |
invoke.cont75: ; preds = %ehcleanup74 | |
br label %ehcleanup76 | |
ehcleanup76: ; preds = %invoke.cont75, %lpad46 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp45) #2 | |
br label %eh.resume | |
lpad79: ; preds = %invoke.cont102, %invoke.cont73 | |
%66 = landingpad { i8*, i32 } | |
cleanup | |
%67 = extractvalue { i8*, i32 } %66, 0 | |
store i8* %67, i8** %exn.slot, align 8 | |
%68 = extractvalue { i8*, i32 } %66, 1 | |
store i32 %68, i32* %ehselector.slot, align 4 | |
br label %ehcleanup109 | |
lpad81: ; preds = %invoke.cont80 | |
%69 = landingpad { i8*, i32 } | |
cleanup | |
%70 = extractvalue { i8*, i32 } %69, 0 | |
store i8* %70, i8** %exn.slot, align 8 | |
%71 = extractvalue { i8*, i32 } %69, 1 | |
store i32 %71, i32* %ehselector.slot, align 4 | |
br label %ehcleanup107 | |
lpad86: ; preds = %invoke.cont98, %invoke.cont82 | |
%72 = landingpad { i8*, i32 } | |
cleanup | |
%73 = extractvalue { i8*, i32 } %72, 0 | |
store i8* %73, i8** %exn.slot, align 8 | |
%74 = extractvalue { i8*, i32 } %72, 1 | |
store i32 %74, i32* %ehselector.slot, align 4 | |
br label %ehcleanup105 | |
lpad88: ; preds = %invoke.cont87 | |
%75 = landingpad { i8*, i32 } | |
cleanup | |
%76 = extractvalue { i8*, i32 } %75, 0 | |
store i8* %76, i8** %exn.slot, align 8 | |
%77 = extractvalue { i8*, i32 } %75, 1 | |
store i32 %77, i32* %ehselector.slot, align 4 | |
br label %ehcleanup103 | |
lpad93: ; preds = %invoke.cont96, %invoke.cont89 | |
%78 = landingpad { i8*, i32 } | |
cleanup | |
%79 = extractvalue { i8*, i32 } %78, 0 | |
store i8* %79, i8** %exn.slot, align 8 | |
%80 = extractvalue { i8*, i32 } %78, 1 | |
store i32 %80, i32* %ehselector.slot, align 4 | |
br label %ehcleanup101 | |
lpad95: ; preds = %invoke.cont94 | |
%81 = landingpad { i8*, i32 } | |
cleanup | |
%82 = extractvalue { i8*, i32 } %81, 0 | |
store i8* %82, i8** %exn.slot, align 8 | |
%83 = extractvalue { i8*, i32 } %81, 1 | |
store i32 %83, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp91) | |
to label %invoke.cont100 unwind label %terminate.lpad | |
invoke.cont100: ; preds = %lpad95 | |
br label %ehcleanup101 | |
ehcleanup101: ; preds = %invoke.cont100, %lpad93 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp92) #2 | |
br label %ehcleanup103 | |
ehcleanup103: ; preds = %ehcleanup101, %lpad88 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp84) | |
to label %invoke.cont104 unwind label %terminate.lpad | |
invoke.cont104: ; preds = %ehcleanup103 | |
br label %ehcleanup105 | |
ehcleanup105: ; preds = %invoke.cont104, %lpad86 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp85) #2 | |
br label %ehcleanup107 | |
ehcleanup107: ; preds = %ehcleanup105, %lpad81 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp77) | |
to label %invoke.cont108 unwind label %terminate.lpad | |
invoke.cont108: ; preds = %ehcleanup107 | |
br label %ehcleanup109 | |
ehcleanup109: ; preds = %invoke.cont108, %lpad79 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp78) #2 | |
br label %eh.resume | |
lpad112: ; preds = %invoke.cont135, %invoke.cont106 | |
%84 = landingpad { i8*, i32 } | |
cleanup | |
%85 = extractvalue { i8*, i32 } %84, 0 | |
store i8* %85, i8** %exn.slot, align 8 | |
%86 = extractvalue { i8*, i32 } %84, 1 | |
store i32 %86, i32* %ehselector.slot, align 4 | |
br label %ehcleanup142 | |
lpad114: ; preds = %invoke.cont113 | |
%87 = landingpad { i8*, i32 } | |
cleanup | |
%88 = extractvalue { i8*, i32 } %87, 0 | |
store i8* %88, i8** %exn.slot, align 8 | |
%89 = extractvalue { i8*, i32 } %87, 1 | |
store i32 %89, i32* %ehselector.slot, align 4 | |
br label %ehcleanup140 | |
lpad119: ; preds = %invoke.cont131, %invoke.cont115 | |
%90 = landingpad { i8*, i32 } | |
cleanup | |
%91 = extractvalue { i8*, i32 } %90, 0 | |
store i8* %91, i8** %exn.slot, align 8 | |
%92 = extractvalue { i8*, i32 } %90, 1 | |
store i32 %92, i32* %ehselector.slot, align 4 | |
br label %ehcleanup138 | |
lpad121: ; preds = %invoke.cont120 | |
%93 = landingpad { i8*, i32 } | |
cleanup | |
%94 = extractvalue { i8*, i32 } %93, 0 | |
store i8* %94, i8** %exn.slot, align 8 | |
%95 = extractvalue { i8*, i32 } %93, 1 | |
store i32 %95, i32* %ehselector.slot, align 4 | |
br label %ehcleanup136 | |
lpad126: ; preds = %invoke.cont129, %invoke.cont122 | |
%96 = landingpad { i8*, i32 } | |
cleanup | |
%97 = extractvalue { i8*, i32 } %96, 0 | |
store i8* %97, i8** %exn.slot, align 8 | |
%98 = extractvalue { i8*, i32 } %96, 1 | |
store i32 %98, i32* %ehselector.slot, align 4 | |
br label %ehcleanup134 | |
lpad128: ; preds = %invoke.cont127 | |
%99 = landingpad { i8*, i32 } | |
cleanup | |
%100 = extractvalue { i8*, i32 } %99, 0 | |
store i8* %100, i8** %exn.slot, align 8 | |
%101 = extractvalue { i8*, i32 } %99, 1 | |
store i32 %101, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp124) | |
to label %invoke.cont133 unwind label %terminate.lpad | |
invoke.cont133: ; preds = %lpad128 | |
br label %ehcleanup134 | |
ehcleanup134: ; preds = %invoke.cont133, %lpad126 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp125) #2 | |
br label %ehcleanup136 | |
ehcleanup136: ; preds = %ehcleanup134, %lpad121 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp117) | |
to label %invoke.cont137 unwind label %terminate.lpad | |
invoke.cont137: ; preds = %ehcleanup136 | |
br label %ehcleanup138 | |
ehcleanup138: ; preds = %invoke.cont137, %lpad119 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp118) #2 | |
br label %ehcleanup140 | |
ehcleanup140: ; preds = %ehcleanup138, %lpad114 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp110) | |
to label %invoke.cont141 unwind label %terminate.lpad | |
invoke.cont141: ; preds = %ehcleanup140 | |
br label %ehcleanup142 | |
ehcleanup142: ; preds = %invoke.cont141, %lpad112 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp111) #2 | |
br label %eh.resume | |
lpad145: ; preds = %invoke.cont157, %invoke.cont139 | |
%102 = landingpad { i8*, i32 } | |
cleanup | |
%103 = extractvalue { i8*, i32 } %102, 0 | |
store i8* %103, i8** %exn.slot, align 8 | |
%104 = extractvalue { i8*, i32 } %102, 1 | |
store i32 %104, i32* %ehselector.slot, align 4 | |
br label %ehcleanup164 | |
lpad147: ; preds = %invoke.cont146 | |
%105 = landingpad { i8*, i32 } | |
cleanup | |
%106 = extractvalue { i8*, i32 } %105, 0 | |
store i8* %106, i8** %exn.slot, align 8 | |
%107 = extractvalue { i8*, i32 } %105, 1 | |
store i32 %107, i32* %ehselector.slot, align 4 | |
br label %ehcleanup162 | |
lpad152: ; preds = %invoke.cont155, %invoke.cont148 | |
%108 = landingpad { i8*, i32 } | |
cleanup | |
%109 = extractvalue { i8*, i32 } %108, 0 | |
store i8* %109, i8** %exn.slot, align 8 | |
%110 = extractvalue { i8*, i32 } %108, 1 | |
store i32 %110, i32* %ehselector.slot, align 4 | |
br label %ehcleanup160 | |
lpad154: ; preds = %invoke.cont153 | |
%111 = landingpad { i8*, i32 } | |
cleanup | |
%112 = extractvalue { i8*, i32 } %111, 0 | |
store i8* %112, i8** %exn.slot, align 8 | |
%113 = extractvalue { i8*, i32 } %111, 1 | |
store i32 %113, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp150) | |
to label %invoke.cont159 unwind label %terminate.lpad | |
invoke.cont159: ; preds = %lpad154 | |
br label %ehcleanup160 | |
ehcleanup160: ; preds = %invoke.cont159, %lpad152 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp151) #2 | |
br label %ehcleanup162 | |
ehcleanup162: ; preds = %ehcleanup160, %lpad147 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp143) | |
to label %invoke.cont163 unwind label %terminate.lpad | |
invoke.cont163: ; preds = %ehcleanup162 | |
br label %ehcleanup164 | |
ehcleanup164: ; preds = %invoke.cont163, %lpad145 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp144) #2 | |
br label %eh.resume | |
lpad166: ; preds = %if.then | |
%114 = landingpad { i8*, i32 } | |
cleanup | |
%115 = extractvalue { i8*, i32 } %114, 0 | |
store i8* %115, i8** %exn.slot, align 8 | |
%116 = extractvalue { i8*, i32 } %114, 1 | |
store i32 %116, i32* %ehselector.slot, align 4 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp165) #2 | |
br label %eh.resume | |
lpad171: ; preds = %invoke.cont183, %invoke.cont167 | |
%117 = landingpad { i8*, i32 } | |
cleanup | |
%118 = extractvalue { i8*, i32 } %117, 0 | |
store i8* %118, i8** %exn.slot, align 8 | |
%119 = extractvalue { i8*, i32 } %117, 1 | |
store i32 %119, i32* %ehselector.slot, align 4 | |
br label %ehcleanup190 | |
lpad173: ; preds = %invoke.cont172 | |
%120 = landingpad { i8*, i32 } | |
cleanup | |
%121 = extractvalue { i8*, i32 } %120, 0 | |
store i8* %121, i8** %exn.slot, align 8 | |
%122 = extractvalue { i8*, i32 } %120, 1 | |
store i32 %122, i32* %ehselector.slot, align 4 | |
br label %ehcleanup188 | |
lpad178: ; preds = %invoke.cont181, %invoke.cont174 | |
%123 = landingpad { i8*, i32 } | |
cleanup | |
%124 = extractvalue { i8*, i32 } %123, 0 | |
store i8* %124, i8** %exn.slot, align 8 | |
%125 = extractvalue { i8*, i32 } %123, 1 | |
store i32 %125, i32* %ehselector.slot, align 4 | |
br label %ehcleanup186 | |
lpad180: ; preds = %invoke.cont179 | |
%126 = landingpad { i8*, i32 } | |
cleanup | |
%127 = extractvalue { i8*, i32 } %126, 0 | |
store i8* %127, i8** %exn.slot, align 8 | |
%128 = extractvalue { i8*, i32 } %126, 1 | |
store i32 %128, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp176) | |
to label %invoke.cont185 unwind label %terminate.lpad | |
invoke.cont185: ; preds = %lpad180 | |
br label %ehcleanup186 | |
ehcleanup186: ; preds = %invoke.cont185, %lpad178 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp177) #2 | |
br label %ehcleanup188 | |
ehcleanup188: ; preds = %ehcleanup186, %lpad173 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp169) | |
to label %invoke.cont189 unwind label %terminate.lpad | |
invoke.cont189: ; preds = %ehcleanup188 | |
br label %ehcleanup190 | |
ehcleanup190: ; preds = %invoke.cont189, %lpad171 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp170) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %val) | |
to label %invoke.cont192 unwind label %terminate.lpad | |
invoke.cont192: ; preds = %ehcleanup190 | |
br label %eh.resume | |
if.else: ; preds = %invoke.cont161 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp194) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %val193, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.15, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp194) | |
to label %invoke.cont196 unwind label %lpad195 | |
invoke.cont196: ; preds = %if.else | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp194) #2 | |
%129 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%130 = bitcast %class.YAML_Doc* %129 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp199) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp198, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.7, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp199) | |
to label %invoke.cont201 unwind label %lpad200 | |
invoke.cont201: ; preds = %invoke.cont196 | |
%call204 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %130, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp198) | |
to label %invoke.cont203 unwind label %lpad202 | |
invoke.cont203: ; preds = %invoke.cont201 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp206) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp205, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.14, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp206) | |
to label %invoke.cont208 unwind label %lpad207 | |
invoke.cont208: ; preds = %invoke.cont203 | |
%call211 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call204, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp205, %"class.std::__cxx11::basic_string"* dereferenceable(32) %val193) | |
to label %invoke.cont210 unwind label %lpad209 | |
invoke.cont210: ; preds = %invoke.cont208 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp205) | |
to label %invoke.cont212 unwind label %lpad207 | |
invoke.cont212: ; preds = %invoke.cont210 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp206) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp198) | |
to label %invoke.cont216 unwind label %lpad200 | |
invoke.cont216: ; preds = %invoke.cont212 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp199) #2 | |
call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %val193) | |
br label %if.end | |
lpad195: ; preds = %if.else | |
%131 = landingpad { i8*, i32 } | |
cleanup | |
%132 = extractvalue { i8*, i32 } %131, 0 | |
store i8* %132, i8** %exn.slot, align 8 | |
%133 = extractvalue { i8*, i32 } %131, 1 | |
store i32 %133, i32* %ehselector.slot, align 4 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp194) #2 | |
br label %eh.resume | |
lpad200: ; preds = %invoke.cont212, %invoke.cont196 | |
%134 = landingpad { i8*, i32 } | |
cleanup | |
%135 = extractvalue { i8*, i32 } %134, 0 | |
store i8* %135, i8** %exn.slot, align 8 | |
%136 = extractvalue { i8*, i32 } %134, 1 | |
store i32 %136, i32* %ehselector.slot, align 4 | |
br label %ehcleanup219 | |
lpad202: ; preds = %invoke.cont201 | |
%137 = landingpad { i8*, i32 } | |
cleanup | |
%138 = extractvalue { i8*, i32 } %137, 0 | |
store i8* %138, i8** %exn.slot, align 8 | |
%139 = extractvalue { i8*, i32 } %137, 1 | |
store i32 %139, i32* %ehselector.slot, align 4 | |
br label %ehcleanup217 | |
lpad207: ; preds = %invoke.cont210, %invoke.cont203 | |
%140 = landingpad { i8*, i32 } | |
cleanup | |
%141 = extractvalue { i8*, i32 } %140, 0 | |
store i8* %141, i8** %exn.slot, align 8 | |
%142 = extractvalue { i8*, i32 } %140, 1 | |
store i32 %142, i32* %ehselector.slot, align 4 | |
br label %ehcleanup215 | |
lpad209: ; preds = %invoke.cont208 | |
%143 = landingpad { i8*, i32 } | |
cleanup | |
%144 = extractvalue { i8*, i32 } %143, 0 | |
store i8* %144, i8** %exn.slot, align 8 | |
%145 = extractvalue { i8*, i32 } %143, 1 | |
store i32 %145, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp205) | |
to label %invoke.cont214 unwind label %terminate.lpad | |
invoke.cont214: ; preds = %lpad209 | |
br label %ehcleanup215 | |
ehcleanup215: ; preds = %invoke.cont214, %lpad207 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp206) #2 | |
br label %ehcleanup217 | |
ehcleanup217: ; preds = %ehcleanup215, %lpad202 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp198) | |
to label %invoke.cont218 unwind label %terminate.lpad | |
invoke.cont218: ; preds = %ehcleanup217 | |
br label %ehcleanup219 | |
ehcleanup219: ; preds = %invoke.cont218, %lpad200 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp199) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %val193) | |
to label %invoke.cont221 unwind label %terminate.lpad | |
invoke.cont221: ; preds = %ehcleanup219 | |
br label %eh.resume | |
if.end: ; preds = %invoke.cont216, %invoke.cont187 | |
ret void | |
eh.resume: ; preds = %invoke.cont221, %lpad195, %invoke.cont192, %lpad166, %ehcleanup164, %ehcleanup142, %ehcleanup109, %ehcleanup76, %ehcleanup43, %ehcleanup13 | |
%exn = load i8*, i8** %exn.slot, align 8 | |
%sel = load i32, i32* %ehselector.slot, align 4 | |
%lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 | |
%lpad.val222 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 | |
resume { i8*, i32 } %lpad.val222 | |
terminate.lpad: ; preds = %ehcleanup219, %ehcleanup217, %lpad209, %ehcleanup190, %ehcleanup188, %lpad180, %ehcleanup162, %lpad154, %ehcleanup140, %ehcleanup136, %lpad128, %ehcleanup107, %ehcleanup103, %lpad95, %ehcleanup74, %ehcleanup70, %lpad62, %ehcleanup41, %ehcleanup35, %lpad29, %ehcleanup, %lpad6 | |
%146 = landingpad { i8*, i32 } | |
catch i8* null | |
%147 = extractvalue { i8*, i32 } %146, 0 | |
call void @__clang_call_terminate(i8* %147) #13 | |
unreachable | |
} | |
; Function Attrs: noinline optnone uwtable | |
define void @_Z25add_configuration_to_yamlR8YAML_Docii(%class.YAML_Doc* dereferenceable(216) %doc, i32 %numprocs, i32 %numthreads) #3 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%doc.addr = alloca %class.YAML_Doc*, align 8 | |
%numprocs.addr = alloca i32, align 4 | |
%numthreads.addr = alloca i32, align 4 | |
%ref.tmp = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp1 = alloca %"class.std::allocator", align 1 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
%ref.tmp4 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp5 = alloca %"class.std::allocator", align 1 | |
%ref.tmp17 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp18 = alloca %"class.std::allocator", align 1 | |
%ref.tmp21 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp22 = alloca %"class.std::allocator", align 1 | |
%ref.tmp36 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp37 = alloca %"class.std::allocator", align 1 | |
%ref.tmp43 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp44 = alloca %"class.std::allocator", align 1 | |
%ref.tmp47 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp48 = alloca %"class.std::allocator", align 1 | |
%ref.tmp66 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp67 = alloca %"class.std::allocator", align 1 | |
%ref.tmp73 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp74 = alloca %"class.std::allocator", align 1 | |
%ref.tmp77 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp78 = alloca %"class.std::allocator", align 1 | |
%ref.tmp96 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp97 = alloca %"class.std::allocator", align 1 | |
%ref.tmp103 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp104 = alloca %"class.std::allocator", align 1 | |
%ref.tmp107 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp108 = alloca %"class.std::allocator", align 1 | |
%ref.tmp126 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp127 = alloca %"class.std::allocator", align 1 | |
%ref.tmp133 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp134 = alloca %"class.std::allocator", align 1 | |
%ref.tmp137 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp138 = alloca %"class.std::allocator", align 1 | |
%ref.tmp156 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp157 = alloca %"class.std::allocator", align 1 | |
%ref.tmp160 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp161 = alloca %"class.std::allocator", align 1 | |
%ref.tmp175 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp176 = alloca %"class.std::allocator", align 1 | |
%ref.tmp182 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp183 = alloca %"class.std::allocator", align 1 | |
%ref.tmp186 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp187 = alloca %"class.std::allocator", align 1 | |
%ref.tmp205 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp206 = alloca %"class.std::allocator", align 1 | |
%ref.tmp212 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp213 = alloca %"class.std::allocator", align 1 | |
%ref.tmp216 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp217 = alloca %"class.std::allocator", align 1 | |
%ref.tmp235 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp236 = alloca %"class.std::allocator", align 1 | |
%ref.tmp242 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp243 = alloca %"class.std::allocator", align 1 | |
%ref.tmp246 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp247 = alloca %"class.std::allocator", align 1 | |
%using_mpi = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp265 = alloca %"class.std::allocator", align 1 | |
%ref.tmp269 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp270 = alloca %"class.std::allocator", align 1 | |
%ref.tmp276 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp277 = alloca %"class.std::allocator", align 1 | |
store %class.YAML_Doc* %doc, %class.YAML_Doc** %doc.addr, align 8 | |
store i32 %numprocs, i32* %numprocs.addr, align 4 | |
store i32 %numthreads, i32* %numthreads.addr, align 4 | |
%0 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%1 = bitcast %class.YAML_Doc* %0 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp1) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.7, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp1) | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %entry | |
%call = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %1, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp) | |
to label %invoke.cont3 unwind label %lpad2 | |
invoke.cont3: ; preds = %invoke.cont | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp5) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp4, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.16, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp5) | |
to label %invoke.cont7 unwind label %lpad6 | |
invoke.cont7: ; preds = %invoke.cont3 | |
%2 = load i32, i32* %numprocs.addr, align 4 | |
%call10 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(%class.YAML_Element* %call, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp4, i32 %2) | |
to label %invoke.cont9 unwind label %lpad8 | |
invoke.cont9: ; preds = %invoke.cont7 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp4) | |
to label %invoke.cont11 unwind label %lpad6 | |
invoke.cont11: ; preds = %invoke.cont9 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp5) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp) | |
to label %invoke.cont13 unwind label %lpad | |
invoke.cont13: ; preds = %invoke.cont11 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp1) #2 | |
%3 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%4 = bitcast %class.YAML_Doc* %3 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp18) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp17, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.17, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp18) | |
to label %invoke.cont20 unwind label %lpad19 | |
invoke.cont20: ; preds = %invoke.cont13 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp22) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp21, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp22) | |
to label %invoke.cont24 unwind label %lpad23 | |
invoke.cont24: ; preds = %invoke.cont20 | |
%call27 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %4, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp17, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp21) | |
to label %invoke.cont26 unwind label %lpad25 | |
invoke.cont26: ; preds = %invoke.cont24 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp21) | |
to label %invoke.cont28 unwind label %lpad23 | |
invoke.cont28: ; preds = %invoke.cont26 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp22) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp17) | |
to label %invoke.cont32 unwind label %lpad19 | |
invoke.cont32: ; preds = %invoke.cont28 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp18) #2 | |
%5 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%6 = bitcast %class.YAML_Doc* %5 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp37) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp36, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.17, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp37) | |
to label %invoke.cont39 unwind label %lpad38 | |
invoke.cont39: ; preds = %invoke.cont32 | |
%call42 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %6, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp36) | |
to label %invoke.cont41 unwind label %lpad40 | |
invoke.cont41: ; preds = %invoke.cont39 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp44) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp43, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.18, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp44) | |
to label %invoke.cont46 unwind label %lpad45 | |
invoke.cont46: ; preds = %invoke.cont41 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp48) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp47, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.19, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp48) | |
to label %invoke.cont50 unwind label %lpad49 | |
invoke.cont50: ; preds = %invoke.cont46 | |
%call53 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call42, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp43, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp47) | |
to label %invoke.cont52 unwind label %lpad51 | |
invoke.cont52: ; preds = %invoke.cont50 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp47) | |
to label %invoke.cont54 unwind label %lpad49 | |
invoke.cont54: ; preds = %invoke.cont52 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp48) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp43) | |
to label %invoke.cont58 unwind label %lpad45 | |
invoke.cont58: ; preds = %invoke.cont54 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp44) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp36) | |
to label %invoke.cont62 unwind label %lpad38 | |
invoke.cont62: ; preds = %invoke.cont58 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp37) #2 | |
%7 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%8 = bitcast %class.YAML_Doc* %7 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp67) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp66, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.17, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp67) | |
to label %invoke.cont69 unwind label %lpad68 | |
invoke.cont69: ; preds = %invoke.cont62 | |
%call72 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %8, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp66) | |
to label %invoke.cont71 unwind label %lpad70 | |
invoke.cont71: ; preds = %invoke.cont69 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp74) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp73, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.20, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp74) | |
to label %invoke.cont76 unwind label %lpad75 | |
invoke.cont76: ; preds = %invoke.cont71 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp78) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp77, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.21, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp78) | |
to label %invoke.cont80 unwind label %lpad79 | |
invoke.cont80: ; preds = %invoke.cont76 | |
%call83 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call72, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp73, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp77) | |
to label %invoke.cont82 unwind label %lpad81 | |
invoke.cont82: ; preds = %invoke.cont80 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp77) | |
to label %invoke.cont84 unwind label %lpad79 | |
invoke.cont84: ; preds = %invoke.cont82 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp78) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp73) | |
to label %invoke.cont88 unwind label %lpad75 | |
invoke.cont88: ; preds = %invoke.cont84 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp74) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp66) | |
to label %invoke.cont92 unwind label %lpad68 | |
invoke.cont92: ; preds = %invoke.cont88 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp67) #2 | |
%9 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%10 = bitcast %class.YAML_Doc* %9 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp97) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp96, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.17, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp97) | |
to label %invoke.cont99 unwind label %lpad98 | |
invoke.cont99: ; preds = %invoke.cont92 | |
%call102 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %10, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp96) | |
to label %invoke.cont101 unwind label %lpad100 | |
invoke.cont101: ; preds = %invoke.cont99 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp104) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp103, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.22, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp104) | |
to label %invoke.cont106 unwind label %lpad105 | |
invoke.cont106: ; preds = %invoke.cont101 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp108) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp107, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp108) | |
to label %invoke.cont110 unwind label %lpad109 | |
invoke.cont110: ; preds = %invoke.cont106 | |
%call113 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call102, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp103, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp107) | |
to label %invoke.cont112 unwind label %lpad111 | |
invoke.cont112: ; preds = %invoke.cont110 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp107) | |
to label %invoke.cont114 unwind label %lpad109 | |
invoke.cont114: ; preds = %invoke.cont112 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp108) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp103) | |
to label %invoke.cont118 unwind label %lpad105 | |
invoke.cont118: ; preds = %invoke.cont114 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp104) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp96) | |
to label %invoke.cont122 unwind label %lpad98 | |
invoke.cont122: ; preds = %invoke.cont118 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp97) #2 | |
%11 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%12 = bitcast %class.YAML_Doc* %11 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp127) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp126, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.17, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp127) | |
to label %invoke.cont129 unwind label %lpad128 | |
invoke.cont129: ; preds = %invoke.cont122 | |
%call132 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %12, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp126) | |
to label %invoke.cont131 unwind label %lpad130 | |
invoke.cont131: ; preds = %invoke.cont129 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp134) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp133, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp134) | |
to label %invoke.cont136 unwind label %lpad135 | |
invoke.cont136: ; preds = %invoke.cont131 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp138) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp137, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.25, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp138) | |
to label %invoke.cont140 unwind label %lpad139 | |
invoke.cont140: ; preds = %invoke.cont136 | |
%call143 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call132, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp133, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp137) | |
to label %invoke.cont142 unwind label %lpad141 | |
invoke.cont142: ; preds = %invoke.cont140 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp137) | |
to label %invoke.cont144 unwind label %lpad139 | |
invoke.cont144: ; preds = %invoke.cont142 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp138) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp133) | |
to label %invoke.cont148 unwind label %lpad135 | |
invoke.cont148: ; preds = %invoke.cont144 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp134) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp126) | |
to label %invoke.cont152 unwind label %lpad128 | |
invoke.cont152: ; preds = %invoke.cont148 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp127) #2 | |
%13 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%14 = bitcast %class.YAML_Doc* %13 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp157) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp156, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.26, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp157) | |
to label %invoke.cont159 unwind label %lpad158 | |
invoke.cont159: ; preds = %invoke.cont152 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp161) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp160, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp161) | |
to label %invoke.cont163 unwind label %lpad162 | |
invoke.cont163: ; preds = %invoke.cont159 | |
%call166 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %14, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp156, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp160) | |
to label %invoke.cont165 unwind label %lpad164 | |
invoke.cont165: ; preds = %invoke.cont163 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp160) | |
to label %invoke.cont167 unwind label %lpad162 | |
invoke.cont167: ; preds = %invoke.cont165 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp161) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp156) | |
to label %invoke.cont171 unwind label %lpad158 | |
invoke.cont171: ; preds = %invoke.cont167 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp157) #2 | |
%15 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%16 = bitcast %class.YAML_Doc* %15 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp176) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp175, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.26, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp176) | |
to label %invoke.cont178 unwind label %lpad177 | |
invoke.cont178: ; preds = %invoke.cont171 | |
%call181 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %16, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp175) | |
to label %invoke.cont180 unwind label %lpad179 | |
invoke.cont180: ; preds = %invoke.cont178 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp183) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp182, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.27, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp183) | |
to label %invoke.cont185 unwind label %lpad184 | |
invoke.cont185: ; preds = %invoke.cont180 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp187) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp186, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.28, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp187) | |
to label %invoke.cont189 unwind label %lpad188 | |
invoke.cont189: ; preds = %invoke.cont185 | |
%call192 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call181, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp182, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp186) | |
to label %invoke.cont191 unwind label %lpad190 | |
invoke.cont191: ; preds = %invoke.cont189 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp186) | |
to label %invoke.cont193 unwind label %lpad188 | |
invoke.cont193: ; preds = %invoke.cont191 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp187) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp182) | |
to label %invoke.cont197 unwind label %lpad184 | |
invoke.cont197: ; preds = %invoke.cont193 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp183) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp175) | |
to label %invoke.cont201 unwind label %lpad177 | |
invoke.cont201: ; preds = %invoke.cont197 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp176) #2 | |
%17 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%18 = bitcast %class.YAML_Doc* %17 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp206) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp205, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.26, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp206) | |
to label %invoke.cont208 unwind label %lpad207 | |
invoke.cont208: ; preds = %invoke.cont201 | |
%call211 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %18, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp205) | |
to label %invoke.cont210 unwind label %lpad209 | |
invoke.cont210: ; preds = %invoke.cont208 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp213) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp212, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.29, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp213) | |
to label %invoke.cont215 unwind label %lpad214 | |
invoke.cont215: ; preds = %invoke.cont210 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp217) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp216, i8* getelementptr inbounds ([177 x i8], [177 x i8]* @.str.30, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp217) | |
to label %invoke.cont219 unwind label %lpad218 | |
invoke.cont219: ; preds = %invoke.cont215 | |
%call222 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call211, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp212, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp216) | |
to label %invoke.cont221 unwind label %lpad220 | |
invoke.cont221: ; preds = %invoke.cont219 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp216) | |
to label %invoke.cont223 unwind label %lpad218 | |
invoke.cont223: ; preds = %invoke.cont221 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp217) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp212) | |
to label %invoke.cont227 unwind label %lpad214 | |
invoke.cont227: ; preds = %invoke.cont223 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp213) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp205) | |
to label %invoke.cont231 unwind label %lpad207 | |
invoke.cont231: ; preds = %invoke.cont227 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp206) #2 | |
%19 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%20 = bitcast %class.YAML_Doc* %19 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp236) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp235, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.26, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp236) | |
to label %invoke.cont238 unwind label %lpad237 | |
invoke.cont238: ; preds = %invoke.cont231 | |
%call241 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %20, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp235) | |
to label %invoke.cont240 unwind label %lpad239 | |
invoke.cont240: ; preds = %invoke.cont238 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp243) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp242, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.31, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp243) | |
to label %invoke.cont245 unwind label %lpad244 | |
invoke.cont245: ; preds = %invoke.cont240 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp247) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp246, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.32, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp247) | |
to label %invoke.cont249 unwind label %lpad248 | |
invoke.cont249: ; preds = %invoke.cont245 | |
%call252 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call241, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp242, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp246) | |
to label %invoke.cont251 unwind label %lpad250 | |
invoke.cont251: ; preds = %invoke.cont249 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp246) | |
to label %invoke.cont253 unwind label %lpad248 | |
invoke.cont253: ; preds = %invoke.cont251 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp247) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp242) | |
to label %invoke.cont257 unwind label %lpad244 | |
invoke.cont257: ; preds = %invoke.cont253 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp243) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp235) | |
to label %invoke.cont261 unwind label %lpad237 | |
invoke.cont261: ; preds = %invoke.cont257 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp236) #2 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp265) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %using_mpi, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.33, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp265) | |
to label %invoke.cont267 unwind label %lpad266 | |
invoke.cont267: ; preds = %invoke.cont261 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp265) #2 | |
%21 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%22 = bitcast %class.YAML_Doc* %21 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp270) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp269, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.26, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp270) | |
to label %invoke.cont272 unwind label %lpad271 | |
invoke.cont272: ; preds = %invoke.cont267 | |
%call275 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %22, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp269) | |
to label %invoke.cont274 unwind label %lpad273 | |
invoke.cont274: ; preds = %invoke.cont272 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp277) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp276, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.34, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp277) | |
to label %invoke.cont279 unwind label %lpad278 | |
invoke.cont279: ; preds = %invoke.cont274 | |
%call282 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call275, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp276, %"class.std::__cxx11::basic_string"* dereferenceable(32) %using_mpi) | |
to label %invoke.cont281 unwind label %lpad280 | |
invoke.cont281: ; preds = %invoke.cont279 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp276) | |
to label %invoke.cont283 unwind label %lpad278 | |
invoke.cont283: ; preds = %invoke.cont281 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp277) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp269) | |
to label %invoke.cont287 unwind label %lpad271 | |
invoke.cont287: ; preds = %invoke.cont283 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp270) #2 | |
call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %using_mpi) | |
ret void | |
lpad: ; preds = %invoke.cont11, %entry | |
%23 = landingpad { i8*, i32 } | |
cleanup | |
%24 = extractvalue { i8*, i32 } %23, 0 | |
store i8* %24, i8** %exn.slot, align 8 | |
%25 = extractvalue { i8*, i32 } %23, 1 | |
store i32 %25, i32* %ehselector.slot, align 4 | |
br label %ehcleanup16 | |
lpad2: ; preds = %invoke.cont | |
%26 = landingpad { i8*, i32 } | |
cleanup | |
%27 = extractvalue { i8*, i32 } %26, 0 | |
store i8* %27, i8** %exn.slot, align 8 | |
%28 = extractvalue { i8*, i32 } %26, 1 | |
store i32 %28, i32* %ehselector.slot, align 4 | |
br label %ehcleanup14 | |
lpad6: ; preds = %invoke.cont9, %invoke.cont3 | |
%29 = landingpad { i8*, i32 } | |
cleanup | |
%30 = extractvalue { i8*, i32 } %29, 0 | |
store i8* %30, i8** %exn.slot, align 8 | |
%31 = extractvalue { i8*, i32 } %29, 1 | |
store i32 %31, i32* %ehselector.slot, align 4 | |
br label %ehcleanup | |
lpad8: ; preds = %invoke.cont7 | |
%32 = landingpad { i8*, i32 } | |
cleanup | |
%33 = extractvalue { i8*, i32 } %32, 0 | |
store i8* %33, i8** %exn.slot, align 8 | |
%34 = extractvalue { i8*, i32 } %32, 1 | |
store i32 %34, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp4) | |
to label %invoke.cont12 unwind label %terminate.lpad | |
invoke.cont12: ; preds = %lpad8 | |
br label %ehcleanup | |
ehcleanup: ; preds = %invoke.cont12, %lpad6 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp5) #2 | |
br label %ehcleanup14 | |
ehcleanup14: ; preds = %ehcleanup, %lpad2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp) | |
to label %invoke.cont15 unwind label %terminate.lpad | |
invoke.cont15: ; preds = %ehcleanup14 | |
br label %ehcleanup16 | |
ehcleanup16: ; preds = %invoke.cont15, %lpad | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp1) #2 | |
br label %eh.resume | |
lpad19: ; preds = %invoke.cont28, %invoke.cont13 | |
%35 = landingpad { i8*, i32 } | |
cleanup | |
%36 = extractvalue { i8*, i32 } %35, 0 | |
store i8* %36, i8** %exn.slot, align 8 | |
%37 = extractvalue { i8*, i32 } %35, 1 | |
store i32 %37, i32* %ehselector.slot, align 4 | |
br label %ehcleanup35 | |
lpad23: ; preds = %invoke.cont26, %invoke.cont20 | |
%38 = landingpad { i8*, i32 } | |
cleanup | |
%39 = extractvalue { i8*, i32 } %38, 0 | |
store i8* %39, i8** %exn.slot, align 8 | |
%40 = extractvalue { i8*, i32 } %38, 1 | |
store i32 %40, i32* %ehselector.slot, align 4 | |
br label %ehcleanup31 | |
lpad25: ; preds = %invoke.cont24 | |
%41 = landingpad { i8*, i32 } | |
cleanup | |
%42 = extractvalue { i8*, i32 } %41, 0 | |
store i8* %42, i8** %exn.slot, align 8 | |
%43 = extractvalue { i8*, i32 } %41, 1 | |
store i32 %43, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp21) | |
to label %invoke.cont30 unwind label %terminate.lpad | |
invoke.cont30: ; preds = %lpad25 | |
br label %ehcleanup31 | |
ehcleanup31: ; preds = %invoke.cont30, %lpad23 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp22) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp17) | |
to label %invoke.cont34 unwind label %terminate.lpad | |
invoke.cont34: ; preds = %ehcleanup31 | |
br label %ehcleanup35 | |
ehcleanup35: ; preds = %invoke.cont34, %lpad19 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp18) #2 | |
br label %eh.resume | |
lpad38: ; preds = %invoke.cont58, %invoke.cont32 | |
%44 = landingpad { i8*, i32 } | |
cleanup | |
%45 = extractvalue { i8*, i32 } %44, 0 | |
store i8* %45, i8** %exn.slot, align 8 | |
%46 = extractvalue { i8*, i32 } %44, 1 | |
store i32 %46, i32* %ehselector.slot, align 4 | |
br label %ehcleanup65 | |
lpad40: ; preds = %invoke.cont39 | |
%47 = landingpad { i8*, i32 } | |
cleanup | |
%48 = extractvalue { i8*, i32 } %47, 0 | |
store i8* %48, i8** %exn.slot, align 8 | |
%49 = extractvalue { i8*, i32 } %47, 1 | |
store i32 %49, i32* %ehselector.slot, align 4 | |
br label %ehcleanup63 | |
lpad45: ; preds = %invoke.cont54, %invoke.cont41 | |
%50 = landingpad { i8*, i32 } | |
cleanup | |
%51 = extractvalue { i8*, i32 } %50, 0 | |
store i8* %51, i8** %exn.slot, align 8 | |
%52 = extractvalue { i8*, i32 } %50, 1 | |
store i32 %52, i32* %ehselector.slot, align 4 | |
br label %ehcleanup61 | |
lpad49: ; preds = %invoke.cont52, %invoke.cont46 | |
%53 = landingpad { i8*, i32 } | |
cleanup | |
%54 = extractvalue { i8*, i32 } %53, 0 | |
store i8* %54, i8** %exn.slot, align 8 | |
%55 = extractvalue { i8*, i32 } %53, 1 | |
store i32 %55, i32* %ehselector.slot, align 4 | |
br label %ehcleanup57 | |
lpad51: ; preds = %invoke.cont50 | |
%56 = landingpad { i8*, i32 } | |
cleanup | |
%57 = extractvalue { i8*, i32 } %56, 0 | |
store i8* %57, i8** %exn.slot, align 8 | |
%58 = extractvalue { i8*, i32 } %56, 1 | |
store i32 %58, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp47) | |
to label %invoke.cont56 unwind label %terminate.lpad | |
invoke.cont56: ; preds = %lpad51 | |
br label %ehcleanup57 | |
ehcleanup57: ; preds = %invoke.cont56, %lpad49 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp48) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp43) | |
to label %invoke.cont60 unwind label %terminate.lpad | |
invoke.cont60: ; preds = %ehcleanup57 | |
br label %ehcleanup61 | |
ehcleanup61: ; preds = %invoke.cont60, %lpad45 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp44) #2 | |
br label %ehcleanup63 | |
ehcleanup63: ; preds = %ehcleanup61, %lpad40 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp36) | |
to label %invoke.cont64 unwind label %terminate.lpad | |
invoke.cont64: ; preds = %ehcleanup63 | |
br label %ehcleanup65 | |
ehcleanup65: ; preds = %invoke.cont64, %lpad38 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp37) #2 | |
br label %eh.resume | |
lpad68: ; preds = %invoke.cont88, %invoke.cont62 | |
%59 = landingpad { i8*, i32 } | |
cleanup | |
%60 = extractvalue { i8*, i32 } %59, 0 | |
store i8* %60, i8** %exn.slot, align 8 | |
%61 = extractvalue { i8*, i32 } %59, 1 | |
store i32 %61, i32* %ehselector.slot, align 4 | |
br label %ehcleanup95 | |
lpad70: ; preds = %invoke.cont69 | |
%62 = landingpad { i8*, i32 } | |
cleanup | |
%63 = extractvalue { i8*, i32 } %62, 0 | |
store i8* %63, i8** %exn.slot, align 8 | |
%64 = extractvalue { i8*, i32 } %62, 1 | |
store i32 %64, i32* %ehselector.slot, align 4 | |
br label %ehcleanup93 | |
lpad75: ; preds = %invoke.cont84, %invoke.cont71 | |
%65 = landingpad { i8*, i32 } | |
cleanup | |
%66 = extractvalue { i8*, i32 } %65, 0 | |
store i8* %66, i8** %exn.slot, align 8 | |
%67 = extractvalue { i8*, i32 } %65, 1 | |
store i32 %67, i32* %ehselector.slot, align 4 | |
br label %ehcleanup91 | |
lpad79: ; preds = %invoke.cont82, %invoke.cont76 | |
%68 = landingpad { i8*, i32 } | |
cleanup | |
%69 = extractvalue { i8*, i32 } %68, 0 | |
store i8* %69, i8** %exn.slot, align 8 | |
%70 = extractvalue { i8*, i32 } %68, 1 | |
store i32 %70, i32* %ehselector.slot, align 4 | |
br label %ehcleanup87 | |
lpad81: ; preds = %invoke.cont80 | |
%71 = landingpad { i8*, i32 } | |
cleanup | |
%72 = extractvalue { i8*, i32 } %71, 0 | |
store i8* %72, i8** %exn.slot, align 8 | |
%73 = extractvalue { i8*, i32 } %71, 1 | |
store i32 %73, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp77) | |
to label %invoke.cont86 unwind label %terminate.lpad | |
invoke.cont86: ; preds = %lpad81 | |
br label %ehcleanup87 | |
ehcleanup87: ; preds = %invoke.cont86, %lpad79 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp78) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp73) | |
to label %invoke.cont90 unwind label %terminate.lpad | |
invoke.cont90: ; preds = %ehcleanup87 | |
br label %ehcleanup91 | |
ehcleanup91: ; preds = %invoke.cont90, %lpad75 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp74) #2 | |
br label %ehcleanup93 | |
ehcleanup93: ; preds = %ehcleanup91, %lpad70 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp66) | |
to label %invoke.cont94 unwind label %terminate.lpad | |
invoke.cont94: ; preds = %ehcleanup93 | |
br label %ehcleanup95 | |
ehcleanup95: ; preds = %invoke.cont94, %lpad68 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp67) #2 | |
br label %eh.resume | |
lpad98: ; preds = %invoke.cont118, %invoke.cont92 | |
%74 = landingpad { i8*, i32 } | |
cleanup | |
%75 = extractvalue { i8*, i32 } %74, 0 | |
store i8* %75, i8** %exn.slot, align 8 | |
%76 = extractvalue { i8*, i32 } %74, 1 | |
store i32 %76, i32* %ehselector.slot, align 4 | |
br label %ehcleanup125 | |
lpad100: ; preds = %invoke.cont99 | |
%77 = landingpad { i8*, i32 } | |
cleanup | |
%78 = extractvalue { i8*, i32 } %77, 0 | |
store i8* %78, i8** %exn.slot, align 8 | |
%79 = extractvalue { i8*, i32 } %77, 1 | |
store i32 %79, i32* %ehselector.slot, align 4 | |
br label %ehcleanup123 | |
lpad105: ; preds = %invoke.cont114, %invoke.cont101 | |
%80 = landingpad { i8*, i32 } | |
cleanup | |
%81 = extractvalue { i8*, i32 } %80, 0 | |
store i8* %81, i8** %exn.slot, align 8 | |
%82 = extractvalue { i8*, i32 } %80, 1 | |
store i32 %82, i32* %ehselector.slot, align 4 | |
br label %ehcleanup121 | |
lpad109: ; preds = %invoke.cont112, %invoke.cont106 | |
%83 = landingpad { i8*, i32 } | |
cleanup | |
%84 = extractvalue { i8*, i32 } %83, 0 | |
store i8* %84, i8** %exn.slot, align 8 | |
%85 = extractvalue { i8*, i32 } %83, 1 | |
store i32 %85, i32* %ehselector.slot, align 4 | |
br label %ehcleanup117 | |
lpad111: ; preds = %invoke.cont110 | |
%86 = landingpad { i8*, i32 } | |
cleanup | |
%87 = extractvalue { i8*, i32 } %86, 0 | |
store i8* %87, i8** %exn.slot, align 8 | |
%88 = extractvalue { i8*, i32 } %86, 1 | |
store i32 %88, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp107) | |
to label %invoke.cont116 unwind label %terminate.lpad | |
invoke.cont116: ; preds = %lpad111 | |
br label %ehcleanup117 | |
ehcleanup117: ; preds = %invoke.cont116, %lpad109 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp108) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp103) | |
to label %invoke.cont120 unwind label %terminate.lpad | |
invoke.cont120: ; preds = %ehcleanup117 | |
br label %ehcleanup121 | |
ehcleanup121: ; preds = %invoke.cont120, %lpad105 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp104) #2 | |
br label %ehcleanup123 | |
ehcleanup123: ; preds = %ehcleanup121, %lpad100 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp96) | |
to label %invoke.cont124 unwind label %terminate.lpad | |
invoke.cont124: ; preds = %ehcleanup123 | |
br label %ehcleanup125 | |
ehcleanup125: ; preds = %invoke.cont124, %lpad98 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp97) #2 | |
br label %eh.resume | |
lpad128: ; preds = %invoke.cont148, %invoke.cont122 | |
%89 = landingpad { i8*, i32 } | |
cleanup | |
%90 = extractvalue { i8*, i32 } %89, 0 | |
store i8* %90, i8** %exn.slot, align 8 | |
%91 = extractvalue { i8*, i32 } %89, 1 | |
store i32 %91, i32* %ehselector.slot, align 4 | |
br label %ehcleanup155 | |
lpad130: ; preds = %invoke.cont129 | |
%92 = landingpad { i8*, i32 } | |
cleanup | |
%93 = extractvalue { i8*, i32 } %92, 0 | |
store i8* %93, i8** %exn.slot, align 8 | |
%94 = extractvalue { i8*, i32 } %92, 1 | |
store i32 %94, i32* %ehselector.slot, align 4 | |
br label %ehcleanup153 | |
lpad135: ; preds = %invoke.cont144, %invoke.cont131 | |
%95 = landingpad { i8*, i32 } | |
cleanup | |
%96 = extractvalue { i8*, i32 } %95, 0 | |
store i8* %96, i8** %exn.slot, align 8 | |
%97 = extractvalue { i8*, i32 } %95, 1 | |
store i32 %97, i32* %ehselector.slot, align 4 | |
br label %ehcleanup151 | |
lpad139: ; preds = %invoke.cont142, %invoke.cont136 | |
%98 = landingpad { i8*, i32 } | |
cleanup | |
%99 = extractvalue { i8*, i32 } %98, 0 | |
store i8* %99, i8** %exn.slot, align 8 | |
%100 = extractvalue { i8*, i32 } %98, 1 | |
store i32 %100, i32* %ehselector.slot, align 4 | |
br label %ehcleanup147 | |
lpad141: ; preds = %invoke.cont140 | |
%101 = landingpad { i8*, i32 } | |
cleanup | |
%102 = extractvalue { i8*, i32 } %101, 0 | |
store i8* %102, i8** %exn.slot, align 8 | |
%103 = extractvalue { i8*, i32 } %101, 1 | |
store i32 %103, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp137) | |
to label %invoke.cont146 unwind label %terminate.lpad | |
invoke.cont146: ; preds = %lpad141 | |
br label %ehcleanup147 | |
ehcleanup147: ; preds = %invoke.cont146, %lpad139 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp138) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp133) | |
to label %invoke.cont150 unwind label %terminate.lpad | |
invoke.cont150: ; preds = %ehcleanup147 | |
br label %ehcleanup151 | |
ehcleanup151: ; preds = %invoke.cont150, %lpad135 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp134) #2 | |
br label %ehcleanup153 | |
ehcleanup153: ; preds = %ehcleanup151, %lpad130 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp126) | |
to label %invoke.cont154 unwind label %terminate.lpad | |
invoke.cont154: ; preds = %ehcleanup153 | |
br label %ehcleanup155 | |
ehcleanup155: ; preds = %invoke.cont154, %lpad128 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp127) #2 | |
br label %eh.resume | |
lpad158: ; preds = %invoke.cont167, %invoke.cont152 | |
%104 = landingpad { i8*, i32 } | |
cleanup | |
%105 = extractvalue { i8*, i32 } %104, 0 | |
store i8* %105, i8** %exn.slot, align 8 | |
%106 = extractvalue { i8*, i32 } %104, 1 | |
store i32 %106, i32* %ehselector.slot, align 4 | |
br label %ehcleanup174 | |
lpad162: ; preds = %invoke.cont165, %invoke.cont159 | |
%107 = landingpad { i8*, i32 } | |
cleanup | |
%108 = extractvalue { i8*, i32 } %107, 0 | |
store i8* %108, i8** %exn.slot, align 8 | |
%109 = extractvalue { i8*, i32 } %107, 1 | |
store i32 %109, i32* %ehselector.slot, align 4 | |
br label %ehcleanup170 | |
lpad164: ; preds = %invoke.cont163 | |
%110 = landingpad { i8*, i32 } | |
cleanup | |
%111 = extractvalue { i8*, i32 } %110, 0 | |
store i8* %111, i8** %exn.slot, align 8 | |
%112 = extractvalue { i8*, i32 } %110, 1 | |
store i32 %112, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp160) | |
to label %invoke.cont169 unwind label %terminate.lpad | |
invoke.cont169: ; preds = %lpad164 | |
br label %ehcleanup170 | |
ehcleanup170: ; preds = %invoke.cont169, %lpad162 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp161) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp156) | |
to label %invoke.cont173 unwind label %terminate.lpad | |
invoke.cont173: ; preds = %ehcleanup170 | |
br label %ehcleanup174 | |
ehcleanup174: ; preds = %invoke.cont173, %lpad158 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp157) #2 | |
br label %eh.resume | |
lpad177: ; preds = %invoke.cont197, %invoke.cont171 | |
%113 = landingpad { i8*, i32 } | |
cleanup | |
%114 = extractvalue { i8*, i32 } %113, 0 | |
store i8* %114, i8** %exn.slot, align 8 | |
%115 = extractvalue { i8*, i32 } %113, 1 | |
store i32 %115, i32* %ehselector.slot, align 4 | |
br label %ehcleanup204 | |
lpad179: ; preds = %invoke.cont178 | |
%116 = landingpad { i8*, i32 } | |
cleanup | |
%117 = extractvalue { i8*, i32 } %116, 0 | |
store i8* %117, i8** %exn.slot, align 8 | |
%118 = extractvalue { i8*, i32 } %116, 1 | |
store i32 %118, i32* %ehselector.slot, align 4 | |
br label %ehcleanup202 | |
lpad184: ; preds = %invoke.cont193, %invoke.cont180 | |
%119 = landingpad { i8*, i32 } | |
cleanup | |
%120 = extractvalue { i8*, i32 } %119, 0 | |
store i8* %120, i8** %exn.slot, align 8 | |
%121 = extractvalue { i8*, i32 } %119, 1 | |
store i32 %121, i32* %ehselector.slot, align 4 | |
br label %ehcleanup200 | |
lpad188: ; preds = %invoke.cont191, %invoke.cont185 | |
%122 = landingpad { i8*, i32 } | |
cleanup | |
%123 = extractvalue { i8*, i32 } %122, 0 | |
store i8* %123, i8** %exn.slot, align 8 | |
%124 = extractvalue { i8*, i32 } %122, 1 | |
store i32 %124, i32* %ehselector.slot, align 4 | |
br label %ehcleanup196 | |
lpad190: ; preds = %invoke.cont189 | |
%125 = landingpad { i8*, i32 } | |
cleanup | |
%126 = extractvalue { i8*, i32 } %125, 0 | |
store i8* %126, i8** %exn.slot, align 8 | |
%127 = extractvalue { i8*, i32 } %125, 1 | |
store i32 %127, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp186) | |
to label %invoke.cont195 unwind label %terminate.lpad | |
invoke.cont195: ; preds = %lpad190 | |
br label %ehcleanup196 | |
ehcleanup196: ; preds = %invoke.cont195, %lpad188 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp187) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp182) | |
to label %invoke.cont199 unwind label %terminate.lpad | |
invoke.cont199: ; preds = %ehcleanup196 | |
br label %ehcleanup200 | |
ehcleanup200: ; preds = %invoke.cont199, %lpad184 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp183) #2 | |
br label %ehcleanup202 | |
ehcleanup202: ; preds = %ehcleanup200, %lpad179 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp175) | |
to label %invoke.cont203 unwind label %terminate.lpad | |
invoke.cont203: ; preds = %ehcleanup202 | |
br label %ehcleanup204 | |
ehcleanup204: ; preds = %invoke.cont203, %lpad177 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp176) #2 | |
br label %eh.resume | |
lpad207: ; preds = %invoke.cont227, %invoke.cont201 | |
%128 = landingpad { i8*, i32 } | |
cleanup | |
%129 = extractvalue { i8*, i32 } %128, 0 | |
store i8* %129, i8** %exn.slot, align 8 | |
%130 = extractvalue { i8*, i32 } %128, 1 | |
store i32 %130, i32* %ehselector.slot, align 4 | |
br label %ehcleanup234 | |
lpad209: ; preds = %invoke.cont208 | |
%131 = landingpad { i8*, i32 } | |
cleanup | |
%132 = extractvalue { i8*, i32 } %131, 0 | |
store i8* %132, i8** %exn.slot, align 8 | |
%133 = extractvalue { i8*, i32 } %131, 1 | |
store i32 %133, i32* %ehselector.slot, align 4 | |
br label %ehcleanup232 | |
lpad214: ; preds = %invoke.cont223, %invoke.cont210 | |
%134 = landingpad { i8*, i32 } | |
cleanup | |
%135 = extractvalue { i8*, i32 } %134, 0 | |
store i8* %135, i8** %exn.slot, align 8 | |
%136 = extractvalue { i8*, i32 } %134, 1 | |
store i32 %136, i32* %ehselector.slot, align 4 | |
br label %ehcleanup230 | |
lpad218: ; preds = %invoke.cont221, %invoke.cont215 | |
%137 = landingpad { i8*, i32 } | |
cleanup | |
%138 = extractvalue { i8*, i32 } %137, 0 | |
store i8* %138, i8** %exn.slot, align 8 | |
%139 = extractvalue { i8*, i32 } %137, 1 | |
store i32 %139, i32* %ehselector.slot, align 4 | |
br label %ehcleanup226 | |
lpad220: ; preds = %invoke.cont219 | |
%140 = landingpad { i8*, i32 } | |
cleanup | |
%141 = extractvalue { i8*, i32 } %140, 0 | |
store i8* %141, i8** %exn.slot, align 8 | |
%142 = extractvalue { i8*, i32 } %140, 1 | |
store i32 %142, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp216) | |
to label %invoke.cont225 unwind label %terminate.lpad | |
invoke.cont225: ; preds = %lpad220 | |
br label %ehcleanup226 | |
ehcleanup226: ; preds = %invoke.cont225, %lpad218 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp217) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp212) | |
to label %invoke.cont229 unwind label %terminate.lpad | |
invoke.cont229: ; preds = %ehcleanup226 | |
br label %ehcleanup230 | |
ehcleanup230: ; preds = %invoke.cont229, %lpad214 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp213) #2 | |
br label %ehcleanup232 | |
ehcleanup232: ; preds = %ehcleanup230, %lpad209 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp205) | |
to label %invoke.cont233 unwind label %terminate.lpad | |
invoke.cont233: ; preds = %ehcleanup232 | |
br label %ehcleanup234 | |
ehcleanup234: ; preds = %invoke.cont233, %lpad207 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp206) #2 | |
br label %eh.resume | |
lpad237: ; preds = %invoke.cont257, %invoke.cont231 | |
%143 = landingpad { i8*, i32 } | |
cleanup | |
%144 = extractvalue { i8*, i32 } %143, 0 | |
store i8* %144, i8** %exn.slot, align 8 | |
%145 = extractvalue { i8*, i32 } %143, 1 | |
store i32 %145, i32* %ehselector.slot, align 4 | |
br label %ehcleanup264 | |
lpad239: ; preds = %invoke.cont238 | |
%146 = landingpad { i8*, i32 } | |
cleanup | |
%147 = extractvalue { i8*, i32 } %146, 0 | |
store i8* %147, i8** %exn.slot, align 8 | |
%148 = extractvalue { i8*, i32 } %146, 1 | |
store i32 %148, i32* %ehselector.slot, align 4 | |
br label %ehcleanup262 | |
lpad244: ; preds = %invoke.cont253, %invoke.cont240 | |
%149 = landingpad { i8*, i32 } | |
cleanup | |
%150 = extractvalue { i8*, i32 } %149, 0 | |
store i8* %150, i8** %exn.slot, align 8 | |
%151 = extractvalue { i8*, i32 } %149, 1 | |
store i32 %151, i32* %ehselector.slot, align 4 | |
br label %ehcleanup260 | |
lpad248: ; preds = %invoke.cont251, %invoke.cont245 | |
%152 = landingpad { i8*, i32 } | |
cleanup | |
%153 = extractvalue { i8*, i32 } %152, 0 | |
store i8* %153, i8** %exn.slot, align 8 | |
%154 = extractvalue { i8*, i32 } %152, 1 | |
store i32 %154, i32* %ehselector.slot, align 4 | |
br label %ehcleanup256 | |
lpad250: ; preds = %invoke.cont249 | |
%155 = landingpad { i8*, i32 } | |
cleanup | |
%156 = extractvalue { i8*, i32 } %155, 0 | |
store i8* %156, i8** %exn.slot, align 8 | |
%157 = extractvalue { i8*, i32 } %155, 1 | |
store i32 %157, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp246) | |
to label %invoke.cont255 unwind label %terminate.lpad | |
invoke.cont255: ; preds = %lpad250 | |
br label %ehcleanup256 | |
ehcleanup256: ; preds = %invoke.cont255, %lpad248 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp247) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp242) | |
to label %invoke.cont259 unwind label %terminate.lpad | |
invoke.cont259: ; preds = %ehcleanup256 | |
br label %ehcleanup260 | |
ehcleanup260: ; preds = %invoke.cont259, %lpad244 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp243) #2 | |
br label %ehcleanup262 | |
ehcleanup262: ; preds = %ehcleanup260, %lpad239 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp235) | |
to label %invoke.cont263 unwind label %terminate.lpad | |
invoke.cont263: ; preds = %ehcleanup262 | |
br label %ehcleanup264 | |
ehcleanup264: ; preds = %invoke.cont263, %lpad237 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp236) #2 | |
br label %eh.resume | |
lpad266: ; preds = %invoke.cont261 | |
%158 = landingpad { i8*, i32 } | |
cleanup | |
%159 = extractvalue { i8*, i32 } %158, 0 | |
store i8* %159, i8** %exn.slot, align 8 | |
%160 = extractvalue { i8*, i32 } %158, 1 | |
store i32 %160, i32* %ehselector.slot, align 4 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp265) #2 | |
br label %eh.resume | |
lpad271: ; preds = %invoke.cont283, %invoke.cont267 | |
%161 = landingpad { i8*, i32 } | |
cleanup | |
%162 = extractvalue { i8*, i32 } %161, 0 | |
store i8* %162, i8** %exn.slot, align 8 | |
%163 = extractvalue { i8*, i32 } %161, 1 | |
store i32 %163, i32* %ehselector.slot, align 4 | |
br label %ehcleanup290 | |
lpad273: ; preds = %invoke.cont272 | |
%164 = landingpad { i8*, i32 } | |
cleanup | |
%165 = extractvalue { i8*, i32 } %164, 0 | |
store i8* %165, i8** %exn.slot, align 8 | |
%166 = extractvalue { i8*, i32 } %164, 1 | |
store i32 %166, i32* %ehselector.slot, align 4 | |
br label %ehcleanup288 | |
lpad278: ; preds = %invoke.cont281, %invoke.cont274 | |
%167 = landingpad { i8*, i32 } | |
cleanup | |
%168 = extractvalue { i8*, i32 } %167, 0 | |
store i8* %168, i8** %exn.slot, align 8 | |
%169 = extractvalue { i8*, i32 } %167, 1 | |
store i32 %169, i32* %ehselector.slot, align 4 | |
br label %ehcleanup286 | |
lpad280: ; preds = %invoke.cont279 | |
%170 = landingpad { i8*, i32 } | |
cleanup | |
%171 = extractvalue { i8*, i32 } %170, 0 | |
store i8* %171, i8** %exn.slot, align 8 | |
%172 = extractvalue { i8*, i32 } %170, 1 | |
store i32 %172, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp276) | |
to label %invoke.cont285 unwind label %terminate.lpad | |
invoke.cont285: ; preds = %lpad280 | |
br label %ehcleanup286 | |
ehcleanup286: ; preds = %invoke.cont285, %lpad278 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp277) #2 | |
br label %ehcleanup288 | |
ehcleanup288: ; preds = %ehcleanup286, %lpad273 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp269) | |
to label %invoke.cont289 unwind label %terminate.lpad | |
invoke.cont289: ; preds = %ehcleanup288 | |
br label %ehcleanup290 | |
ehcleanup290: ; preds = %invoke.cont289, %lpad271 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp270) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %using_mpi) | |
to label %invoke.cont292 unwind label %terminate.lpad | |
invoke.cont292: ; preds = %ehcleanup290 | |
br label %eh.resume | |
eh.resume: ; preds = %invoke.cont292, %lpad266, %ehcleanup264, %ehcleanup234, %ehcleanup204, %ehcleanup174, %ehcleanup155, %ehcleanup125, %ehcleanup95, %ehcleanup65, %ehcleanup35, %ehcleanup16 | |
%exn = load i8*, i8** %exn.slot, align 8 | |
%sel = load i32, i32* %ehselector.slot, align 4 | |
%lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 | |
%lpad.val293 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 | |
resume { i8*, i32 } %lpad.val293 | |
terminate.lpad: ; preds = %ehcleanup290, %ehcleanup288, %lpad280, %ehcleanup262, %ehcleanup256, %lpad250, %ehcleanup232, %ehcleanup226, %lpad220, %ehcleanup202, %ehcleanup196, %lpad190, %ehcleanup170, %lpad164, %ehcleanup153, %ehcleanup147, %lpad141, %ehcleanup123, %ehcleanup117, %lpad111, %ehcleanup93, %ehcleanup87, %lpad81, %ehcleanup63, %ehcleanup57, %lpad51, %ehcleanup31, %lpad25, %ehcleanup14, %lpad8 | |
%173 = landingpad { i8*, i32 } | |
catch i8* null | |
%174 = extractvalue { i8*, i32 } %173, 0 | |
call void @__clang_call_terminate(i8* %174) #13 | |
unreachable | |
} | |
; Function Attrs: noinline optnone uwtable | |
define void @_Z22add_timestring_to_yamlR8YAML_Doc(%class.YAML_Doc* dereferenceable(216) %doc) #3 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%doc.addr = alloca %class.YAML_Doc*, align 8 | |
%rawtime = alloca i64, align 8 | |
%timeinfo = alloca %struct.tm*, align 8 | |
%osstr = alloca %"class.std::__cxx11::basic_ostringstream", align 8 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
%timestring = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp57 = alloca %"class.std::allocator", align 1 | |
store %class.YAML_Doc* %doc, %class.YAML_Doc** %doc.addr, align 8 | |
%call = call i64 @time(i64* %rawtime) #2 | |
%call1 = call %struct.tm* @localtime(i64* %rawtime) #2 | |
store %struct.tm* %call1, %struct.tm** %timeinfo, align 8 | |
call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::__cxx11::basic_ostringstream"* %osstr, i32 16) | |
%0 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to i8** | |
%vtable = load i8*, i8** %0, align 8 | |
%vbase.offset.ptr = getelementptr i8, i8* %vtable, i64 -24 | |
%1 = bitcast i8* %vbase.offset.ptr to i64* | |
%vbase.offset = load i64, i64* %1, align 8 | |
%2 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to i8* | |
%add.ptr = getelementptr inbounds i8, i8* %2, i64 %vbase.offset | |
%3 = bitcast i8* %add.ptr to %"class.std::basic_ios"* | |
%call2 = invoke signext i8 @_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc(%"class.std::basic_ios"* %3, i8 signext 48) | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %entry | |
%4 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to %"class.std::basic_ostream"* | |
%5 = load %struct.tm*, %struct.tm** %timeinfo, align 8 | |
%tm_year = getelementptr inbounds %struct.tm, %struct.tm* %5, i32 0, i32 5 | |
%6 = load i32, i32* %tm_year, align 4 | |
%add = add nsw i32 %6, 1900 | |
%call4 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %4, i32 %add) | |
to label %invoke.cont3 unwind label %lpad | |
invoke.cont3: ; preds = %invoke.cont | |
%call6 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call4, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.35, i32 0, i32 0)) | |
to label %invoke.cont5 unwind label %lpad | |
invoke.cont5: ; preds = %invoke.cont3 | |
%7 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to i8** | |
%vtable7 = load i8*, i8** %7, align 8 | |
%vbase.offset.ptr8 = getelementptr i8, i8* %vtable7, i64 -24 | |
%8 = bitcast i8* %vbase.offset.ptr8 to i64* | |
%vbase.offset9 = load i64, i64* %8, align 8 | |
%9 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to i8* | |
%add.ptr10 = getelementptr inbounds i8, i8* %9, i64 %vbase.offset9 | |
%10 = bitcast i8* %add.ptr10 to %"class.std::ios_base"* | |
%call12 = invoke i64 @_ZNSt8ios_base5widthEl(%"class.std::ios_base"* %10, i64 2) | |
to label %invoke.cont11 unwind label %lpad | |
invoke.cont11: ; preds = %invoke.cont5 | |
%11 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to %"class.std::basic_ostream"* | |
%12 = load %struct.tm*, %struct.tm** %timeinfo, align 8 | |
%tm_mon = getelementptr inbounds %struct.tm, %struct.tm* %12, i32 0, i32 4 | |
%13 = load i32, i32* %tm_mon, align 8 | |
%add13 = add nsw i32 %13, 1 | |
%call15 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %11, i32 %add13) | |
to label %invoke.cont14 unwind label %lpad | |
invoke.cont14: ; preds = %invoke.cont11 | |
%call17 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call15, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.35, i32 0, i32 0)) | |
to label %invoke.cont16 unwind label %lpad | |
invoke.cont16: ; preds = %invoke.cont14 | |
%14 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to i8** | |
%vtable18 = load i8*, i8** %14, align 8 | |
%vbase.offset.ptr19 = getelementptr i8, i8* %vtable18, i64 -24 | |
%15 = bitcast i8* %vbase.offset.ptr19 to i64* | |
%vbase.offset20 = load i64, i64* %15, align 8 | |
%16 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to i8* | |
%add.ptr21 = getelementptr inbounds i8, i8* %16, i64 %vbase.offset20 | |
%17 = bitcast i8* %add.ptr21 to %"class.std::ios_base"* | |
%call23 = invoke i64 @_ZNSt8ios_base5widthEl(%"class.std::ios_base"* %17, i64 2) | |
to label %invoke.cont22 unwind label %lpad | |
invoke.cont22: ; preds = %invoke.cont16 | |
%18 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to %"class.std::basic_ostream"* | |
%19 = load %struct.tm*, %struct.tm** %timeinfo, align 8 | |
%tm_mday = getelementptr inbounds %struct.tm, %struct.tm* %19, i32 0, i32 3 | |
%20 = load i32, i32* %tm_mday, align 4 | |
%call25 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %18, i32 %20) | |
to label %invoke.cont24 unwind label %lpad | |
invoke.cont24: ; preds = %invoke.cont22 | |
%call27 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call25, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.36, i32 0, i32 0)) | |
to label %invoke.cont26 unwind label %lpad | |
invoke.cont26: ; preds = %invoke.cont24 | |
%21 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to i8** | |
%vtable28 = load i8*, i8** %21, align 8 | |
%vbase.offset.ptr29 = getelementptr i8, i8* %vtable28, i64 -24 | |
%22 = bitcast i8* %vbase.offset.ptr29 to i64* | |
%vbase.offset30 = load i64, i64* %22, align 8 | |
%23 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to i8* | |
%add.ptr31 = getelementptr inbounds i8, i8* %23, i64 %vbase.offset30 | |
%24 = bitcast i8* %add.ptr31 to %"class.std::ios_base"* | |
%call33 = invoke i64 @_ZNSt8ios_base5widthEl(%"class.std::ios_base"* %24, i64 2) | |
to label %invoke.cont32 unwind label %lpad | |
invoke.cont32: ; preds = %invoke.cont26 | |
%25 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to %"class.std::basic_ostream"* | |
%26 = load %struct.tm*, %struct.tm** %timeinfo, align 8 | |
%tm_hour = getelementptr inbounds %struct.tm, %struct.tm* %26, i32 0, i32 2 | |
%27 = load i32, i32* %tm_hour, align 8 | |
%call35 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %25, i32 %27) | |
to label %invoke.cont34 unwind label %lpad | |
invoke.cont34: ; preds = %invoke.cont32 | |
%call37 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call35, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.35, i32 0, i32 0)) | |
to label %invoke.cont36 unwind label %lpad | |
invoke.cont36: ; preds = %invoke.cont34 | |
%28 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to i8** | |
%vtable38 = load i8*, i8** %28, align 8 | |
%vbase.offset.ptr39 = getelementptr i8, i8* %vtable38, i64 -24 | |
%29 = bitcast i8* %vbase.offset.ptr39 to i64* | |
%vbase.offset40 = load i64, i64* %29, align 8 | |
%30 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to i8* | |
%add.ptr41 = getelementptr inbounds i8, i8* %30, i64 %vbase.offset40 | |
%31 = bitcast i8* %add.ptr41 to %"class.std::ios_base"* | |
%call43 = invoke i64 @_ZNSt8ios_base5widthEl(%"class.std::ios_base"* %31, i64 2) | |
to label %invoke.cont42 unwind label %lpad | |
invoke.cont42: ; preds = %invoke.cont36 | |
%32 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to %"class.std::basic_ostream"* | |
%33 = load %struct.tm*, %struct.tm** %timeinfo, align 8 | |
%tm_min = getelementptr inbounds %struct.tm, %struct.tm* %33, i32 0, i32 1 | |
%34 = load i32, i32* %tm_min, align 4 | |
%call45 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %32, i32 %34) | |
to label %invoke.cont44 unwind label %lpad | |
invoke.cont44: ; preds = %invoke.cont42 | |
%call47 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call45, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.35, i32 0, i32 0)) | |
to label %invoke.cont46 unwind label %lpad | |
invoke.cont46: ; preds = %invoke.cont44 | |
%35 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to i8** | |
%vtable48 = load i8*, i8** %35, align 8 | |
%vbase.offset.ptr49 = getelementptr i8, i8* %vtable48, i64 -24 | |
%36 = bitcast i8* %vbase.offset.ptr49 to i64* | |
%vbase.offset50 = load i64, i64* %36, align 8 | |
%37 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to i8* | |
%add.ptr51 = getelementptr inbounds i8, i8* %37, i64 %vbase.offset50 | |
%38 = bitcast i8* %add.ptr51 to %"class.std::ios_base"* | |
%call53 = invoke i64 @_ZNSt8ios_base5widthEl(%"class.std::ios_base"* %38, i64 2) | |
to label %invoke.cont52 unwind label %lpad | |
invoke.cont52: ; preds = %invoke.cont46 | |
%39 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to %"class.std::basic_ostream"* | |
%40 = load %struct.tm*, %struct.tm** %timeinfo, align 8 | |
%tm_sec = getelementptr inbounds %struct.tm, %struct.tm* %40, i32 0, i32 0 | |
%41 = load i32, i32* %tm_sec, align 8 | |
%call55 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %39, i32 %41) | |
to label %invoke.cont54 unwind label %lpad | |
invoke.cont54: ; preds = %invoke.cont52 | |
invoke void @_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv(%"class.std::__cxx11::basic_string"* sret %timestring, %"class.std::__cxx11::basic_ostringstream"* %osstr) | |
to label %invoke.cont56 unwind label %lpad | |
invoke.cont56: ; preds = %invoke.cont54 | |
%42 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%43 = bitcast %class.YAML_Doc* %42 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp57) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.37, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp57) | |
to label %invoke.cont59 unwind label %lpad58 | |
invoke.cont59: ; preds = %invoke.cont56 | |
%call62 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %43, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp, %"class.std::__cxx11::basic_string"* dereferenceable(32) %timestring) | |
to label %invoke.cont61 unwind label %lpad60 | |
invoke.cont61: ; preds = %invoke.cont59 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp) | |
to label %invoke.cont63 unwind label %lpad58 | |
invoke.cont63: ; preds = %invoke.cont61 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp57) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %timestring) | |
to label %invoke.cont65 unwind label %lpad | |
invoke.cont65: ; preds = %invoke.cont63 | |
call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_ostringstream"* %osstr) | |
ret void | |
lpad: ; preds = %invoke.cont63, %invoke.cont54, %invoke.cont52, %invoke.cont46, %invoke.cont44, %invoke.cont42, %invoke.cont36, %invoke.cont34, %invoke.cont32, %invoke.cont26, %invoke.cont24, %invoke.cont22, %invoke.cont16, %invoke.cont14, %invoke.cont11, %invoke.cont5, %invoke.cont3, %invoke.cont, %entry | |
%44 = landingpad { i8*, i32 } | |
cleanup | |
%45 = extractvalue { i8*, i32 } %44, 0 | |
store i8* %45, i8** %exn.slot, align 8 | |
%46 = extractvalue { i8*, i32 } %44, 1 | |
store i32 %46, i32* %ehselector.slot, align 4 | |
br label %ehcleanup68 | |
lpad58: ; preds = %invoke.cont61, %invoke.cont56 | |
%47 = landingpad { i8*, i32 } | |
cleanup | |
%48 = extractvalue { i8*, i32 } %47, 0 | |
store i8* %48, i8** %exn.slot, align 8 | |
%49 = extractvalue { i8*, i32 } %47, 1 | |
store i32 %49, i32* %ehselector.slot, align 4 | |
br label %ehcleanup | |
lpad60: ; preds = %invoke.cont59 | |
%50 = landingpad { i8*, i32 } | |
cleanup | |
%51 = extractvalue { i8*, i32 } %50, 0 | |
store i8* %51, i8** %exn.slot, align 8 | |
%52 = extractvalue { i8*, i32 } %50, 1 | |
store i32 %52, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp) | |
to label %invoke.cont64 unwind label %terminate.lpad | |
invoke.cont64: ; preds = %lpad60 | |
br label %ehcleanup | |
ehcleanup: ; preds = %invoke.cont64, %lpad58 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp57) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %timestring) | |
to label %invoke.cont67 unwind label %terminate.lpad | |
invoke.cont67: ; preds = %ehcleanup | |
br label %ehcleanup68 | |
ehcleanup68: ; preds = %invoke.cont67, %lpad | |
invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_ostringstream"* %osstr) | |
to label %invoke.cont69 unwind label %terminate.lpad | |
invoke.cont69: ; preds = %ehcleanup68 | |
br label %eh.resume | |
eh.resume: ; preds = %invoke.cont69 | |
%exn = load i8*, i8** %exn.slot, align 8 | |
%sel = load i32, i32* %ehselector.slot, align 4 | |
%lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 | |
%lpad.val70 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 | |
resume { i8*, i32 } %lpad.val70 | |
terminate.lpad: ; preds = %ehcleanup68, %ehcleanup, %lpad60 | |
%53 = landingpad { i8*, i32 } | |
catch i8* null | |
%54 = extractvalue { i8*, i32 } %53, 0 | |
call void @__clang_call_terminate(i8* %54) #13 | |
unreachable | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZN6miniFE6driverIdiiEEvRK3BoxRS1_RNS_10ParametersER8YAML_Doc(%struct.Box* dereferenceable(24) %global_box, %struct.Box* dereferenceable(24) %my_box, %"struct.miniFE::Parameters"* dereferenceable(96) %params, %class.YAML_Doc* dereferenceable(216) %ydoc) #3 comdat personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%global_box.addr = alloca %struct.Box*, align 8 | |
%my_box.addr = alloca %struct.Box*, align 8 | |
%params.addr = alloca %"struct.miniFE::Parameters"*, align 8 | |
%ydoc.addr = alloca %class.YAML_Doc*, align 8 | |
%global_nx = alloca i32, align 4 | |
%global_ny = alloca i32, align 4 | |
%global_nz = alloca i32, align 4 | |
%numprocs = alloca i32, align 4 | |
%myproc = alloca i32, align 4 | |
%largest_imbalance = alloca float, align 4 | |
%std_dev = alloca float, align 4 | |
%t_start = alloca double, align 8 | |
%t0 = alloca double, align 8 | |
%mesh = alloca %"class.miniFE::simple_mesh_description", align 8 | |
%mesh_fill = alloca double, align 8 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
%t_total = alloca double, align 8 | |
%A = alloca %"struct.miniFE::CSRMatrix", align 8 | |
%gen_structure = alloca double, align 8 | |
%rtf_t0 = alloca double, align 8 | |
%local_nrows = alloca i32, align 4 | |
%my_first_row = alloca i32, align 4 | |
%b = alloca %"struct.miniFE::Vector", align 8 | |
%x = alloca %"struct.miniFE::Vector", align 8 | |
%fe_assembly = alloca double, align 8 | |
%rtf_t085 = alloca double, align 8 | |
%ref.tmp = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp106 = alloca %"class.std::allocator", align 1 | |
%ref.tmp109 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp110 = alloca %"class.std::allocator", align 1 | |
%ref.tmp122 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp123 = alloca %"class.std::allocator", align 1 | |
%ref.tmp129 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp130 = alloca %"class.std::allocator", align 1 | |
%ref.tmp144 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp145 = alloca %"class.std::allocator", align 1 | |
%ref.tmp148 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp149 = alloca %"class.std::allocator", align 1 | |
%ref.tmp163 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp164 = alloca %"class.std::allocator", align 1 | |
%ref.tmp170 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp171 = alloca %"class.std::allocator", align 1 | |
%dirbc_time = alloca double, align 8 | |
%rtf_t0199 = alloca double, align 8 | |
%rtf_t0234 = alloca double, align 8 | |
%make_local_time = alloca double, align 8 | |
%rtf_t0269 = alloca double, align 8 | |
%global_nnz = alloca i64, align 8 | |
%max_iters = alloca i32, align 4 | |
%num_iters = alloca i32, align 4 | |
%rnorm = alloca double, align 8 | |
%tol = alloca double, align 8 | |
%cg_times = alloca [5 x double], align 16 | |
%matvec_with_comm_overlap = alloca i8, align 1 | |
%agg.tmp = alloca %"struct.miniFE::matvec_overlap", align 1 | |
%agg.tmp305 = alloca %"struct.miniFE::matvec_std", align 1 | |
%tolerance = alloca double, align 8 | |
%verify_whole_domain = alloca i8, align 1 | |
%title = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp339 = alloca %"class.std::allocator", align 1 | |
%ref.tmp345 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp346 = alloca %"class.std::allocator", align 1 | |
%ref.tmp352 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp353 = alloca %"class.std::allocator", align 1 | |
%ref.tmp356 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp360 = alloca %"class.std::allocator", align 1 | |
%ref.tmp378 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp379 = alloca %"class.std::allocator", align 1 | |
%ref.tmp385 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp386 = alloca %"class.std::allocator", align 1 | |
%ref.tmp389 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp393 = alloca %"class.std::allocator", align 1 | |
%ref.tmp411 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp412 = alloca %"class.std::allocator", align 1 | |
%ref.tmp418 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp419 = alloca %"class.std::allocator", align 1 | |
%ref.tmp422 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp426 = alloca %"class.std::allocator", align 1 | |
%ref.tmp444 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp445 = alloca %"class.std::allocator", align 1 | |
%ref.tmp458 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp459 = alloca %"class.std::allocator", align 1 | |
%ref.tmp471 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp472 = alloca %"class.std::allocator", align 1 | |
%global_nrows = alloca i32, align 4 | |
%mv_flops = alloca double, align 8 | |
%dot_flops = alloca double, align 8 | |
%waxpy_flops = alloca double, align 8 | |
%total_flops = alloca double, align 8 | |
%mv_mflops = alloca double, align 8 | |
%dot_mflops = alloca double, align 8 | |
%waxpy_mflops = alloca double, align 8 | |
%total_mflops = alloca double, align 8 | |
%ref.tmp530 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp531 = alloca %"class.std::allocator", align 1 | |
%ref.tmp544 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp545 = alloca %"class.std::allocator", align 1 | |
%ref.tmp559 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp560 = alloca %"class.std::allocator", align 1 | |
%ref.tmp573 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp574 = alloca %"class.std::allocator", align 1 | |
%ref.tmp577 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp578 = alloca %"class.std::allocator", align 1 | |
%ref.tmp595 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp596 = alloca %"class.std::allocator", align 1 | |
%ref.tmp609 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp610 = alloca %"class.std::allocator", align 1 | |
%ref.tmp624 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp625 = alloca %"class.std::allocator", align 1 | |
%ref.tmp638 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp639 = alloca %"class.std::allocator", align 1 | |
%ref.tmp642 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp643 = alloca %"class.std::allocator", align 1 | |
%ref.tmp660 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp661 = alloca %"class.std::allocator", align 1 | |
%ref.tmp674 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp675 = alloca %"class.std::allocator", align 1 | |
%ref.tmp689 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp690 = alloca %"class.std::allocator", align 1 | |
%ref.tmp703 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp704 = alloca %"class.std::allocator", align 1 | |
%ref.tmp707 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp708 = alloca %"class.std::allocator", align 1 | |
%ref.tmp725 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp726 = alloca %"class.std::allocator", align 1 | |
%ref.tmp729 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp730 = alloca %"class.std::allocator", align 1 | |
%ref.tmp746 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp747 = alloca %"class.std::allocator", align 1 | |
%ref.tmp753 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp754 = alloca %"class.std::allocator", align 1 | |
%ref.tmp771 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp772 = alloca %"class.std::allocator", align 1 | |
%ref.tmp778 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp779 = alloca %"class.std::allocator", align 1 | |
%ref.tmp797 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp798 = alloca %"class.std::allocator", align 1 | |
%ref.tmp804 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp805 = alloca %"class.std::allocator", align 1 | |
%ref.tmp822 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp823 = alloca %"class.std::allocator", align 1 | |
%ref.tmp829 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp830 = alloca %"class.std::allocator", align 1 | |
%ref.tmp833 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp834 = alloca %"class.std::allocator", align 1 | |
%ref.tmp855 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp856 = alloca %"class.std::allocator", align 1 | |
store %struct.Box* %global_box, %struct.Box** %global_box.addr, align 8 | |
store %struct.Box* %my_box, %struct.Box** %my_box.addr, align 8 | |
store %"struct.miniFE::Parameters"* %params, %"struct.miniFE::Parameters"** %params.addr, align 8 | |
store %class.YAML_Doc* %ydoc, %class.YAML_Doc** %ydoc.addr, align 8 | |
%0 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%call = call i32* @_ZNK3BoxixEi(%struct.Box* %0, i32 0) | |
%arrayidx = getelementptr inbounds i32, i32* %call, i64 1 | |
%1 = load i32, i32* %arrayidx, align 4 | |
store i32 %1, i32* %global_nx, align 4 | |
%2 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%call1 = call i32* @_ZNK3BoxixEi(%struct.Box* %2, i32 1) | |
%arrayidx2 = getelementptr inbounds i32, i32* %call1, i64 1 | |
%3 = load i32, i32* %arrayidx2, align 4 | |
store i32 %3, i32* %global_ny, align 4 | |
%4 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%call3 = call i32* @_ZNK3BoxixEi(%struct.Box* %4, i32 2) | |
%arrayidx4 = getelementptr inbounds i32, i32* %call3, i64 1 | |
%5 = load i32, i32* %arrayidx4, align 4 | |
store i32 %5, i32* %global_nz, align 4 | |
store i32 1, i32* %numprocs, align 4 | |
store i32 0, i32* %myproc, align 4 | |
%6 = load %"struct.miniFE::Parameters"*, %"struct.miniFE::Parameters"** %params.addr, align 8 | |
%load_imbalance = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %6, i32 0, i32 6 | |
%7 = load float, float* %load_imbalance, align 8 | |
%cmp = fcmp ogt float %7, 0.000000e+00 | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
%8 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%9 = load %struct.Box*, %struct.Box** %my_box.addr, align 8 | |
%10 = load %"struct.miniFE::Parameters"*, %"struct.miniFE::Parameters"** %params.addr, align 8 | |
%load_imbalance5 = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %10, i32 0, i32 6 | |
%11 = load float, float* %load_imbalance5, align 8 | |
%12 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
call void @_ZN6miniFE13add_imbalanceIiEEvRK3BoxRS1_fR8YAML_Doc(%struct.Box* dereferenceable(24) %8, %struct.Box* dereferenceable(24) %9, float %11, %class.YAML_Doc* dereferenceable(216) %12) | |
br label %if.end | |
if.end: ; preds = %if.then, %entry | |
store float 0.000000e+00, float* %largest_imbalance, align 4 | |
store float 0.000000e+00, float* %std_dev, align 4 | |
%13 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%14 = load %struct.Box*, %struct.Box** %my_box.addr, align 8 | |
%15 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
call void @_ZN6miniFE17compute_imbalanceIiEEvRK3BoxS3_RfS4_R8YAML_Docb(%struct.Box* dereferenceable(24) %13, %struct.Box* dereferenceable(24) %14, float* dereferenceable(4) %largest_imbalance, float* dereferenceable(4) %std_dev, %class.YAML_Doc* dereferenceable(216) %15, i1 zeroext true) | |
%16 = load i32, i32* %myproc, align 4 | |
%cmp6 = icmp eq i32 %16, 0 | |
br i1 %cmp6, label %if.then7, label %if.end11 | |
if.then7: ; preds = %if.end | |
%vtable = load i8*, i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8**), align 8 | |
%vbase.offset.ptr = getelementptr i8, i8* %vtable, i64 -24 | |
%17 = bitcast i8* %vbase.offset.ptr to i64* | |
%vbase.offset = load i64, i64* %17, align 8 | |
%add.ptr = getelementptr inbounds i8, i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8*), i64 %vbase.offset | |
%18 = bitcast i8* %add.ptr to %"class.std::ios_base"* | |
%call8 = call i64 @_ZNSt8ios_base5widthEl(%"class.std::ios_base"* %18, i64 30) | |
%call9 = call dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cout, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.38, i32 0, i32 0)) | |
%call10 = call dereferenceable(272) %"class.std::basic_ostream"* @_ZNSo5flushEv(%"class.std::basic_ostream"* @_ZSt4cout) | |
br label %if.end11 | |
if.end11: ; preds = %if.then7, %if.end | |
%call12 = call double @_ZN6miniFE7mytimerEv() | |
store double %call12, double* %t_start, align 8 | |
%call13 = call double @_ZN6miniFE7mytimerEv() | |
store double %call13, double* %t0, align 8 | |
%19 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%20 = load %struct.Box*, %struct.Box** %my_box.addr, align 8 | |
call void @_ZN6miniFE23simple_mesh_descriptionIiEC2ERK3BoxS4_(%"class.miniFE::simple_mesh_description"* %mesh, %struct.Box* dereferenceable(24) %19, %struct.Box* dereferenceable(24) %20) | |
%call14 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %if.end11 | |
%21 = load double, double* %t0, align 8 | |
%sub = fsub double %call14, %21 | |
store double %sub, double* %mesh_fill, align 8 | |
%call16 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont15 unwind label %lpad | |
invoke.cont15: ; preds = %invoke.cont | |
%22 = load double, double* %t_start, align 8 | |
%sub17 = fsub double %call16, %22 | |
store double %sub17, double* %t_total, align 8 | |
%23 = load i32, i32* %myproc, align 4 | |
%cmp18 = icmp eq i32 %23, 0 | |
br i1 %cmp18, label %if.then19, label %if.end28 | |
if.then19: ; preds = %invoke.cont15 | |
%24 = load double, double* %mesh_fill, align 8 | |
%call21 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEd(%"class.std::basic_ostream"* @_ZSt4cout, double %24) | |
to label %invoke.cont20 unwind label %lpad | |
invoke.cont20: ; preds = %if.then19 | |
%call23 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call21, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.39, i32 0, i32 0)) | |
to label %invoke.cont22 unwind label %lpad | |
invoke.cont22: ; preds = %invoke.cont20 | |
%25 = load double, double* %t_total, align 8 | |
%call25 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEd(%"class.std::basic_ostream"* %call23, double %25) | |
to label %invoke.cont24 unwind label %lpad | |
invoke.cont24: ; preds = %invoke.cont22 | |
%call27 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call25, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
to label %invoke.cont26 unwind label %lpad | |
invoke.cont26: ; preds = %invoke.cont24 | |
br label %if.end28 | |
lpad: ; preds = %invoke.cont876, %if.end28, %invoke.cont24, %invoke.cont22, %invoke.cont20, %if.then19, %invoke.cont, %if.end11 | |
%26 = landingpad { i8*, i32 } | |
cleanup | |
%27 = extractvalue { i8*, i32 } %26, 0 | |
store i8* %27, i8** %exn.slot, align 8 | |
%28 = extractvalue { i8*, i32 } %26, 1 | |
store i32 %28, i32* %ehselector.slot, align 4 | |
br label %ehcleanup882 | |
if.end28: ; preds = %invoke.cont26, %invoke.cont15 | |
invoke void @_ZN6miniFE9CSRMatrixIdiiEC2Ev(%"struct.miniFE::CSRMatrix"* %A) | |
to label %invoke.cont29 unwind label %lpad | |
invoke.cont29: ; preds = %if.end28 | |
%29 = load i32, i32* %myproc, align 4 | |
%cmp30 = icmp eq i32 %29, 0 | |
br i1 %cmp30, label %if.then31, label %if.end43 | |
if.then31: ; preds = %invoke.cont29 | |
%vtable32 = load i8*, i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8**), align 8 | |
%vbase.offset.ptr33 = getelementptr i8, i8* %vtable32, i64 -24 | |
%30 = bitcast i8* %vbase.offset.ptr33 to i64* | |
%vbase.offset34 = load i64, i64* %30, align 8 | |
%add.ptr35 = getelementptr inbounds i8, i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8*), i64 %vbase.offset34 | |
%31 = bitcast i8* %add.ptr35 to %"class.std::ios_base"* | |
%call38 = invoke i64 @_ZNSt8ios_base5widthEl(%"class.std::ios_base"* %31, i64 30) | |
to label %invoke.cont37 unwind label %lpad36 | |
invoke.cont37: ; preds = %if.then31 | |
%call40 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cout, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.40, i32 0, i32 0)) | |
to label %invoke.cont39 unwind label %lpad36 | |
invoke.cont39: ; preds = %invoke.cont37 | |
%call42 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSo5flushEv(%"class.std::basic_ostream"* @_ZSt4cout) | |
to label %invoke.cont41 unwind label %lpad36 | |
invoke.cont41: ; preds = %invoke.cont39 | |
br label %if.end43 | |
lpad36: ; preds = %invoke.cont873, %cond.end, %cond.true, %if.end61, %invoke.cont57, %invoke.cont55, %invoke.cont53, %if.then52, %invoke.cont46, %invoke.cont44, %if.end43, %invoke.cont39, %invoke.cont37, %if.then31 | |
%32 = landingpad { i8*, i32 } | |
cleanup | |
%33 = extractvalue { i8*, i32 } %32, 0 | |
store i8* %33, i8** %exn.slot, align 8 | |
%34 = extractvalue { i8*, i32 } %32, 1 | |
store i32 %34, i32* %ehselector.slot, align 4 | |
br label %ehcleanup880 | |
if.end43: ; preds = %invoke.cont41, %invoke.cont29 | |
%call45 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont44 unwind label %lpad36 | |
invoke.cont44: ; preds = %if.end43 | |
store double %call45, double* %rtf_t0, align 8 | |
%call47 = invoke i32 @_ZN6miniFE25generate_matrix_structureINS_9CSRMatrixIdiiEEEEiRKNS_23simple_mesh_descriptionINT_17GlobalOrdinalTypeEEERS4_(%"class.miniFE::simple_mesh_description"* dereferenceable(192) %mesh, %"struct.miniFE::CSRMatrix"* dereferenceable(136) %A) | |
to label %invoke.cont46 unwind label %lpad36 | |
invoke.cont46: ; preds = %invoke.cont44 | |
%call49 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont48 unwind label %lpad36 | |
invoke.cont48: ; preds = %invoke.cont46 | |
%35 = load double, double* %rtf_t0, align 8 | |
%sub50 = fsub double %call49, %35 | |
store double %sub50, double* %gen_structure, align 8 | |
%36 = load double, double* %gen_structure, align 8 | |
%37 = load double, double* %t_total, align 8 | |
%add = fadd double %37, %36 | |
store double %add, double* %t_total, align 8 | |
%38 = load i32, i32* %myproc, align 4 | |
%cmp51 = icmp eq i32 %38, 0 | |
br i1 %cmp51, label %if.then52, label %if.end61 | |
if.then52: ; preds = %invoke.cont48 | |
%39 = load double, double* %gen_structure, align 8 | |
%call54 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEd(%"class.std::basic_ostream"* @_ZSt4cout, double %39) | |
to label %invoke.cont53 unwind label %lpad36 | |
invoke.cont53: ; preds = %if.then52 | |
%call56 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call54, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.39, i32 0, i32 0)) | |
to label %invoke.cont55 unwind label %lpad36 | |
invoke.cont55: ; preds = %invoke.cont53 | |
%40 = load double, double* %t_total, align 8 | |
%call58 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEd(%"class.std::basic_ostream"* %call56, double %40) | |
to label %invoke.cont57 unwind label %lpad36 | |
invoke.cont57: ; preds = %invoke.cont55 | |
%call60 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call58, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
to label %invoke.cont59 unwind label %lpad36 | |
invoke.cont59: ; preds = %invoke.cont57 | |
br label %if.end61 | |
if.end61: ; preds = %invoke.cont59, %invoke.cont48 | |
%rows = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %A, i32 0, i32 2 | |
%call63 = invoke i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(%"class.std::vector.15"* %rows) | |
to label %invoke.cont62 unwind label %lpad36 | |
invoke.cont62: ; preds = %if.end61 | |
%conv = trunc i64 %call63 to i32 | |
store i32 %conv, i32* %local_nrows, align 4 | |
%41 = load i32, i32* %local_nrows, align 4 | |
%cmp64 = icmp sgt i32 %41, 0 | |
br i1 %cmp64, label %cond.true, label %cond.false | |
cond.true: ; preds = %invoke.cont62 | |
%rows65 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %A, i32 0, i32 2 | |
%call67 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %rows65, i64 0) | |
to label %invoke.cont66 unwind label %lpad36 | |
invoke.cont66: ; preds = %cond.true | |
%42 = load i32, i32* %call67, align 4 | |
br label %cond.end | |
cond.false: ; preds = %invoke.cont62 | |
br label %cond.end | |
cond.end: ; preds = %cond.false, %invoke.cont66 | |
%cond = phi i32 [ %42, %invoke.cont66 ], [ -1, %cond.false ] | |
store i32 %cond, i32* %my_first_row, align 4 | |
%43 = load i32, i32* %my_first_row, align 4 | |
%44 = load i32, i32* %local_nrows, align 4 | |
invoke void @_ZN6miniFE6VectorIdiiEC2Eii(%"struct.miniFE::Vector"* %b, i32 %43, i32 %44) | |
to label %invoke.cont68 unwind label %lpad36 | |
invoke.cont68: ; preds = %cond.end | |
%45 = load i32, i32* %my_first_row, align 4 | |
%46 = load i32, i32* %local_nrows, align 4 | |
invoke void @_ZN6miniFE6VectorIdiiEC2Eii(%"struct.miniFE::Vector"* %x, i32 %45, i32 %46) | |
to label %invoke.cont70 unwind label %lpad69 | |
invoke.cont70: ; preds = %invoke.cont68 | |
%47 = load i32, i32* %myproc, align 4 | |
%cmp71 = icmp eq i32 %47, 0 | |
br i1 %cmp71, label %if.then72, label %if.end84 | |
if.then72: ; preds = %invoke.cont70 | |
%vtable73 = load i8*, i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8**), align 8 | |
%vbase.offset.ptr74 = getelementptr i8, i8* %vtable73, i64 -24 | |
%48 = bitcast i8* %vbase.offset.ptr74 to i64* | |
%vbase.offset75 = load i64, i64* %48, align 8 | |
%add.ptr76 = getelementptr inbounds i8, i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8*), i64 %vbase.offset75 | |
%49 = bitcast i8* %add.ptr76 to %"class.std::ios_base"* | |
%call79 = invoke i64 @_ZNSt8ios_base5widthEl(%"class.std::ios_base"* %49, i64 30) | |
to label %invoke.cont78 unwind label %lpad77 | |
invoke.cont78: ; preds = %if.then72 | |
%call81 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cout, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.41, i32 0, i32 0)) | |
to label %invoke.cont80 unwind label %lpad77 | |
invoke.cont80: ; preds = %invoke.cont78 | |
%call83 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSo5flushEv(%"class.std::basic_ostream"* @_ZSt4cout) | |
to label %invoke.cont82 unwind label %lpad77 | |
invoke.cont82: ; preds = %invoke.cont80 | |
br label %if.end84 | |
lpad69: ; preds = %invoke.cont870, %invoke.cont68 | |
%50 = landingpad { i8*, i32 } | |
cleanup | |
%51 = extractvalue { i8*, i32 } %50, 0 | |
store i8* %51, i8** %exn.slot, align 8 | |
%52 = extractvalue { i8*, i32 } %50, 1 | |
store i32 %52, i32* %ehselector.slot, align 4 | |
br label %ehcleanup877 | |
lpad77: ; preds = %if.end869, %if.end333, %invoke.cont328, %if.else327, %invoke.cont323, %if.then322, %invoke.cont312, %invoke.cont310, %if.then309, %if.else, %invoke.cont303, %if.then302, %invoke.cont297, %if.then296, %invoke.cont288, %if.end287, %invoke.cont283, %invoke.cont281, %invoke.cont279, %if.then278, %invoke.cont272, %invoke.cont270, %if.end268, %invoke.cont264, %invoke.cont262, %if.then257, %invoke.cont251, %invoke.cont249, %invoke.cont247, %if.then246, %invoke.cont240, %invoke.cont235, %if.end233, %invoke.cont229, %invoke.cont227, %if.then222, %invoke.cont216, %invoke.cont214, %invoke.cont212, %if.then211, %invoke.cont205, %invoke.cont200, %if.end198, %invoke.cont194, %invoke.cont192, %if.then187, %invoke.cont99, %invoke.cont97, %invoke.cont95, %if.then94, %invoke.cont88, %invoke.cont86, %if.end84, %invoke.cont80, %invoke.cont78, %if.then72 | |
%53 = landingpad { i8*, i32 } | |
cleanup | |
%54 = extractvalue { i8*, i32 } %53, 0 | |
store i8* %54, i8** %exn.slot, align 8 | |
%55 = extractvalue { i8*, i32 } %53, 1 | |
store i32 %55, i32* %ehselector.slot, align 4 | |
br label %ehcleanup874 | |
if.end84: ; preds = %invoke.cont82, %invoke.cont70 | |
%call87 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont86 unwind label %lpad77 | |
invoke.cont86: ; preds = %if.end84 | |
store double %call87, double* %rtf_t085, align 8 | |
%56 = load %"struct.miniFE::Parameters"*, %"struct.miniFE::Parameters"** %params.addr, align 8 | |
invoke void @_ZN6miniFE16assemble_FE_dataINS_9CSRMatrixIdiiEENS_6VectorIdiiEEEEvRKNS_23simple_mesh_descriptionINT_17GlobalOrdinalTypeEEERS6_RT0_RNS_10ParametersE(%"class.miniFE::simple_mesh_description"* dereferenceable(192) %mesh, %"struct.miniFE::CSRMatrix"* dereferenceable(136) %A, %"struct.miniFE::Vector"* dereferenceable(32) %b, %"struct.miniFE::Parameters"* dereferenceable(96) %56) | |
to label %invoke.cont88 unwind label %lpad77 | |
invoke.cont88: ; preds = %invoke.cont86 | |
%call90 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont89 unwind label %lpad77 | |
invoke.cont89: ; preds = %invoke.cont88 | |
%57 = load double, double* %rtf_t085, align 8 | |
%sub91 = fsub double %call90, %57 | |
store double %sub91, double* %fe_assembly, align 8 | |
%58 = load double, double* %fe_assembly, align 8 | |
%59 = load double, double* %t_total, align 8 | |
%add92 = fadd double %59, %58 | |
store double %add92, double* %t_total, align 8 | |
%60 = load i32, i32* %myproc, align 4 | |
%cmp93 = icmp eq i32 %60, 0 | |
br i1 %cmp93, label %if.then94, label %if.end103 | |
if.then94: ; preds = %invoke.cont89 | |
%61 = load double, double* %fe_assembly, align 8 | |
%call96 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEd(%"class.std::basic_ostream"* @_ZSt4cout, double %61) | |
to label %invoke.cont95 unwind label %lpad77 | |
invoke.cont95: ; preds = %if.then94 | |
%call98 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call96, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.39, i32 0, i32 0)) | |
to label %invoke.cont97 unwind label %lpad77 | |
invoke.cont97: ; preds = %invoke.cont95 | |
%62 = load double, double* %t_total, align 8 | |
%call100 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEd(%"class.std::basic_ostream"* %call98, double %62) | |
to label %invoke.cont99 unwind label %lpad77 | |
invoke.cont99: ; preds = %invoke.cont97 | |
%call102 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call100, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
to label %invoke.cont101 unwind label %lpad77 | |
invoke.cont101: ; preds = %invoke.cont99 | |
br label %if.end103 | |
if.end103: ; preds = %invoke.cont101, %invoke.cont89 | |
%63 = load i32, i32* %myproc, align 4 | |
%cmp104 = icmp eq i32 %63, 0 | |
br i1 %cmp104, label %if.then105, label %if.end185 | |
if.then105: ; preds = %if.end103 | |
%64 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%65 = bitcast %class.YAML_Doc* %64 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp106) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.42, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp106) | |
to label %invoke.cont108 unwind label %lpad107 | |
invoke.cont108: ; preds = %if.then105 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp110) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp109, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp110) | |
to label %invoke.cont112 unwind label %lpad111 | |
invoke.cont112: ; preds = %invoke.cont108 | |
%call115 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %65, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp109) | |
to label %invoke.cont114 unwind label %lpad113 | |
invoke.cont114: ; preds = %invoke.cont112 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp109) | |
to label %invoke.cont116 unwind label %lpad111 | |
invoke.cont116: ; preds = %invoke.cont114 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp110) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp) | |
to label %invoke.cont118 unwind label %lpad107 | |
invoke.cont118: ; preds = %invoke.cont116 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp106) #2 | |
%66 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%67 = bitcast %class.YAML_Doc* %66 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp123) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp122, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.42, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp123) | |
to label %invoke.cont125 unwind label %lpad124 | |
invoke.cont125: ; preds = %invoke.cont118 | |
%call128 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %67, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp122) | |
to label %invoke.cont127 unwind label %lpad126 | |
invoke.cont127: ; preds = %invoke.cont125 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp130) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp129, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.43, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp130) | |
to label %invoke.cont132 unwind label %lpad131 | |
invoke.cont132: ; preds = %invoke.cont127 | |
%68 = load double, double* %gen_structure, align 8 | |
%call135 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call128, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp129, double %68) | |
to label %invoke.cont134 unwind label %lpad133 | |
invoke.cont134: ; preds = %invoke.cont132 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp129) | |
to label %invoke.cont136 unwind label %lpad131 | |
invoke.cont136: ; preds = %invoke.cont134 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp130) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp122) | |
to label %invoke.cont140 unwind label %lpad124 | |
invoke.cont140: ; preds = %invoke.cont136 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp123) #2 | |
%69 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%70 = bitcast %class.YAML_Doc* %69 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp145) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp144, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.44, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp145) | |
to label %invoke.cont147 unwind label %lpad146 | |
invoke.cont147: ; preds = %invoke.cont140 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp149) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp148, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp149) | |
to label %invoke.cont151 unwind label %lpad150 | |
invoke.cont151: ; preds = %invoke.cont147 | |
%call154 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %70, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp144, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp148) | |
to label %invoke.cont153 unwind label %lpad152 | |
invoke.cont153: ; preds = %invoke.cont151 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp148) | |
to label %invoke.cont155 unwind label %lpad150 | |
invoke.cont155: ; preds = %invoke.cont153 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp149) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp144) | |
to label %invoke.cont159 unwind label %lpad146 | |
invoke.cont159: ; preds = %invoke.cont155 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp145) #2 | |
%71 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%72 = bitcast %class.YAML_Doc* %71 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp164) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp163, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.44, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp164) | |
to label %invoke.cont166 unwind label %lpad165 | |
invoke.cont166: ; preds = %invoke.cont159 | |
%call169 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %72, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp163) | |
to label %invoke.cont168 unwind label %lpad167 | |
invoke.cont168: ; preds = %invoke.cont166 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp171) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp170, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.45, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp171) | |
to label %invoke.cont173 unwind label %lpad172 | |
invoke.cont173: ; preds = %invoke.cont168 | |
%73 = load double, double* %fe_assembly, align 8 | |
%call176 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call169, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp170, double %73) | |
to label %invoke.cont175 unwind label %lpad174 | |
invoke.cont175: ; preds = %invoke.cont173 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp170) | |
to label %invoke.cont177 unwind label %lpad172 | |
invoke.cont177: ; preds = %invoke.cont175 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp171) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp163) | |
to label %invoke.cont181 unwind label %lpad165 | |
invoke.cont181: ; preds = %invoke.cont177 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp164) #2 | |
br label %if.end185 | |
lpad107: ; preds = %invoke.cont116, %if.then105 | |
%74 = landingpad { i8*, i32 } | |
cleanup | |
%75 = extractvalue { i8*, i32 } %74, 0 | |
store i8* %75, i8** %exn.slot, align 8 | |
%76 = extractvalue { i8*, i32 } %74, 1 | |
store i32 %76, i32* %ehselector.slot, align 4 | |
br label %ehcleanup121 | |
lpad111: ; preds = %invoke.cont114, %invoke.cont108 | |
%77 = landingpad { i8*, i32 } | |
cleanup | |
%78 = extractvalue { i8*, i32 } %77, 0 | |
store i8* %78, i8** %exn.slot, align 8 | |
%79 = extractvalue { i8*, i32 } %77, 1 | |
store i32 %79, i32* %ehselector.slot, align 4 | |
br label %ehcleanup | |
lpad113: ; preds = %invoke.cont112 | |
%80 = landingpad { i8*, i32 } | |
cleanup | |
%81 = extractvalue { i8*, i32 } %80, 0 | |
store i8* %81, i8** %exn.slot, align 8 | |
%82 = extractvalue { i8*, i32 } %80, 1 | |
store i32 %82, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp109) | |
to label %invoke.cont117 unwind label %terminate.lpad | |
invoke.cont117: ; preds = %lpad113 | |
br label %ehcleanup | |
ehcleanup: ; preds = %invoke.cont117, %lpad111 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp110) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp) | |
to label %invoke.cont120 unwind label %terminate.lpad | |
invoke.cont120: ; preds = %ehcleanup | |
br label %ehcleanup121 | |
ehcleanup121: ; preds = %invoke.cont120, %lpad107 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp106) #2 | |
br label %ehcleanup874 | |
lpad124: ; preds = %invoke.cont136, %invoke.cont118 | |
%83 = landingpad { i8*, i32 } | |
cleanup | |
%84 = extractvalue { i8*, i32 } %83, 0 | |
store i8* %84, i8** %exn.slot, align 8 | |
%85 = extractvalue { i8*, i32 } %83, 1 | |
store i32 %85, i32* %ehselector.slot, align 4 | |
br label %ehcleanup143 | |
lpad126: ; preds = %invoke.cont125 | |
%86 = landingpad { i8*, i32 } | |
cleanup | |
%87 = extractvalue { i8*, i32 } %86, 0 | |
store i8* %87, i8** %exn.slot, align 8 | |
%88 = extractvalue { i8*, i32 } %86, 1 | |
store i32 %88, i32* %ehselector.slot, align 4 | |
br label %ehcleanup141 | |
lpad131: ; preds = %invoke.cont134, %invoke.cont127 | |
%89 = landingpad { i8*, i32 } | |
cleanup | |
%90 = extractvalue { i8*, i32 } %89, 0 | |
store i8* %90, i8** %exn.slot, align 8 | |
%91 = extractvalue { i8*, i32 } %89, 1 | |
store i32 %91, i32* %ehselector.slot, align 4 | |
br label %ehcleanup139 | |
lpad133: ; preds = %invoke.cont132 | |
%92 = landingpad { i8*, i32 } | |
cleanup | |
%93 = extractvalue { i8*, i32 } %92, 0 | |
store i8* %93, i8** %exn.slot, align 8 | |
%94 = extractvalue { i8*, i32 } %92, 1 | |
store i32 %94, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp129) | |
to label %invoke.cont138 unwind label %terminate.lpad | |
invoke.cont138: ; preds = %lpad133 | |
br label %ehcleanup139 | |
ehcleanup139: ; preds = %invoke.cont138, %lpad131 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp130) #2 | |
br label %ehcleanup141 | |
ehcleanup141: ; preds = %ehcleanup139, %lpad126 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp122) | |
to label %invoke.cont142 unwind label %terminate.lpad | |
invoke.cont142: ; preds = %ehcleanup141 | |
br label %ehcleanup143 | |
ehcleanup143: ; preds = %invoke.cont142, %lpad124 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp123) #2 | |
br label %ehcleanup874 | |
lpad146: ; preds = %invoke.cont155, %invoke.cont140 | |
%95 = landingpad { i8*, i32 } | |
cleanup | |
%96 = extractvalue { i8*, i32 } %95, 0 | |
store i8* %96, i8** %exn.slot, align 8 | |
%97 = extractvalue { i8*, i32 } %95, 1 | |
store i32 %97, i32* %ehselector.slot, align 4 | |
br label %ehcleanup162 | |
lpad150: ; preds = %invoke.cont153, %invoke.cont147 | |
%98 = landingpad { i8*, i32 } | |
cleanup | |
%99 = extractvalue { i8*, i32 } %98, 0 | |
store i8* %99, i8** %exn.slot, align 8 | |
%100 = extractvalue { i8*, i32 } %98, 1 | |
store i32 %100, i32* %ehselector.slot, align 4 | |
br label %ehcleanup158 | |
lpad152: ; preds = %invoke.cont151 | |
%101 = landingpad { i8*, i32 } | |
cleanup | |
%102 = extractvalue { i8*, i32 } %101, 0 | |
store i8* %102, i8** %exn.slot, align 8 | |
%103 = extractvalue { i8*, i32 } %101, 1 | |
store i32 %103, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp148) | |
to label %invoke.cont157 unwind label %terminate.lpad | |
invoke.cont157: ; preds = %lpad152 | |
br label %ehcleanup158 | |
ehcleanup158: ; preds = %invoke.cont157, %lpad150 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp149) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp144) | |
to label %invoke.cont161 unwind label %terminate.lpad | |
invoke.cont161: ; preds = %ehcleanup158 | |
br label %ehcleanup162 | |
ehcleanup162: ; preds = %invoke.cont161, %lpad146 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp145) #2 | |
br label %ehcleanup874 | |
lpad165: ; preds = %invoke.cont177, %invoke.cont159 | |
%104 = landingpad { i8*, i32 } | |
cleanup | |
%105 = extractvalue { i8*, i32 } %104, 0 | |
store i8* %105, i8** %exn.slot, align 8 | |
%106 = extractvalue { i8*, i32 } %104, 1 | |
store i32 %106, i32* %ehselector.slot, align 4 | |
br label %ehcleanup184 | |
lpad167: ; preds = %invoke.cont166 | |
%107 = landingpad { i8*, i32 } | |
cleanup | |
%108 = extractvalue { i8*, i32 } %107, 0 | |
store i8* %108, i8** %exn.slot, align 8 | |
%109 = extractvalue { i8*, i32 } %107, 1 | |
store i32 %109, i32* %ehselector.slot, align 4 | |
br label %ehcleanup182 | |
lpad172: ; preds = %invoke.cont175, %invoke.cont168 | |
%110 = landingpad { i8*, i32 } | |
cleanup | |
%111 = extractvalue { i8*, i32 } %110, 0 | |
store i8* %111, i8** %exn.slot, align 8 | |
%112 = extractvalue { i8*, i32 } %110, 1 | |
store i32 %112, i32* %ehselector.slot, align 4 | |
br label %ehcleanup180 | |
lpad174: ; preds = %invoke.cont173 | |
%113 = landingpad { i8*, i32 } | |
cleanup | |
%114 = extractvalue { i8*, i32 } %113, 0 | |
store i8* %114, i8** %exn.slot, align 8 | |
%115 = extractvalue { i8*, i32 } %113, 1 | |
store i32 %115, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp170) | |
to label %invoke.cont179 unwind label %terminate.lpad | |
invoke.cont179: ; preds = %lpad174 | |
br label %ehcleanup180 | |
ehcleanup180: ; preds = %invoke.cont179, %lpad172 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp171) #2 | |
br label %ehcleanup182 | |
ehcleanup182: ; preds = %ehcleanup180, %lpad167 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp163) | |
to label %invoke.cont183 unwind label %terminate.lpad | |
invoke.cont183: ; preds = %ehcleanup182 | |
br label %ehcleanup184 | |
ehcleanup184: ; preds = %invoke.cont183, %lpad165 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp164) #2 | |
br label %ehcleanup874 | |
if.end185: ; preds = %invoke.cont181, %if.end103 | |
%116 = load i32, i32* %myproc, align 4 | |
%cmp186 = icmp eq i32 %116, 0 | |
br i1 %cmp186, label %if.then187, label %if.end198 | |
if.then187: ; preds = %if.end185 | |
%vtable188 = load i8*, i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8**), align 8 | |
%vbase.offset.ptr189 = getelementptr i8, i8* %vtable188, i64 -24 | |
%117 = bitcast i8* %vbase.offset.ptr189 to i64* | |
%vbase.offset190 = load i64, i64* %117, align 8 | |
%add.ptr191 = getelementptr inbounds i8, i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8*), i64 %vbase.offset190 | |
%118 = bitcast i8* %add.ptr191 to %"class.std::ios_base"* | |
%call193 = invoke i64 @_ZNSt8ios_base5widthEl(%"class.std::ios_base"* %118, i64 30) | |
to label %invoke.cont192 unwind label %lpad77 | |
invoke.cont192: ; preds = %if.then187 | |
%call195 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cout, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.46, i32 0, i32 0)) | |
to label %invoke.cont194 unwind label %lpad77 | |
invoke.cont194: ; preds = %invoke.cont192 | |
%call197 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSo5flushEv(%"class.std::basic_ostream"* @_ZSt4cout) | |
to label %invoke.cont196 unwind label %lpad77 | |
invoke.cont196: ; preds = %invoke.cont194 | |
br label %if.end198 | |
if.end198: ; preds = %invoke.cont196, %if.end185 | |
%call201 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont200 unwind label %lpad77 | |
invoke.cont200: ; preds = %if.end198 | |
store double %call201, double* %rtf_t0199, align 8 | |
%119 = load i32, i32* %global_nx, align 4 | |
%add202 = add nsw i32 %119, 1 | |
%120 = load i32, i32* %global_ny, align 4 | |
%add203 = add nsw i32 %120, 1 | |
%121 = load i32, i32* %global_nz, align 4 | |
%add204 = add nsw i32 %121, 1 | |
%bc_rows_0 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %mesh, i32 0, i32 0 | |
invoke void @_ZN6miniFE16impose_dirichletINS_9CSRMatrixIdiiEENS_6VectorIdiiEEEEvNT_10ScalarTypeERS5_RT0_iiiRKSt3setINS5_17GlobalOrdinalTypeESt4lessISB_ESaISB_EE(double 0.000000e+00, %"struct.miniFE::CSRMatrix"* dereferenceable(136) %A, %"struct.miniFE::Vector"* dereferenceable(32) %b, i32 %add202, i32 %add203, i32 %add204, %"class.std::set"* dereferenceable(48) %bc_rows_0) | |
to label %invoke.cont205 unwind label %lpad77 | |
invoke.cont205: ; preds = %invoke.cont200 | |
%call207 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont206 unwind label %lpad77 | |
invoke.cont206: ; preds = %invoke.cont205 | |
%122 = load double, double* %rtf_t0199, align 8 | |
%sub208 = fsub double %call207, %122 | |
store double %sub208, double* %dirbc_time, align 8 | |
%123 = load double, double* %dirbc_time, align 8 | |
%124 = load double, double* %t_total, align 8 | |
%add209 = fadd double %124, %123 | |
store double %add209, double* %t_total, align 8 | |
%125 = load i32, i32* %myproc, align 4 | |
%cmp210 = icmp eq i32 %125, 0 | |
br i1 %cmp210, label %if.then211, label %if.end220 | |
if.then211: ; preds = %invoke.cont206 | |
%126 = load double, double* %dirbc_time, align 8 | |
%call213 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEd(%"class.std::basic_ostream"* @_ZSt4cout, double %126) | |
to label %invoke.cont212 unwind label %lpad77 | |
invoke.cont212: ; preds = %if.then211 | |
%call215 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call213, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.39, i32 0, i32 0)) | |
to label %invoke.cont214 unwind label %lpad77 | |
invoke.cont214: ; preds = %invoke.cont212 | |
%127 = load double, double* %t_total, align 8 | |
%call217 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEd(%"class.std::basic_ostream"* %call215, double %127) | |
to label %invoke.cont216 unwind label %lpad77 | |
invoke.cont216: ; preds = %invoke.cont214 | |
%call219 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call217, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
to label %invoke.cont218 unwind label %lpad77 | |
invoke.cont218: ; preds = %invoke.cont216 | |
br label %if.end220 | |
if.end220: ; preds = %invoke.cont218, %invoke.cont206 | |
%128 = load i32, i32* %myproc, align 4 | |
%cmp221 = icmp eq i32 %128, 0 | |
br i1 %cmp221, label %if.then222, label %if.end233 | |
if.then222: ; preds = %if.end220 | |
%vtable223 = load i8*, i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8**), align 8 | |
%vbase.offset.ptr224 = getelementptr i8, i8* %vtable223, i64 -24 | |
%129 = bitcast i8* %vbase.offset.ptr224 to i64* | |
%vbase.offset225 = load i64, i64* %129, align 8 | |
%add.ptr226 = getelementptr inbounds i8, i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8*), i64 %vbase.offset225 | |
%130 = bitcast i8* %add.ptr226 to %"class.std::ios_base"* | |
%call228 = invoke i64 @_ZNSt8ios_base5widthEl(%"class.std::ios_base"* %130, i64 30) | |
to label %invoke.cont227 unwind label %lpad77 | |
invoke.cont227: ; preds = %if.then222 | |
%call230 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cout, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.46, i32 0, i32 0)) | |
to label %invoke.cont229 unwind label %lpad77 | |
invoke.cont229: ; preds = %invoke.cont227 | |
%call232 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSo5flushEv(%"class.std::basic_ostream"* @_ZSt4cout) | |
to label %invoke.cont231 unwind label %lpad77 | |
invoke.cont231: ; preds = %invoke.cont229 | |
br label %if.end233 | |
if.end233: ; preds = %invoke.cont231, %if.end220 | |
%call236 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont235 unwind label %lpad77 | |
invoke.cont235: ; preds = %if.end233 | |
store double %call236, double* %rtf_t0234, align 8 | |
%131 = load i32, i32* %global_nx, align 4 | |
%add237 = add nsw i32 %131, 1 | |
%132 = load i32, i32* %global_ny, align 4 | |
%add238 = add nsw i32 %132, 1 | |
%133 = load i32, i32* %global_nz, align 4 | |
%add239 = add nsw i32 %133, 1 | |
%bc_rows_1 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %mesh, i32 0, i32 1 | |
invoke void @_ZN6miniFE16impose_dirichletINS_9CSRMatrixIdiiEENS_6VectorIdiiEEEEvNT_10ScalarTypeERS5_RT0_iiiRKSt3setINS5_17GlobalOrdinalTypeESt4lessISB_ESaISB_EE(double 1.000000e+00, %"struct.miniFE::CSRMatrix"* dereferenceable(136) %A, %"struct.miniFE::Vector"* dereferenceable(32) %b, i32 %add237, i32 %add238, i32 %add239, %"class.std::set"* dereferenceable(48) %bc_rows_1) | |
to label %invoke.cont240 unwind label %lpad77 | |
invoke.cont240: ; preds = %invoke.cont235 | |
%call242 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont241 unwind label %lpad77 | |
invoke.cont241: ; preds = %invoke.cont240 | |
%134 = load double, double* %rtf_t0234, align 8 | |
%sub243 = fsub double %call242, %134 | |
store double %sub243, double* %dirbc_time, align 8 | |
%135 = load double, double* %dirbc_time, align 8 | |
%136 = load double, double* %t_total, align 8 | |
%add244 = fadd double %136, %135 | |
store double %add244, double* %t_total, align 8 | |
%137 = load i32, i32* %myproc, align 4 | |
%cmp245 = icmp eq i32 %137, 0 | |
br i1 %cmp245, label %if.then246, label %if.end255 | |
if.then246: ; preds = %invoke.cont241 | |
%138 = load double, double* %dirbc_time, align 8 | |
%call248 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEd(%"class.std::basic_ostream"* @_ZSt4cout, double %138) | |
to label %invoke.cont247 unwind label %lpad77 | |
invoke.cont247: ; preds = %if.then246 | |
%call250 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call248, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.39, i32 0, i32 0)) | |
to label %invoke.cont249 unwind label %lpad77 | |
invoke.cont249: ; preds = %invoke.cont247 | |
%139 = load double, double* %t_total, align 8 | |
%call252 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEd(%"class.std::basic_ostream"* %call250, double %139) | |
to label %invoke.cont251 unwind label %lpad77 | |
invoke.cont251: ; preds = %invoke.cont249 | |
%call254 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call252, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
to label %invoke.cont253 unwind label %lpad77 | |
invoke.cont253: ; preds = %invoke.cont251 | |
br label %if.end255 | |
if.end255: ; preds = %invoke.cont253, %invoke.cont241 | |
%140 = load i32, i32* %myproc, align 4 | |
%cmp256 = icmp eq i32 %140, 0 | |
br i1 %cmp256, label %if.then257, label %if.end268 | |
if.then257: ; preds = %if.end255 | |
%vtable258 = load i8*, i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8**), align 8 | |
%vbase.offset.ptr259 = getelementptr i8, i8* %vtable258, i64 -24 | |
%141 = bitcast i8* %vbase.offset.ptr259 to i64* | |
%vbase.offset260 = load i64, i64* %141, align 8 | |
%add.ptr261 = getelementptr inbounds i8, i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8*), i64 %vbase.offset260 | |
%142 = bitcast i8* %add.ptr261 to %"class.std::ios_base"* | |
%call263 = invoke i64 @_ZNSt8ios_base5widthEl(%"class.std::ios_base"* %142, i64 30) | |
to label %invoke.cont262 unwind label %lpad77 | |
invoke.cont262: ; preds = %if.then257 | |
%call265 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cout, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.47, i32 0, i32 0)) | |
to label %invoke.cont264 unwind label %lpad77 | |
invoke.cont264: ; preds = %invoke.cont262 | |
%call267 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSo5flushEv(%"class.std::basic_ostream"* @_ZSt4cout) | |
to label %invoke.cont266 unwind label %lpad77 | |
invoke.cont266: ; preds = %invoke.cont264 | |
br label %if.end268 | |
if.end268: ; preds = %invoke.cont266, %if.end255 | |
%call271 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont270 unwind label %lpad77 | |
invoke.cont270: ; preds = %if.end268 | |
store double %call271, double* %rtf_t0269, align 8 | |
invoke void @_ZN6miniFE17make_local_matrixINS_9CSRMatrixIdiiEEEEvRT_(%"struct.miniFE::CSRMatrix"* dereferenceable(136) %A) | |
to label %invoke.cont272 unwind label %lpad77 | |
invoke.cont272: ; preds = %invoke.cont270 | |
%call274 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont273 unwind label %lpad77 | |
invoke.cont273: ; preds = %invoke.cont272 | |
%143 = load double, double* %rtf_t0269, align 8 | |
%sub275 = fsub double %call274, %143 | |
store double %sub275, double* %make_local_time, align 8 | |
%144 = load double, double* %make_local_time, align 8 | |
%145 = load double, double* %t_total, align 8 | |
%add276 = fadd double %145, %144 | |
store double %add276, double* %t_total, align 8 | |
%146 = load i32, i32* %myproc, align 4 | |
%cmp277 = icmp eq i32 %146, 0 | |
br i1 %cmp277, label %if.then278, label %if.end287 | |
if.then278: ; preds = %invoke.cont273 | |
%147 = load double, double* %make_local_time, align 8 | |
%call280 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEd(%"class.std::basic_ostream"* @_ZSt4cout, double %147) | |
to label %invoke.cont279 unwind label %lpad77 | |
invoke.cont279: ; preds = %if.then278 | |
%call282 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call280, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.39, i32 0, i32 0)) | |
to label %invoke.cont281 unwind label %lpad77 | |
invoke.cont281: ; preds = %invoke.cont279 | |
%148 = load double, double* %t_total, align 8 | |
%call284 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEd(%"class.std::basic_ostream"* %call282, double %148) | |
to label %invoke.cont283 unwind label %lpad77 | |
invoke.cont283: ; preds = %invoke.cont281 | |
%call286 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call284, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
to label %invoke.cont285 unwind label %lpad77 | |
invoke.cont285: ; preds = %invoke.cont283 | |
br label %if.end287 | |
if.end287: ; preds = %invoke.cont285, %invoke.cont273 | |
%149 = load i32, i32* %myproc, align 4 | |
%150 = load i32, i32* %numprocs, align 4 | |
%151 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%call289 = invoke i64 @_ZN6miniFE20compute_matrix_statsINS_9CSRMatrixIdiiEEEEmRKT_iiR8YAML_Doc(%"struct.miniFE::CSRMatrix"* dereferenceable(136) %A, i32 %149, i32 %150, %class.YAML_Doc* dereferenceable(216) %151) | |
to label %invoke.cont288 unwind label %lpad77 | |
invoke.cont288: ; preds = %if.end287 | |
store i64 %call289, i64* %global_nnz, align 8 | |
store i32 1000, i32* %max_iters, align 4 | |
store i32 0, i32* %num_iters, align 4 | |
store double 0.000000e+00, double* %rnorm, align 8 | |
%call290 = call double @_ZNSt14numeric_limitsIdE7epsilonEv() #2 | |
store double %call290, double* %tol, align 8 | |
%call292 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont291 unwind label %lpad77 | |
invoke.cont291: ; preds = %invoke.cont288 | |
%152 = load double, double* %t_start, align 8 | |
%sub293 = fsub double %call292, %152 | |
store double %sub293, double* %t_total, align 8 | |
%153 = load %"struct.miniFE::Parameters"*, %"struct.miniFE::Parameters"** %params.addr, align 8 | |
%mv_overlap_comm_comp = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %153, i32 0, i32 4 | |
%154 = load i32, i32* %mv_overlap_comm_comp, align 8 | |
%cmp294 = icmp eq i32 %154, 1 | |
%frombool = zext i1 %cmp294 to i8 | |
store i8 %frombool, i8* %matvec_with_comm_overlap, align 1 | |
%155 = load i32, i32* %myproc, align 4 | |
%cmp295 = icmp eq i32 %155, 0 | |
br i1 %cmp295, label %if.then296, label %if.end301 | |
if.then296: ; preds = %invoke.cont291 | |
%call298 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cout, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.48, i32 0, i32 0)) | |
to label %invoke.cont297 unwind label %lpad77 | |
invoke.cont297: ; preds = %if.then296 | |
%call300 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call298, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
to label %invoke.cont299 unwind label %lpad77 | |
invoke.cont299: ; preds = %invoke.cont297 | |
br label %if.end301 | |
if.end301: ; preds = %invoke.cont299, %invoke.cont291 | |
%156 = load i8, i8* %matvec_with_comm_overlap, align 1 | |
%tobool = trunc i8 %156 to i1 | |
br i1 %tobool, label %if.then302, label %if.else | |
if.then302: ; preds = %if.end301 | |
invoke void @_ZN6miniFE31rearrange_matrix_local_externalINS_9CSRMatrixIdiiEEEEvRT_(%"struct.miniFE::CSRMatrix"* dereferenceable(136) %A) | |
to label %invoke.cont303 unwind label %lpad77 | |
invoke.cont303: ; preds = %if.then302 | |
%157 = load i32, i32* %max_iters, align 4 | |
%arraydecay = getelementptr inbounds [5 x double], [5 x double]* %cg_times, i32 0, i32 0 | |
invoke void @_ZN6miniFE8cg_solveINS_9CSRMatrixIdiiEENS_6VectorIdiiEENS_14matvec_overlapIS2_S4_EEEEvRT_RKT0_RS9_T1_NS7_16LocalOrdinalTypeERNS_10TypeTraitsINS7_10ScalarTypeEE14magnitude_typeERSE_SJ_Pd(%"struct.miniFE::CSRMatrix"* dereferenceable(136) %A, %"struct.miniFE::Vector"* dereferenceable(32) %b, %"struct.miniFE::Vector"* dereferenceable(32) %x, i32 %157, double* dereferenceable(8) %tol, i32* dereferenceable(4) %num_iters, double* dereferenceable(8) %rnorm, double* %arraydecay) | |
to label %invoke.cont304 unwind label %lpad77 | |
invoke.cont304: ; preds = %invoke.cont303 | |
br label %if.end338 | |
if.else: ; preds = %if.end301 | |
%158 = load i32, i32* %max_iters, align 4 | |
%arraydecay306 = getelementptr inbounds [5 x double], [5 x double]* %cg_times, i32 0, i32 0 | |
invoke void @_ZN6miniFE8cg_solveINS_9CSRMatrixIdiiEENS_6VectorIdiiEENS_10matvec_stdIS2_S4_EEEEvRT_RKT0_RS9_T1_NS7_16LocalOrdinalTypeERNS_10TypeTraitsINS7_10ScalarTypeEE14magnitude_typeERSE_SJ_Pd(%"struct.miniFE::CSRMatrix"* dereferenceable(136) %A, %"struct.miniFE::Vector"* dereferenceable(32) %b, %"struct.miniFE::Vector"* dereferenceable(32) %x, i32 %158, double* dereferenceable(8) %tol, i32* dereferenceable(4) %num_iters, double* dereferenceable(8) %rnorm, double* %arraydecay306) | |
to label %invoke.cont307 unwind label %lpad77 | |
invoke.cont307: ; preds = %if.else | |
%159 = load i32, i32* %myproc, align 4 | |
%cmp308 = icmp eq i32 %159, 0 | |
br i1 %cmp308, label %if.then309, label %if.end316 | |
if.then309: ; preds = %invoke.cont307 | |
%call311 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cout, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.49, i32 0, i32 0)) | |
to label %invoke.cont310 unwind label %lpad77 | |
invoke.cont310: ; preds = %if.then309 | |
%160 = load double, double* %rnorm, align 8 | |
%call313 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEd(%"class.std::basic_ostream"* %call311, double %160) | |
to label %invoke.cont312 unwind label %lpad77 | |
invoke.cont312: ; preds = %invoke.cont310 | |
%call315 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call313, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
to label %invoke.cont314 unwind label %lpad77 | |
invoke.cont314: ; preds = %invoke.cont312 | |
br label %if.end316 | |
if.end316: ; preds = %invoke.cont314, %invoke.cont307 | |
%161 = load %"struct.miniFE::Parameters"*, %"struct.miniFE::Parameters"** %params.addr, align 8 | |
%verify_solution = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %161, i32 0, i32 11 | |
%162 = load i32, i32* %verify_solution, align 8 | |
%cmp317 = icmp sgt i32 %162, 0 | |
br i1 %cmp317, label %if.then318, label %if.end337 | |
if.then318: ; preds = %if.end316 | |
store double 6.000000e-03, double* %tolerance, align 8 | |
store i8 0, i8* %verify_whole_domain, align 1 | |
%163 = load i32, i32* %myproc, align 4 | |
%cmp319 = icmp eq i32 %163, 0 | |
br i1 %cmp319, label %if.then320, label %if.end333 | |
if.then320: ; preds = %if.then318 | |
%164 = load i8, i8* %verify_whole_domain, align 1 | |
%tobool321 = trunc i8 %164 to i1 | |
br i1 %tobool321, label %if.then322, label %if.else327 | |
if.then322: ; preds = %if.then320 | |
%call324 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cout, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.50, i32 0, i32 0)) | |
to label %invoke.cont323 unwind label %lpad77 | |
invoke.cont323: ; preds = %if.then322 | |
%call326 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call324, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
to label %invoke.cont325 unwind label %lpad77 | |
invoke.cont325: ; preds = %invoke.cont323 | |
br label %if.end332 | |
if.else327: ; preds = %if.then320 | |
%call329 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cout, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.51, i32 0, i32 0)) | |
to label %invoke.cont328 unwind label %lpad77 | |
invoke.cont328: ; preds = %if.else327 | |
%call331 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call329, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
to label %invoke.cont330 unwind label %lpad77 | |
invoke.cont330: ; preds = %invoke.cont328 | |
br label %if.end332 | |
if.end332: ; preds = %invoke.cont330, %invoke.cont325 | |
br label %if.end333 | |
if.end333: ; preds = %if.end332, %if.then318 | |
%165 = load double, double* %tolerance, align 8 | |
%166 = load i8, i8* %verify_whole_domain, align 1 | |
%tobool334 = trunc i8 %166 to i1 | |
%call336 = invoke i32 @_ZN6miniFE15verify_solutionINS_6VectorIdiiEEEEiRKNS_23simple_mesh_descriptionINT_17GlobalOrdinalTypeEEERKS4_db(%"class.miniFE::simple_mesh_description"* dereferenceable(192) %mesh, %"struct.miniFE::Vector"* dereferenceable(32) %x, double %165, i1 zeroext %tobool334) | |
to label %invoke.cont335 unwind label %lpad77 | |
invoke.cont335: ; preds = %if.end333 | |
br label %if.end337 | |
if.end337: ; preds = %invoke.cont335, %if.end316 | |
br label %if.end338 | |
if.end338: ; preds = %if.end337, %invoke.cont304 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp339) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %title, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.52, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp339) | |
to label %invoke.cont341 unwind label %lpad340 | |
invoke.cont341: ; preds = %if.end338 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp339) #2 | |
%167 = load i32, i32* %myproc, align 4 | |
%cmp343 = icmp eq i32 %167, 0 | |
br i1 %cmp343, label %if.then344, label %if.end869 | |
if.then344: ; preds = %invoke.cont341 | |
%168 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%169 = bitcast %class.YAML_Doc* %168 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp346) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp345, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.7, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp346) | |
to label %invoke.cont348 unwind label %lpad347 | |
invoke.cont348: ; preds = %if.then344 | |
%call351 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %169, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp345) | |
to label %invoke.cont350 unwind label %lpad349 | |
invoke.cont350: ; preds = %invoke.cont348 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp353) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp352, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.53, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp353) | |
to label %invoke.cont355 unwind label %lpad354 | |
invoke.cont355: ; preds = %invoke.cont350 | |
%call359 = invoke i8* @_ZN6miniFE10TypeTraitsIdE4nameEv() | |
to label %invoke.cont358 unwind label %lpad357 | |
invoke.cont358: ; preds = %invoke.cont355 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp360) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp356, i8* %call359, %"class.std::allocator"* dereferenceable(1) %ref.tmp360) | |
to label %invoke.cont362 unwind label %lpad361 | |
invoke.cont362: ; preds = %invoke.cont358 | |
%call365 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call351, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp352, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp356) | |
to label %invoke.cont364 unwind label %lpad363 | |
invoke.cont364: ; preds = %invoke.cont362 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp356) | |
to label %invoke.cont366 unwind label %lpad361 | |
invoke.cont366: ; preds = %invoke.cont364 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp360) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp352) | |
to label %invoke.cont370 unwind label %lpad354 | |
invoke.cont370: ; preds = %invoke.cont366 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp353) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp345) | |
to label %invoke.cont374 unwind label %lpad347 | |
invoke.cont374: ; preds = %invoke.cont370 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp346) #2 | |
%170 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%171 = bitcast %class.YAML_Doc* %170 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp379) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp378, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.7, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp379) | |
to label %invoke.cont381 unwind label %lpad380 | |
invoke.cont381: ; preds = %invoke.cont374 | |
%call384 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %171, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp378) | |
to label %invoke.cont383 unwind label %lpad382 | |
invoke.cont383: ; preds = %invoke.cont381 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp386) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp385, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.54, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp386) | |
to label %invoke.cont388 unwind label %lpad387 | |
invoke.cont388: ; preds = %invoke.cont383 | |
%call392 = invoke i8* @_ZN6miniFE10TypeTraitsIiE4nameEv() | |
to label %invoke.cont391 unwind label %lpad390 | |
invoke.cont391: ; preds = %invoke.cont388 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp393) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp389, i8* %call392, %"class.std::allocator"* dereferenceable(1) %ref.tmp393) | |
to label %invoke.cont395 unwind label %lpad394 | |
invoke.cont395: ; preds = %invoke.cont391 | |
%call398 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call384, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp385, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp389) | |
to label %invoke.cont397 unwind label %lpad396 | |
invoke.cont397: ; preds = %invoke.cont395 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp389) | |
to label %invoke.cont399 unwind label %lpad394 | |
invoke.cont399: ; preds = %invoke.cont397 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp393) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp385) | |
to label %invoke.cont403 unwind label %lpad387 | |
invoke.cont403: ; preds = %invoke.cont399 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp386) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp378) | |
to label %invoke.cont407 unwind label %lpad380 | |
invoke.cont407: ; preds = %invoke.cont403 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp379) #2 | |
%172 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%173 = bitcast %class.YAML_Doc* %172 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp412) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp411, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.7, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp412) | |
to label %invoke.cont414 unwind label %lpad413 | |
invoke.cont414: ; preds = %invoke.cont407 | |
%call417 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %173, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp411) | |
to label %invoke.cont416 unwind label %lpad415 | |
invoke.cont416: ; preds = %invoke.cont414 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp419) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp418, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.55, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp419) | |
to label %invoke.cont421 unwind label %lpad420 | |
invoke.cont421: ; preds = %invoke.cont416 | |
%call425 = invoke i8* @_ZN6miniFE10TypeTraitsIiE4nameEv() | |
to label %invoke.cont424 unwind label %lpad423 | |
invoke.cont424: ; preds = %invoke.cont421 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp426) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp422, i8* %call425, %"class.std::allocator"* dereferenceable(1) %ref.tmp426) | |
to label %invoke.cont428 unwind label %lpad427 | |
invoke.cont428: ; preds = %invoke.cont424 | |
%call431 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call417, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp418, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp422) | |
to label %invoke.cont430 unwind label %lpad429 | |
invoke.cont430: ; preds = %invoke.cont428 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp422) | |
to label %invoke.cont432 unwind label %lpad427 | |
invoke.cont432: ; preds = %invoke.cont430 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp426) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp418) | |
to label %invoke.cont436 unwind label %lpad420 | |
invoke.cont436: ; preds = %invoke.cont432 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp419) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp411) | |
to label %invoke.cont440 unwind label %lpad413 | |
invoke.cont440: ; preds = %invoke.cont436 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp412) #2 | |
%174 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%175 = bitcast %class.YAML_Doc* %174 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp445) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp444, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp445) | |
to label %invoke.cont447 unwind label %lpad446 | |
invoke.cont447: ; preds = %invoke.cont440 | |
%call450 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %175, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp444) | |
to label %invoke.cont449 unwind label %lpad448 | |
invoke.cont449: ; preds = %invoke.cont447 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp444) | |
to label %invoke.cont451 unwind label %lpad446 | |
invoke.cont451: ; preds = %invoke.cont449 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp445) #2 | |
%176 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%177 = bitcast %class.YAML_Doc* %176 to %class.YAML_Element* | |
%call457 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %177, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont456 unwind label %lpad455 | |
invoke.cont456: ; preds = %invoke.cont451 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp459) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp458, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.56, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp459) | |
to label %invoke.cont461 unwind label %lpad460 | |
invoke.cont461: ; preds = %invoke.cont456 | |
%178 = load i32, i32* %num_iters, align 4 | |
%call464 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(%class.YAML_Element* %call457, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp458, i32 %178) | |
to label %invoke.cont463 unwind label %lpad462 | |
invoke.cont463: ; preds = %invoke.cont461 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp458) | |
to label %invoke.cont465 unwind label %lpad460 | |
invoke.cont465: ; preds = %invoke.cont463 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp459) #2 | |
%179 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%180 = bitcast %class.YAML_Doc* %179 to %class.YAML_Element* | |
%call470 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %180, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont469 unwind label %lpad455 | |
invoke.cont469: ; preds = %invoke.cont465 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp472) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp471, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.57, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp472) | |
to label %invoke.cont474 unwind label %lpad473 | |
invoke.cont474: ; preds = %invoke.cont469 | |
%181 = load double, double* %rnorm, align 8 | |
%call477 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call470, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp471, double %181) | |
to label %invoke.cont476 unwind label %lpad475 | |
invoke.cont476: ; preds = %invoke.cont474 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp471) | |
to label %invoke.cont478 unwind label %lpad473 | |
invoke.cont478: ; preds = %invoke.cont476 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp472) #2 | |
%182 = load i32, i32* %global_nx, align 4 | |
store i32 %182, i32* %global_nrows, align 4 | |
%183 = load i32, i32* %global_ny, align 4 | |
%184 = load i32, i32* %global_nz, align 4 | |
%mul = mul nsw i32 %183, %184 | |
%185 = load i32, i32* %global_nrows, align 4 | |
%mul482 = mul nsw i32 %185, %mul | |
store i32 %mul482, i32* %global_nrows, align 4 | |
%186 = load i64, i64* %global_nnz, align 8 | |
%conv483 = uitofp i64 %186 to double | |
%mul484 = fmul double %conv483, 2.000000e+00 | |
store double %mul484, double* %mv_flops, align 8 | |
%187 = load i32, i32* %global_nrows, align 4 | |
%conv485 = sitofp i32 %187 to double | |
%mul486 = fmul double %conv485, 2.000000e+00 | |
store double %mul486, double* %dot_flops, align 8 | |
%188 = load i32, i32* %global_nrows, align 4 | |
%conv487 = sitofp i32 %188 to double | |
%mul488 = fmul double %conv487, 3.000000e+00 | |
store double %mul488, double* %waxpy_flops, align 8 | |
%189 = load i32, i32* %num_iters, align 4 | |
%add489 = add nsw i32 %189, 1 | |
%conv490 = sitofp i32 %add489 to double | |
%190 = load double, double* %mv_flops, align 8 | |
%mul491 = fmul double %190, %conv490 | |
store double %mul491, double* %mv_flops, align 8 | |
%191 = load i32, i32* %num_iters, align 4 | |
%mul492 = mul nsw i32 2, %191 | |
%conv493 = sitofp i32 %mul492 to double | |
%192 = load double, double* %dot_flops, align 8 | |
%mul494 = fmul double %192, %conv493 | |
store double %mul494, double* %dot_flops, align 8 | |
%193 = load i32, i32* %num_iters, align 4 | |
%mul495 = mul nsw i32 3, %193 | |
%add496 = add nsw i32 %mul495, 2 | |
%conv497 = sitofp i32 %add496 to double | |
%194 = load double, double* %waxpy_flops, align 8 | |
%mul498 = fmul double %194, %conv497 | |
store double %mul498, double* %waxpy_flops, align 8 | |
%195 = load double, double* %mv_flops, align 8 | |
%196 = load double, double* %dot_flops, align 8 | |
%add499 = fadd double %195, %196 | |
%197 = load double, double* %waxpy_flops, align 8 | |
%add500 = fadd double %add499, %197 | |
store double %add500, double* %total_flops, align 8 | |
store double -1.000000e+00, double* %mv_mflops, align 8 | |
%arrayidx501 = getelementptr inbounds [5 x double], [5 x double]* %cg_times, i64 0, i64 2 | |
%198 = load double, double* %arrayidx501, align 16 | |
%cmp502 = fcmp ogt double %198, 1.000000e-04 | |
br i1 %cmp502, label %if.then503, label %if.end506 | |
if.then503: ; preds = %invoke.cont478 | |
%199 = load double, double* %mv_flops, align 8 | |
%arrayidx504 = getelementptr inbounds [5 x double], [5 x double]* %cg_times, i64 0, i64 2 | |
%200 = load double, double* %arrayidx504, align 16 | |
%div = fdiv double %199, %200 | |
%mul505 = fmul double 0x3EB0C6F7A0B5ED8D, %div | |
store double %mul505, double* %mv_mflops, align 8 | |
br label %if.end506 | |
lpad340: ; preds = %if.end338 | |
%201 = landingpad { i8*, i32 } | |
cleanup | |
%202 = extractvalue { i8*, i32 } %201, 0 | |
store i8* %202, i8** %exn.slot, align 8 | |
%203 = extractvalue { i8*, i32 } %201, 1 | |
store i32 %203, i32* %ehselector.slot, align 4 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp339) #2 | |
br label %ehcleanup874 | |
lpad347: ; preds = %invoke.cont370, %if.then344 | |
%204 = landingpad { i8*, i32 } | |
cleanup | |
%205 = extractvalue { i8*, i32 } %204, 0 | |
store i8* %205, i8** %exn.slot, align 8 | |
%206 = extractvalue { i8*, i32 } %204, 1 | |
store i32 %206, i32* %ehselector.slot, align 4 | |
br label %ehcleanup377 | |
lpad349: ; preds = %invoke.cont348 | |
%207 = landingpad { i8*, i32 } | |
cleanup | |
%208 = extractvalue { i8*, i32 } %207, 0 | |
store i8* %208, i8** %exn.slot, align 8 | |
%209 = extractvalue { i8*, i32 } %207, 1 | |
store i32 %209, i32* %ehselector.slot, align 4 | |
br label %ehcleanup375 | |
lpad354: ; preds = %invoke.cont366, %invoke.cont350 | |
%210 = landingpad { i8*, i32 } | |
cleanup | |
%211 = extractvalue { i8*, i32 } %210, 0 | |
store i8* %211, i8** %exn.slot, align 8 | |
%212 = extractvalue { i8*, i32 } %210, 1 | |
store i32 %212, i32* %ehselector.slot, align 4 | |
br label %ehcleanup373 | |
lpad357: ; preds = %invoke.cont355 | |
%213 = landingpad { i8*, i32 } | |
cleanup | |
%214 = extractvalue { i8*, i32 } %213, 0 | |
store i8* %214, i8** %exn.slot, align 8 | |
%215 = extractvalue { i8*, i32 } %213, 1 | |
store i32 %215, i32* %ehselector.slot, align 4 | |
br label %ehcleanup371 | |
lpad361: ; preds = %invoke.cont364, %invoke.cont358 | |
%216 = landingpad { i8*, i32 } | |
cleanup | |
%217 = extractvalue { i8*, i32 } %216, 0 | |
store i8* %217, i8** %exn.slot, align 8 | |
%218 = extractvalue { i8*, i32 } %216, 1 | |
store i32 %218, i32* %ehselector.slot, align 4 | |
br label %ehcleanup369 | |
lpad363: ; preds = %invoke.cont362 | |
%219 = landingpad { i8*, i32 } | |
cleanup | |
%220 = extractvalue { i8*, i32 } %219, 0 | |
store i8* %220, i8** %exn.slot, align 8 | |
%221 = extractvalue { i8*, i32 } %219, 1 | |
store i32 %221, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp356) | |
to label %invoke.cont368 unwind label %terminate.lpad | |
invoke.cont368: ; preds = %lpad363 | |
br label %ehcleanup369 | |
ehcleanup369: ; preds = %invoke.cont368, %lpad361 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp360) #2 | |
br label %ehcleanup371 | |
ehcleanup371: ; preds = %ehcleanup369, %lpad357 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp352) | |
to label %invoke.cont372 unwind label %terminate.lpad | |
invoke.cont372: ; preds = %ehcleanup371 | |
br label %ehcleanup373 | |
ehcleanup373: ; preds = %invoke.cont372, %lpad354 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp353) #2 | |
br label %ehcleanup375 | |
ehcleanup375: ; preds = %ehcleanup373, %lpad349 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp345) | |
to label %invoke.cont376 unwind label %terminate.lpad | |
invoke.cont376: ; preds = %ehcleanup375 | |
br label %ehcleanup377 | |
ehcleanup377: ; preds = %invoke.cont376, %lpad347 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp346) #2 | |
br label %ehcleanup871 | |
lpad380: ; preds = %invoke.cont403, %invoke.cont374 | |
%222 = landingpad { i8*, i32 } | |
cleanup | |
%223 = extractvalue { i8*, i32 } %222, 0 | |
store i8* %223, i8** %exn.slot, align 8 | |
%224 = extractvalue { i8*, i32 } %222, 1 | |
store i32 %224, i32* %ehselector.slot, align 4 | |
br label %ehcleanup410 | |
lpad382: ; preds = %invoke.cont381 | |
%225 = landingpad { i8*, i32 } | |
cleanup | |
%226 = extractvalue { i8*, i32 } %225, 0 | |
store i8* %226, i8** %exn.slot, align 8 | |
%227 = extractvalue { i8*, i32 } %225, 1 | |
store i32 %227, i32* %ehselector.slot, align 4 | |
br label %ehcleanup408 | |
lpad387: ; preds = %invoke.cont399, %invoke.cont383 | |
%228 = landingpad { i8*, i32 } | |
cleanup | |
%229 = extractvalue { i8*, i32 } %228, 0 | |
store i8* %229, i8** %exn.slot, align 8 | |
%230 = extractvalue { i8*, i32 } %228, 1 | |
store i32 %230, i32* %ehselector.slot, align 4 | |
br label %ehcleanup406 | |
lpad390: ; preds = %invoke.cont388 | |
%231 = landingpad { i8*, i32 } | |
cleanup | |
%232 = extractvalue { i8*, i32 } %231, 0 | |
store i8* %232, i8** %exn.slot, align 8 | |
%233 = extractvalue { i8*, i32 } %231, 1 | |
store i32 %233, i32* %ehselector.slot, align 4 | |
br label %ehcleanup404 | |
lpad394: ; preds = %invoke.cont397, %invoke.cont391 | |
%234 = landingpad { i8*, i32 } | |
cleanup | |
%235 = extractvalue { i8*, i32 } %234, 0 | |
store i8* %235, i8** %exn.slot, align 8 | |
%236 = extractvalue { i8*, i32 } %234, 1 | |
store i32 %236, i32* %ehselector.slot, align 4 | |
br label %ehcleanup402 | |
lpad396: ; preds = %invoke.cont395 | |
%237 = landingpad { i8*, i32 } | |
cleanup | |
%238 = extractvalue { i8*, i32 } %237, 0 | |
store i8* %238, i8** %exn.slot, align 8 | |
%239 = extractvalue { i8*, i32 } %237, 1 | |
store i32 %239, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp389) | |
to label %invoke.cont401 unwind label %terminate.lpad | |
invoke.cont401: ; preds = %lpad396 | |
br label %ehcleanup402 | |
ehcleanup402: ; preds = %invoke.cont401, %lpad394 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp393) #2 | |
br label %ehcleanup404 | |
ehcleanup404: ; preds = %ehcleanup402, %lpad390 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp385) | |
to label %invoke.cont405 unwind label %terminate.lpad | |
invoke.cont405: ; preds = %ehcleanup404 | |
br label %ehcleanup406 | |
ehcleanup406: ; preds = %invoke.cont405, %lpad387 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp386) #2 | |
br label %ehcleanup408 | |
ehcleanup408: ; preds = %ehcleanup406, %lpad382 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp378) | |
to label %invoke.cont409 unwind label %terminate.lpad | |
invoke.cont409: ; preds = %ehcleanup408 | |
br label %ehcleanup410 | |
ehcleanup410: ; preds = %invoke.cont409, %lpad380 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp379) #2 | |
br label %ehcleanup871 | |
lpad413: ; preds = %invoke.cont436, %invoke.cont407 | |
%240 = landingpad { i8*, i32 } | |
cleanup | |
%241 = extractvalue { i8*, i32 } %240, 0 | |
store i8* %241, i8** %exn.slot, align 8 | |
%242 = extractvalue { i8*, i32 } %240, 1 | |
store i32 %242, i32* %ehselector.slot, align 4 | |
br label %ehcleanup443 | |
lpad415: ; preds = %invoke.cont414 | |
%243 = landingpad { i8*, i32 } | |
cleanup | |
%244 = extractvalue { i8*, i32 } %243, 0 | |
store i8* %244, i8** %exn.slot, align 8 | |
%245 = extractvalue { i8*, i32 } %243, 1 | |
store i32 %245, i32* %ehselector.slot, align 4 | |
br label %ehcleanup441 | |
lpad420: ; preds = %invoke.cont432, %invoke.cont416 | |
%246 = landingpad { i8*, i32 } | |
cleanup | |
%247 = extractvalue { i8*, i32 } %246, 0 | |
store i8* %247, i8** %exn.slot, align 8 | |
%248 = extractvalue { i8*, i32 } %246, 1 | |
store i32 %248, i32* %ehselector.slot, align 4 | |
br label %ehcleanup439 | |
lpad423: ; preds = %invoke.cont421 | |
%249 = landingpad { i8*, i32 } | |
cleanup | |
%250 = extractvalue { i8*, i32 } %249, 0 | |
store i8* %250, i8** %exn.slot, align 8 | |
%251 = extractvalue { i8*, i32 } %249, 1 | |
store i32 %251, i32* %ehselector.slot, align 4 | |
br label %ehcleanup437 | |
lpad427: ; preds = %invoke.cont430, %invoke.cont424 | |
%252 = landingpad { i8*, i32 } | |
cleanup | |
%253 = extractvalue { i8*, i32 } %252, 0 | |
store i8* %253, i8** %exn.slot, align 8 | |
%254 = extractvalue { i8*, i32 } %252, 1 | |
store i32 %254, i32* %ehselector.slot, align 4 | |
br label %ehcleanup435 | |
lpad429: ; preds = %invoke.cont428 | |
%255 = landingpad { i8*, i32 } | |
cleanup | |
%256 = extractvalue { i8*, i32 } %255, 0 | |
store i8* %256, i8** %exn.slot, align 8 | |
%257 = extractvalue { i8*, i32 } %255, 1 | |
store i32 %257, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp422) | |
to label %invoke.cont434 unwind label %terminate.lpad | |
invoke.cont434: ; preds = %lpad429 | |
br label %ehcleanup435 | |
ehcleanup435: ; preds = %invoke.cont434, %lpad427 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp426) #2 | |
br label %ehcleanup437 | |
ehcleanup437: ; preds = %ehcleanup435, %lpad423 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp418) | |
to label %invoke.cont438 unwind label %terminate.lpad | |
invoke.cont438: ; preds = %ehcleanup437 | |
br label %ehcleanup439 | |
ehcleanup439: ; preds = %invoke.cont438, %lpad420 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp419) #2 | |
br label %ehcleanup441 | |
ehcleanup441: ; preds = %ehcleanup439, %lpad415 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp411) | |
to label %invoke.cont442 unwind label %terminate.lpad | |
invoke.cont442: ; preds = %ehcleanup441 | |
br label %ehcleanup443 | |
ehcleanup443: ; preds = %invoke.cont442, %lpad413 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp412) #2 | |
br label %ehcleanup871 | |
lpad446: ; preds = %invoke.cont449, %invoke.cont440 | |
%258 = landingpad { i8*, i32 } | |
cleanup | |
%259 = extractvalue { i8*, i32 } %258, 0 | |
store i8* %259, i8** %exn.slot, align 8 | |
%260 = extractvalue { i8*, i32 } %258, 1 | |
store i32 %260, i32* %ehselector.slot, align 4 | |
br label %ehcleanup454 | |
lpad448: ; preds = %invoke.cont447 | |
%261 = landingpad { i8*, i32 } | |
cleanup | |
%262 = extractvalue { i8*, i32 } %261, 0 | |
store i8* %262, i8** %exn.slot, align 8 | |
%263 = extractvalue { i8*, i32 } %261, 1 | |
store i32 %263, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp444) | |
to label %invoke.cont453 unwind label %terminate.lpad | |
invoke.cont453: ; preds = %lpad448 | |
br label %ehcleanup454 | |
ehcleanup454: ; preds = %invoke.cont453, %lpad446 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp445) #2 | |
br label %ehcleanup871 | |
lpad455: ; preds = %if.end852, %if.else819, %if.then794, %invoke.cont765, %invoke.cont740, %if.end722, %if.else700, %if.then686, %invoke.cont668, %if.end657, %if.else635, %if.then621, %invoke.cont603, %if.end592, %if.else570, %if.then556, %invoke.cont538, %if.end527, %invoke.cont465, %invoke.cont451 | |
%264 = landingpad { i8*, i32 } | |
cleanup | |
%265 = extractvalue { i8*, i32 } %264, 0 | |
store i8* %265, i8** %exn.slot, align 8 | |
%266 = extractvalue { i8*, i32 } %264, 1 | |
store i32 %266, i32* %ehselector.slot, align 4 | |
br label %ehcleanup871 | |
lpad460: ; preds = %invoke.cont463, %invoke.cont456 | |
%267 = landingpad { i8*, i32 } | |
cleanup | |
%268 = extractvalue { i8*, i32 } %267, 0 | |
store i8* %268, i8** %exn.slot, align 8 | |
%269 = extractvalue { i8*, i32 } %267, 1 | |
store i32 %269, i32* %ehselector.slot, align 4 | |
br label %ehcleanup468 | |
lpad462: ; preds = %invoke.cont461 | |
%270 = landingpad { i8*, i32 } | |
cleanup | |
%271 = extractvalue { i8*, i32 } %270, 0 | |
store i8* %271, i8** %exn.slot, align 8 | |
%272 = extractvalue { i8*, i32 } %270, 1 | |
store i32 %272, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp458) | |
to label %invoke.cont467 unwind label %terminate.lpad | |
invoke.cont467: ; preds = %lpad462 | |
br label %ehcleanup468 | |
ehcleanup468: ; preds = %invoke.cont467, %lpad460 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp459) #2 | |
br label %ehcleanup871 | |
lpad473: ; preds = %invoke.cont476, %invoke.cont469 | |
%273 = landingpad { i8*, i32 } | |
cleanup | |
%274 = extractvalue { i8*, i32 } %273, 0 | |
store i8* %274, i8** %exn.slot, align 8 | |
%275 = extractvalue { i8*, i32 } %273, 1 | |
store i32 %275, i32* %ehselector.slot, align 4 | |
br label %ehcleanup481 | |
lpad475: ; preds = %invoke.cont474 | |
%276 = landingpad { i8*, i32 } | |
cleanup | |
%277 = extractvalue { i8*, i32 } %276, 0 | |
store i8* %277, i8** %exn.slot, align 8 | |
%278 = extractvalue { i8*, i32 } %276, 1 | |
store i32 %278, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp471) | |
to label %invoke.cont480 unwind label %terminate.lpad | |
invoke.cont480: ; preds = %lpad475 | |
br label %ehcleanup481 | |
ehcleanup481: ; preds = %invoke.cont480, %lpad473 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp472) #2 | |
br label %ehcleanup871 | |
if.end506: ; preds = %if.then503, %invoke.cont478 | |
store double -1.000000e+00, double* %dot_mflops, align 8 | |
%arrayidx507 = getelementptr inbounds [5 x double], [5 x double]* %cg_times, i64 0, i64 1 | |
%279 = load double, double* %arrayidx507, align 8 | |
%cmp508 = fcmp ogt double %279, 1.000000e-04 | |
br i1 %cmp508, label %if.then509, label %if.end513 | |
if.then509: ; preds = %if.end506 | |
%280 = load double, double* %dot_flops, align 8 | |
%arrayidx510 = getelementptr inbounds [5 x double], [5 x double]* %cg_times, i64 0, i64 1 | |
%281 = load double, double* %arrayidx510, align 8 | |
%div511 = fdiv double %280, %281 | |
%mul512 = fmul double 0x3EB0C6F7A0B5ED8D, %div511 | |
store double %mul512, double* %dot_mflops, align 8 | |
br label %if.end513 | |
if.end513: ; preds = %if.then509, %if.end506 | |
store double -1.000000e+00, double* %waxpy_mflops, align 8 | |
%arrayidx514 = getelementptr inbounds [5 x double], [5 x double]* %cg_times, i64 0, i64 0 | |
%282 = load double, double* %arrayidx514, align 16 | |
%cmp515 = fcmp ogt double %282, 1.000000e-04 | |
br i1 %cmp515, label %if.then516, label %if.end520 | |
if.then516: ; preds = %if.end513 | |
%283 = load double, double* %waxpy_flops, align 8 | |
%arrayidx517 = getelementptr inbounds [5 x double], [5 x double]* %cg_times, i64 0, i64 0 | |
%284 = load double, double* %arrayidx517, align 16 | |
%div518 = fdiv double %283, %284 | |
%mul519 = fmul double 0x3EB0C6F7A0B5ED8D, %div518 | |
store double %mul519, double* %waxpy_mflops, align 8 | |
br label %if.end520 | |
if.end520: ; preds = %if.then516, %if.end513 | |
store double -1.000000e+00, double* %total_mflops, align 8 | |
%arrayidx521 = getelementptr inbounds [5 x double], [5 x double]* %cg_times, i64 0, i64 4 | |
%285 = load double, double* %arrayidx521, align 16 | |
%cmp522 = fcmp ogt double %285, 1.000000e-04 | |
br i1 %cmp522, label %if.then523, label %if.end527 | |
if.then523: ; preds = %if.end520 | |
%286 = load double, double* %total_flops, align 8 | |
%arrayidx524 = getelementptr inbounds [5 x double], [5 x double]* %cg_times, i64 0, i64 4 | |
%287 = load double, double* %arrayidx524, align 16 | |
%div525 = fdiv double %286, %287 | |
%mul526 = fmul double 0x3EB0C6F7A0B5ED8D, %div525 | |
store double %mul526, double* %total_mflops, align 8 | |
br label %if.end527 | |
if.end527: ; preds = %if.then523, %if.end520 | |
%288 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%289 = bitcast %class.YAML_Doc* %288 to %class.YAML_Element* | |
%call529 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %289, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont528 unwind label %lpad455 | |
invoke.cont528: ; preds = %if.end527 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp531) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp530, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.58, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp531) | |
to label %invoke.cont533 unwind label %lpad532 | |
invoke.cont533: ; preds = %invoke.cont528 | |
%arrayidx534 = getelementptr inbounds [5 x double], [5 x double]* %cg_times, i64 0, i64 0 | |
%290 = load double, double* %arrayidx534, align 16 | |
%call537 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call529, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp530, double %290) | |
to label %invoke.cont536 unwind label %lpad535 | |
invoke.cont536: ; preds = %invoke.cont533 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp530) | |
to label %invoke.cont538 unwind label %lpad532 | |
invoke.cont538: ; preds = %invoke.cont536 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp531) #2 | |
%291 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%292 = bitcast %class.YAML_Doc* %291 to %class.YAML_Element* | |
%call543 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %292, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont542 unwind label %lpad455 | |
invoke.cont542: ; preds = %invoke.cont538 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp545) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp544, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.59, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp545) | |
to label %invoke.cont547 unwind label %lpad546 | |
invoke.cont547: ; preds = %invoke.cont542 | |
%293 = load double, double* %waxpy_flops, align 8 | |
%call550 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call543, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp544, double %293) | |
to label %invoke.cont549 unwind label %lpad548 | |
invoke.cont549: ; preds = %invoke.cont547 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp544) | |
to label %invoke.cont551 unwind label %lpad546 | |
invoke.cont551: ; preds = %invoke.cont549 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp545) #2 | |
%294 = load double, double* %waxpy_mflops, align 8 | |
%cmp555 = fcmp oge double %294, 0.000000e+00 | |
br i1 %cmp555, label %if.then556, label %if.else570 | |
if.then556: ; preds = %invoke.cont551 | |
%295 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%296 = bitcast %class.YAML_Doc* %295 to %class.YAML_Element* | |
%call558 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %296, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont557 unwind label %lpad455 | |
invoke.cont557: ; preds = %if.then556 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp560) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp559, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.60, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp560) | |
to label %invoke.cont562 unwind label %lpad561 | |
invoke.cont562: ; preds = %invoke.cont557 | |
%297 = load double, double* %waxpy_mflops, align 8 | |
%call565 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call558, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp559, double %297) | |
to label %invoke.cont564 unwind label %lpad563 | |
invoke.cont564: ; preds = %invoke.cont562 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp559) | |
to label %invoke.cont566 unwind label %lpad561 | |
invoke.cont566: ; preds = %invoke.cont564 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp560) #2 | |
br label %if.end592 | |
lpad532: ; preds = %invoke.cont536, %invoke.cont528 | |
%298 = landingpad { i8*, i32 } | |
cleanup | |
%299 = extractvalue { i8*, i32 } %298, 0 | |
store i8* %299, i8** %exn.slot, align 8 | |
%300 = extractvalue { i8*, i32 } %298, 1 | |
store i32 %300, i32* %ehselector.slot, align 4 | |
br label %ehcleanup541 | |
lpad535: ; preds = %invoke.cont533 | |
%301 = landingpad { i8*, i32 } | |
cleanup | |
%302 = extractvalue { i8*, i32 } %301, 0 | |
store i8* %302, i8** %exn.slot, align 8 | |
%303 = extractvalue { i8*, i32 } %301, 1 | |
store i32 %303, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp530) | |
to label %invoke.cont540 unwind label %terminate.lpad | |
invoke.cont540: ; preds = %lpad535 | |
br label %ehcleanup541 | |
ehcleanup541: ; preds = %invoke.cont540, %lpad532 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp531) #2 | |
br label %ehcleanup871 | |
lpad546: ; preds = %invoke.cont549, %invoke.cont542 | |
%304 = landingpad { i8*, i32 } | |
cleanup | |
%305 = extractvalue { i8*, i32 } %304, 0 | |
store i8* %305, i8** %exn.slot, align 8 | |
%306 = extractvalue { i8*, i32 } %304, 1 | |
store i32 %306, i32* %ehselector.slot, align 4 | |
br label %ehcleanup554 | |
lpad548: ; preds = %invoke.cont547 | |
%307 = landingpad { i8*, i32 } | |
cleanup | |
%308 = extractvalue { i8*, i32 } %307, 0 | |
store i8* %308, i8** %exn.slot, align 8 | |
%309 = extractvalue { i8*, i32 } %307, 1 | |
store i32 %309, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp544) | |
to label %invoke.cont553 unwind label %terminate.lpad | |
invoke.cont553: ; preds = %lpad548 | |
br label %ehcleanup554 | |
ehcleanup554: ; preds = %invoke.cont553, %lpad546 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp545) #2 | |
br label %ehcleanup871 | |
lpad561: ; preds = %invoke.cont564, %invoke.cont557 | |
%310 = landingpad { i8*, i32 } | |
cleanup | |
%311 = extractvalue { i8*, i32 } %310, 0 | |
store i8* %311, i8** %exn.slot, align 8 | |
%312 = extractvalue { i8*, i32 } %310, 1 | |
store i32 %312, i32* %ehselector.slot, align 4 | |
br label %ehcleanup569 | |
lpad563: ; preds = %invoke.cont562 | |
%313 = landingpad { i8*, i32 } | |
cleanup | |
%314 = extractvalue { i8*, i32 } %313, 0 | |
store i8* %314, i8** %exn.slot, align 8 | |
%315 = extractvalue { i8*, i32 } %313, 1 | |
store i32 %315, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp559) | |
to label %invoke.cont568 unwind label %terminate.lpad | |
invoke.cont568: ; preds = %lpad563 | |
br label %ehcleanup569 | |
ehcleanup569: ; preds = %invoke.cont568, %lpad561 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp560) #2 | |
br label %ehcleanup871 | |
if.else570: ; preds = %invoke.cont551 | |
%316 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%317 = bitcast %class.YAML_Doc* %316 to %class.YAML_Element* | |
%call572 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %317, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont571 unwind label %lpad455 | |
invoke.cont571: ; preds = %if.else570 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp574) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp573, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.60, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp574) | |
to label %invoke.cont576 unwind label %lpad575 | |
invoke.cont576: ; preds = %invoke.cont571 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp578) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp577, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.61, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp578) | |
to label %invoke.cont580 unwind label %lpad579 | |
invoke.cont580: ; preds = %invoke.cont576 | |
%call583 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call572, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp573, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp577) | |
to label %invoke.cont582 unwind label %lpad581 | |
invoke.cont582: ; preds = %invoke.cont580 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp577) | |
to label %invoke.cont584 unwind label %lpad579 | |
invoke.cont584: ; preds = %invoke.cont582 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp578) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp573) | |
to label %invoke.cont588 unwind label %lpad575 | |
invoke.cont588: ; preds = %invoke.cont584 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp574) #2 | |
br label %if.end592 | |
lpad575: ; preds = %invoke.cont584, %invoke.cont571 | |
%318 = landingpad { i8*, i32 } | |
cleanup | |
%319 = extractvalue { i8*, i32 } %318, 0 | |
store i8* %319, i8** %exn.slot, align 8 | |
%320 = extractvalue { i8*, i32 } %318, 1 | |
store i32 %320, i32* %ehselector.slot, align 4 | |
br label %ehcleanup591 | |
lpad579: ; preds = %invoke.cont582, %invoke.cont576 | |
%321 = landingpad { i8*, i32 } | |
cleanup | |
%322 = extractvalue { i8*, i32 } %321, 0 | |
store i8* %322, i8** %exn.slot, align 8 | |
%323 = extractvalue { i8*, i32 } %321, 1 | |
store i32 %323, i32* %ehselector.slot, align 4 | |
br label %ehcleanup587 | |
lpad581: ; preds = %invoke.cont580 | |
%324 = landingpad { i8*, i32 } | |
cleanup | |
%325 = extractvalue { i8*, i32 } %324, 0 | |
store i8* %325, i8** %exn.slot, align 8 | |
%326 = extractvalue { i8*, i32 } %324, 1 | |
store i32 %326, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp577) | |
to label %invoke.cont586 unwind label %terminate.lpad | |
invoke.cont586: ; preds = %lpad581 | |
br label %ehcleanup587 | |
ehcleanup587: ; preds = %invoke.cont586, %lpad579 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp578) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp573) | |
to label %invoke.cont590 unwind label %terminate.lpad | |
invoke.cont590: ; preds = %ehcleanup587 | |
br label %ehcleanup591 | |
ehcleanup591: ; preds = %invoke.cont590, %lpad575 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp574) #2 | |
br label %ehcleanup871 | |
if.end592: ; preds = %invoke.cont588, %invoke.cont566 | |
%327 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%328 = bitcast %class.YAML_Doc* %327 to %class.YAML_Element* | |
%call594 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %328, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont593 unwind label %lpad455 | |
invoke.cont593: ; preds = %if.end592 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp596) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp595, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.62, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp596) | |
to label %invoke.cont598 unwind label %lpad597 | |
invoke.cont598: ; preds = %invoke.cont593 | |
%arrayidx599 = getelementptr inbounds [5 x double], [5 x double]* %cg_times, i64 0, i64 1 | |
%329 = load double, double* %arrayidx599, align 8 | |
%call602 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call594, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp595, double %329) | |
to label %invoke.cont601 unwind label %lpad600 | |
invoke.cont601: ; preds = %invoke.cont598 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp595) | |
to label %invoke.cont603 unwind label %lpad597 | |
invoke.cont603: ; preds = %invoke.cont601 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp596) #2 | |
%330 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%331 = bitcast %class.YAML_Doc* %330 to %class.YAML_Element* | |
%call608 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %331, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont607 unwind label %lpad455 | |
invoke.cont607: ; preds = %invoke.cont603 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp610) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp609, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.63, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp610) | |
to label %invoke.cont612 unwind label %lpad611 | |
invoke.cont612: ; preds = %invoke.cont607 | |
%332 = load double, double* %dot_flops, align 8 | |
%call615 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call608, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp609, double %332) | |
to label %invoke.cont614 unwind label %lpad613 | |
invoke.cont614: ; preds = %invoke.cont612 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp609) | |
to label %invoke.cont616 unwind label %lpad611 | |
invoke.cont616: ; preds = %invoke.cont614 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp610) #2 | |
%333 = load double, double* %dot_mflops, align 8 | |
%cmp620 = fcmp oge double %333, 0.000000e+00 | |
br i1 %cmp620, label %if.then621, label %if.else635 | |
if.then621: ; preds = %invoke.cont616 | |
%334 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%335 = bitcast %class.YAML_Doc* %334 to %class.YAML_Element* | |
%call623 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %335, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont622 unwind label %lpad455 | |
invoke.cont622: ; preds = %if.then621 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp625) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp624, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.64, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp625) | |
to label %invoke.cont627 unwind label %lpad626 | |
invoke.cont627: ; preds = %invoke.cont622 | |
%336 = load double, double* %dot_mflops, align 8 | |
%call630 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call623, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp624, double %336) | |
to label %invoke.cont629 unwind label %lpad628 | |
invoke.cont629: ; preds = %invoke.cont627 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp624) | |
to label %invoke.cont631 unwind label %lpad626 | |
invoke.cont631: ; preds = %invoke.cont629 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp625) #2 | |
br label %if.end657 | |
lpad597: ; preds = %invoke.cont601, %invoke.cont593 | |
%337 = landingpad { i8*, i32 } | |
cleanup | |
%338 = extractvalue { i8*, i32 } %337, 0 | |
store i8* %338, i8** %exn.slot, align 8 | |
%339 = extractvalue { i8*, i32 } %337, 1 | |
store i32 %339, i32* %ehselector.slot, align 4 | |
br label %ehcleanup606 | |
lpad600: ; preds = %invoke.cont598 | |
%340 = landingpad { i8*, i32 } | |
cleanup | |
%341 = extractvalue { i8*, i32 } %340, 0 | |
store i8* %341, i8** %exn.slot, align 8 | |
%342 = extractvalue { i8*, i32 } %340, 1 | |
store i32 %342, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp595) | |
to label %invoke.cont605 unwind label %terminate.lpad | |
invoke.cont605: ; preds = %lpad600 | |
br label %ehcleanup606 | |
ehcleanup606: ; preds = %invoke.cont605, %lpad597 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp596) #2 | |
br label %ehcleanup871 | |
lpad611: ; preds = %invoke.cont614, %invoke.cont607 | |
%343 = landingpad { i8*, i32 } | |
cleanup | |
%344 = extractvalue { i8*, i32 } %343, 0 | |
store i8* %344, i8** %exn.slot, align 8 | |
%345 = extractvalue { i8*, i32 } %343, 1 | |
store i32 %345, i32* %ehselector.slot, align 4 | |
br label %ehcleanup619 | |
lpad613: ; preds = %invoke.cont612 | |
%346 = landingpad { i8*, i32 } | |
cleanup | |
%347 = extractvalue { i8*, i32 } %346, 0 | |
store i8* %347, i8** %exn.slot, align 8 | |
%348 = extractvalue { i8*, i32 } %346, 1 | |
store i32 %348, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp609) | |
to label %invoke.cont618 unwind label %terminate.lpad | |
invoke.cont618: ; preds = %lpad613 | |
br label %ehcleanup619 | |
ehcleanup619: ; preds = %invoke.cont618, %lpad611 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp610) #2 | |
br label %ehcleanup871 | |
lpad626: ; preds = %invoke.cont629, %invoke.cont622 | |
%349 = landingpad { i8*, i32 } | |
cleanup | |
%350 = extractvalue { i8*, i32 } %349, 0 | |
store i8* %350, i8** %exn.slot, align 8 | |
%351 = extractvalue { i8*, i32 } %349, 1 | |
store i32 %351, i32* %ehselector.slot, align 4 | |
br label %ehcleanup634 | |
lpad628: ; preds = %invoke.cont627 | |
%352 = landingpad { i8*, i32 } | |
cleanup | |
%353 = extractvalue { i8*, i32 } %352, 0 | |
store i8* %353, i8** %exn.slot, align 8 | |
%354 = extractvalue { i8*, i32 } %352, 1 | |
store i32 %354, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp624) | |
to label %invoke.cont633 unwind label %terminate.lpad | |
invoke.cont633: ; preds = %lpad628 | |
br label %ehcleanup634 | |
ehcleanup634: ; preds = %invoke.cont633, %lpad626 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp625) #2 | |
br label %ehcleanup871 | |
if.else635: ; preds = %invoke.cont616 | |
%355 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%356 = bitcast %class.YAML_Doc* %355 to %class.YAML_Element* | |
%call637 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %356, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont636 unwind label %lpad455 | |
invoke.cont636: ; preds = %if.else635 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp639) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp638, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.64, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp639) | |
to label %invoke.cont641 unwind label %lpad640 | |
invoke.cont641: ; preds = %invoke.cont636 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp643) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp642, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.61, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp643) | |
to label %invoke.cont645 unwind label %lpad644 | |
invoke.cont645: ; preds = %invoke.cont641 | |
%call648 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call637, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp638, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp642) | |
to label %invoke.cont647 unwind label %lpad646 | |
invoke.cont647: ; preds = %invoke.cont645 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp642) | |
to label %invoke.cont649 unwind label %lpad644 | |
invoke.cont649: ; preds = %invoke.cont647 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp643) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp638) | |
to label %invoke.cont653 unwind label %lpad640 | |
invoke.cont653: ; preds = %invoke.cont649 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp639) #2 | |
br label %if.end657 | |
lpad640: ; preds = %invoke.cont649, %invoke.cont636 | |
%357 = landingpad { i8*, i32 } | |
cleanup | |
%358 = extractvalue { i8*, i32 } %357, 0 | |
store i8* %358, i8** %exn.slot, align 8 | |
%359 = extractvalue { i8*, i32 } %357, 1 | |
store i32 %359, i32* %ehselector.slot, align 4 | |
br label %ehcleanup656 | |
lpad644: ; preds = %invoke.cont647, %invoke.cont641 | |
%360 = landingpad { i8*, i32 } | |
cleanup | |
%361 = extractvalue { i8*, i32 } %360, 0 | |
store i8* %361, i8** %exn.slot, align 8 | |
%362 = extractvalue { i8*, i32 } %360, 1 | |
store i32 %362, i32* %ehselector.slot, align 4 | |
br label %ehcleanup652 | |
lpad646: ; preds = %invoke.cont645 | |
%363 = landingpad { i8*, i32 } | |
cleanup | |
%364 = extractvalue { i8*, i32 } %363, 0 | |
store i8* %364, i8** %exn.slot, align 8 | |
%365 = extractvalue { i8*, i32 } %363, 1 | |
store i32 %365, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp642) | |
to label %invoke.cont651 unwind label %terminate.lpad | |
invoke.cont651: ; preds = %lpad646 | |
br label %ehcleanup652 | |
ehcleanup652: ; preds = %invoke.cont651, %lpad644 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp643) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp638) | |
to label %invoke.cont655 unwind label %terminate.lpad | |
invoke.cont655: ; preds = %ehcleanup652 | |
br label %ehcleanup656 | |
ehcleanup656: ; preds = %invoke.cont655, %lpad640 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp639) #2 | |
br label %ehcleanup871 | |
if.end657: ; preds = %invoke.cont653, %invoke.cont631 | |
%366 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%367 = bitcast %class.YAML_Doc* %366 to %class.YAML_Element* | |
%call659 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %367, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont658 unwind label %lpad455 | |
invoke.cont658: ; preds = %if.end657 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp661) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp660, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.65, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp661) | |
to label %invoke.cont663 unwind label %lpad662 | |
invoke.cont663: ; preds = %invoke.cont658 | |
%arrayidx664 = getelementptr inbounds [5 x double], [5 x double]* %cg_times, i64 0, i64 2 | |
%368 = load double, double* %arrayidx664, align 16 | |
%call667 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call659, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp660, double %368) | |
to label %invoke.cont666 unwind label %lpad665 | |
invoke.cont666: ; preds = %invoke.cont663 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp660) | |
to label %invoke.cont668 unwind label %lpad662 | |
invoke.cont668: ; preds = %invoke.cont666 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp661) #2 | |
%369 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%370 = bitcast %class.YAML_Doc* %369 to %class.YAML_Element* | |
%call673 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %370, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont672 unwind label %lpad455 | |
invoke.cont672: ; preds = %invoke.cont668 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp675) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp674, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.66, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp675) | |
to label %invoke.cont677 unwind label %lpad676 | |
invoke.cont677: ; preds = %invoke.cont672 | |
%371 = load double, double* %mv_flops, align 8 | |
%call680 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call673, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp674, double %371) | |
to label %invoke.cont679 unwind label %lpad678 | |
invoke.cont679: ; preds = %invoke.cont677 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp674) | |
to label %invoke.cont681 unwind label %lpad676 | |
invoke.cont681: ; preds = %invoke.cont679 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp675) #2 | |
%372 = load double, double* %mv_mflops, align 8 | |
%cmp685 = fcmp oge double %372, 0.000000e+00 | |
br i1 %cmp685, label %if.then686, label %if.else700 | |
if.then686: ; preds = %invoke.cont681 | |
%373 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%374 = bitcast %class.YAML_Doc* %373 to %class.YAML_Element* | |
%call688 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %374, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont687 unwind label %lpad455 | |
invoke.cont687: ; preds = %if.then686 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp690) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp689, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.67, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp690) | |
to label %invoke.cont692 unwind label %lpad691 | |
invoke.cont692: ; preds = %invoke.cont687 | |
%375 = load double, double* %mv_mflops, align 8 | |
%call695 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call688, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp689, double %375) | |
to label %invoke.cont694 unwind label %lpad693 | |
invoke.cont694: ; preds = %invoke.cont692 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp689) | |
to label %invoke.cont696 unwind label %lpad691 | |
invoke.cont696: ; preds = %invoke.cont694 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp690) #2 | |
br label %if.end722 | |
lpad662: ; preds = %invoke.cont666, %invoke.cont658 | |
%376 = landingpad { i8*, i32 } | |
cleanup | |
%377 = extractvalue { i8*, i32 } %376, 0 | |
store i8* %377, i8** %exn.slot, align 8 | |
%378 = extractvalue { i8*, i32 } %376, 1 | |
store i32 %378, i32* %ehselector.slot, align 4 | |
br label %ehcleanup671 | |
lpad665: ; preds = %invoke.cont663 | |
%379 = landingpad { i8*, i32 } | |
cleanup | |
%380 = extractvalue { i8*, i32 } %379, 0 | |
store i8* %380, i8** %exn.slot, align 8 | |
%381 = extractvalue { i8*, i32 } %379, 1 | |
store i32 %381, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp660) | |
to label %invoke.cont670 unwind label %terminate.lpad | |
invoke.cont670: ; preds = %lpad665 | |
br label %ehcleanup671 | |
ehcleanup671: ; preds = %invoke.cont670, %lpad662 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp661) #2 | |
br label %ehcleanup871 | |
lpad676: ; preds = %invoke.cont679, %invoke.cont672 | |
%382 = landingpad { i8*, i32 } | |
cleanup | |
%383 = extractvalue { i8*, i32 } %382, 0 | |
store i8* %383, i8** %exn.slot, align 8 | |
%384 = extractvalue { i8*, i32 } %382, 1 | |
store i32 %384, i32* %ehselector.slot, align 4 | |
br label %ehcleanup684 | |
lpad678: ; preds = %invoke.cont677 | |
%385 = landingpad { i8*, i32 } | |
cleanup | |
%386 = extractvalue { i8*, i32 } %385, 0 | |
store i8* %386, i8** %exn.slot, align 8 | |
%387 = extractvalue { i8*, i32 } %385, 1 | |
store i32 %387, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp674) | |
to label %invoke.cont683 unwind label %terminate.lpad | |
invoke.cont683: ; preds = %lpad678 | |
br label %ehcleanup684 | |
ehcleanup684: ; preds = %invoke.cont683, %lpad676 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp675) #2 | |
br label %ehcleanup871 | |
lpad691: ; preds = %invoke.cont694, %invoke.cont687 | |
%388 = landingpad { i8*, i32 } | |
cleanup | |
%389 = extractvalue { i8*, i32 } %388, 0 | |
store i8* %389, i8** %exn.slot, align 8 | |
%390 = extractvalue { i8*, i32 } %388, 1 | |
store i32 %390, i32* %ehselector.slot, align 4 | |
br label %ehcleanup699 | |
lpad693: ; preds = %invoke.cont692 | |
%391 = landingpad { i8*, i32 } | |
cleanup | |
%392 = extractvalue { i8*, i32 } %391, 0 | |
store i8* %392, i8** %exn.slot, align 8 | |
%393 = extractvalue { i8*, i32 } %391, 1 | |
store i32 %393, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp689) | |
to label %invoke.cont698 unwind label %terminate.lpad | |
invoke.cont698: ; preds = %lpad693 | |
br label %ehcleanup699 | |
ehcleanup699: ; preds = %invoke.cont698, %lpad691 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp690) #2 | |
br label %ehcleanup871 | |
if.else700: ; preds = %invoke.cont681 | |
%394 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%395 = bitcast %class.YAML_Doc* %394 to %class.YAML_Element* | |
%call702 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %395, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont701 unwind label %lpad455 | |
invoke.cont701: ; preds = %if.else700 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp704) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp703, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.67, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp704) | |
to label %invoke.cont706 unwind label %lpad705 | |
invoke.cont706: ; preds = %invoke.cont701 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp708) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp707, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.61, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp708) | |
to label %invoke.cont710 unwind label %lpad709 | |
invoke.cont710: ; preds = %invoke.cont706 | |
%call713 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call702, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp703, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp707) | |
to label %invoke.cont712 unwind label %lpad711 | |
invoke.cont712: ; preds = %invoke.cont710 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp707) | |
to label %invoke.cont714 unwind label %lpad709 | |
invoke.cont714: ; preds = %invoke.cont712 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp708) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp703) | |
to label %invoke.cont718 unwind label %lpad705 | |
invoke.cont718: ; preds = %invoke.cont714 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp704) #2 | |
br label %if.end722 | |
lpad705: ; preds = %invoke.cont714, %invoke.cont701 | |
%396 = landingpad { i8*, i32 } | |
cleanup | |
%397 = extractvalue { i8*, i32 } %396, 0 | |
store i8* %397, i8** %exn.slot, align 8 | |
%398 = extractvalue { i8*, i32 } %396, 1 | |
store i32 %398, i32* %ehselector.slot, align 4 | |
br label %ehcleanup721 | |
lpad709: ; preds = %invoke.cont712, %invoke.cont706 | |
%399 = landingpad { i8*, i32 } | |
cleanup | |
%400 = extractvalue { i8*, i32 } %399, 0 | |
store i8* %400, i8** %exn.slot, align 8 | |
%401 = extractvalue { i8*, i32 } %399, 1 | |
store i32 %401, i32* %ehselector.slot, align 4 | |
br label %ehcleanup717 | |
lpad711: ; preds = %invoke.cont710 | |
%402 = landingpad { i8*, i32 } | |
cleanup | |
%403 = extractvalue { i8*, i32 } %402, 0 | |
store i8* %403, i8** %exn.slot, align 8 | |
%404 = extractvalue { i8*, i32 } %402, 1 | |
store i32 %404, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp707) | |
to label %invoke.cont716 unwind label %terminate.lpad | |
invoke.cont716: ; preds = %lpad711 | |
br label %ehcleanup717 | |
ehcleanup717: ; preds = %invoke.cont716, %lpad709 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp708) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp703) | |
to label %invoke.cont720 unwind label %terminate.lpad | |
invoke.cont720: ; preds = %ehcleanup717 | |
br label %ehcleanup721 | |
ehcleanup721: ; preds = %invoke.cont720, %lpad705 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp704) #2 | |
br label %ehcleanup871 | |
if.end722: ; preds = %invoke.cont718, %invoke.cont696 | |
%405 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%406 = bitcast %class.YAML_Doc* %405 to %class.YAML_Element* | |
%call724 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %406, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont723 unwind label %lpad455 | |
invoke.cont723: ; preds = %if.end722 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp726) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp725, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.68, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp726) | |
to label %invoke.cont728 unwind label %lpad727 | |
invoke.cont728: ; preds = %invoke.cont723 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp730) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp729, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp730) | |
to label %invoke.cont732 unwind label %lpad731 | |
invoke.cont732: ; preds = %invoke.cont728 | |
%call735 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call724, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp725, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp729) | |
to label %invoke.cont734 unwind label %lpad733 | |
invoke.cont734: ; preds = %invoke.cont732 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp729) | |
to label %invoke.cont736 unwind label %lpad731 | |
invoke.cont736: ; preds = %invoke.cont734 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp730) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp725) | |
to label %invoke.cont740 unwind label %lpad727 | |
invoke.cont740: ; preds = %invoke.cont736 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp726) #2 | |
%407 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%408 = bitcast %class.YAML_Doc* %407 to %class.YAML_Element* | |
%call745 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %408, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont744 unwind label %lpad455 | |
invoke.cont744: ; preds = %invoke.cont740 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp747) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp746, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.68, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp747) | |
to label %invoke.cont749 unwind label %lpad748 | |
invoke.cont749: ; preds = %invoke.cont744 | |
%call752 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %call745, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp746) | |
to label %invoke.cont751 unwind label %lpad750 | |
invoke.cont751: ; preds = %invoke.cont749 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp754) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp753, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.69, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp754) | |
to label %invoke.cont756 unwind label %lpad755 | |
invoke.cont756: ; preds = %invoke.cont751 | |
%arrayidx757 = getelementptr inbounds [5 x double], [5 x double]* %cg_times, i64 0, i64 4 | |
%409 = load double, double* %arrayidx757, align 16 | |
%call760 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call752, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp753, double %409) | |
to label %invoke.cont759 unwind label %lpad758 | |
invoke.cont759: ; preds = %invoke.cont756 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp753) | |
to label %invoke.cont761 unwind label %lpad755 | |
invoke.cont761: ; preds = %invoke.cont759 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp754) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp746) | |
to label %invoke.cont765 unwind label %lpad748 | |
invoke.cont765: ; preds = %invoke.cont761 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp747) #2 | |
%410 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%411 = bitcast %class.YAML_Doc* %410 to %class.YAML_Element* | |
%call770 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %411, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont769 unwind label %lpad455 | |
invoke.cont769: ; preds = %invoke.cont765 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp772) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp771, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.68, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp772) | |
to label %invoke.cont774 unwind label %lpad773 | |
invoke.cont774: ; preds = %invoke.cont769 | |
%call777 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %call770, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp771) | |
to label %invoke.cont776 unwind label %lpad775 | |
invoke.cont776: ; preds = %invoke.cont774 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp779) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp778, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.70, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp779) | |
to label %invoke.cont781 unwind label %lpad780 | |
invoke.cont781: ; preds = %invoke.cont776 | |
%412 = load double, double* %total_flops, align 8 | |
%call784 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call777, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp778, double %412) | |
to label %invoke.cont783 unwind label %lpad782 | |
invoke.cont783: ; preds = %invoke.cont781 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp778) | |
to label %invoke.cont785 unwind label %lpad780 | |
invoke.cont785: ; preds = %invoke.cont783 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp779) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp771) | |
to label %invoke.cont789 unwind label %lpad773 | |
invoke.cont789: ; preds = %invoke.cont785 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp772) #2 | |
%413 = load double, double* %total_mflops, align 8 | |
%cmp793 = fcmp oge double %413, 0.000000e+00 | |
br i1 %cmp793, label %if.then794, label %if.else819 | |
if.then794: ; preds = %invoke.cont789 | |
%414 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%415 = bitcast %class.YAML_Doc* %414 to %class.YAML_Element* | |
%call796 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %415, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont795 unwind label %lpad455 | |
invoke.cont795: ; preds = %if.then794 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp798) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp797, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.68, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp798) | |
to label %invoke.cont800 unwind label %lpad799 | |
invoke.cont800: ; preds = %invoke.cont795 | |
%call803 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %call796, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp797) | |
to label %invoke.cont802 unwind label %lpad801 | |
invoke.cont802: ; preds = %invoke.cont800 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp805) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp804, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.71, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp805) | |
to label %invoke.cont807 unwind label %lpad806 | |
invoke.cont807: ; preds = %invoke.cont802 | |
%416 = load double, double* %total_mflops, align 8 | |
%call810 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call803, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp804, double %416) | |
to label %invoke.cont809 unwind label %lpad808 | |
invoke.cont809: ; preds = %invoke.cont807 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp804) | |
to label %invoke.cont811 unwind label %lpad806 | |
invoke.cont811: ; preds = %invoke.cont809 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp805) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp797) | |
to label %invoke.cont815 unwind label %lpad799 | |
invoke.cont815: ; preds = %invoke.cont811 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp798) #2 | |
br label %if.end852 | |
lpad727: ; preds = %invoke.cont736, %invoke.cont723 | |
%417 = landingpad { i8*, i32 } | |
cleanup | |
%418 = extractvalue { i8*, i32 } %417, 0 | |
store i8* %418, i8** %exn.slot, align 8 | |
%419 = extractvalue { i8*, i32 } %417, 1 | |
store i32 %419, i32* %ehselector.slot, align 4 | |
br label %ehcleanup743 | |
lpad731: ; preds = %invoke.cont734, %invoke.cont728 | |
%420 = landingpad { i8*, i32 } | |
cleanup | |
%421 = extractvalue { i8*, i32 } %420, 0 | |
store i8* %421, i8** %exn.slot, align 8 | |
%422 = extractvalue { i8*, i32 } %420, 1 | |
store i32 %422, i32* %ehselector.slot, align 4 | |
br label %ehcleanup739 | |
lpad733: ; preds = %invoke.cont732 | |
%423 = landingpad { i8*, i32 } | |
cleanup | |
%424 = extractvalue { i8*, i32 } %423, 0 | |
store i8* %424, i8** %exn.slot, align 8 | |
%425 = extractvalue { i8*, i32 } %423, 1 | |
store i32 %425, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp729) | |
to label %invoke.cont738 unwind label %terminate.lpad | |
invoke.cont738: ; preds = %lpad733 | |
br label %ehcleanup739 | |
ehcleanup739: ; preds = %invoke.cont738, %lpad731 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp730) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp725) | |
to label %invoke.cont742 unwind label %terminate.lpad | |
invoke.cont742: ; preds = %ehcleanup739 | |
br label %ehcleanup743 | |
ehcleanup743: ; preds = %invoke.cont742, %lpad727 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp726) #2 | |
br label %ehcleanup871 | |
lpad748: ; preds = %invoke.cont761, %invoke.cont744 | |
%426 = landingpad { i8*, i32 } | |
cleanup | |
%427 = extractvalue { i8*, i32 } %426, 0 | |
store i8* %427, i8** %exn.slot, align 8 | |
%428 = extractvalue { i8*, i32 } %426, 1 | |
store i32 %428, i32* %ehselector.slot, align 4 | |
br label %ehcleanup768 | |
lpad750: ; preds = %invoke.cont749 | |
%429 = landingpad { i8*, i32 } | |
cleanup | |
%430 = extractvalue { i8*, i32 } %429, 0 | |
store i8* %430, i8** %exn.slot, align 8 | |
%431 = extractvalue { i8*, i32 } %429, 1 | |
store i32 %431, i32* %ehselector.slot, align 4 | |
br label %ehcleanup766 | |
lpad755: ; preds = %invoke.cont759, %invoke.cont751 | |
%432 = landingpad { i8*, i32 } | |
cleanup | |
%433 = extractvalue { i8*, i32 } %432, 0 | |
store i8* %433, i8** %exn.slot, align 8 | |
%434 = extractvalue { i8*, i32 } %432, 1 | |
store i32 %434, i32* %ehselector.slot, align 4 | |
br label %ehcleanup764 | |
lpad758: ; preds = %invoke.cont756 | |
%435 = landingpad { i8*, i32 } | |
cleanup | |
%436 = extractvalue { i8*, i32 } %435, 0 | |
store i8* %436, i8** %exn.slot, align 8 | |
%437 = extractvalue { i8*, i32 } %435, 1 | |
store i32 %437, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp753) | |
to label %invoke.cont763 unwind label %terminate.lpad | |
invoke.cont763: ; preds = %lpad758 | |
br label %ehcleanup764 | |
ehcleanup764: ; preds = %invoke.cont763, %lpad755 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp754) #2 | |
br label %ehcleanup766 | |
ehcleanup766: ; preds = %ehcleanup764, %lpad750 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp746) | |
to label %invoke.cont767 unwind label %terminate.lpad | |
invoke.cont767: ; preds = %ehcleanup766 | |
br label %ehcleanup768 | |
ehcleanup768: ; preds = %invoke.cont767, %lpad748 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp747) #2 | |
br label %ehcleanup871 | |
lpad773: ; preds = %invoke.cont785, %invoke.cont769 | |
%438 = landingpad { i8*, i32 } | |
cleanup | |
%439 = extractvalue { i8*, i32 } %438, 0 | |
store i8* %439, i8** %exn.slot, align 8 | |
%440 = extractvalue { i8*, i32 } %438, 1 | |
store i32 %440, i32* %ehselector.slot, align 4 | |
br label %ehcleanup792 | |
lpad775: ; preds = %invoke.cont774 | |
%441 = landingpad { i8*, i32 } | |
cleanup | |
%442 = extractvalue { i8*, i32 } %441, 0 | |
store i8* %442, i8** %exn.slot, align 8 | |
%443 = extractvalue { i8*, i32 } %441, 1 | |
store i32 %443, i32* %ehselector.slot, align 4 | |
br label %ehcleanup790 | |
lpad780: ; preds = %invoke.cont783, %invoke.cont776 | |
%444 = landingpad { i8*, i32 } | |
cleanup | |
%445 = extractvalue { i8*, i32 } %444, 0 | |
store i8* %445, i8** %exn.slot, align 8 | |
%446 = extractvalue { i8*, i32 } %444, 1 | |
store i32 %446, i32* %ehselector.slot, align 4 | |
br label %ehcleanup788 | |
lpad782: ; preds = %invoke.cont781 | |
%447 = landingpad { i8*, i32 } | |
cleanup | |
%448 = extractvalue { i8*, i32 } %447, 0 | |
store i8* %448, i8** %exn.slot, align 8 | |
%449 = extractvalue { i8*, i32 } %447, 1 | |
store i32 %449, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp778) | |
to label %invoke.cont787 unwind label %terminate.lpad | |
invoke.cont787: ; preds = %lpad782 | |
br label %ehcleanup788 | |
ehcleanup788: ; preds = %invoke.cont787, %lpad780 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp779) #2 | |
br label %ehcleanup790 | |
ehcleanup790: ; preds = %ehcleanup788, %lpad775 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp771) | |
to label %invoke.cont791 unwind label %terminate.lpad | |
invoke.cont791: ; preds = %ehcleanup790 | |
br label %ehcleanup792 | |
ehcleanup792: ; preds = %invoke.cont791, %lpad773 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp772) #2 | |
br label %ehcleanup871 | |
lpad799: ; preds = %invoke.cont811, %invoke.cont795 | |
%450 = landingpad { i8*, i32 } | |
cleanup | |
%451 = extractvalue { i8*, i32 } %450, 0 | |
store i8* %451, i8** %exn.slot, align 8 | |
%452 = extractvalue { i8*, i32 } %450, 1 | |
store i32 %452, i32* %ehselector.slot, align 4 | |
br label %ehcleanup818 | |
lpad801: ; preds = %invoke.cont800 | |
%453 = landingpad { i8*, i32 } | |
cleanup | |
%454 = extractvalue { i8*, i32 } %453, 0 | |
store i8* %454, i8** %exn.slot, align 8 | |
%455 = extractvalue { i8*, i32 } %453, 1 | |
store i32 %455, i32* %ehselector.slot, align 4 | |
br label %ehcleanup816 | |
lpad806: ; preds = %invoke.cont809, %invoke.cont802 | |
%456 = landingpad { i8*, i32 } | |
cleanup | |
%457 = extractvalue { i8*, i32 } %456, 0 | |
store i8* %457, i8** %exn.slot, align 8 | |
%458 = extractvalue { i8*, i32 } %456, 1 | |
store i32 %458, i32* %ehselector.slot, align 4 | |
br label %ehcleanup814 | |
lpad808: ; preds = %invoke.cont807 | |
%459 = landingpad { i8*, i32 } | |
cleanup | |
%460 = extractvalue { i8*, i32 } %459, 0 | |
store i8* %460, i8** %exn.slot, align 8 | |
%461 = extractvalue { i8*, i32 } %459, 1 | |
store i32 %461, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp804) | |
to label %invoke.cont813 unwind label %terminate.lpad | |
invoke.cont813: ; preds = %lpad808 | |
br label %ehcleanup814 | |
ehcleanup814: ; preds = %invoke.cont813, %lpad806 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp805) #2 | |
br label %ehcleanup816 | |
ehcleanup816: ; preds = %ehcleanup814, %lpad801 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp797) | |
to label %invoke.cont817 unwind label %terminate.lpad | |
invoke.cont817: ; preds = %ehcleanup816 | |
br label %ehcleanup818 | |
ehcleanup818: ; preds = %invoke.cont817, %lpad799 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp798) #2 | |
br label %ehcleanup871 | |
if.else819: ; preds = %invoke.cont789 | |
%462 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%463 = bitcast %class.YAML_Doc* %462 to %class.YAML_Element* | |
%call821 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %463, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont820 unwind label %lpad455 | |
invoke.cont820: ; preds = %if.else819 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp823) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp822, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.68, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp823) | |
to label %invoke.cont825 unwind label %lpad824 | |
invoke.cont825: ; preds = %invoke.cont820 | |
%call828 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %call821, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp822) | |
to label %invoke.cont827 unwind label %lpad826 | |
invoke.cont827: ; preds = %invoke.cont825 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp830) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp829, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.71, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp830) | |
to label %invoke.cont832 unwind label %lpad831 | |
invoke.cont832: ; preds = %invoke.cont827 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp834) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp833, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.61, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp834) | |
to label %invoke.cont836 unwind label %lpad835 | |
invoke.cont836: ; preds = %invoke.cont832 | |
%call839 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %call828, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp829, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp833) | |
to label %invoke.cont838 unwind label %lpad837 | |
invoke.cont838: ; preds = %invoke.cont836 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp833) | |
to label %invoke.cont840 unwind label %lpad835 | |
invoke.cont840: ; preds = %invoke.cont838 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp834) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp829) | |
to label %invoke.cont844 unwind label %lpad831 | |
invoke.cont844: ; preds = %invoke.cont840 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp830) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp822) | |
to label %invoke.cont848 unwind label %lpad824 | |
invoke.cont848: ; preds = %invoke.cont844 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp823) #2 | |
br label %if.end852 | |
lpad824: ; preds = %invoke.cont844, %invoke.cont820 | |
%464 = landingpad { i8*, i32 } | |
cleanup | |
%465 = extractvalue { i8*, i32 } %464, 0 | |
store i8* %465, i8** %exn.slot, align 8 | |
%466 = extractvalue { i8*, i32 } %464, 1 | |
store i32 %466, i32* %ehselector.slot, align 4 | |
br label %ehcleanup851 | |
lpad826: ; preds = %invoke.cont825 | |
%467 = landingpad { i8*, i32 } | |
cleanup | |
%468 = extractvalue { i8*, i32 } %467, 0 | |
store i8* %468, i8** %exn.slot, align 8 | |
%469 = extractvalue { i8*, i32 } %467, 1 | |
store i32 %469, i32* %ehselector.slot, align 4 | |
br label %ehcleanup849 | |
lpad831: ; preds = %invoke.cont840, %invoke.cont827 | |
%470 = landingpad { i8*, i32 } | |
cleanup | |
%471 = extractvalue { i8*, i32 } %470, 0 | |
store i8* %471, i8** %exn.slot, align 8 | |
%472 = extractvalue { i8*, i32 } %470, 1 | |
store i32 %472, i32* %ehselector.slot, align 4 | |
br label %ehcleanup847 | |
lpad835: ; preds = %invoke.cont838, %invoke.cont832 | |
%473 = landingpad { i8*, i32 } | |
cleanup | |
%474 = extractvalue { i8*, i32 } %473, 0 | |
store i8* %474, i8** %exn.slot, align 8 | |
%475 = extractvalue { i8*, i32 } %473, 1 | |
store i32 %475, i32* %ehselector.slot, align 4 | |
br label %ehcleanup843 | |
lpad837: ; preds = %invoke.cont836 | |
%476 = landingpad { i8*, i32 } | |
cleanup | |
%477 = extractvalue { i8*, i32 } %476, 0 | |
store i8* %477, i8** %exn.slot, align 8 | |
%478 = extractvalue { i8*, i32 } %476, 1 | |
store i32 %478, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp833) | |
to label %invoke.cont842 unwind label %terminate.lpad | |
invoke.cont842: ; preds = %lpad837 | |
br label %ehcleanup843 | |
ehcleanup843: ; preds = %invoke.cont842, %lpad835 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp834) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp829) | |
to label %invoke.cont846 unwind label %terminate.lpad | |
invoke.cont846: ; preds = %ehcleanup843 | |
br label %ehcleanup847 | |
ehcleanup847: ; preds = %invoke.cont846, %lpad831 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp830) #2 | |
br label %ehcleanup849 | |
ehcleanup849: ; preds = %ehcleanup847, %lpad826 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp822) | |
to label %invoke.cont850 unwind label %terminate.lpad | |
invoke.cont850: ; preds = %ehcleanup849 | |
br label %ehcleanup851 | |
ehcleanup851: ; preds = %invoke.cont850, %lpad824 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp823) #2 | |
br label %ehcleanup871 | |
if.end852: ; preds = %invoke.cont848, %invoke.cont815 | |
%479 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%480 = bitcast %class.YAML_Doc* %479 to %class.YAML_Element* | |
%call854 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %480, %"class.std::__cxx11::basic_string"* dereferenceable(32) %title) | |
to label %invoke.cont853 unwind label %lpad455 | |
invoke.cont853: ; preds = %if.end852 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp856) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp855, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.72, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp856) | |
to label %invoke.cont858 unwind label %lpad857 | |
invoke.cont858: ; preds = %invoke.cont853 | |
%arrayidx859 = getelementptr inbounds [5 x double], [5 x double]* %cg_times, i64 0, i64 4 | |
%481 = load double, double* %arrayidx859, align 16 | |
%482 = load i32, i32* %num_iters, align 4 | |
%conv860 = sitofp i32 %482 to double | |
%div861 = fdiv double %481, %conv860 | |
%call864 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call854, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp855, double %div861) | |
to label %invoke.cont863 unwind label %lpad862 | |
invoke.cont863: ; preds = %invoke.cont858 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp855) | |
to label %invoke.cont865 unwind label %lpad857 | |
invoke.cont865: ; preds = %invoke.cont863 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp856) #2 | |
br label %if.end869 | |
lpad857: ; preds = %invoke.cont863, %invoke.cont853 | |
%483 = landingpad { i8*, i32 } | |
cleanup | |
%484 = extractvalue { i8*, i32 } %483, 0 | |
store i8* %484, i8** %exn.slot, align 8 | |
%485 = extractvalue { i8*, i32 } %483, 1 | |
store i32 %485, i32* %ehselector.slot, align 4 | |
br label %ehcleanup868 | |
lpad862: ; preds = %invoke.cont858 | |
%486 = landingpad { i8*, i32 } | |
cleanup | |
%487 = extractvalue { i8*, i32 } %486, 0 | |
store i8* %487, i8** %exn.slot, align 8 | |
%488 = extractvalue { i8*, i32 } %486, 1 | |
store i32 %488, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp855) | |
to label %invoke.cont867 unwind label %terminate.lpad | |
invoke.cont867: ; preds = %lpad862 | |
br label %ehcleanup868 | |
ehcleanup868: ; preds = %invoke.cont867, %lpad857 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp856) #2 | |
br label %ehcleanup871 | |
if.end869: ; preds = %invoke.cont865, %invoke.cont341 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %title) | |
to label %invoke.cont870 unwind label %lpad77 | |
invoke.cont870: ; preds = %if.end869 | |
invoke void @_ZN6miniFE6VectorIdiiED2Ev(%"struct.miniFE::Vector"* %x) | |
to label %invoke.cont873 unwind label %lpad69 | |
invoke.cont873: ; preds = %invoke.cont870 | |
invoke void @_ZN6miniFE6VectorIdiiED2Ev(%"struct.miniFE::Vector"* %b) | |
to label %invoke.cont876 unwind label %lpad36 | |
invoke.cont876: ; preds = %invoke.cont873 | |
invoke void @_ZN6miniFE9CSRMatrixIdiiED2Ev(%"struct.miniFE::CSRMatrix"* %A) | |
to label %invoke.cont879 unwind label %lpad | |
invoke.cont879: ; preds = %invoke.cont876 | |
call void @_ZN6miniFE23simple_mesh_descriptionIiED2Ev(%"class.miniFE::simple_mesh_description"* %mesh) | |
ret void | |
ehcleanup871: ; preds = %ehcleanup868, %ehcleanup851, %ehcleanup818, %ehcleanup792, %ehcleanup768, %ehcleanup743, %ehcleanup721, %ehcleanup699, %ehcleanup684, %ehcleanup671, %ehcleanup656, %ehcleanup634, %ehcleanup619, %ehcleanup606, %ehcleanup591, %ehcleanup569, %ehcleanup554, %ehcleanup541, %ehcleanup481, %ehcleanup468, %lpad455, %ehcleanup454, %ehcleanup443, %ehcleanup410, %ehcleanup377 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %title) | |
to label %invoke.cont872 unwind label %terminate.lpad | |
invoke.cont872: ; preds = %ehcleanup871 | |
br label %ehcleanup874 | |
ehcleanup874: ; preds = %invoke.cont872, %lpad340, %ehcleanup184, %ehcleanup162, %ehcleanup143, %ehcleanup121, %lpad77 | |
invoke void @_ZN6miniFE6VectorIdiiED2Ev(%"struct.miniFE::Vector"* %x) | |
to label %invoke.cont875 unwind label %terminate.lpad | |
invoke.cont875: ; preds = %ehcleanup874 | |
br label %ehcleanup877 | |
ehcleanup877: ; preds = %invoke.cont875, %lpad69 | |
invoke void @_ZN6miniFE6VectorIdiiED2Ev(%"struct.miniFE::Vector"* %b) | |
to label %invoke.cont878 unwind label %terminate.lpad | |
invoke.cont878: ; preds = %ehcleanup877 | |
br label %ehcleanup880 | |
ehcleanup880: ; preds = %invoke.cont878, %lpad36 | |
invoke void @_ZN6miniFE9CSRMatrixIdiiED2Ev(%"struct.miniFE::CSRMatrix"* %A) | |
to label %invoke.cont881 unwind label %terminate.lpad | |
invoke.cont881: ; preds = %ehcleanup880 | |
br label %ehcleanup882 | |
ehcleanup882: ; preds = %invoke.cont881, %lpad | |
invoke void @_ZN6miniFE23simple_mesh_descriptionIiED2Ev(%"class.miniFE::simple_mesh_description"* %mesh) | |
to label %invoke.cont883 unwind label %terminate.lpad | |
invoke.cont883: ; preds = %ehcleanup882 | |
br label %eh.resume | |
eh.resume: ; preds = %invoke.cont883 | |
%exn = load i8*, i8** %exn.slot, align 8 | |
%sel = load i32, i32* %ehselector.slot, align 4 | |
%lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 | |
%lpad.val884 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 | |
resume { i8*, i32 } %lpad.val884 | |
terminate.lpad: ; preds = %ehcleanup882, %ehcleanup880, %ehcleanup877, %ehcleanup874, %ehcleanup871, %lpad862, %ehcleanup849, %ehcleanup843, %lpad837, %ehcleanup816, %lpad808, %ehcleanup790, %lpad782, %ehcleanup766, %lpad758, %ehcleanup739, %lpad733, %ehcleanup717, %lpad711, %lpad693, %lpad678, %lpad665, %ehcleanup652, %lpad646, %lpad628, %lpad613, %lpad600, %ehcleanup587, %lpad581, %lpad563, %lpad548, %lpad535, %lpad475, %lpad462, %lpad448, %ehcleanup441, %ehcleanup437, %lpad429, %ehcleanup408, %ehcleanup404, %lpad396, %ehcleanup375, %ehcleanup371, %lpad363, %ehcleanup182, %lpad174, %ehcleanup158, %lpad152, %ehcleanup141, %lpad133, %ehcleanup, %lpad113 | |
%489 = landingpad { i8*, i32 } | |
catch i8* null | |
%490 = extractvalue { i8*, i32 } %489, 0 | |
call void @__clang_call_terminate(i8* %490) #13 | |
unreachable | |
} | |
declare %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element*, %"class.std::__cxx11::basic_string"* dereferenceable(32), double) #1 | |
declare void @_ZN8YAML_Doc12generateYAMLB5cxx11Ev(%"class.std::__cxx11::basic_string"* sret, %class.YAML_Doc*) #1 | |
declare void @_ZN6miniFE12finalize_mpiEv() #1 | |
declare void @_ZN8YAML_DocD1Ev(%class.YAML_Doc*) unnamed_addr #1 | |
declare void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_ostringstream"*) unnamed_addr #1 | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZNSt6vectorI3BoxSaIS0_EED2Ev(%"class.std::vector"* %this) unnamed_addr #3 comdat align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%this.addr = alloca %"class.std::vector"*, align 8 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 8 | |
%this1 = load %"class.std::vector"*, %"class.std::vector"** %this.addr, align 8 | |
%0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"* | |
%_M_impl = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %0, i32 0, i32 0 | |
%_M_start = getelementptr inbounds %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl", %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl, i32 0, i32 0 | |
%1 = load %struct.Box*, %struct.Box** %_M_start, align 8 | |
%2 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"* | |
%_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %2, i32 0, i32 0 | |
%_M_finish = getelementptr inbounds %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl", %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl2, i32 0, i32 1 | |
%3 = load %struct.Box*, %struct.Box** %_M_finish, align 8 | |
%4 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"* | |
%call = invoke dereferenceable(1) %"class.std::allocator.0"* @_ZNSt12_Vector_baseI3BoxSaIS0_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %4) | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %entry | |
invoke void @_ZSt8_DestroyIP3BoxS0_EvT_S2_RSaIT0_E(%struct.Box* %1, %struct.Box* %3, %"class.std::allocator.0"* dereferenceable(1) %call) | |
to label %invoke.cont3 unwind label %lpad | |
invoke.cont3: ; preds = %invoke.cont | |
%5 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"* | |
call void @_ZNSt12_Vector_baseI3BoxSaIS0_EED2Ev(%"struct.std::_Vector_base"* %5) | |
ret void | |
lpad: ; preds = %invoke.cont, %entry | |
%6 = landingpad { i8*, i32 } | |
cleanup | |
%7 = extractvalue { i8*, i32 } %6, 0 | |
store i8* %7, i8** %exn.slot, align 8 | |
%8 = extractvalue { i8*, i32 } %6, 1 | |
store i32 %8, i32* %ehselector.slot, align 4 | |
%9 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"* | |
invoke void @_ZNSt12_Vector_baseI3BoxSaIS0_EED2Ev(%"struct.std::_Vector_base"* %9) | |
to label %invoke.cont4 unwind label %terminate.lpad | |
invoke.cont4: ; preds = %lpad | |
br label %eh.resume | |
eh.resume: ; preds = %invoke.cont4 | |
%exn = load i8*, i8** %exn.slot, align 8 | |
%sel = load i32, i32* %ehselector.slot, align 4 | |
%lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 | |
%lpad.val5 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 | |
resume { i8*, i32 } %lpad.val5 | |
terminate.lpad: ; preds = %lpad | |
%10 = landingpad { i8*, i32 } | |
catch i8* null | |
%11 = extractvalue { i8*, i32 } %10, 0 | |
call void @__clang_call_terminate(i8* %11) #13 | |
unreachable | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZN6miniFE10ParametersD2Ev(%"struct.miniFE::Parameters"* %this) unnamed_addr #3 comdat align 2 { | |
entry: | |
%this.addr = alloca %"struct.miniFE::Parameters"*, align 8 | |
store %"struct.miniFE::Parameters"* %this, %"struct.miniFE::Parameters"** %this.addr, align 8 | |
%this1 = load %"struct.miniFE::Parameters"*, %"struct.miniFE::Parameters"** %this.addr, align 8 | |
%name = getelementptr inbounds %"struct.miniFE::Parameters", %"struct.miniFE::Parameters"* %this1, i32 0, i32 8 | |
call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %name) | |
ret void | |
} | |
declare %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element*, %"class.std::__cxx11::basic_string"* dereferenceable(32), %"class.std::__cxx11::basic_string"* dereferenceable(32)) #1 | |
declare %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element*, %"class.std::__cxx11::basic_string"* dereferenceable(32)) #1 | |
declare %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(%class.YAML_Element*, %"class.std::__cxx11::basic_string"* dereferenceable(32), i32) #1 | |
; Function Attrs: nounwind | |
declare i64 @time(i64*) #7 | |
; Function Attrs: nounwind | |
declare %struct.tm* @localtime(i64*) #7 | |
declare signext i8 @_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc(%"class.std::basic_ios"*, i8 signext) #1 | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr i64 @_ZNSt8ios_base5widthEl(%"class.std::ios_base"* %this, i64 %__wide) #4 comdat align 2 { | |
entry: | |
%this.addr = alloca %"class.std::ios_base"*, align 8 | |
%__wide.addr = alloca i64, align 8 | |
%__old = alloca i64, align 8 | |
store %"class.std::ios_base"* %this, %"class.std::ios_base"** %this.addr, align 8 | |
store i64 %__wide, i64* %__wide.addr, align 8 | |
%this1 = load %"class.std::ios_base"*, %"class.std::ios_base"** %this.addr, align 8 | |
%_M_width = getelementptr inbounds %"class.std::ios_base", %"class.std::ios_base"* %this1, i32 0, i32 2 | |
%0 = load i64, i64* %_M_width, align 8 | |
store i64 %0, i64* %__old, align 8 | |
%1 = load i64, i64* %__wide.addr, align 8 | |
%_M_width2 = getelementptr inbounds %"class.std::ios_base", %"class.std::ios_base"* %this1, i32 0, i32 2 | |
store i64 %1, i64* %_M_width2, align 8 | |
%2 = load i64, i64* %__old, align 8 | |
ret i64 %2 | |
} | |
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(%"class.std::__cxx11::basic_string"*) unnamed_addr #1 | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorI3BoxEC2Ev(%"class.__gnu_cxx::new_allocator.1"* %this) unnamed_addr #4 comdat align 2 { | |
entry: | |
%this.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 8 | |
store %"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 8 | |
%this1 = load %"class.__gnu_cxx::new_allocator.1"*, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 8 | |
ret void | |
} | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorI3BoxED2Ev(%"class.__gnu_cxx::new_allocator.1"* %this) unnamed_addr #4 comdat align 2 { | |
entry: | |
%this.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 8 | |
store %"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 8 | |
%this1 = load %"class.__gnu_cxx::new_allocator.1"*, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 8 | |
ret void | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZNSt12_Vector_baseI3BoxSaIS0_EEC2EmRKS1_(%"struct.std::_Vector_base"* %this, i64 %__n, %"class.std::allocator.0"* dereferenceable(1) %__a) unnamed_addr #3 comdat align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%this.addr = alloca %"struct.std::_Vector_base"*, align 8 | |
%__n.addr = alloca i64, align 8 | |
%__a.addr = alloca %"class.std::allocator.0"*, align 8 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
store %"struct.std::_Vector_base"* %this, %"struct.std::_Vector_base"** %this.addr, align 8 | |
store i64 %__n, i64* %__n.addr, align 8 | |
store %"class.std::allocator.0"* %__a, %"class.std::allocator.0"** %__a.addr, align 8 | |
%this1 = load %"struct.std::_Vector_base"*, %"struct.std::_Vector_base"** %this.addr, align 8 | |
%_M_impl = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %this1, i32 0, i32 0 | |
%0 = load %"class.std::allocator.0"*, %"class.std::allocator.0"** %__a.addr, align 8 | |
call void @_ZNSt12_Vector_baseI3BoxSaIS0_EE12_Vector_implC2ERKS1_(%"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl, %"class.std::allocator.0"* dereferenceable(1) %0) | |
%1 = load i64, i64* %__n.addr, align 8 | |
invoke void @_ZNSt12_Vector_baseI3BoxSaIS0_EE17_M_create_storageEm(%"struct.std::_Vector_base"* %this1, i64 %1) | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %entry | |
ret void | |
lpad: ; preds = %entry | |
%2 = landingpad { i8*, i32 } | |
cleanup | |
%3 = extractvalue { i8*, i32 } %2, 0 | |
store i8* %3, i8** %exn.slot, align 8 | |
%4 = extractvalue { i8*, i32 } %2, 1 | |
store i32 %4, i32* %ehselector.slot, align 4 | |
call void @_ZNSt12_Vector_baseI3BoxSaIS0_EE12_Vector_implD2Ev(%"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl) #2 | |
br label %eh.resume | |
eh.resume: ; preds = %lpad | |
%exn = load i8*, i8** %exn.slot, align 8 | |
%sel = load i32, i32* %ehselector.slot, align 4 | |
%lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 | |
%lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 | |
resume { i8*, i32 } %lpad.val2 | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZNSt6vectorI3BoxSaIS0_EE18_M_fill_initializeEmRKS0_(%"class.std::vector"* %this, i64 %__n, %struct.Box* dereferenceable(24) %__value) #3 comdat align 2 { | |
entry: | |
%this.addr = alloca %"class.std::vector"*, align 8 | |
%__n.addr = alloca i64, align 8 | |
%__value.addr = alloca %struct.Box*, align 8 | |
store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 8 | |
store i64 %__n, i64* %__n.addr, align 8 | |
store %struct.Box* %__value, %struct.Box** %__value.addr, align 8 | |
%this1 = load %"class.std::vector"*, %"class.std::vector"** %this.addr, align 8 | |
%0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"* | |
%_M_impl = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %0, i32 0, i32 0 | |
%_M_start = getelementptr inbounds %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl", %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl, i32 0, i32 0 | |
%1 = load %struct.Box*, %struct.Box** %_M_start, align 8 | |
%2 = load i64, i64* %__n.addr, align 8 | |
%3 = load %struct.Box*, %struct.Box** %__value.addr, align 8 | |
%4 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"* | |
%call = call dereferenceable(1) %"class.std::allocator.0"* @_ZNSt12_Vector_baseI3BoxSaIS0_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %4) | |
%call2 = call %struct.Box* @_ZSt24__uninitialized_fill_n_aIP3BoxmS0_S0_ET_S2_T0_RKT1_RSaIT2_E(%struct.Box* %1, i64 %2, %struct.Box* dereferenceable(24) %3, %"class.std::allocator.0"* dereferenceable(1) %call) | |
%5 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"* | |
%_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %5, i32 0, i32 0 | |
%_M_finish = getelementptr inbounds %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl", %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl3, i32 0, i32 1 | |
store %struct.Box* %call2, %struct.Box** %_M_finish, align 8 | |
ret void | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZNSt12_Vector_baseI3BoxSaIS0_EED2Ev(%"struct.std::_Vector_base"* %this) unnamed_addr #3 comdat align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%this.addr = alloca %"struct.std::_Vector_base"*, align 8 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
store %"struct.std::_Vector_base"* %this, %"struct.std::_Vector_base"** %this.addr, align 8 | |
%this1 = load %"struct.std::_Vector_base"*, %"struct.std::_Vector_base"** %this.addr, align 8 | |
%_M_impl = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %this1, i32 0, i32 0 | |
%_M_start = getelementptr inbounds %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl", %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl, i32 0, i32 0 | |
%0 = load %struct.Box*, %struct.Box** %_M_start, align 8 | |
%_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %this1, i32 0, i32 0 | |
%_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl", %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl2, i32 0, i32 2 | |
%1 = load %struct.Box*, %struct.Box** %_M_end_of_storage, align 8 | |
%_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %this1, i32 0, i32 0 | |
%_M_start4 = getelementptr inbounds %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl", %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl3, i32 0, i32 0 | |
%2 = load %struct.Box*, %struct.Box** %_M_start4, align 8 | |
%sub.ptr.lhs.cast = ptrtoint %struct.Box* %1 to i64 | |
%sub.ptr.rhs.cast = ptrtoint %struct.Box* %2 to i64 | |
%sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast | |
%sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 24 | |
invoke void @_ZNSt12_Vector_baseI3BoxSaIS0_EE13_M_deallocateEPS0_m(%"struct.std::_Vector_base"* %this1, %struct.Box* %0, i64 %sub.ptr.div) | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %entry | |
%_M_impl5 = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %this1, i32 0, i32 0 | |
call void @_ZNSt12_Vector_baseI3BoxSaIS0_EE12_Vector_implD2Ev(%"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl5) #2 | |
ret void | |
lpad: ; preds = %entry | |
%3 = landingpad { i8*, i32 } | |
cleanup | |
%4 = extractvalue { i8*, i32 } %3, 0 | |
store i8* %4, i8** %exn.slot, align 8 | |
%5 = extractvalue { i8*, i32 } %3, 1 | |
store i32 %5, i32* %ehselector.slot, align 4 | |
%_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %this1, i32 0, i32 0 | |
call void @_ZNSt12_Vector_baseI3BoxSaIS0_EE12_Vector_implD2Ev(%"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl6) #2 | |
br label %eh.resume | |
eh.resume: ; preds = %lpad | |
%exn = load i8*, i8** %exn.slot, align 8 | |
%sel = load i32, i32* %ehselector.slot, align 4 | |
%lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 | |
%lpad.val7 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 | |
resume { i8*, i32 } %lpad.val7 | |
} | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr void @_ZNSt12_Vector_baseI3BoxSaIS0_EE12_Vector_implC2ERKS1_(%"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %this, %"class.std::allocator.0"* dereferenceable(1) %__a) unnamed_addr #4 comdat align 2 { | |
entry: | |
%this.addr = alloca %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"*, align 8 | |
%__a.addr = alloca %"class.std::allocator.0"*, align 8 | |
store %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %this, %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"** %this.addr, align 8 | |
store %"class.std::allocator.0"* %__a, %"class.std::allocator.0"** %__a.addr, align 8 | |
%this1 = load %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"*, %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"** %this.addr, align 8 | |
%0 = bitcast %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %this1 to %"class.std::allocator.0"* | |
%1 = load %"class.std::allocator.0"*, %"class.std::allocator.0"** %__a.addr, align 8 | |
call void @_ZNSaI3BoxEC2ERKS0_(%"class.std::allocator.0"* %0, %"class.std::allocator.0"* dereferenceable(1) %1) #2 | |
%_M_start = getelementptr inbounds %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl", %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %this1, i32 0, i32 0 | |
store %struct.Box* null, %struct.Box** %_M_start, align 8 | |
%_M_finish = getelementptr inbounds %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl", %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %this1, i32 0, i32 1 | |
store %struct.Box* null, %struct.Box** %_M_finish, align 8 | |
%_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl", %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %this1, i32 0, i32 2 | |
store %struct.Box* null, %struct.Box** %_M_end_of_storage, align 8 | |
ret void | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZNSt12_Vector_baseI3BoxSaIS0_EE17_M_create_storageEm(%"struct.std::_Vector_base"* %this, i64 %__n) #3 comdat align 2 { | |
entry: | |
%this.addr = alloca %"struct.std::_Vector_base"*, align 8 | |
%__n.addr = alloca i64, align 8 | |
store %"struct.std::_Vector_base"* %this, %"struct.std::_Vector_base"** %this.addr, align 8 | |
store i64 %__n, i64* %__n.addr, align 8 | |
%this1 = load %"struct.std::_Vector_base"*, %"struct.std::_Vector_base"** %this.addr, align 8 | |
%0 = load i64, i64* %__n.addr, align 8 | |
%call = call %struct.Box* @_ZNSt12_Vector_baseI3BoxSaIS0_EE11_M_allocateEm(%"struct.std::_Vector_base"* %this1, i64 %0) | |
%_M_impl = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %this1, i32 0, i32 0 | |
%_M_start = getelementptr inbounds %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl", %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl, i32 0, i32 0 | |
store %struct.Box* %call, %struct.Box** %_M_start, align 8 | |
%_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %this1, i32 0, i32 0 | |
%_M_start3 = getelementptr inbounds %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl", %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl2, i32 0, i32 0 | |
%1 = load %struct.Box*, %struct.Box** %_M_start3, align 8 | |
%_M_impl4 = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %this1, i32 0, i32 0 | |
%_M_finish = getelementptr inbounds %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl", %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl4, i32 0, i32 1 | |
store %struct.Box* %1, %struct.Box** %_M_finish, align 8 | |
%_M_impl5 = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %this1, i32 0, i32 0 | |
%_M_start6 = getelementptr inbounds %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl", %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl5, i32 0, i32 0 | |
%2 = load %struct.Box*, %struct.Box** %_M_start6, align 8 | |
%3 = load i64, i64* %__n.addr, align 8 | |
%add.ptr = getelementptr inbounds %struct.Box, %struct.Box* %2, i64 %3 | |
%_M_impl7 = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %this1, i32 0, i32 0 | |
%_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl", %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl7, i32 0, i32 2 | |
store %struct.Box* %add.ptr, %struct.Box** %_M_end_of_storage, align 8 | |
ret void | |
} | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr void @_ZNSt12_Vector_baseI3BoxSaIS0_EE12_Vector_implD2Ev(%"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %this) unnamed_addr #4 comdat align 2 { | |
entry: | |
%this.addr = alloca %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"*, align 8 | |
store %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %this, %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"** %this.addr, align 8 | |
%this1 = load %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"*, %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"** %this.addr, align 8 | |
%0 = bitcast %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %this1 to %"class.std::allocator.0"* | |
call void @_ZNSaI3BoxED2Ev(%"class.std::allocator.0"* %0) #2 | |
ret void | |
} | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr void @_ZNSaI3BoxEC2ERKS0_(%"class.std::allocator.0"* %this, %"class.std::allocator.0"* dereferenceable(1) %__a) unnamed_addr #4 comdat align 2 { | |
entry: | |
%this.addr = alloca %"class.std::allocator.0"*, align 8 | |
%__a.addr = alloca %"class.std::allocator.0"*, align 8 | |
store %"class.std::allocator.0"* %this, %"class.std::allocator.0"** %this.addr, align 8 | |
store %"class.std::allocator.0"* %__a, %"class.std::allocator.0"** %__a.addr, align 8 | |
%this1 = load %"class.std::allocator.0"*, %"class.std::allocator.0"** %this.addr, align 8 | |
%0 = bitcast %"class.std::allocator.0"* %this1 to %"class.__gnu_cxx::new_allocator.1"* | |
%1 = load %"class.std::allocator.0"*, %"class.std::allocator.0"** %__a.addr, align 8 | |
%2 = bitcast %"class.std::allocator.0"* %1 to %"class.__gnu_cxx::new_allocator.1"* | |
call void @_ZN9__gnu_cxx13new_allocatorI3BoxEC2ERKS2_(%"class.__gnu_cxx::new_allocator.1"* %0, %"class.__gnu_cxx::new_allocator.1"* dereferenceable(1) %2) #2 | |
ret void | |
} | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorI3BoxEC2ERKS2_(%"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"* dereferenceable(1)) unnamed_addr #4 comdat align 2 { | |
entry: | |
%this.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 8 | |
%.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 8 | |
store %"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 8 | |
store %"class.__gnu_cxx::new_allocator.1"* %0, %"class.__gnu_cxx::new_allocator.1"** %.addr, align 8 | |
%this1 = load %"class.__gnu_cxx::new_allocator.1"*, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 8 | |
ret void | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr %struct.Box* @_ZNSt12_Vector_baseI3BoxSaIS0_EE11_M_allocateEm(%"struct.std::_Vector_base"* %this, i64 %__n) #3 comdat align 2 { | |
entry: | |
%this.addr = alloca %"struct.std::_Vector_base"*, align 8 | |
%__n.addr = alloca i64, align 8 | |
store %"struct.std::_Vector_base"* %this, %"struct.std::_Vector_base"** %this.addr, align 8 | |
store i64 %__n, i64* %__n.addr, align 8 | |
%this1 = load %"struct.std::_Vector_base"*, %"struct.std::_Vector_base"** %this.addr, align 8 | |
%0 = load i64, i64* %__n.addr, align 8 | |
%cmp = icmp ne i64 %0, 0 | |
br i1 %cmp, label %cond.true, label %cond.false | |
cond.true: ; preds = %entry | |
%_M_impl = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %this1, i32 0, i32 0 | |
%1 = bitcast %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl to %"class.std::allocator.0"* | |
%2 = load i64, i64* %__n.addr, align 8 | |
%call = call %struct.Box* @_ZN9__gnu_cxx14__alloc_traitsISaI3BoxEE8allocateERS2_m(%"class.std::allocator.0"* dereferenceable(1) %1, i64 %2) | |
br label %cond.end | |
cond.false: ; preds = %entry | |
br label %cond.end | |
cond.end: ; preds = %cond.false, %cond.true | |
%cond = phi %struct.Box* [ %call, %cond.true ], [ null, %cond.false ] | |
ret %struct.Box* %cond | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr %struct.Box* @_ZN9__gnu_cxx14__alloc_traitsISaI3BoxEE8allocateERS2_m(%"class.std::allocator.0"* dereferenceable(1) %__a, i64 %__n) #3 comdat align 2 { | |
entry: | |
%__a.addr = alloca %"class.std::allocator.0"*, align 8 | |
%__n.addr = alloca i64, align 8 | |
store %"class.std::allocator.0"* %__a, %"class.std::allocator.0"** %__a.addr, align 8 | |
store i64 %__n, i64* %__n.addr, align 8 | |
%0 = load %"class.std::allocator.0"*, %"class.std::allocator.0"** %__a.addr, align 8 | |
%1 = bitcast %"class.std::allocator.0"* %0 to %"class.__gnu_cxx::new_allocator.1"* | |
%2 = load i64, i64* %__n.addr, align 8 | |
%call = call %struct.Box* @_ZN9__gnu_cxx13new_allocatorI3BoxE8allocateEmPKv(%"class.__gnu_cxx::new_allocator.1"* %1, i64 %2, i8* null) | |
ret %struct.Box* %call | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr %struct.Box* @_ZN9__gnu_cxx13new_allocatorI3BoxE8allocateEmPKv(%"class.__gnu_cxx::new_allocator.1"* %this, i64 %__n, i8*) #3 comdat align 2 { | |
entry: | |
%this.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 8 | |
%__n.addr = alloca i64, align 8 | |
%.addr = alloca i8*, align 8 | |
store %"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 8 | |
store i64 %__n, i64* %__n.addr, align 8 | |
store i8* %0, i8** %.addr, align 8 | |
%this1 = load %"class.__gnu_cxx::new_allocator.1"*, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 8 | |
%1 = load i64, i64* %__n.addr, align 8 | |
%call = call i64 @_ZNK9__gnu_cxx13new_allocatorI3BoxE8max_sizeEv(%"class.__gnu_cxx::new_allocator.1"* %this1) #2 | |
%cmp = icmp ugt i64 %1, %call | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
call void @_ZSt17__throw_bad_allocv() #18 | |
unreachable | |
if.end: ; preds = %entry | |
%2 = load i64, i64* %__n.addr, align 8 | |
%mul = mul i64 %2, 24 | |
%call2 = call i8* @_Znwm(i64 %mul) | |
%3 = bitcast i8* %call2 to %struct.Box* | |
ret %struct.Box* %3 | |
} | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr i64 @_ZNK9__gnu_cxx13new_allocatorI3BoxE8max_sizeEv(%"class.__gnu_cxx::new_allocator.1"* %this) #4 comdat align 2 { | |
entry: | |
%this.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 8 | |
store %"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 8 | |
%this1 = load %"class.__gnu_cxx::new_allocator.1"*, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 8 | |
ret i64 768614336404564650 | |
} | |
; Function Attrs: noreturn | |
declare void @_ZSt17__throw_bad_allocv() #9 | |
; Function Attrs: nobuiltin | |
declare noalias i8* @_Znwm(i64) #10 | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr %struct.Box* @_ZSt24__uninitialized_fill_n_aIP3BoxmS0_S0_ET_S2_T0_RKT1_RSaIT2_E(%struct.Box* %__first, i64 %__n, %struct.Box* dereferenceable(24) %__x, %"class.std::allocator.0"* dereferenceable(1)) #3 comdat { | |
entry: | |
%__first.addr = alloca %struct.Box*, align 8 | |
%__n.addr = alloca i64, align 8 | |
%__x.addr = alloca %struct.Box*, align 8 | |
%.addr = alloca %"class.std::allocator.0"*, align 8 | |
store %struct.Box* %__first, %struct.Box** %__first.addr, align 8 | |
store i64 %__n, i64* %__n.addr, align 8 | |
store %struct.Box* %__x, %struct.Box** %__x.addr, align 8 | |
store %"class.std::allocator.0"* %0, %"class.std::allocator.0"** %.addr, align 8 | |
%1 = load %struct.Box*, %struct.Box** %__first.addr, align 8 | |
%2 = load i64, i64* %__n.addr, align 8 | |
%3 = load %struct.Box*, %struct.Box** %__x.addr, align 8 | |
%call = call %struct.Box* @_ZSt20uninitialized_fill_nIP3BoxmS0_ET_S2_T0_RKT1_(%struct.Box* %1, i64 %2, %struct.Box* dereferenceable(24) %3) | |
ret %struct.Box* %call | |
} | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr dereferenceable(1) %"class.std::allocator.0"* @_ZNSt12_Vector_baseI3BoxSaIS0_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %this) #4 comdat align 2 { | |
entry: | |
%this.addr = alloca %"struct.std::_Vector_base"*, align 8 | |
store %"struct.std::_Vector_base"* %this, %"struct.std::_Vector_base"** %this.addr, align 8 | |
%this1 = load %"struct.std::_Vector_base"*, %"struct.std::_Vector_base"** %this.addr, align 8 | |
%_M_impl = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %this1, i32 0, i32 0 | |
%0 = bitcast %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl to %"class.std::allocator.0"* | |
ret %"class.std::allocator.0"* %0 | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr %struct.Box* @_ZSt20uninitialized_fill_nIP3BoxmS0_ET_S2_T0_RKT1_(%struct.Box* %__first, i64 %__n, %struct.Box* dereferenceable(24) %__x) #3 comdat { | |
entry: | |
%__first.addr = alloca %struct.Box*, align 8 | |
%__n.addr = alloca i64, align 8 | |
%__x.addr = alloca %struct.Box*, align 8 | |
%__assignable = alloca i8, align 1 | |
store %struct.Box* %__first, %struct.Box** %__first.addr, align 8 | |
store i64 %__n, i64* %__n.addr, align 8 | |
store %struct.Box* %__x, %struct.Box** %__x.addr, align 8 | |
store i8 1, i8* %__assignable, align 1 | |
%0 = load %struct.Box*, %struct.Box** %__first.addr, align 8 | |
%1 = load i64, i64* %__n.addr, align 8 | |
%2 = load %struct.Box*, %struct.Box** %__x.addr, align 8 | |
%call = call %struct.Box* @_ZNSt22__uninitialized_fill_nILb1EE15__uninit_fill_nIP3BoxmS2_EET_S4_T0_RKT1_(%struct.Box* %0, i64 %1, %struct.Box* dereferenceable(24) %2) | |
ret %struct.Box* %call | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr %struct.Box* @_ZNSt22__uninitialized_fill_nILb1EE15__uninit_fill_nIP3BoxmS2_EET_S4_T0_RKT1_(%struct.Box* %__first, i64 %__n, %struct.Box* dereferenceable(24) %__x) #3 comdat align 2 { | |
entry: | |
%__first.addr = alloca %struct.Box*, align 8 | |
%__n.addr = alloca i64, align 8 | |
%__x.addr = alloca %struct.Box*, align 8 | |
store %struct.Box* %__first, %struct.Box** %__first.addr, align 8 | |
store i64 %__n, i64* %__n.addr, align 8 | |
store %struct.Box* %__x, %struct.Box** %__x.addr, align 8 | |
%0 = load %struct.Box*, %struct.Box** %__first.addr, align 8 | |
%1 = load i64, i64* %__n.addr, align 8 | |
%2 = load %struct.Box*, %struct.Box** %__x.addr, align 8 | |
%call = call %struct.Box* @_ZSt6fill_nIP3BoxmS0_ET_S2_T0_RKT1_(%struct.Box* %0, i64 %1, %struct.Box* dereferenceable(24) %2) | |
ret %struct.Box* %call | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr %struct.Box* @_ZSt6fill_nIP3BoxmS0_ET_S2_T0_RKT1_(%struct.Box* %__first, i64 %__n, %struct.Box* dereferenceable(24) %__value) #3 comdat { | |
entry: | |
%__first.addr = alloca %struct.Box*, align 8 | |
%__n.addr = alloca i64, align 8 | |
%__value.addr = alloca %struct.Box*, align 8 | |
store %struct.Box* %__first, %struct.Box** %__first.addr, align 8 | |
store i64 %__n, i64* %__n.addr, align 8 | |
store %struct.Box* %__value, %struct.Box** %__value.addr, align 8 | |
%0 = load %struct.Box*, %struct.Box** %__first.addr, align 8 | |
%call = call %struct.Box* @_ZSt12__niter_baseIP3BoxET_S2_(%struct.Box* %0) | |
%1 = load i64, i64* %__n.addr, align 8 | |
%2 = load %struct.Box*, %struct.Box** %__value.addr, align 8 | |
%call1 = call %struct.Box* @_ZSt10__fill_n_aIP3BoxmS0_EN9__gnu_cxx11__enable_ifIXntsr11__is_scalarIT1_EE7__valueET_E6__typeES5_T0_RKS4_(%struct.Box* %call, i64 %1, %struct.Box* dereferenceable(24) %2) | |
ret %struct.Box* %call1 | |
} | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr %struct.Box* @_ZSt10__fill_n_aIP3BoxmS0_EN9__gnu_cxx11__enable_ifIXntsr11__is_scalarIT1_EE7__valueET_E6__typeES5_T0_RKS4_(%struct.Box* %__first, i64 %__n, %struct.Box* dereferenceable(24) %__value) #4 comdat { | |
entry: | |
%__first.addr = alloca %struct.Box*, align 8 | |
%__n.addr = alloca i64, align 8 | |
%__value.addr = alloca %struct.Box*, align 8 | |
%__niter = alloca i64, align 8 | |
store %struct.Box* %__first, %struct.Box** %__first.addr, align 8 | |
store i64 %__n, i64* %__n.addr, align 8 | |
store %struct.Box* %__value, %struct.Box** %__value.addr, align 8 | |
%0 = load i64, i64* %__n.addr, align 8 | |
store i64 %0, i64* %__niter, align 8 | |
br label %for.cond | |
for.cond: ; preds = %for.inc, %entry | |
%1 = load i64, i64* %__niter, align 8 | |
%cmp = icmp ugt i64 %1, 0 | |
br i1 %cmp, label %for.body, label %for.end | |
for.body: ; preds = %for.cond | |
%2 = load %struct.Box*, %struct.Box** %__value.addr, align 8 | |
%3 = load %struct.Box*, %struct.Box** %__first.addr, align 8 | |
%4 = bitcast %struct.Box* %3 to i8* | |
%5 = bitcast %struct.Box* %2 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %4, i8* %5, i64 24, i32 4, i1 false) | |
br label %for.inc | |
for.inc: ; preds = %for.body | |
%6 = load i64, i64* %__niter, align 8 | |
%dec = add i64 %6, -1 | |
store i64 %dec, i64* %__niter, align 8 | |
%7 = load %struct.Box*, %struct.Box** %__first.addr, align 8 | |
%incdec.ptr = getelementptr inbounds %struct.Box, %struct.Box* %7, i32 1 | |
store %struct.Box* %incdec.ptr, %struct.Box** %__first.addr, align 8 | |
br label %for.cond | |
for.end: ; preds = %for.cond | |
%8 = load %struct.Box*, %struct.Box** %__first.addr, align 8 | |
ret %struct.Box* %8 | |
} | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr %struct.Box* @_ZSt12__niter_baseIP3BoxET_S2_(%struct.Box* %__it) #4 comdat { | |
entry: | |
%__it.addr = alloca %struct.Box*, align 8 | |
store %struct.Box* %__it, %struct.Box** %__it.addr, align 8 | |
%0 = load %struct.Box*, %struct.Box** %__it.addr, align 8 | |
ret %struct.Box* %0 | |
} | |
; Function Attrs: argmemonly nounwind | |
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #6 | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZNSt12_Vector_baseI3BoxSaIS0_EE13_M_deallocateEPS0_m(%"struct.std::_Vector_base"* %this, %struct.Box* %__p, i64 %__n) #3 comdat align 2 { | |
entry: | |
%this.addr = alloca %"struct.std::_Vector_base"*, align 8 | |
%__p.addr = alloca %struct.Box*, align 8 | |
%__n.addr = alloca i64, align 8 | |
store %"struct.std::_Vector_base"* %this, %"struct.std::_Vector_base"** %this.addr, align 8 | |
store %struct.Box* %__p, %struct.Box** %__p.addr, align 8 | |
store i64 %__n, i64* %__n.addr, align 8 | |
%this1 = load %"struct.std::_Vector_base"*, %"struct.std::_Vector_base"** %this.addr, align 8 | |
%0 = load %struct.Box*, %struct.Box** %__p.addr, align 8 | |
%tobool = icmp ne %struct.Box* %0, null | |
br i1 %tobool, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
%_M_impl = getelementptr inbounds %"struct.std::_Vector_base", %"struct.std::_Vector_base"* %this1, i32 0, i32 0 | |
%1 = bitcast %"struct.std::_Vector_base<Box, std::allocator<Box> >::_Vector_impl"* %_M_impl to %"class.std::allocator.0"* | |
%2 = load %struct.Box*, %struct.Box** %__p.addr, align 8 | |
%3 = load i64, i64* %__n.addr, align 8 | |
call void @_ZN9__gnu_cxx14__alloc_traitsISaI3BoxEE10deallocateERS2_PS1_m(%"class.std::allocator.0"* dereferenceable(1) %1, %struct.Box* %2, i64 %3) | |
br label %if.end | |
if.end: ; preds = %if.then, %entry | |
ret void | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZN9__gnu_cxx14__alloc_traitsISaI3BoxEE10deallocateERS2_PS1_m(%"class.std::allocator.0"* dereferenceable(1) %__a, %struct.Box* %__p, i64 %__n) #3 comdat align 2 { | |
entry: | |
%__a.addr = alloca %"class.std::allocator.0"*, align 8 | |
%__p.addr = alloca %struct.Box*, align 8 | |
%__n.addr = alloca i64, align 8 | |
store %"class.std::allocator.0"* %__a, %"class.std::allocator.0"** %__a.addr, align 8 | |
store %struct.Box* %__p, %struct.Box** %__p.addr, align 8 | |
store i64 %__n, i64* %__n.addr, align 8 | |
%0 = load %"class.std::allocator.0"*, %"class.std::allocator.0"** %__a.addr, align 8 | |
%1 = bitcast %"class.std::allocator.0"* %0 to %"class.__gnu_cxx::new_allocator.1"* | |
%2 = load %struct.Box*, %struct.Box** %__p.addr, align 8 | |
%3 = load i64, i64* %__n.addr, align 8 | |
call void @_ZN9__gnu_cxx13new_allocatorI3BoxE10deallocateEPS1_m(%"class.__gnu_cxx::new_allocator.1"* %1, %struct.Box* %2, i64 %3) | |
ret void | |
} | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorI3BoxE10deallocateEPS1_m(%"class.__gnu_cxx::new_allocator.1"* %this, %struct.Box* %__p, i64) #4 comdat align 2 { | |
entry: | |
%this.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 8 | |
%__p.addr = alloca %struct.Box*, align 8 | |
%.addr = alloca i64, align 8 | |
store %"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 8 | |
store %struct.Box* %__p, %struct.Box** %__p.addr, align 8 | |
store i64 %0, i64* %.addr, align 8 | |
%this1 = load %"class.__gnu_cxx::new_allocator.1"*, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 8 | |
%1 = load %struct.Box*, %struct.Box** %__p.addr, align 8 | |
%2 = bitcast %struct.Box* %1 to i8* | |
call void @_ZdlPv(i8* %2) #2 | |
ret void | |
} | |
; Function Attrs: nobuiltin nounwind | |
declare void @_ZdlPv(i8*) #11 | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZSt8_DestroyIP3BoxS0_EvT_S2_RSaIT0_E(%struct.Box* %__first, %struct.Box* %__last, %"class.std::allocator.0"* dereferenceable(1)) #3 comdat { | |
entry: | |
%__first.addr = alloca %struct.Box*, align 8 | |
%__last.addr = alloca %struct.Box*, align 8 | |
%.addr = alloca %"class.std::allocator.0"*, align 8 | |
store %struct.Box* %__first, %struct.Box** %__first.addr, align 8 | |
store %struct.Box* %__last, %struct.Box** %__last.addr, align 8 | |
store %"class.std::allocator.0"* %0, %"class.std::allocator.0"** %.addr, align 8 | |
%1 = load %struct.Box*, %struct.Box** %__first.addr, align 8 | |
%2 = load %struct.Box*, %struct.Box** %__last.addr, align 8 | |
call void @_ZSt8_DestroyIP3BoxEvT_S2_(%struct.Box* %1, %struct.Box* %2) | |
ret void | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZSt8_DestroyIP3BoxEvT_S2_(%struct.Box* %__first, %struct.Box* %__last) #3 comdat { | |
entry: | |
%__first.addr = alloca %struct.Box*, align 8 | |
%__last.addr = alloca %struct.Box*, align 8 | |
store %struct.Box* %__first, %struct.Box** %__first.addr, align 8 | |
store %struct.Box* %__last, %struct.Box** %__last.addr, align 8 | |
%0 = load %struct.Box*, %struct.Box** %__first.addr, align 8 | |
%1 = load %struct.Box*, %struct.Box** %__last.addr, align 8 | |
call void @_ZNSt12_Destroy_auxILb1EE9__destroyIP3BoxEEvT_S4_(%struct.Box* %0, %struct.Box* %1) | |
ret void | |
} | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr void @_ZNSt12_Destroy_auxILb1EE9__destroyIP3BoxEEvT_S4_(%struct.Box*, %struct.Box*) #4 comdat align 2 { | |
entry: | |
%.addr = alloca %struct.Box*, align 8 | |
%.addr1 = alloca %struct.Box*, align 8 | |
store %struct.Box* %0, %struct.Box** %.addr, align 8 | |
store %struct.Box* %1, %struct.Box** %.addr1, align 8 | |
ret void | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(%"class.std::__cxx11::basic_string"* dereferenceable(32) %__lhs, i8* %__rhs) #3 comdat { | |
entry: | |
%__lhs.addr = alloca %"class.std::__cxx11::basic_string"*, align 8 | |
%__rhs.addr = alloca i8*, align 8 | |
store %"class.std::__cxx11::basic_string"* %__lhs, %"class.std::__cxx11::basic_string"** %__lhs.addr, align 8 | |
store i8* %__rhs, i8** %__rhs.addr, align 8 | |
%0 = load %"class.std::__cxx11::basic_string"*, %"class.std::__cxx11::basic_string"** %__lhs.addr, align 8 | |
%1 = load i8*, i8** %__rhs.addr, align 8 | |
%call = call i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(%"class.std::__cxx11::basic_string"* %0, i8* %1) | |
%cmp = icmp eq i32 %call, 0 | |
ret i1 %cmp | |
} | |
declare i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(%"class.std::__cxx11::basic_string"*, i8*) #1 | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZN6miniFE13add_imbalanceIiEEvRK3BoxRS1_fR8YAML_Doc(%struct.Box* dereferenceable(24) %global_box, %struct.Box* dereferenceable(24) %local_box, float %imbalance, %class.YAML_Doc* dereferenceable(216) %doc) #3 comdat { | |
entry: | |
%global_box.addr = alloca %struct.Box*, align 8 | |
%local_box.addr = alloca %struct.Box*, align 8 | |
%imbalance.addr = alloca float, align 4 | |
%doc.addr = alloca %class.YAML_Doc*, align 8 | |
%numprocs = alloca i32, align 4 | |
%myproc = alloca i32, align 4 | |
%cur_imbalance = alloca float, align 4 | |
%cur_std_dev = alloca float, align 4 | |
%local_nrows = alloca i32, align 4 | |
%min_nrows = alloca i32, align 4 | |
%max_nrows = alloca i32, align 4 | |
%global_nrows = alloca i32, align 4 | |
%min_proc = alloca i32, align 4 | |
%max_proc = alloca i32, align 4 | |
%grow = alloca %"struct.std::pair", align 4 | |
%grow_axis_val = alloca i32, align 4 | |
%shrink = alloca %"struct.std::pair", align 4 | |
%shrink_axis_val = alloca i32, align 4 | |
%ref.tmp = alloca %"struct.std::pair", align 4 | |
%ref.tmp13 = alloca %"struct.std::pair", align 4 | |
%grow_info = alloca [8 x i32], align 16 | |
%shrink_info = alloca [8 x i32], align 16 | |
%grow_axis = alloca i32, align 4 | |
%grow_end = alloca i32, align 4 | |
%shrink_axis = alloca i32, align 4 | |
%shrink_end = alloca i32, align 4 | |
%grow_incr = alloca i32, align 4 | |
%shrink_incr = alloca i32, align 4 | |
%grow_status = alloca i8, align 1 | |
%shrink_status = alloca i8, align 1 | |
store %struct.Box* %global_box, %struct.Box** %global_box.addr, align 8 | |
store %struct.Box* %local_box, %struct.Box** %local_box.addr, align 8 | |
store float %imbalance, float* %imbalance.addr, align 4 | |
store %class.YAML_Doc* %doc, %class.YAML_Doc** %doc.addr, align 8 | |
store i32 1, i32* %numprocs, align 4 | |
store i32 0, i32* %myproc, align 4 | |
%0 = load i32, i32* %numprocs, align 4 | |
%cmp = icmp eq i32 %0, 1 | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
br label %while.end | |
if.end: ; preds = %entry | |
store float 0.000000e+00, float* %cur_imbalance, align 4 | |
store float 0.000000e+00, float* %cur_std_dev, align 4 | |
%1 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%2 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%3 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
call void @_ZN6miniFE17compute_imbalanceIiEEvRK3BoxS3_RfS4_R8YAML_Docb(%struct.Box* dereferenceable(24) %1, %struct.Box* dereferenceable(24) %2, float* dereferenceable(4) %cur_imbalance, float* dereferenceable(4) %cur_std_dev, %class.YAML_Doc* dereferenceable(216) %3, i1 zeroext false) | |
br label %while.cond | |
while.cond: ; preds = %if.end193, %if.end | |
%4 = load float, float* %cur_imbalance, align 4 | |
%5 = load float, float* %imbalance.addr, align 4 | |
%cmp1 = fcmp olt float %4, %5 | |
br i1 %cmp1, label %while.body, label %while.end | |
while.body: ; preds = %while.cond | |
%6 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call = call i32 @_ZN6miniFE11get_num_idsIiEET_RK3Box(%struct.Box* dereferenceable(24) %6) | |
store i32 %call, i32* %local_nrows, align 4 | |
store i32 0, i32* %min_nrows, align 4 | |
store i32 0, i32* %max_nrows, align 4 | |
store i32 0, i32* %global_nrows, align 4 | |
%7 = load i32, i32* %myproc, align 4 | |
store i32 %7, i32* %min_proc, align 4 | |
%8 = load i32, i32* %myproc, align 4 | |
store i32 %8, i32* %max_proc, align 4 | |
%9 = load i32, i32* %local_nrows, align 4 | |
call void @_ZN6miniFE18get_global_min_maxIiEEvT_RS1_S2_RiS2_S3_(i32 %9, i32* dereferenceable(4) %global_nrows, i32* dereferenceable(4) %min_nrows, i32* dereferenceable(4) %min_proc, i32* dereferenceable(4) %max_nrows, i32* dereferenceable(4) %max_proc) | |
call void @_ZNSt4pairIiiEC2ERKiS2_(%"struct.std::pair"* %grow, i32* dereferenceable(4) @_ZN6miniFEL4NONEE, i32* dereferenceable(4) @_ZN6miniFEL5UPPERE) | |
store i32 -1, i32* %grow_axis_val, align 4 | |
call void @_ZNSt4pairIiiEC2ERKiS2_(%"struct.std::pair"* %shrink, i32* dereferenceable(4) @_ZN6miniFEL4NONEE, i32* dereferenceable(4) @_ZN6miniFEL5UPPERE) | |
store i32 -1, i32* %shrink_axis_val, align 4 | |
%10 = load i32, i32* %myproc, align 4 | |
%11 = load i32, i32* %max_proc, align 4 | |
%cmp2 = icmp eq i32 %10, %11 | |
br i1 %cmp2, label %if.then3, label %if.end10 | |
if.then3: ; preds = %while.body | |
%12 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%13 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call4 = call i64 @_ZN6miniFE18decide_how_to_growERK3BoxS2_(%struct.Box* dereferenceable(24) %12, %struct.Box* dereferenceable(24) %13) | |
%14 = bitcast %"struct.std::pair"* %ref.tmp to i64* | |
store i64 %call4, i64* %14, align 4 | |
%15 = bitcast %"struct.std::pair"* %grow to i8* | |
%16 = bitcast %"struct.std::pair"* %ref.tmp to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %15, i8* %16, i64 8, i32 4, i1 false) | |
%first = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %grow, i32 0, i32 0 | |
%17 = load i32, i32* %first, align 4 | |
%cmp5 = icmp ne i32 %17, 3 | |
br i1 %cmp5, label %if.then6, label %if.end9 | |
if.then6: ; preds = %if.then3 | |
%18 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%first7 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %grow, i32 0, i32 0 | |
%19 = load i32, i32* %first7, align 4 | |
%call8 = call i32* @_ZN3BoxixEi(%struct.Box* %18, i32 %19) | |
%second = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %grow, i32 0, i32 1 | |
%20 = load i32, i32* %second, align 4 | |
%idxprom = sext i32 %20 to i64 | |
%arrayidx = getelementptr inbounds i32, i32* %call8, i64 %idxprom | |
%21 = load i32, i32* %arrayidx, align 4 | |
store i32 %21, i32* %grow_axis_val, align 4 | |
br label %if.end9 | |
if.end9: ; preds = %if.then6, %if.then3 | |
br label %if.end10 | |
if.end10: ; preds = %if.end9, %while.body | |
%22 = load i32, i32* %myproc, align 4 | |
%23 = load i32, i32* %min_proc, align 4 | |
%cmp11 = icmp eq i32 %22, %23 | |
br i1 %cmp11, label %if.then12, label %if.end24 | |
if.then12: ; preds = %if.end10 | |
%24 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%25 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call14 = call i64 @_ZN6miniFE20decide_how_to_shrinkERK3BoxS2_(%struct.Box* dereferenceable(24) %24, %struct.Box* dereferenceable(24) %25) | |
%26 = bitcast %"struct.std::pair"* %ref.tmp13 to i64* | |
store i64 %call14, i64* %26, align 4 | |
%27 = bitcast %"struct.std::pair"* %shrink to i8* | |
%28 = bitcast %"struct.std::pair"* %ref.tmp13 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %27, i8* %28, i64 8, i32 4, i1 false) | |
%first15 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %shrink, i32 0, i32 0 | |
%29 = load i32, i32* %first15, align 4 | |
%cmp16 = icmp ne i32 %29, 3 | |
br i1 %cmp16, label %if.then17, label %if.end23 | |
if.then17: ; preds = %if.then12 | |
%30 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%first18 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %shrink, i32 0, i32 0 | |
%31 = load i32, i32* %first18, align 4 | |
%call19 = call i32* @_ZN3BoxixEi(%struct.Box* %30, i32 %31) | |
%second20 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %shrink, i32 0, i32 1 | |
%32 = load i32, i32* %second20, align 4 | |
%idxprom21 = sext i32 %32 to i64 | |
%arrayidx22 = getelementptr inbounds i32, i32* %call19, i64 %idxprom21 | |
%33 = load i32, i32* %arrayidx22, align 4 | |
store i32 %33, i32* %shrink_axis_val, align 4 | |
br label %if.end23 | |
if.end23: ; preds = %if.then17, %if.then12 | |
br label %if.end24 | |
if.end24: ; preds = %if.end23, %if.end10 | |
%arrayinit.begin = getelementptr inbounds [8 x i32], [8 x i32]* %grow_info, i64 0, i64 0 | |
%first25 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %grow, i32 0, i32 0 | |
%34 = load i32, i32* %first25, align 4 | |
store i32 %34, i32* %arrayinit.begin, align 4 | |
%arrayinit.element = getelementptr inbounds i32, i32* %arrayinit.begin, i64 1 | |
%second26 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %grow, i32 0, i32 1 | |
%35 = load i32, i32* %second26, align 4 | |
store i32 %35, i32* %arrayinit.element, align 4 | |
%arrayinit.element27 = getelementptr inbounds i32, i32* %arrayinit.element, i64 1 | |
%36 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call28 = call i32* @_ZN3BoxixEi(%struct.Box* %36, i32 0) | |
%arrayidx29 = getelementptr inbounds i32, i32* %call28, i64 0 | |
%37 = load i32, i32* %arrayidx29, align 4 | |
store i32 %37, i32* %arrayinit.element27, align 4 | |
%arrayinit.element30 = getelementptr inbounds i32, i32* %arrayinit.element27, i64 1 | |
%38 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call31 = call i32* @_ZN3BoxixEi(%struct.Box* %38, i32 0) | |
%arrayidx32 = getelementptr inbounds i32, i32* %call31, i64 1 | |
%39 = load i32, i32* %arrayidx32, align 4 | |
store i32 %39, i32* %arrayinit.element30, align 4 | |
%arrayinit.element33 = getelementptr inbounds i32, i32* %arrayinit.element30, i64 1 | |
%40 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call34 = call i32* @_ZN3BoxixEi(%struct.Box* %40, i32 1) | |
%arrayidx35 = getelementptr inbounds i32, i32* %call34, i64 0 | |
%41 = load i32, i32* %arrayidx35, align 4 | |
store i32 %41, i32* %arrayinit.element33, align 4 | |
%arrayinit.element36 = getelementptr inbounds i32, i32* %arrayinit.element33, i64 1 | |
%42 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call37 = call i32* @_ZN3BoxixEi(%struct.Box* %42, i32 1) | |
%arrayidx38 = getelementptr inbounds i32, i32* %call37, i64 1 | |
%43 = load i32, i32* %arrayidx38, align 4 | |
store i32 %43, i32* %arrayinit.element36, align 4 | |
%arrayinit.element39 = getelementptr inbounds i32, i32* %arrayinit.element36, i64 1 | |
%44 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call40 = call i32* @_ZN3BoxixEi(%struct.Box* %44, i32 2) | |
%arrayidx41 = getelementptr inbounds i32, i32* %call40, i64 0 | |
%45 = load i32, i32* %arrayidx41, align 4 | |
store i32 %45, i32* %arrayinit.element39, align 4 | |
%arrayinit.element42 = getelementptr inbounds i32, i32* %arrayinit.element39, i64 1 | |
%46 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call43 = call i32* @_ZN3BoxixEi(%struct.Box* %46, i32 2) | |
%arrayidx44 = getelementptr inbounds i32, i32* %call43, i64 1 | |
%47 = load i32, i32* %arrayidx44, align 4 | |
store i32 %47, i32* %arrayinit.element42, align 4 | |
%arrayinit.begin45 = getelementptr inbounds [8 x i32], [8 x i32]* %shrink_info, i64 0, i64 0 | |
%first46 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %shrink, i32 0, i32 0 | |
%48 = load i32, i32* %first46, align 4 | |
store i32 %48, i32* %arrayinit.begin45, align 4 | |
%arrayinit.element47 = getelementptr inbounds i32, i32* %arrayinit.begin45, i64 1 | |
%second48 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %shrink, i32 0, i32 1 | |
%49 = load i32, i32* %second48, align 4 | |
store i32 %49, i32* %arrayinit.element47, align 4 | |
%arrayinit.element49 = getelementptr inbounds i32, i32* %arrayinit.element47, i64 1 | |
%50 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call50 = call i32* @_ZN3BoxixEi(%struct.Box* %50, i32 0) | |
%arrayidx51 = getelementptr inbounds i32, i32* %call50, i64 0 | |
%51 = load i32, i32* %arrayidx51, align 4 | |
store i32 %51, i32* %arrayinit.element49, align 4 | |
%arrayinit.element52 = getelementptr inbounds i32, i32* %arrayinit.element49, i64 1 | |
%52 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call53 = call i32* @_ZN3BoxixEi(%struct.Box* %52, i32 0) | |
%arrayidx54 = getelementptr inbounds i32, i32* %call53, i64 1 | |
%53 = load i32, i32* %arrayidx54, align 4 | |
store i32 %53, i32* %arrayinit.element52, align 4 | |
%arrayinit.element55 = getelementptr inbounds i32, i32* %arrayinit.element52, i64 1 | |
%54 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call56 = call i32* @_ZN3BoxixEi(%struct.Box* %54, i32 1) | |
%arrayidx57 = getelementptr inbounds i32, i32* %call56, i64 0 | |
%55 = load i32, i32* %arrayidx57, align 4 | |
store i32 %55, i32* %arrayinit.element55, align 4 | |
%arrayinit.element58 = getelementptr inbounds i32, i32* %arrayinit.element55, i64 1 | |
%56 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call59 = call i32* @_ZN3BoxixEi(%struct.Box* %56, i32 1) | |
%arrayidx60 = getelementptr inbounds i32, i32* %call59, i64 1 | |
%57 = load i32, i32* %arrayidx60, align 4 | |
store i32 %57, i32* %arrayinit.element58, align 4 | |
%arrayinit.element61 = getelementptr inbounds i32, i32* %arrayinit.element58, i64 1 | |
%58 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call62 = call i32* @_ZN3BoxixEi(%struct.Box* %58, i32 2) | |
%arrayidx63 = getelementptr inbounds i32, i32* %call62, i64 0 | |
%59 = load i32, i32* %arrayidx63, align 4 | |
store i32 %59, i32* %arrayinit.element61, align 4 | |
%arrayinit.element64 = getelementptr inbounds i32, i32* %arrayinit.element61, i64 1 | |
%60 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call65 = call i32* @_ZN3BoxixEi(%struct.Box* %60, i32 2) | |
%arrayidx66 = getelementptr inbounds i32, i32* %call65, i64 1 | |
%61 = load i32, i32* %arrayidx66, align 4 | |
store i32 %61, i32* %arrayinit.element64, align 4 | |
%arrayidx67 = getelementptr inbounds [8 x i32], [8 x i32]* %grow_info, i64 0, i64 0 | |
%62 = load i32, i32* %arrayidx67, align 16 | |
store i32 %62, i32* %grow_axis, align 4 | |
%arrayidx68 = getelementptr inbounds [8 x i32], [8 x i32]* %grow_info, i64 0, i64 1 | |
%63 = load i32, i32* %arrayidx68, align 4 | |
store i32 %63, i32* %grow_end, align 4 | |
%arrayidx69 = getelementptr inbounds [8 x i32], [8 x i32]* %shrink_info, i64 0, i64 0 | |
%64 = load i32, i32* %arrayidx69, align 16 | |
store i32 %64, i32* %shrink_axis, align 4 | |
%arrayidx70 = getelementptr inbounds [8 x i32], [8 x i32]* %shrink_info, i64 0, i64 1 | |
%65 = load i32, i32* %arrayidx70, align 4 | |
store i32 %65, i32* %shrink_end, align 4 | |
store i32 1, i32* %grow_incr, align 4 | |
%66 = load i32, i32* %grow_end, align 4 | |
%cmp71 = icmp eq i32 %66, 0 | |
br i1 %cmp71, label %if.then72, label %if.end73 | |
if.then72: ; preds = %if.end24 | |
store i32 -1, i32* %grow_incr, align 4 | |
br label %if.end73 | |
if.end73: ; preds = %if.then72, %if.end24 | |
store i32 -1, i32* %shrink_incr, align 4 | |
%67 = load i32, i32* %shrink_end, align 4 | |
%cmp74 = icmp eq i32 %67, 0 | |
br i1 %cmp74, label %if.then75, label %if.end76 | |
if.then75: ; preds = %if.end73 | |
store i32 1, i32* %shrink_incr, align 4 | |
br label %if.end76 | |
if.end76: ; preds = %if.then75, %if.end73 | |
%68 = load i32, i32* %grow_axis, align 4 | |
%cmp77 = icmp ne i32 %68, 3 | |
br i1 %cmp77, label %if.then78, label %if.end82 | |
if.then78: ; preds = %if.end76 | |
%69 = load i32, i32* %grow_axis, align 4 | |
%mul = mul nsw i32 %69, 2 | |
%add = add nsw i32 2, %mul | |
%70 = load i32, i32* %grow_end, align 4 | |
%add79 = add nsw i32 %add, %70 | |
%idxprom80 = sext i32 %add79 to i64 | |
%arrayidx81 = getelementptr inbounds [8 x i32], [8 x i32]* %grow_info, i64 0, i64 %idxprom80 | |
%71 = load i32, i32* %arrayidx81, align 4 | |
store i32 %71, i32* %grow_axis_val, align 4 | |
br label %if.end82 | |
if.end82: ; preds = %if.then78, %if.end76 | |
%72 = load i32, i32* %shrink_axis, align 4 | |
%cmp83 = icmp ne i32 %72, 3 | |
br i1 %cmp83, label %if.then84, label %if.end90 | |
if.then84: ; preds = %if.end82 | |
%73 = load i32, i32* %shrink_axis, align 4 | |
%mul85 = mul nsw i32 %73, 2 | |
%add86 = add nsw i32 2, %mul85 | |
%74 = load i32, i32* %shrink_end, align 4 | |
%add87 = add nsw i32 %add86, %74 | |
%idxprom88 = sext i32 %add87 to i64 | |
%arrayidx89 = getelementptr inbounds [8 x i32], [8 x i32]* %shrink_info, i64 0, i64 %idxprom88 | |
%75 = load i32, i32* %arrayidx89, align 4 | |
store i32 %75, i32* %shrink_axis_val, align 4 | |
br label %if.end90 | |
if.end90: ; preds = %if.then84, %if.end82 | |
%76 = load i32, i32* %grow_axis, align 4 | |
%cmp91 = icmp eq i32 %76, 3 | |
br i1 %cmp91, label %land.lhs.true, label %if.end94 | |
land.lhs.true: ; preds = %if.end90 | |
%77 = load i32, i32* %shrink_axis, align 4 | |
%cmp92 = icmp eq i32 %77, 3 | |
br i1 %cmp92, label %if.then93, label %if.end94 | |
if.then93: ; preds = %land.lhs.true | |
br label %while.end | |
if.end94: ; preds = %land.lhs.true, %if.end90 | |
%78 = load i32, i32* %grow_axis, align 4 | |
%cmp95 = icmp eq i32 %78, 3 | |
%79 = zext i1 %cmp95 to i64 | |
%cond = select i1 %cmp95, i1 false, i1 true | |
%frombool = zext i1 %cond to i8 | |
store i8 %frombool, i8* %grow_status, align 1 | |
%80 = load i32, i32* %grow_axis, align 4 | |
%cmp96 = icmp ne i32 %80, 3 | |
br i1 %cmp96, label %if.then97, label %if.end117 | |
if.then97: ; preds = %if.end94 | |
%81 = load i32, i32* %grow_incr, align 4 | |
%cmp98 = icmp eq i32 %81, 1 | |
br i1 %cmp98, label %land.lhs.true99, label %lor.lhs.false | |
land.lhs.true99: ; preds = %if.then97 | |
%82 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%83 = load i32, i32* %grow_axis, align 4 | |
%call100 = call i32* @_ZN3BoxixEi(%struct.Box* %82, i32 %83) | |
%arrayidx101 = getelementptr inbounds i32, i32* %call100, i64 0 | |
%84 = load i32, i32* %arrayidx101, align 4 | |
%85 = load i32, i32* %grow_axis_val, align 4 | |
%cmp102 = icmp eq i32 %84, %85 | |
br i1 %cmp102, label %if.then108, label %lor.lhs.false | |
lor.lhs.false: ; preds = %land.lhs.true99, %if.then97 | |
%86 = load i32, i32* %grow_incr, align 4 | |
%cmp103 = icmp eq i32 %86, -1 | |
br i1 %cmp103, label %land.lhs.true104, label %if.end116 | |
land.lhs.true104: ; preds = %lor.lhs.false | |
%87 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%88 = load i32, i32* %grow_axis, align 4 | |
%call105 = call i32* @_ZN3BoxixEi(%struct.Box* %87, i32 %88) | |
%arrayidx106 = getelementptr inbounds i32, i32* %call105, i64 1 | |
%89 = load i32, i32* %arrayidx106, align 4 | |
%90 = load i32, i32* %grow_axis_val, align 4 | |
%cmp107 = icmp eq i32 %89, %90 | |
br i1 %cmp107, label %if.then108, label %if.end116 | |
if.then108: ; preds = %land.lhs.true104, %land.lhs.true99 | |
%91 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%92 = load i32, i32* %grow_axis, align 4 | |
%call109 = call i32* @_ZN3BoxixEi(%struct.Box* %91, i32 %92) | |
%arrayidx110 = getelementptr inbounds i32, i32* %call109, i64 1 | |
%93 = load i32, i32* %arrayidx110, align 4 | |
%94 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%95 = load i32, i32* %grow_axis, align 4 | |
%call111 = call i32* @_ZN3BoxixEi(%struct.Box* %94, i32 %95) | |
%arrayidx112 = getelementptr inbounds i32, i32* %call111, i64 0 | |
%96 = load i32, i32* %arrayidx112, align 4 | |
%sub = sub nsw i32 %93, %96 | |
%cmp113 = icmp slt i32 %sub, 2 | |
br i1 %cmp113, label %if.then114, label %if.end115 | |
if.then114: ; preds = %if.then108 | |
store i8 0, i8* %grow_status, align 1 | |
br label %if.end115 | |
if.end115: ; preds = %if.then114, %if.then108 | |
br label %if.end116 | |
if.end116: ; preds = %if.end115, %land.lhs.true104, %lor.lhs.false | |
br label %if.end117 | |
if.end117: ; preds = %if.end116, %if.end94 | |
%97 = load i32, i32* %shrink_axis, align 4 | |
%cmp118 = icmp eq i32 %97, 3 | |
%98 = zext i1 %cmp118 to i64 | |
%cond119 = select i1 %cmp118, i1 false, i1 true | |
%frombool120 = zext i1 %cond119 to i8 | |
store i8 %frombool120, i8* %shrink_status, align 1 | |
%99 = load i32, i32* %shrink_axis, align 4 | |
%cmp121 = icmp ne i32 %99, 3 | |
br i1 %cmp121, label %if.then122, label %if.end144 | |
if.then122: ; preds = %if.end117 | |
%100 = load i32, i32* %shrink_incr, align 4 | |
%cmp123 = icmp eq i32 %100, 1 | |
br i1 %cmp123, label %land.lhs.true124, label %lor.lhs.false128 | |
land.lhs.true124: ; preds = %if.then122 | |
%101 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%102 = load i32, i32* %shrink_axis, align 4 | |
%call125 = call i32* @_ZN3BoxixEi(%struct.Box* %101, i32 %102) | |
%arrayidx126 = getelementptr inbounds i32, i32* %call125, i64 0 | |
%103 = load i32, i32* %arrayidx126, align 4 | |
%104 = load i32, i32* %shrink_axis_val, align 4 | |
%cmp127 = icmp eq i32 %103, %104 | |
br i1 %cmp127, label %if.then134, label %lor.lhs.false128 | |
lor.lhs.false128: ; preds = %land.lhs.true124, %if.then122 | |
%105 = load i32, i32* %shrink_incr, align 4 | |
%cmp129 = icmp eq i32 %105, -1 | |
br i1 %cmp129, label %land.lhs.true130, label %if.end143 | |
land.lhs.true130: ; preds = %lor.lhs.false128 | |
%106 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%107 = load i32, i32* %shrink_axis, align 4 | |
%call131 = call i32* @_ZN3BoxixEi(%struct.Box* %106, i32 %107) | |
%arrayidx132 = getelementptr inbounds i32, i32* %call131, i64 1 | |
%108 = load i32, i32* %arrayidx132, align 4 | |
%109 = load i32, i32* %shrink_axis_val, align 4 | |
%cmp133 = icmp eq i32 %108, %109 | |
br i1 %cmp133, label %if.then134, label %if.end143 | |
if.then134: ; preds = %land.lhs.true130, %land.lhs.true124 | |
%110 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%111 = load i32, i32* %shrink_axis, align 4 | |
%call135 = call i32* @_ZN3BoxixEi(%struct.Box* %110, i32 %111) | |
%arrayidx136 = getelementptr inbounds i32, i32* %call135, i64 1 | |
%112 = load i32, i32* %arrayidx136, align 4 | |
%113 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%114 = load i32, i32* %shrink_axis, align 4 | |
%call137 = call i32* @_ZN3BoxixEi(%struct.Box* %113, i32 %114) | |
%arrayidx138 = getelementptr inbounds i32, i32* %call137, i64 0 | |
%115 = load i32, i32* %arrayidx138, align 4 | |
%sub139 = sub nsw i32 %112, %115 | |
%cmp140 = icmp slt i32 %sub139, 2 | |
br i1 %cmp140, label %if.then141, label %if.end142 | |
if.then141: ; preds = %if.then134 | |
store i8 0, i8* %shrink_status, align 1 | |
br label %if.end142 | |
if.end142: ; preds = %if.then141, %if.then134 | |
br label %if.end143 | |
if.end143: ; preds = %if.end142, %land.lhs.true130, %lor.lhs.false128 | |
br label %if.end144 | |
if.end144: ; preds = %if.end143, %if.end117 | |
%116 = load i8, i8* %grow_status, align 1 | |
%tobool = trunc i8 %116 to i1 | |
%conv = zext i1 %tobool to i32 | |
%cmp145 = icmp eq i32 %conv, 0 | |
br i1 %cmp145, label %land.lhs.true146, label %if.end151 | |
land.lhs.true146: ; preds = %if.end144 | |
%117 = load i8, i8* %shrink_status, align 1 | |
%tobool147 = trunc i8 %117 to i1 | |
%conv148 = zext i1 %tobool147 to i32 | |
%cmp149 = icmp eq i32 %conv148, 0 | |
br i1 %cmp149, label %if.then150, label %if.end151 | |
if.then150: ; preds = %land.lhs.true146 | |
br label %while.end | |
if.end151: ; preds = %land.lhs.true146, %if.end144 | |
%118 = load i8, i8* %grow_status, align 1 | |
%tobool152 = trunc i8 %118 to i1 | |
br i1 %tobool152, label %land.lhs.true153, label %if.end172 | |
land.lhs.true153: ; preds = %if.end151 | |
%119 = load i32, i32* %grow_axis, align 4 | |
%cmp154 = icmp ne i32 %119, 3 | |
br i1 %cmp154, label %if.then155, label %if.end172 | |
if.then155: ; preds = %land.lhs.true153 | |
%120 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%121 = load i32, i32* %grow_axis, align 4 | |
%call156 = call i32* @_ZN3BoxixEi(%struct.Box* %120, i32 %121) | |
%arrayidx157 = getelementptr inbounds i32, i32* %call156, i64 0 | |
%122 = load i32, i32* %arrayidx157, align 4 | |
%123 = load i32, i32* %grow_axis_val, align 4 | |
%cmp158 = icmp eq i32 %122, %123 | |
br i1 %cmp158, label %if.then159, label %if.end163 | |
if.then159: ; preds = %if.then155 | |
%124 = load i32, i32* %grow_incr, align 4 | |
%125 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%126 = load i32, i32* %grow_axis, align 4 | |
%call160 = call i32* @_ZN3BoxixEi(%struct.Box* %125, i32 %126) | |
%arrayidx161 = getelementptr inbounds i32, i32* %call160, i64 0 | |
%127 = load i32, i32* %arrayidx161, align 4 | |
%add162 = add nsw i32 %127, %124 | |
store i32 %add162, i32* %arrayidx161, align 4 | |
br label %if.end163 | |
if.end163: ; preds = %if.then159, %if.then155 | |
%128 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%129 = load i32, i32* %grow_axis, align 4 | |
%call164 = call i32* @_ZN3BoxixEi(%struct.Box* %128, i32 %129) | |
%arrayidx165 = getelementptr inbounds i32, i32* %call164, i64 1 | |
%130 = load i32, i32* %arrayidx165, align 4 | |
%131 = load i32, i32* %grow_axis_val, align 4 | |
%cmp166 = icmp eq i32 %130, %131 | |
br i1 %cmp166, label %if.then167, label %if.end171 | |
if.then167: ; preds = %if.end163 | |
%132 = load i32, i32* %grow_incr, align 4 | |
%133 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%134 = load i32, i32* %grow_axis, align 4 | |
%call168 = call i32* @_ZN3BoxixEi(%struct.Box* %133, i32 %134) | |
%arrayidx169 = getelementptr inbounds i32, i32* %call168, i64 1 | |
%135 = load i32, i32* %arrayidx169, align 4 | |
%add170 = add nsw i32 %135, %132 | |
store i32 %add170, i32* %arrayidx169, align 4 | |
br label %if.end171 | |
if.end171: ; preds = %if.then167, %if.end163 | |
br label %if.end172 | |
if.end172: ; preds = %if.end171, %land.lhs.true153, %if.end151 | |
%136 = load i8, i8* %shrink_status, align 1 | |
%tobool173 = trunc i8 %136 to i1 | |
br i1 %tobool173, label %land.lhs.true174, label %if.end193 | |
land.lhs.true174: ; preds = %if.end172 | |
%137 = load i32, i32* %shrink_axis, align 4 | |
%cmp175 = icmp ne i32 %137, 3 | |
br i1 %cmp175, label %if.then176, label %if.end193 | |
if.then176: ; preds = %land.lhs.true174 | |
%138 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%139 = load i32, i32* %shrink_axis, align 4 | |
%call177 = call i32* @_ZN3BoxixEi(%struct.Box* %138, i32 %139) | |
%arrayidx178 = getelementptr inbounds i32, i32* %call177, i64 0 | |
%140 = load i32, i32* %arrayidx178, align 4 | |
%141 = load i32, i32* %shrink_axis_val, align 4 | |
%cmp179 = icmp eq i32 %140, %141 | |
br i1 %cmp179, label %if.then180, label %if.end184 | |
if.then180: ; preds = %if.then176 | |
%142 = load i32, i32* %shrink_incr, align 4 | |
%143 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%144 = load i32, i32* %shrink_axis, align 4 | |
%call181 = call i32* @_ZN3BoxixEi(%struct.Box* %143, i32 %144) | |
%arrayidx182 = getelementptr inbounds i32, i32* %call181, i64 0 | |
%145 = load i32, i32* %arrayidx182, align 4 | |
%add183 = add nsw i32 %145, %142 | |
store i32 %add183, i32* %arrayidx182, align 4 | |
br label %if.end184 | |
if.end184: ; preds = %if.then180, %if.then176 | |
%146 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%147 = load i32, i32* %shrink_axis, align 4 | |
%call185 = call i32* @_ZN3BoxixEi(%struct.Box* %146, i32 %147) | |
%arrayidx186 = getelementptr inbounds i32, i32* %call185, i64 1 | |
%148 = load i32, i32* %arrayidx186, align 4 | |
%149 = load i32, i32* %shrink_axis_val, align 4 | |
%cmp187 = icmp eq i32 %148, %149 | |
br i1 %cmp187, label %if.then188, label %if.end192 | |
if.then188: ; preds = %if.end184 | |
%150 = load i32, i32* %shrink_incr, align 4 | |
%151 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%152 = load i32, i32* %shrink_axis, align 4 | |
%call189 = call i32* @_ZN3BoxixEi(%struct.Box* %151, i32 %152) | |
%arrayidx190 = getelementptr inbounds i32, i32* %call189, i64 1 | |
%153 = load i32, i32* %arrayidx190, align 4 | |
%add191 = add nsw i32 %153, %150 | |
store i32 %add191, i32* %arrayidx190, align 4 | |
br label %if.end192 | |
if.end192: ; preds = %if.then188, %if.end184 | |
br label %if.end193 | |
if.end193: ; preds = %if.end192, %land.lhs.true174, %if.end172 | |
%154 = load %struct.Box*, %struct.Box** %global_box.addr, align 8 | |
%155 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%156 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
call void @_ZN6miniFE17compute_imbalanceIiEEvRK3BoxS3_RfS4_R8YAML_Docb(%struct.Box* dereferenceable(24) %154, %struct.Box* dereferenceable(24) %155, float* dereferenceable(4) %cur_imbalance, float* dereferenceable(4) %cur_std_dev, %class.YAML_Doc* dereferenceable(216) %156, i1 zeroext false) | |
br label %while.cond | |
while.end: ; preds = %if.then, %if.then150, %if.then93, %while.cond | |
ret void | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZN6miniFE17compute_imbalanceIiEEvRK3BoxS3_RfS4_R8YAML_Docb(%struct.Box* dereferenceable(24) %global_box, %struct.Box* dereferenceable(24) %local_box, float* dereferenceable(4) %largest_imbalance, float* dereferenceable(4) %std_dev, %class.YAML_Doc* dereferenceable(216) %doc, i1 zeroext %record_in_doc) #3 comdat personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%global_box.addr = alloca %struct.Box*, align 8 | |
%local_box.addr = alloca %struct.Box*, align 8 | |
%largest_imbalance.addr = alloca float*, align 8 | |
%std_dev.addr = alloca float*, align 8 | |
%doc.addr = alloca %class.YAML_Doc*, align 8 | |
%record_in_doc.addr = alloca i8, align 1 | |
%numprocs = alloca i32, align 4 | |
%myproc = alloca i32, align 4 | |
%local_nrows = alloca i32, align 4 | |
%min_nrows = alloca i32, align 4 | |
%max_nrows = alloca i32, align 4 | |
%global_nrows = alloca i32, align 4 | |
%min_proc = alloca i32, align 4 | |
%max_proc = alloca i32, align 4 | |
%avg_nrows = alloca float, align 4 | |
%tmp = alloca float, align 4 | |
%ref.tmp = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp10 = alloca %"class.std::allocator", align 1 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
%ref.tmp11 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp12 = alloca %"class.std::allocator", align 1 | |
%ref.tmp24 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp25 = alloca %"class.std::allocator", align 1 | |
%ref.tmp31 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp32 = alloca %"class.std::allocator", align 1 | |
%ref.tmp47 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp48 = alloca %"class.std::allocator", align 1 | |
%ref.tmp54 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp55 = alloca %"class.std::allocator", align 1 | |
store %struct.Box* %global_box, %struct.Box** %global_box.addr, align 8 | |
store %struct.Box* %local_box, %struct.Box** %local_box.addr, align 8 | |
store float* %largest_imbalance, float** %largest_imbalance.addr, align 8 | |
store float* %std_dev, float** %std_dev.addr, align 8 | |
store %class.YAML_Doc* %doc, %class.YAML_Doc** %doc.addr, align 8 | |
%frombool = zext i1 %record_in_doc to i8 | |
store i8 %frombool, i8* %record_in_doc.addr, align 1 | |
store i32 1, i32* %numprocs, align 4 | |
store i32 0, i32* %myproc, align 4 | |
%0 = load %struct.Box*, %struct.Box** %local_box.addr, align 8 | |
%call = call i32 @_ZN6miniFE11get_num_idsIiEET_RK3Box(%struct.Box* dereferenceable(24) %0) | |
store i32 %call, i32* %local_nrows, align 4 | |
store i32 0, i32* %min_nrows, align 4 | |
store i32 0, i32* %max_nrows, align 4 | |
store i32 0, i32* %global_nrows, align 4 | |
%1 = load i32, i32* %myproc, align 4 | |
store i32 %1, i32* %min_proc, align 4 | |
%2 = load i32, i32* %myproc, align 4 | |
store i32 %2, i32* %max_proc, align 4 | |
%3 = load i32, i32* %local_nrows, align 4 | |
call void @_ZN6miniFE18get_global_min_maxIiEEvT_RS1_S2_RiS2_S3_(i32 %3, i32* dereferenceable(4) %global_nrows, i32* dereferenceable(4) %min_nrows, i32* dereferenceable(4) %min_proc, i32* dereferenceable(4) %max_nrows, i32* dereferenceable(4) %max_proc) | |
%4 = load i32, i32* %global_nrows, align 4 | |
%conv = sitofp i32 %4 to float | |
store float %conv, float* %avg_nrows, align 4 | |
%5 = load i32, i32* %numprocs, align 4 | |
%conv1 = sitofp i32 %5 to float | |
%6 = load float, float* %avg_nrows, align 4 | |
%div = fdiv float %6, %conv1 | |
store float %div, float* %avg_nrows, align 4 | |
%7 = load i32, i32* %min_nrows, align 4 | |
%conv2 = sitofp i32 %7 to float | |
%8 = load float, float* %avg_nrows, align 4 | |
%call3 = call float @_ZN6miniFE21percentage_differenceIfEET_S1_S1_(float %conv2, float %8) | |
%9 = load float*, float** %largest_imbalance.addr, align 8 | |
store float %call3, float* %9, align 4 | |
%10 = load i32, i32* %max_nrows, align 4 | |
%conv4 = sitofp i32 %10 to float | |
%11 = load float, float* %avg_nrows, align 4 | |
%call5 = call float @_ZN6miniFE21percentage_differenceIfEET_S1_S1_(float %conv4, float %11) | |
store float %call5, float* %tmp, align 4 | |
%12 = load float, float* %tmp, align 4 | |
%13 = load float*, float** %largest_imbalance.addr, align 8 | |
%14 = load float, float* %13, align 4 | |
%cmp = fcmp ogt float %12, %14 | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
%15 = load float, float* %tmp, align 4 | |
%16 = load float*, float** %largest_imbalance.addr, align 8 | |
store float %15, float* %16, align 4 | |
br label %if.end | |
if.end: ; preds = %if.then, %entry | |
%17 = load i32, i32* %local_nrows, align 4 | |
%conv6 = sitofp i32 %17 to float | |
%18 = load float, float* %avg_nrows, align 4 | |
%call7 = call float @_ZN6miniFE29compute_std_dev_as_percentageIfEET_S1_S1_(float %conv6, float %18) | |
%19 = load float*, float** %std_dev.addr, align 8 | |
store float %call7, float* %19, align 4 | |
%20 = load i32, i32* %myproc, align 4 | |
%cmp8 = icmp eq i32 %20, 0 | |
br i1 %cmp8, label %land.lhs.true, label %if.end70 | |
land.lhs.true: ; preds = %if.end | |
%21 = load i8, i8* %record_in_doc.addr, align 1 | |
%tobool = trunc i8 %21 to i1 | |
br i1 %tobool, label %if.then9, label %if.end70 | |
if.then9: ; preds = %land.lhs.true | |
%22 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%23 = bitcast %class.YAML_Doc* %22 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp10) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.73, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp10) | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %if.then9 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp12) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp11, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp12) | |
to label %invoke.cont14 unwind label %lpad13 | |
invoke.cont14: ; preds = %invoke.cont | |
%call17 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %23, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp11) | |
to label %invoke.cont16 unwind label %lpad15 | |
invoke.cont16: ; preds = %invoke.cont14 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp11) | |
to label %invoke.cont18 unwind label %lpad13 | |
invoke.cont18: ; preds = %invoke.cont16 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp12) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp) | |
to label %invoke.cont20 unwind label %lpad | |
invoke.cont20: ; preds = %invoke.cont18 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp10) #2 | |
%24 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%25 = bitcast %class.YAML_Doc* %24 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp25) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp24, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.73, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp25) | |
to label %invoke.cont27 unwind label %lpad26 | |
invoke.cont27: ; preds = %invoke.cont20 | |
%call30 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %25, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp24) | |
to label %invoke.cont29 unwind label %lpad28 | |
invoke.cont29: ; preds = %invoke.cont27 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp32) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp31, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.74, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp32) | |
to label %invoke.cont34 unwind label %lpad33 | |
invoke.cont34: ; preds = %invoke.cont29 | |
%26 = load float*, float** %largest_imbalance.addr, align 8 | |
%27 = load float, float* %26, align 4 | |
%conv35 = fpext float %27 to double | |
%call38 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call30, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp31, double %conv35) | |
to label %invoke.cont37 unwind label %lpad36 | |
invoke.cont37: ; preds = %invoke.cont34 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp31) | |
to label %invoke.cont39 unwind label %lpad33 | |
invoke.cont39: ; preds = %invoke.cont37 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp32) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp24) | |
to label %invoke.cont43 unwind label %lpad26 | |
invoke.cont43: ; preds = %invoke.cont39 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp25) #2 | |
%28 = load %class.YAML_Doc*, %class.YAML_Doc** %doc.addr, align 8 | |
%29 = bitcast %class.YAML_Doc* %28 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp48) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp47, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.73, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp48) | |
to label %invoke.cont50 unwind label %lpad49 | |
invoke.cont50: ; preds = %invoke.cont43 | |
%call53 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %29, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp47) | |
to label %invoke.cont52 unwind label %lpad51 | |
invoke.cont52: ; preds = %invoke.cont50 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp55) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp54, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.75, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp55) | |
to label %invoke.cont57 unwind label %lpad56 | |
invoke.cont57: ; preds = %invoke.cont52 | |
%30 = load float*, float** %std_dev.addr, align 8 | |
%31 = load float, float* %30, align 4 | |
%conv58 = fpext float %31 to double | |
%call61 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call53, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp54, double %conv58) | |
to label %invoke.cont60 unwind label %lpad59 | |
invoke.cont60: ; preds = %invoke.cont57 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp54) | |
to label %invoke.cont62 unwind label %lpad56 | |
invoke.cont62: ; preds = %invoke.cont60 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp55) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp47) | |
to label %invoke.cont66 unwind label %lpad49 | |
invoke.cont66: ; preds = %invoke.cont62 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp48) #2 | |
br label %if.end70 | |
lpad: ; preds = %invoke.cont18, %if.then9 | |
%32 = landingpad { i8*, i32 } | |
cleanup | |
%33 = extractvalue { i8*, i32 } %32, 0 | |
store i8* %33, i8** %exn.slot, align 8 | |
%34 = extractvalue { i8*, i32 } %32, 1 | |
store i32 %34, i32* %ehselector.slot, align 4 | |
br label %ehcleanup23 | |
lpad13: ; preds = %invoke.cont16, %invoke.cont | |
%35 = landingpad { i8*, i32 } | |
cleanup | |
%36 = extractvalue { i8*, i32 } %35, 0 | |
store i8* %36, i8** %exn.slot, align 8 | |
%37 = extractvalue { i8*, i32 } %35, 1 | |
store i32 %37, i32* %ehselector.slot, align 4 | |
br label %ehcleanup | |
lpad15: ; preds = %invoke.cont14 | |
%38 = landingpad { i8*, i32 } | |
cleanup | |
%39 = extractvalue { i8*, i32 } %38, 0 | |
store i8* %39, i8** %exn.slot, align 8 | |
%40 = extractvalue { i8*, i32 } %38, 1 | |
store i32 %40, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp11) | |
to label %invoke.cont19 unwind label %terminate.lpad | |
invoke.cont19: ; preds = %lpad15 | |
br label %ehcleanup | |
ehcleanup: ; preds = %invoke.cont19, %lpad13 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp12) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp) | |
to label %invoke.cont22 unwind label %terminate.lpad | |
invoke.cont22: ; preds = %ehcleanup | |
br label %ehcleanup23 | |
ehcleanup23: ; preds = %invoke.cont22, %lpad | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp10) #2 | |
br label %eh.resume | |
lpad26: ; preds = %invoke.cont39, %invoke.cont20 | |
%41 = landingpad { i8*, i32 } | |
cleanup | |
%42 = extractvalue { i8*, i32 } %41, 0 | |
store i8* %42, i8** %exn.slot, align 8 | |
%43 = extractvalue { i8*, i32 } %41, 1 | |
store i32 %43, i32* %ehselector.slot, align 4 | |
br label %ehcleanup46 | |
lpad28: ; preds = %invoke.cont27 | |
%44 = landingpad { i8*, i32 } | |
cleanup | |
%45 = extractvalue { i8*, i32 } %44, 0 | |
store i8* %45, i8** %exn.slot, align 8 | |
%46 = extractvalue { i8*, i32 } %44, 1 | |
store i32 %46, i32* %ehselector.slot, align 4 | |
br label %ehcleanup44 | |
lpad33: ; preds = %invoke.cont37, %invoke.cont29 | |
%47 = landingpad { i8*, i32 } | |
cleanup | |
%48 = extractvalue { i8*, i32 } %47, 0 | |
store i8* %48, i8** %exn.slot, align 8 | |
%49 = extractvalue { i8*, i32 } %47, 1 | |
store i32 %49, i32* %ehselector.slot, align 4 | |
br label %ehcleanup42 | |
lpad36: ; preds = %invoke.cont34 | |
%50 = landingpad { i8*, i32 } | |
cleanup | |
%51 = extractvalue { i8*, i32 } %50, 0 | |
store i8* %51, i8** %exn.slot, align 8 | |
%52 = extractvalue { i8*, i32 } %50, 1 | |
store i32 %52, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp31) | |
to label %invoke.cont41 unwind label %terminate.lpad | |
invoke.cont41: ; preds = %lpad36 | |
br label %ehcleanup42 | |
ehcleanup42: ; preds = %invoke.cont41, %lpad33 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp32) #2 | |
br label %ehcleanup44 | |
ehcleanup44: ; preds = %ehcleanup42, %lpad28 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp24) | |
to label %invoke.cont45 unwind label %terminate.lpad | |
invoke.cont45: ; preds = %ehcleanup44 | |
br label %ehcleanup46 | |
ehcleanup46: ; preds = %invoke.cont45, %lpad26 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp25) #2 | |
br label %eh.resume | |
lpad49: ; preds = %invoke.cont62, %invoke.cont43 | |
%53 = landingpad { i8*, i32 } | |
cleanup | |
%54 = extractvalue { i8*, i32 } %53, 0 | |
store i8* %54, i8** %exn.slot, align 8 | |
%55 = extractvalue { i8*, i32 } %53, 1 | |
store i32 %55, i32* %ehselector.slot, align 4 | |
br label %ehcleanup69 | |
lpad51: ; preds = %invoke.cont50 | |
%56 = landingpad { i8*, i32 } | |
cleanup | |
%57 = extractvalue { i8*, i32 } %56, 0 | |
store i8* %57, i8** %exn.slot, align 8 | |
%58 = extractvalue { i8*, i32 } %56, 1 | |
store i32 %58, i32* %ehselector.slot, align 4 | |
br label %ehcleanup67 | |
lpad56: ; preds = %invoke.cont60, %invoke.cont52 | |
%59 = landingpad { i8*, i32 } | |
cleanup | |
%60 = extractvalue { i8*, i32 } %59, 0 | |
store i8* %60, i8** %exn.slot, align 8 | |
%61 = extractvalue { i8*, i32 } %59, 1 | |
store i32 %61, i32* %ehselector.slot, align 4 | |
br label %ehcleanup65 | |
lpad59: ; preds = %invoke.cont57 | |
%62 = landingpad { i8*, i32 } | |
cleanup | |
%63 = extractvalue { i8*, i32 } %62, 0 | |
store i8* %63, i8** %exn.slot, align 8 | |
%64 = extractvalue { i8*, i32 } %62, 1 | |
store i32 %64, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp54) | |
to label %invoke.cont64 unwind label %terminate.lpad | |
invoke.cont64: ; preds = %lpad59 | |
br label %ehcleanup65 | |
ehcleanup65: ; preds = %invoke.cont64, %lpad56 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp55) #2 | |
br label %ehcleanup67 | |
ehcleanup67: ; preds = %ehcleanup65, %lpad51 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp47) | |
to label %invoke.cont68 unwind label %terminate.lpad | |
invoke.cont68: ; preds = %ehcleanup67 | |
br label %ehcleanup69 | |
ehcleanup69: ; preds = %invoke.cont68, %lpad49 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp48) #2 | |
br label %eh.resume | |
if.end70: ; preds = %invoke.cont66, %land.lhs.true, %if.end | |
ret void | |
eh.resume: ; preds = %ehcleanup69, %ehcleanup46, %ehcleanup23 | |
%exn = load i8*, i8** %exn.slot, align 8 | |
%sel = load i32, i32* %ehselector.slot, align 4 | |
%lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 | |
%lpad.val71 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 | |
resume { i8*, i32 } %lpad.val71 | |
terminate.lpad: ; preds = %ehcleanup67, %lpad59, %ehcleanup44, %lpad36, %ehcleanup, %lpad15 | |
%65 = landingpad { i8*, i32 } | |
catch i8* null | |
%66 = extractvalue { i8*, i32 } %65, 0 | |
call void @__clang_call_terminate(i8* %66) #13 | |
unreachable | |
} | |
declare dereferenceable(272) %"class.std::basic_ostream"* @_ZNSo5flushEv(%"class.std::basic_ostream"*) #1 | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZN6miniFE23simple_mesh_descriptionIiEC2ERK3BoxS4_(%"class.miniFE::simple_mesh_description"* %this, %struct.Box* dereferenceable(24) %global_box_in, %struct.Box* dereferenceable(24) %local_box_in) unnamed_addr #3 comdat align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%this.addr = alloca %"class.miniFE::simple_mesh_description"*, align 8 | |
%global_box_in.addr = alloca %struct.Box*, align 8 | |
%local_box_in.addr = alloca %struct.Box*, align 8 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
%local_node_box = alloca %struct.Box, align 4 | |
%i = alloca i32, align 4 | |
%max_node_x = alloca i32, align 4 | |
%max_node_y = alloca i32, align 4 | |
%max_node_z = alloca i32, align 4 | |
%X = alloca i32, align 4 | |
%Y = alloca i32, align 4 | |
%Z = alloca i32, align 4 | |
%x1 = alloca i32, align 4 | |
%y1 = alloca i32, align 4 | |
%z1 = alloca i32, align 4 | |
%miny = alloca i32, align 4 | |
%minz = alloca i32, align 4 | |
%maxy = alloca i32, align 4 | |
%maxz = alloca i32, align 4 | |
%iz = alloca i32, align 4 | |
%iy = alloca i32, align 4 | |
%nodeID = alloca i32, align 4 | |
%ref.tmp = alloca i32, align 4 | |
%coerce = alloca %"struct.std::pair.25", align 8 | |
%minx = alloca i32, align 4 | |
%minz162 = alloca i32, align 4 | |
%maxx = alloca i32, align 4 | |
%maxz169 = alloca i32, align 4 | |
%iz201 = alloca i32, align 4 | |
%ix = alloca i32, align 4 | |
%nodeID208 = alloca i32, align 4 | |
%row = alloca i32, align 4 | |
%coerce237 = alloca %"struct.std::pair.25", align 8 | |
%minx255 = alloca i32, align 4 | |
%miny259 = alloca i32, align 4 | |
%maxx263 = alloca i32, align 4 | |
%maxy267 = alloca i32, align 4 | |
%iy299 = alloca i32, align 4 | |
%ix303 = alloca i32, align 4 | |
%nodeID307 = alloca i32, align 4 | |
%ref.tmp311 = alloca i32, align 4 | |
%coerce316 = alloca %"struct.std::pair.25", align 8 | |
%minz334 = alloca i32, align 4 | |
%miny338 = alloca i32, align 4 | |
%maxz342 = alloca i32, align 4 | |
%maxy346 = alloca i32, align 4 | |
%iy378 = alloca i32, align 4 | |
%iz382 = alloca i32, align 4 | |
%nodeID386 = alloca i32, align 4 | |
%row389 = alloca i32, align 4 | |
%coerce395 = alloca %"struct.std::pair.25", align 8 | |
%minz413 = alloca i32, align 4 | |
%minx417 = alloca i32, align 4 | |
%maxz421 = alloca i32, align 4 | |
%maxx425 = alloca i32, align 4 | |
%ix457 = alloca i32, align 4 | |
%iz461 = alloca i32, align 4 | |
%nodeID465 = alloca i32, align 4 | |
%ref.tmp469 = alloca i32, align 4 | |
%coerce474 = alloca %"struct.std::pair.25", align 8 | |
%miny492 = alloca i32, align 4 | |
%minx496 = alloca i32, align 4 | |
%maxy500 = alloca i32, align 4 | |
%maxx504 = alloca i32, align 4 | |
%ix536 = alloca i32, align 4 | |
%iy540 = alloca i32, align 4 | |
%nodeID544 = alloca i32, align 4 | |
%ref.tmp548 = alloca i32, align 4 | |
%coerce553 = alloca %"struct.std::pair.25", align 8 | |
store %"class.miniFE::simple_mesh_description"* %this, %"class.miniFE::simple_mesh_description"** %this.addr, align 8 | |
store %struct.Box* %global_box_in, %struct.Box** %global_box_in.addr, align 8 | |
store %struct.Box* %local_box_in, %struct.Box** %local_box_in.addr, align 8 | |
%this1 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %this.addr, align 8 | |
%bc_rows_0 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 0 | |
call void @_ZNSt3setIiSt4lessIiESaIiEEC2Ev(%"class.std::set"* %bc_rows_0) | |
%bc_rows_1 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 1 | |
invoke void @_ZNSt3setIiSt4lessIiESaIiEEC2Ev(%"class.std::set"* %bc_rows_1) | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %entry | |
%map_ids_to_rows = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 2 | |
invoke void @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEC2Ev(%"class.std::map"* %map_ids_to_rows) | |
to label %invoke.cont3 unwind label %lpad2 | |
invoke.cont3: ; preds = %invoke.cont | |
%global_box = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 3 | |
%local_box = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 4 | |
store i32 0, i32* %i, align 4 | |
br label %for.cond | |
for.cond: ; preds = %for.inc, %invoke.cont3 | |
%0 = load i32, i32* %i, align 4 | |
%cmp = icmp slt i32 %0, 3 | |
br i1 %cmp, label %for.body, label %for.end | |
for.body: ; preds = %for.cond | |
%1 = load %struct.Box*, %struct.Box** %global_box_in.addr, align 8 | |
%2 = load i32, i32* %i, align 4 | |
%call = invoke i32* @_ZNK3BoxixEi(%struct.Box* %1, i32 %2) | |
to label %invoke.cont5 unwind label %lpad4 | |
invoke.cont5: ; preds = %for.body | |
%arrayidx = getelementptr inbounds i32, i32* %call, i64 0 | |
%3 = load i32, i32* %arrayidx, align 4 | |
%global_box6 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 3 | |
%4 = load i32, i32* %i, align 4 | |
%call8 = invoke i32* @_ZN3BoxixEi(%struct.Box* %global_box6, i32 %4) | |
to label %invoke.cont7 unwind label %lpad4 | |
invoke.cont7: ; preds = %invoke.cont5 | |
%arrayidx9 = getelementptr inbounds i32, i32* %call8, i64 0 | |
store i32 %3, i32* %arrayidx9, align 4 | |
%5 = load %struct.Box*, %struct.Box** %global_box_in.addr, align 8 | |
%6 = load i32, i32* %i, align 4 | |
%call11 = invoke i32* @_ZNK3BoxixEi(%struct.Box* %5, i32 %6) | |
to label %invoke.cont10 unwind label %lpad4 | |
invoke.cont10: ; preds = %invoke.cont7 | |
%arrayidx12 = getelementptr inbounds i32, i32* %call11, i64 1 | |
%7 = load i32, i32* %arrayidx12, align 4 | |
%global_box13 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 3 | |
%8 = load i32, i32* %i, align 4 | |
%call15 = invoke i32* @_ZN3BoxixEi(%struct.Box* %global_box13, i32 %8) | |
to label %invoke.cont14 unwind label %lpad4 | |
invoke.cont14: ; preds = %invoke.cont10 | |
%arrayidx16 = getelementptr inbounds i32, i32* %call15, i64 1 | |
store i32 %7, i32* %arrayidx16, align 4 | |
%9 = load %struct.Box*, %struct.Box** %local_box_in.addr, align 8 | |
%10 = load i32, i32* %i, align 4 | |
%call18 = invoke i32* @_ZNK3BoxixEi(%struct.Box* %9, i32 %10) | |
to label %invoke.cont17 unwind label %lpad4 | |
invoke.cont17: ; preds = %invoke.cont14 | |
%arrayidx19 = getelementptr inbounds i32, i32* %call18, i64 0 | |
%11 = load i32, i32* %arrayidx19, align 4 | |
%local_box20 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 4 | |
%12 = load i32, i32* %i, align 4 | |
%call22 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_box20, i32 %12) | |
to label %invoke.cont21 unwind label %lpad4 | |
invoke.cont21: ; preds = %invoke.cont17 | |
%arrayidx23 = getelementptr inbounds i32, i32* %call22, i64 0 | |
store i32 %11, i32* %arrayidx23, align 4 | |
%13 = load %struct.Box*, %struct.Box** %local_box_in.addr, align 8 | |
%14 = load i32, i32* %i, align 4 | |
%call25 = invoke i32* @_ZNK3BoxixEi(%struct.Box* %13, i32 %14) | |
to label %invoke.cont24 unwind label %lpad4 | |
invoke.cont24: ; preds = %invoke.cont21 | |
%arrayidx26 = getelementptr inbounds i32, i32* %call25, i64 1 | |
%15 = load i32, i32* %arrayidx26, align 4 | |
%local_box27 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 4 | |
%16 = load i32, i32* %i, align 4 | |
%call29 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_box27, i32 %16) | |
to label %invoke.cont28 unwind label %lpad4 | |
invoke.cont28: ; preds = %invoke.cont24 | |
%arrayidx30 = getelementptr inbounds i32, i32* %call29, i64 1 | |
store i32 %15, i32* %arrayidx30, align 4 | |
%17 = load %struct.Box*, %struct.Box** %local_box_in.addr, align 8 | |
%18 = load i32, i32* %i, align 4 | |
%call32 = invoke i32* @_ZNK3BoxixEi(%struct.Box* %17, i32 %18) | |
to label %invoke.cont31 unwind label %lpad4 | |
invoke.cont31: ; preds = %invoke.cont28 | |
%arrayidx33 = getelementptr inbounds i32, i32* %call32, i64 0 | |
%19 = load i32, i32* %arrayidx33, align 4 | |
%20 = load i32, i32* %i, align 4 | |
%call35 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 %20) | |
to label %invoke.cont34 unwind label %lpad4 | |
invoke.cont34: ; preds = %invoke.cont31 | |
%arrayidx36 = getelementptr inbounds i32, i32* %call35, i64 0 | |
store i32 %19, i32* %arrayidx36, align 4 | |
%21 = load %struct.Box*, %struct.Box** %local_box_in.addr, align 8 | |
%22 = load i32, i32* %i, align 4 | |
%call38 = invoke i32* @_ZNK3BoxixEi(%struct.Box* %21, i32 %22) | |
to label %invoke.cont37 unwind label %lpad4 | |
invoke.cont37: ; preds = %invoke.cont34 | |
%arrayidx39 = getelementptr inbounds i32, i32* %call38, i64 1 | |
%23 = load i32, i32* %arrayidx39, align 4 | |
%24 = load i32, i32* %i, align 4 | |
%call41 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 %24) | |
to label %invoke.cont40 unwind label %lpad4 | |
invoke.cont40: ; preds = %invoke.cont37 | |
%arrayidx42 = getelementptr inbounds i32, i32* %call41, i64 1 | |
store i32 %23, i32* %arrayidx42, align 4 | |
%25 = load %struct.Box*, %struct.Box** %local_box_in.addr, align 8 | |
%26 = load i32, i32* %i, align 4 | |
%call44 = invoke i32* @_ZNK3BoxixEi(%struct.Box* %25, i32 %26) | |
to label %invoke.cont43 unwind label %lpad4 | |
invoke.cont43: ; preds = %invoke.cont40 | |
%arrayidx45 = getelementptr inbounds i32, i32* %call44, i64 1 | |
%27 = load i32, i32* %arrayidx45, align 4 | |
%28 = load %struct.Box*, %struct.Box** %local_box_in.addr, align 8 | |
%29 = load i32, i32* %i, align 4 | |
%call47 = invoke i32* @_ZNK3BoxixEi(%struct.Box* %28, i32 %29) | |
to label %invoke.cont46 unwind label %lpad4 | |
invoke.cont46: ; preds = %invoke.cont43 | |
%arrayidx48 = getelementptr inbounds i32, i32* %call47, i64 0 | |
%30 = load i32, i32* %arrayidx48, align 4 | |
%cmp49 = icmp sgt i32 %27, %30 | |
br i1 %cmp49, label %land.lhs.true, label %if.end | |
land.lhs.true: ; preds = %invoke.cont46 | |
%31 = load %struct.Box*, %struct.Box** %local_box_in.addr, align 8 | |
%32 = load i32, i32* %i, align 4 | |
%call51 = invoke i32* @_ZNK3BoxixEi(%struct.Box* %31, i32 %32) | |
to label %invoke.cont50 unwind label %lpad4 | |
invoke.cont50: ; preds = %land.lhs.true | |
%arrayidx52 = getelementptr inbounds i32, i32* %call51, i64 1 | |
%33 = load i32, i32* %arrayidx52, align 4 | |
%global_box53 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 3 | |
%34 = load i32, i32* %i, align 4 | |
%call55 = invoke i32* @_ZN3BoxixEi(%struct.Box* %global_box53, i32 %34) | |
to label %invoke.cont54 unwind label %lpad4 | |
invoke.cont54: ; preds = %invoke.cont50 | |
%arrayidx56 = getelementptr inbounds i32, i32* %call55, i64 1 | |
%35 = load i32, i32* %arrayidx56, align 4 | |
%cmp57 = icmp eq i32 %33, %35 | |
br i1 %cmp57, label %if.then, label %if.end | |
if.then: ; preds = %invoke.cont54 | |
%36 = load i32, i32* %i, align 4 | |
%call59 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 %36) | |
to label %invoke.cont58 unwind label %lpad4 | |
invoke.cont58: ; preds = %if.then | |
%arrayidx60 = getelementptr inbounds i32, i32* %call59, i64 1 | |
%37 = load i32, i32* %arrayidx60, align 4 | |
%add = add nsw i32 %37, 1 | |
store i32 %add, i32* %arrayidx60, align 4 | |
br label %if.end | |
lpad: ; preds = %entry | |
%38 = landingpad { i8*, i32 } | |
cleanup | |
%39 = extractvalue { i8*, i32 } %38, 0 | |
store i8* %39, i8** %exn.slot, align 8 | |
%40 = extractvalue { i8*, i32 } %38, 1 | |
store i32 %40, i32* %ehselector.slot, align 4 | |
br label %ehcleanup563 | |
lpad2: ; preds = %invoke.cont | |
%41 = landingpad { i8*, i32 } | |
cleanup | |
%42 = extractvalue { i8*, i32 } %41, 0 | |
store i8* %42, i8** %exn.slot, align 8 | |
%43 = extractvalue { i8*, i32 } %41, 1 | |
store i32 %43, i32* %ehselector.slot, align 4 | |
br label %ehcleanup | |
lpad4: ; preds = %invoke.cont549, %invoke.cont545, %for.body543, %if.end528, %if.end521, %if.end514, %invoke.cont505, %invoke.cont501, %invoke.cont497, %invoke.cont493, %if.then491, %invoke.cont483, %if.end481, %invoke.cont470, %invoke.cont466, %for.body464, %if.end449, %if.end442, %if.end435, %invoke.cont426, %invoke.cont422, %invoke.cont418, %invoke.cont414, %if.then412, %invoke.cont404, %if.end402, %invoke.cont390, %invoke.cont387, %for.body385, %if.end370, %if.end363, %if.end356, %invoke.cont347, %invoke.cont343, %invoke.cont339, %invoke.cont335, %if.then333, %invoke.cont325, %if.end323, %invoke.cont312, %invoke.cont308, %for.body306, %if.end291, %if.end284, %if.end277, %invoke.cont268, %invoke.cont264, %invoke.cont260, %invoke.cont256, %if.then254, %invoke.cont246, %if.end244, %if.end233, %invoke.cont229, %invoke.cont227, %invoke.cont225, %invoke.cont223, %invoke.cont221, %invoke.cont219, %invoke.cont217, %invoke.cont215, %if.then214, %invoke.cont209, %for.body207, %if.end193, %if.end186, %if.end179, %invoke.cont170, %invoke.cont166, %invoke.cont163, %invoke.cont159, %if.then158, %invoke.cont150, %if.end148, %invoke.cont138, %invoke.cont135, %for.body134, %if.end121, %if.end114, %if.end107, %invoke.cont99, %invoke.cont96, %invoke.cont93, %invoke.cont90, %if.then89, %invoke.cont81, %invoke.cont77, %invoke.cont72, %invoke.cont67, %invoke.cont62, %for.end, %if.then, %invoke.cont50, %land.lhs.true, %invoke.cont43, %invoke.cont40, %invoke.cont37, %invoke.cont34, %invoke.cont31, %invoke.cont28, %invoke.cont24, %invoke.cont21, %invoke.cont17, %invoke.cont14, %invoke.cont10, %invoke.cont7, %invoke.cont5, %for.body | |
%44 = landingpad { i8*, i32 } | |
cleanup | |
%45 = extractvalue { i8*, i32 } %44, 0 | |
store i8* %45, i8** %exn.slot, align 8 | |
%46 = extractvalue { i8*, i32 } %44, 1 | |
store i32 %46, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEED2Ev(%"class.std::map"* %map_ids_to_rows) | |
to label %invoke.cont561 unwind label %terminate.lpad | |
if.end: ; preds = %invoke.cont58, %invoke.cont54, %invoke.cont46 | |
br label %for.inc | |
for.inc: ; preds = %if.end | |
%47 = load i32, i32* %i, align 4 | |
%inc = add nsw i32 %47, 1 | |
store i32 %inc, i32* %i, align 4 | |
br label %for.cond | |
for.end: ; preds = %for.cond | |
%global_box61 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 3 | |
%call63 = invoke i32* @_ZN3BoxixEi(%struct.Box* %global_box61, i32 0) | |
to label %invoke.cont62 unwind label %lpad4 | |
invoke.cont62: ; preds = %for.end | |
%arrayidx64 = getelementptr inbounds i32, i32* %call63, i64 1 | |
%48 = load i32, i32* %arrayidx64, align 4 | |
%add65 = add nsw i32 %48, 1 | |
store i32 %add65, i32* %max_node_x, align 4 | |
%global_box66 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 3 | |
%call68 = invoke i32* @_ZN3BoxixEi(%struct.Box* %global_box66, i32 1) | |
to label %invoke.cont67 unwind label %lpad4 | |
invoke.cont67: ; preds = %invoke.cont62 | |
%arrayidx69 = getelementptr inbounds i32, i32* %call68, i64 1 | |
%49 = load i32, i32* %arrayidx69, align 4 | |
%add70 = add nsw i32 %49, 1 | |
store i32 %add70, i32* %max_node_y, align 4 | |
%global_box71 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 3 | |
%call73 = invoke i32* @_ZN3BoxixEi(%struct.Box* %global_box71, i32 2) | |
to label %invoke.cont72 unwind label %lpad4 | |
invoke.cont72: ; preds = %invoke.cont67 | |
%arrayidx74 = getelementptr inbounds i32, i32* %call73, i64 1 | |
%50 = load i32, i32* %arrayidx74, align 4 | |
%add75 = add nsw i32 %50, 1 | |
store i32 %add75, i32* %max_node_z, align 4 | |
%51 = load i32, i32* %max_node_x, align 4 | |
%52 = load i32, i32* %max_node_y, align 4 | |
%53 = load i32, i32* %max_node_z, align 4 | |
%map_ids_to_rows76 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 2 | |
invoke void @_ZN6miniFE20create_map_id_to_rowIiEEviiiRK3BoxRSt3mapIT_S5_St4lessIS5_ESaISt4pairIKS5_S5_EEE(i32 %51, i32 %52, i32 %53, %struct.Box* dereferenceable(24) %local_node_box, %"class.std::map"* dereferenceable(48) %map_ids_to_rows76) | |
to label %invoke.cont77 unwind label %lpad4 | |
invoke.cont77: ; preds = %invoke.cont72 | |
store i32 0, i32* %X, align 4 | |
store i32 1, i32* %Y, align 4 | |
store i32 2, i32* %Z, align 4 | |
%54 = load i32, i32* %max_node_x, align 4 | |
%sub = sub nsw i32 %54, 1 | |
store i32 %sub, i32* %x1, align 4 | |
%55 = load i32, i32* %max_node_y, align 4 | |
%sub78 = sub nsw i32 %55, 1 | |
store i32 %sub78, i32* %y1, align 4 | |
%56 = load i32, i32* %max_node_z, align 4 | |
%sub79 = sub nsw i32 %56, 1 | |
store i32 %sub79, i32* %z1, align 4 | |
%global_box80 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 3 | |
%call82 = invoke i32* @_ZN3BoxixEi(%struct.Box* %global_box80, i32 0) | |
to label %invoke.cont81 unwind label %lpad4 | |
invoke.cont81: ; preds = %invoke.cont77 | |
%arrayidx83 = getelementptr inbounds i32, i32* %call82, i64 0 | |
%57 = load i32, i32* %arrayidx83, align 4 | |
%local_box84 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 4 | |
%call86 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_box84, i32 0) | |
to label %invoke.cont85 unwind label %lpad4 | |
invoke.cont85: ; preds = %invoke.cont81 | |
%arrayidx87 = getelementptr inbounds i32, i32* %call86, i64 0 | |
%58 = load i32, i32* %arrayidx87, align 4 | |
%cmp88 = icmp eq i32 %57, %58 | |
br i1 %cmp88, label %if.then89, label %if.end148 | |
if.then89: ; preds = %invoke.cont85 | |
%call91 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 1) | |
to label %invoke.cont90 unwind label %lpad4 | |
invoke.cont90: ; preds = %if.then89 | |
%arrayidx92 = getelementptr inbounds i32, i32* %call91, i64 0 | |
%59 = load i32, i32* %arrayidx92, align 4 | |
store i32 %59, i32* %miny, align 4 | |
%call94 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 2) | |
to label %invoke.cont93 unwind label %lpad4 | |
invoke.cont93: ; preds = %invoke.cont90 | |
%arrayidx95 = getelementptr inbounds i32, i32* %call94, i64 0 | |
%60 = load i32, i32* %arrayidx95, align 4 | |
store i32 %60, i32* %minz, align 4 | |
%call97 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 1) | |
to label %invoke.cont96 unwind label %lpad4 | |
invoke.cont96: ; preds = %invoke.cont93 | |
%arrayidx98 = getelementptr inbounds i32, i32* %call97, i64 1 | |
%61 = load i32, i32* %arrayidx98, align 4 | |
store i32 %61, i32* %maxy, align 4 | |
%call100 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 2) | |
to label %invoke.cont99 unwind label %lpad4 | |
invoke.cont99: ; preds = %invoke.cont96 | |
%arrayidx101 = getelementptr inbounds i32, i32* %call100, i64 1 | |
%62 = load i32, i32* %arrayidx101, align 4 | |
store i32 %62, i32* %maxz, align 4 | |
%call103 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 1) | |
to label %invoke.cont102 unwind label %lpad4 | |
invoke.cont102: ; preds = %invoke.cont99 | |
%arrayidx104 = getelementptr inbounds i32, i32* %call103, i64 0 | |
%63 = load i32, i32* %arrayidx104, align 4 | |
%cmp105 = icmp sgt i32 %63, 0 | |
br i1 %cmp105, label %if.then106, label %if.end107 | |
if.then106: ; preds = %invoke.cont102 | |
%64 = load i32, i32* %miny, align 4 | |
%dec = add nsw i32 %64, -1 | |
store i32 %dec, i32* %miny, align 4 | |
br label %if.end107 | |
if.end107: ; preds = %if.then106, %invoke.cont102 | |
%call109 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 2) | |
to label %invoke.cont108 unwind label %lpad4 | |
invoke.cont108: ; preds = %if.end107 | |
%arrayidx110 = getelementptr inbounds i32, i32* %call109, i64 0 | |
%65 = load i32, i32* %arrayidx110, align 4 | |
%cmp111 = icmp sgt i32 %65, 0 | |
br i1 %cmp111, label %if.then112, label %if.end114 | |
if.then112: ; preds = %invoke.cont108 | |
%66 = load i32, i32* %minz, align 4 | |
%dec113 = add nsw i32 %66, -1 | |
store i32 %dec113, i32* %minz, align 4 | |
br label %if.end114 | |
if.end114: ; preds = %if.then112, %invoke.cont108 | |
%call116 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 1) | |
to label %invoke.cont115 unwind label %lpad4 | |
invoke.cont115: ; preds = %if.end114 | |
%arrayidx117 = getelementptr inbounds i32, i32* %call116, i64 1 | |
%67 = load i32, i32* %arrayidx117, align 4 | |
%68 = load i32, i32* %max_node_y, align 4 | |
%cmp118 = icmp slt i32 %67, %68 | |
br i1 %cmp118, label %if.then119, label %if.end121 | |
if.then119: ; preds = %invoke.cont115 | |
%69 = load i32, i32* %maxy, align 4 | |
%inc120 = add nsw i32 %69, 1 | |
store i32 %inc120, i32* %maxy, align 4 | |
br label %if.end121 | |
if.end121: ; preds = %if.then119, %invoke.cont115 | |
%call123 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 2) | |
to label %invoke.cont122 unwind label %lpad4 | |
invoke.cont122: ; preds = %if.end121 | |
%arrayidx124 = getelementptr inbounds i32, i32* %call123, i64 1 | |
%70 = load i32, i32* %arrayidx124, align 4 | |
%71 = load i32, i32* %max_node_z, align 4 | |
%cmp125 = icmp slt i32 %70, %71 | |
br i1 %cmp125, label %if.then126, label %if.end128 | |
if.then126: ; preds = %invoke.cont122 | |
%72 = load i32, i32* %maxz, align 4 | |
%inc127 = add nsw i32 %72, 1 | |
store i32 %inc127, i32* %maxz, align 4 | |
br label %if.end128 | |
if.end128: ; preds = %if.then126, %invoke.cont122 | |
%73 = load i32, i32* %minz, align 4 | |
store i32 %73, i32* %iz, align 4 | |
br label %for.cond129 | |
for.cond129: ; preds = %for.inc145, %if.end128 | |
%74 = load i32, i32* %iz, align 4 | |
%75 = load i32, i32* %maxz, align 4 | |
%cmp130 = icmp slt i32 %74, %75 | |
br i1 %cmp130, label %for.body131, label %for.end147 | |
for.body131: ; preds = %for.cond129 | |
%76 = load i32, i32* %miny, align 4 | |
store i32 %76, i32* %iy, align 4 | |
br label %for.cond132 | |
for.cond132: ; preds = %for.inc142, %for.body131 | |
%77 = load i32, i32* %iy, align 4 | |
%78 = load i32, i32* %maxy, align 4 | |
%cmp133 = icmp slt i32 %77, %78 | |
br i1 %cmp133, label %for.body134, label %for.end144 | |
for.body134: ; preds = %for.cond132 | |
%79 = load i32, i32* %max_node_x, align 4 | |
%80 = load i32, i32* %max_node_y, align 4 | |
%81 = load i32, i32* %max_node_z, align 4 | |
%82 = load i32, i32* %iy, align 4 | |
%83 = load i32, i32* %iz, align 4 | |
%call136 = invoke i32 @_ZN6miniFE6get_idIiEET_iiiiii(i32 %79, i32 %80, i32 %81, i32 0, i32 %82, i32 %83) | |
to label %invoke.cont135 unwind label %lpad4 | |
invoke.cont135: ; preds = %for.body134 | |
store i32 %call136, i32* %nodeID, align 4 | |
%bc_rows_0137 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 0 | |
%call139 = invoke i32 @_ZNK6miniFE23simple_mesh_descriptionIiE13map_id_to_rowERKi(%"class.miniFE::simple_mesh_description"* %this1, i32* dereferenceable(4) %nodeID) | |
to label %invoke.cont138 unwind label %lpad4 | |
invoke.cont138: ; preds = %invoke.cont135 | |
store i32 %call139, i32* %ref.tmp, align 4 | |
%call141 = invoke { %"struct.std::_Rb_tree_node_base"*, i8 } @_ZNSt3setIiSt4lessIiESaIiEE6insertERKi(%"class.std::set"* %bc_rows_0137, i32* dereferenceable(4) %ref.tmp) | |
to label %invoke.cont140 unwind label %lpad4 | |
invoke.cont140: ; preds = %invoke.cont138 | |
%84 = bitcast %"struct.std::pair.25"* %coerce to { %"struct.std::_Rb_tree_node_base"*, i8 }* | |
%85 = getelementptr inbounds { %"struct.std::_Rb_tree_node_base"*, i8 }, { %"struct.std::_Rb_tree_node_base"*, i8 }* %84, i32 0, i32 0 | |
%86 = extractvalue { %"struct.std::_Rb_tree_node_base"*, i8 } %call141, 0 | |
store %"struct.std::_Rb_tree_node_base"* %86, %"struct.std::_Rb_tree_node_base"** %85, align 8 | |
%87 = getelementptr inbounds { %"struct.std::_Rb_tree_node_base"*, i8 }, { %"struct.std::_Rb_tree_node_base"*, i8 }* %84, i32 0, i32 1 | |
%88 = extractvalue { %"struct.std::_Rb_tree_node_base"*, i8 } %call141, 1 | |
store i8 %88, i8* %87, align 8 | |
br label %for.inc142 | |
for.inc142: ; preds = %invoke.cont140 | |
%89 = load i32, i32* %iy, align 4 | |
%inc143 = add nsw i32 %89, 1 | |
store i32 %inc143, i32* %iy, align 4 | |
br label %for.cond132 | |
for.end144: ; preds = %for.cond132 | |
br label %for.inc145 | |
for.inc145: ; preds = %for.end144 | |
%90 = load i32, i32* %iz, align 4 | |
%inc146 = add nsw i32 %90, 1 | |
store i32 %inc146, i32* %iz, align 4 | |
br label %for.cond129 | |
for.end147: ; preds = %for.cond129 | |
br label %if.end148 | |
if.end148: ; preds = %for.end147, %invoke.cont85 | |
%global_box149 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 3 | |
%call151 = invoke i32* @_ZN3BoxixEi(%struct.Box* %global_box149, i32 1) | |
to label %invoke.cont150 unwind label %lpad4 | |
invoke.cont150: ; preds = %if.end148 | |
%arrayidx152 = getelementptr inbounds i32, i32* %call151, i64 0 | |
%91 = load i32, i32* %arrayidx152, align 4 | |
%local_box153 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 4 | |
%call155 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_box153, i32 1) | |
to label %invoke.cont154 unwind label %lpad4 | |
invoke.cont154: ; preds = %invoke.cont150 | |
%arrayidx156 = getelementptr inbounds i32, i32* %call155, i64 0 | |
%92 = load i32, i32* %arrayidx156, align 4 | |
%cmp157 = icmp eq i32 %91, %92 | |
br i1 %cmp157, label %if.then158, label %if.end244 | |
if.then158: ; preds = %invoke.cont154 | |
%call160 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 0) | |
to label %invoke.cont159 unwind label %lpad4 | |
invoke.cont159: ; preds = %if.then158 | |
%arrayidx161 = getelementptr inbounds i32, i32* %call160, i64 0 | |
%93 = load i32, i32* %arrayidx161, align 4 | |
store i32 %93, i32* %minx, align 4 | |
%call164 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 2) | |
to label %invoke.cont163 unwind label %lpad4 | |
invoke.cont163: ; preds = %invoke.cont159 | |
%arrayidx165 = getelementptr inbounds i32, i32* %call164, i64 0 | |
%94 = load i32, i32* %arrayidx165, align 4 | |
store i32 %94, i32* %minz162, align 4 | |
%call167 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 0) | |
to label %invoke.cont166 unwind label %lpad4 | |
invoke.cont166: ; preds = %invoke.cont163 | |
%arrayidx168 = getelementptr inbounds i32, i32* %call167, i64 1 | |
%95 = load i32, i32* %arrayidx168, align 4 | |
store i32 %95, i32* %maxx, align 4 | |
%call171 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 2) | |
to label %invoke.cont170 unwind label %lpad4 | |
invoke.cont170: ; preds = %invoke.cont166 | |
%arrayidx172 = getelementptr inbounds i32, i32* %call171, i64 1 | |
%96 = load i32, i32* %arrayidx172, align 4 | |
store i32 %96, i32* %maxz169, align 4 | |
%call174 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 0) | |
to label %invoke.cont173 unwind label %lpad4 | |
invoke.cont173: ; preds = %invoke.cont170 | |
%arrayidx175 = getelementptr inbounds i32, i32* %call174, i64 0 | |
%97 = load i32, i32* %arrayidx175, align 4 | |
%cmp176 = icmp sgt i32 %97, 0 | |
br i1 %cmp176, label %if.then177, label %if.end179 | |
if.then177: ; preds = %invoke.cont173 | |
%98 = load i32, i32* %minx, align 4 | |
%dec178 = add nsw i32 %98, -1 | |
store i32 %dec178, i32* %minx, align 4 | |
br label %if.end179 | |
if.end179: ; preds = %if.then177, %invoke.cont173 | |
%call181 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 2) | |
to label %invoke.cont180 unwind label %lpad4 | |
invoke.cont180: ; preds = %if.end179 | |
%arrayidx182 = getelementptr inbounds i32, i32* %call181, i64 0 | |
%99 = load i32, i32* %arrayidx182, align 4 | |
%cmp183 = icmp sgt i32 %99, 0 | |
br i1 %cmp183, label %if.then184, label %if.end186 | |
if.then184: ; preds = %invoke.cont180 | |
%100 = load i32, i32* %minz162, align 4 | |
%dec185 = add nsw i32 %100, -1 | |
store i32 %dec185, i32* %minz162, align 4 | |
br label %if.end186 | |
if.end186: ; preds = %if.then184, %invoke.cont180 | |
%call188 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 0) | |
to label %invoke.cont187 unwind label %lpad4 | |
invoke.cont187: ; preds = %if.end186 | |
%arrayidx189 = getelementptr inbounds i32, i32* %call188, i64 1 | |
%101 = load i32, i32* %arrayidx189, align 4 | |
%102 = load i32, i32* %max_node_x, align 4 | |
%cmp190 = icmp slt i32 %101, %102 | |
br i1 %cmp190, label %if.then191, label %if.end193 | |
if.then191: ; preds = %invoke.cont187 | |
%103 = load i32, i32* %maxx, align 4 | |
%inc192 = add nsw i32 %103, 1 | |
store i32 %inc192, i32* %maxx, align 4 | |
br label %if.end193 | |
if.end193: ; preds = %if.then191, %invoke.cont187 | |
%call195 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 2) | |
to label %invoke.cont194 unwind label %lpad4 | |
invoke.cont194: ; preds = %if.end193 | |
%arrayidx196 = getelementptr inbounds i32, i32* %call195, i64 1 | |
%104 = load i32, i32* %arrayidx196, align 4 | |
%105 = load i32, i32* %max_node_z, align 4 | |
%cmp197 = icmp slt i32 %104, %105 | |
br i1 %cmp197, label %if.then198, label %if.end200 | |
if.then198: ; preds = %invoke.cont194 | |
%106 = load i32, i32* %maxz169, align 4 | |
%inc199 = add nsw i32 %106, 1 | |
store i32 %inc199, i32* %maxz169, align 4 | |
br label %if.end200 | |
if.end200: ; preds = %if.then198, %invoke.cont194 | |
%107 = load i32, i32* %minz162, align 4 | |
store i32 %107, i32* %iz201, align 4 | |
br label %for.cond202 | |
for.cond202: ; preds = %for.inc241, %if.end200 | |
%108 = load i32, i32* %iz201, align 4 | |
%109 = load i32, i32* %maxz169, align 4 | |
%cmp203 = icmp slt i32 %108, %109 | |
br i1 %cmp203, label %for.body204, label %for.end243 | |
for.body204: ; preds = %for.cond202 | |
%110 = load i32, i32* %minx, align 4 | |
store i32 %110, i32* %ix, align 4 | |
br label %for.cond205 | |
for.cond205: ; preds = %for.inc238, %for.body204 | |
%111 = load i32, i32* %ix, align 4 | |
%112 = load i32, i32* %maxx, align 4 | |
%cmp206 = icmp slt i32 %111, %112 | |
br i1 %cmp206, label %for.body207, label %for.end240 | |
for.body207: ; preds = %for.cond205 | |
%113 = load i32, i32* %max_node_x, align 4 | |
%114 = load i32, i32* %max_node_y, align 4 | |
%115 = load i32, i32* %max_node_z, align 4 | |
%116 = load i32, i32* %ix, align 4 | |
%117 = load i32, i32* %iz201, align 4 | |
%call210 = invoke i32 @_ZN6miniFE6get_idIiEET_iiiiii(i32 %113, i32 %114, i32 %115, i32 %116, i32 0, i32 %117) | |
to label %invoke.cont209 unwind label %lpad4 | |
invoke.cont209: ; preds = %for.body207 | |
store i32 %call210, i32* %nodeID208, align 4 | |
%call212 = invoke i32 @_ZNK6miniFE23simple_mesh_descriptionIiE13map_id_to_rowERKi(%"class.miniFE::simple_mesh_description"* %this1, i32* dereferenceable(4) %nodeID208) | |
to label %invoke.cont211 unwind label %lpad4 | |
invoke.cont211: ; preds = %invoke.cont209 | |
store i32 %call212, i32* %row, align 4 | |
%118 = load i32, i32* %row, align 4 | |
%cmp213 = icmp slt i32 %118, 0 | |
br i1 %cmp213, label %if.then214, label %if.end233 | |
if.then214: ; preds = %invoke.cont211 | |
%call216 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cout, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.76, i32 0, i32 0)) | |
to label %invoke.cont215 unwind label %lpad4 | |
invoke.cont215: ; preds = %if.then214 | |
%119 = load i32, i32* %ix, align 4 | |
%call218 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %call216, i32 %119) | |
to label %invoke.cont217 unwind label %lpad4 | |
invoke.cont217: ; preds = %invoke.cont215 | |
%call220 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call218, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.77, i32 0, i32 0)) | |
to label %invoke.cont219 unwind label %lpad4 | |
invoke.cont219: ; preds = %invoke.cont217 | |
%120 = load i32, i32* %iz201, align 4 | |
%call222 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %call220, i32 %120) | |
to label %invoke.cont221 unwind label %lpad4 | |
invoke.cont221: ; preds = %invoke.cont219 | |
%call224 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call222, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.78, i32 0, i32 0)) | |
to label %invoke.cont223 unwind label %lpad4 | |
invoke.cont223: ; preds = %invoke.cont221 | |
%121 = load i32, i32* %row, align 4 | |
%call226 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %call224, i32 %121) | |
to label %invoke.cont225 unwind label %lpad4 | |
invoke.cont225: ; preds = %invoke.cont223 | |
%call228 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call226, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.79, i32 0, i32 0)) | |
to label %invoke.cont227 unwind label %lpad4 | |
invoke.cont227: ; preds = %invoke.cont225 | |
%122 = load i32, i32* %nodeID208, align 4 | |
%call230 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %call228, i32 %122) | |
to label %invoke.cont229 unwind label %lpad4 | |
invoke.cont229: ; preds = %invoke.cont227 | |
%call232 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call230, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
to label %invoke.cont231 unwind label %lpad4 | |
invoke.cont231: ; preds = %invoke.cont229 | |
br label %if.end233 | |
if.end233: ; preds = %invoke.cont231, %invoke.cont211 | |
%bc_rows_0234 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 0 | |
%call236 = invoke { %"struct.std::_Rb_tree_node_base"*, i8 } @_ZNSt3setIiSt4lessIiESaIiEE6insertERKi(%"class.std::set"* %bc_rows_0234, i32* dereferenceable(4) %row) | |
to label %invoke.cont235 unwind label %lpad4 | |
invoke.cont235: ; preds = %if.end233 | |
%123 = bitcast %"struct.std::pair.25"* %coerce237 to { %"struct.std::_Rb_tree_node_base"*, i8 }* | |
%124 = getelementptr inbounds { %"struct.std::_Rb_tree_node_base"*, i8 }, { %"struct.std::_Rb_tree_node_base"*, i8 }* %123, i32 0, i32 0 | |
%125 = extractvalue { %"struct.std::_Rb_tree_node_base"*, i8 } %call236, 0 | |
store %"struct.std::_Rb_tree_node_base"* %125, %"struct.std::_Rb_tree_node_base"** %124, align 8 | |
%126 = getelementptr inbounds { %"struct.std::_Rb_tree_node_base"*, i8 }, { %"struct.std::_Rb_tree_node_base"*, i8 }* %123, i32 0, i32 1 | |
%127 = extractvalue { %"struct.std::_Rb_tree_node_base"*, i8 } %call236, 1 | |
store i8 %127, i8* %126, align 8 | |
br label %for.inc238 | |
for.inc238: ; preds = %invoke.cont235 | |
%128 = load i32, i32* %ix, align 4 | |
%inc239 = add nsw i32 %128, 1 | |
store i32 %inc239, i32* %ix, align 4 | |
br label %for.cond205 | |
for.end240: ; preds = %for.cond205 | |
br label %for.inc241 | |
for.inc241: ; preds = %for.end240 | |
%129 = load i32, i32* %iz201, align 4 | |
%inc242 = add nsw i32 %129, 1 | |
store i32 %inc242, i32* %iz201, align 4 | |
br label %for.cond202 | |
for.end243: ; preds = %for.cond202 | |
br label %if.end244 | |
if.end244: ; preds = %for.end243, %invoke.cont154 | |
%global_box245 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 3 | |
%call247 = invoke i32* @_ZN3BoxixEi(%struct.Box* %global_box245, i32 2) | |
to label %invoke.cont246 unwind label %lpad4 | |
invoke.cont246: ; preds = %if.end244 | |
%arrayidx248 = getelementptr inbounds i32, i32* %call247, i64 0 | |
%130 = load i32, i32* %arrayidx248, align 4 | |
%local_box249 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 4 | |
%call251 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_box249, i32 2) | |
to label %invoke.cont250 unwind label %lpad4 | |
invoke.cont250: ; preds = %invoke.cont246 | |
%arrayidx252 = getelementptr inbounds i32, i32* %call251, i64 0 | |
%131 = load i32, i32* %arrayidx252, align 4 | |
%cmp253 = icmp eq i32 %130, %131 | |
br i1 %cmp253, label %if.then254, label %if.end323 | |
if.then254: ; preds = %invoke.cont250 | |
%call257 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 0) | |
to label %invoke.cont256 unwind label %lpad4 | |
invoke.cont256: ; preds = %if.then254 | |
%arrayidx258 = getelementptr inbounds i32, i32* %call257, i64 0 | |
%132 = load i32, i32* %arrayidx258, align 4 | |
store i32 %132, i32* %minx255, align 4 | |
%call261 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 1) | |
to label %invoke.cont260 unwind label %lpad4 | |
invoke.cont260: ; preds = %invoke.cont256 | |
%arrayidx262 = getelementptr inbounds i32, i32* %call261, i64 0 | |
%133 = load i32, i32* %arrayidx262, align 4 | |
store i32 %133, i32* %miny259, align 4 | |
%call265 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 0) | |
to label %invoke.cont264 unwind label %lpad4 | |
invoke.cont264: ; preds = %invoke.cont260 | |
%arrayidx266 = getelementptr inbounds i32, i32* %call265, i64 1 | |
%134 = load i32, i32* %arrayidx266, align 4 | |
store i32 %134, i32* %maxx263, align 4 | |
%call269 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 1) | |
to label %invoke.cont268 unwind label %lpad4 | |
invoke.cont268: ; preds = %invoke.cont264 | |
%arrayidx270 = getelementptr inbounds i32, i32* %call269, i64 1 | |
%135 = load i32, i32* %arrayidx270, align 4 | |
store i32 %135, i32* %maxy267, align 4 | |
%call272 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 0) | |
to label %invoke.cont271 unwind label %lpad4 | |
invoke.cont271: ; preds = %invoke.cont268 | |
%arrayidx273 = getelementptr inbounds i32, i32* %call272, i64 0 | |
%136 = load i32, i32* %arrayidx273, align 4 | |
%cmp274 = icmp sgt i32 %136, 0 | |
br i1 %cmp274, label %if.then275, label %if.end277 | |
if.then275: ; preds = %invoke.cont271 | |
%137 = load i32, i32* %minx255, align 4 | |
%dec276 = add nsw i32 %137, -1 | |
store i32 %dec276, i32* %minx255, align 4 | |
br label %if.end277 | |
if.end277: ; preds = %if.then275, %invoke.cont271 | |
%call279 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 1) | |
to label %invoke.cont278 unwind label %lpad4 | |
invoke.cont278: ; preds = %if.end277 | |
%arrayidx280 = getelementptr inbounds i32, i32* %call279, i64 0 | |
%138 = load i32, i32* %arrayidx280, align 4 | |
%cmp281 = icmp sgt i32 %138, 0 | |
br i1 %cmp281, label %if.then282, label %if.end284 | |
if.then282: ; preds = %invoke.cont278 | |
%139 = load i32, i32* %miny259, align 4 | |
%dec283 = add nsw i32 %139, -1 | |
store i32 %dec283, i32* %miny259, align 4 | |
br label %if.end284 | |
if.end284: ; preds = %if.then282, %invoke.cont278 | |
%call286 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 0) | |
to label %invoke.cont285 unwind label %lpad4 | |
invoke.cont285: ; preds = %if.end284 | |
%arrayidx287 = getelementptr inbounds i32, i32* %call286, i64 1 | |
%140 = load i32, i32* %arrayidx287, align 4 | |
%141 = load i32, i32* %max_node_x, align 4 | |
%cmp288 = icmp slt i32 %140, %141 | |
br i1 %cmp288, label %if.then289, label %if.end291 | |
if.then289: ; preds = %invoke.cont285 | |
%142 = load i32, i32* %maxx263, align 4 | |
%inc290 = add nsw i32 %142, 1 | |
store i32 %inc290, i32* %maxx263, align 4 | |
br label %if.end291 | |
if.end291: ; preds = %if.then289, %invoke.cont285 | |
%call293 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 1) | |
to label %invoke.cont292 unwind label %lpad4 | |
invoke.cont292: ; preds = %if.end291 | |
%arrayidx294 = getelementptr inbounds i32, i32* %call293, i64 1 | |
%143 = load i32, i32* %arrayidx294, align 4 | |
%144 = load i32, i32* %max_node_y, align 4 | |
%cmp295 = icmp slt i32 %143, %144 | |
br i1 %cmp295, label %if.then296, label %if.end298 | |
if.then296: ; preds = %invoke.cont292 | |
%145 = load i32, i32* %maxy267, align 4 | |
%inc297 = add nsw i32 %145, 1 | |
store i32 %inc297, i32* %maxy267, align 4 | |
br label %if.end298 | |
if.end298: ; preds = %if.then296, %invoke.cont292 | |
%146 = load i32, i32* %miny259, align 4 | |
store i32 %146, i32* %iy299, align 4 | |
br label %for.cond300 | |
for.cond300: ; preds = %for.inc320, %if.end298 | |
%147 = load i32, i32* %iy299, align 4 | |
%148 = load i32, i32* %maxy267, align 4 | |
%cmp301 = icmp slt i32 %147, %148 | |
br i1 %cmp301, label %for.body302, label %for.end322 | |
for.body302: ; preds = %for.cond300 | |
%149 = load i32, i32* %minx255, align 4 | |
store i32 %149, i32* %ix303, align 4 | |
br label %for.cond304 | |
for.cond304: ; preds = %for.inc317, %for.body302 | |
%150 = load i32, i32* %ix303, align 4 | |
%151 = load i32, i32* %maxx263, align 4 | |
%cmp305 = icmp slt i32 %150, %151 | |
br i1 %cmp305, label %for.body306, label %for.end319 | |
for.body306: ; preds = %for.cond304 | |
%152 = load i32, i32* %max_node_x, align 4 | |
%153 = load i32, i32* %max_node_y, align 4 | |
%154 = load i32, i32* %max_node_z, align 4 | |
%155 = load i32, i32* %ix303, align 4 | |
%156 = load i32, i32* %iy299, align 4 | |
%call309 = invoke i32 @_ZN6miniFE6get_idIiEET_iiiiii(i32 %152, i32 %153, i32 %154, i32 %155, i32 %156, i32 0) | |
to label %invoke.cont308 unwind label %lpad4 | |
invoke.cont308: ; preds = %for.body306 | |
store i32 %call309, i32* %nodeID307, align 4 | |
%bc_rows_0310 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 0 | |
%call313 = invoke i32 @_ZNK6miniFE23simple_mesh_descriptionIiE13map_id_to_rowERKi(%"class.miniFE::simple_mesh_description"* %this1, i32* dereferenceable(4) %nodeID307) | |
to label %invoke.cont312 unwind label %lpad4 | |
invoke.cont312: ; preds = %invoke.cont308 | |
store i32 %call313, i32* %ref.tmp311, align 4 | |
%call315 = invoke { %"struct.std::_Rb_tree_node_base"*, i8 } @_ZNSt3setIiSt4lessIiESaIiEE6insertERKi(%"class.std::set"* %bc_rows_0310, i32* dereferenceable(4) %ref.tmp311) | |
to label %invoke.cont314 unwind label %lpad4 | |
invoke.cont314: ; preds = %invoke.cont312 | |
%157 = bitcast %"struct.std::pair.25"* %coerce316 to { %"struct.std::_Rb_tree_node_base"*, i8 }* | |
%158 = getelementptr inbounds { %"struct.std::_Rb_tree_node_base"*, i8 }, { %"struct.std::_Rb_tree_node_base"*, i8 }* %157, i32 0, i32 0 | |
%159 = extractvalue { %"struct.std::_Rb_tree_node_base"*, i8 } %call315, 0 | |
store %"struct.std::_Rb_tree_node_base"* %159, %"struct.std::_Rb_tree_node_base"** %158, align 8 | |
%160 = getelementptr inbounds { %"struct.std::_Rb_tree_node_base"*, i8 }, { %"struct.std::_Rb_tree_node_base"*, i8 }* %157, i32 0, i32 1 | |
%161 = extractvalue { %"struct.std::_Rb_tree_node_base"*, i8 } %call315, 1 | |
store i8 %161, i8* %160, align 8 | |
br label %for.inc317 | |
for.inc317: ; preds = %invoke.cont314 | |
%162 = load i32, i32* %ix303, align 4 | |
%inc318 = add nsw i32 %162, 1 | |
store i32 %inc318, i32* %ix303, align 4 | |
br label %for.cond304 | |
for.end319: ; preds = %for.cond304 | |
br label %for.inc320 | |
for.inc320: ; preds = %for.end319 | |
%163 = load i32, i32* %iy299, align 4 | |
%inc321 = add nsw i32 %163, 1 | |
store i32 %inc321, i32* %iy299, align 4 | |
br label %for.cond300 | |
for.end322: ; preds = %for.cond300 | |
br label %if.end323 | |
if.end323: ; preds = %for.end322, %invoke.cont250 | |
%global_box324 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 3 | |
%call326 = invoke i32* @_ZN3BoxixEi(%struct.Box* %global_box324, i32 0) | |
to label %invoke.cont325 unwind label %lpad4 | |
invoke.cont325: ; preds = %if.end323 | |
%arrayidx327 = getelementptr inbounds i32, i32* %call326, i64 1 | |
%164 = load i32, i32* %arrayidx327, align 4 | |
%local_box328 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 4 | |
%call330 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_box328, i32 0) | |
to label %invoke.cont329 unwind label %lpad4 | |
invoke.cont329: ; preds = %invoke.cont325 | |
%arrayidx331 = getelementptr inbounds i32, i32* %call330, i64 1 | |
%165 = load i32, i32* %arrayidx331, align 4 | |
%cmp332 = icmp eq i32 %164, %165 | |
br i1 %cmp332, label %if.then333, label %if.end402 | |
if.then333: ; preds = %invoke.cont329 | |
%call336 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 2) | |
to label %invoke.cont335 unwind label %lpad4 | |
invoke.cont335: ; preds = %if.then333 | |
%arrayidx337 = getelementptr inbounds i32, i32* %call336, i64 0 | |
%166 = load i32, i32* %arrayidx337, align 4 | |
store i32 %166, i32* %minz334, align 4 | |
%call340 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 1) | |
to label %invoke.cont339 unwind label %lpad4 | |
invoke.cont339: ; preds = %invoke.cont335 | |
%arrayidx341 = getelementptr inbounds i32, i32* %call340, i64 0 | |
%167 = load i32, i32* %arrayidx341, align 4 | |
store i32 %167, i32* %miny338, align 4 | |
%call344 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 2) | |
to label %invoke.cont343 unwind label %lpad4 | |
invoke.cont343: ; preds = %invoke.cont339 | |
%arrayidx345 = getelementptr inbounds i32, i32* %call344, i64 1 | |
%168 = load i32, i32* %arrayidx345, align 4 | |
store i32 %168, i32* %maxz342, align 4 | |
%call348 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 1) | |
to label %invoke.cont347 unwind label %lpad4 | |
invoke.cont347: ; preds = %invoke.cont343 | |
%arrayidx349 = getelementptr inbounds i32, i32* %call348, i64 1 | |
%169 = load i32, i32* %arrayidx349, align 4 | |
store i32 %169, i32* %maxy346, align 4 | |
%call351 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 2) | |
to label %invoke.cont350 unwind label %lpad4 | |
invoke.cont350: ; preds = %invoke.cont347 | |
%arrayidx352 = getelementptr inbounds i32, i32* %call351, i64 0 | |
%170 = load i32, i32* %arrayidx352, align 4 | |
%cmp353 = icmp sgt i32 %170, 0 | |
br i1 %cmp353, label %if.then354, label %if.end356 | |
if.then354: ; preds = %invoke.cont350 | |
%171 = load i32, i32* %minz334, align 4 | |
%dec355 = add nsw i32 %171, -1 | |
store i32 %dec355, i32* %minz334, align 4 | |
br label %if.end356 | |
if.end356: ; preds = %if.then354, %invoke.cont350 | |
%call358 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 1) | |
to label %invoke.cont357 unwind label %lpad4 | |
invoke.cont357: ; preds = %if.end356 | |
%arrayidx359 = getelementptr inbounds i32, i32* %call358, i64 0 | |
%172 = load i32, i32* %arrayidx359, align 4 | |
%cmp360 = icmp sgt i32 %172, 0 | |
br i1 %cmp360, label %if.then361, label %if.end363 | |
if.then361: ; preds = %invoke.cont357 | |
%173 = load i32, i32* %miny338, align 4 | |
%dec362 = add nsw i32 %173, -1 | |
store i32 %dec362, i32* %miny338, align 4 | |
br label %if.end363 | |
if.end363: ; preds = %if.then361, %invoke.cont357 | |
%call365 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 2) | |
to label %invoke.cont364 unwind label %lpad4 | |
invoke.cont364: ; preds = %if.end363 | |
%arrayidx366 = getelementptr inbounds i32, i32* %call365, i64 1 | |
%174 = load i32, i32* %arrayidx366, align 4 | |
%175 = load i32, i32* %max_node_z, align 4 | |
%cmp367 = icmp slt i32 %174, %175 | |
br i1 %cmp367, label %if.then368, label %if.end370 | |
if.then368: ; preds = %invoke.cont364 | |
%176 = load i32, i32* %maxz342, align 4 | |
%inc369 = add nsw i32 %176, 1 | |
store i32 %inc369, i32* %maxz342, align 4 | |
br label %if.end370 | |
if.end370: ; preds = %if.then368, %invoke.cont364 | |
%call372 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 1) | |
to label %invoke.cont371 unwind label %lpad4 | |
invoke.cont371: ; preds = %if.end370 | |
%arrayidx373 = getelementptr inbounds i32, i32* %call372, i64 1 | |
%177 = load i32, i32* %arrayidx373, align 4 | |
%178 = load i32, i32* %max_node_y, align 4 | |
%cmp374 = icmp slt i32 %177, %178 | |
br i1 %cmp374, label %if.then375, label %if.end377 | |
if.then375: ; preds = %invoke.cont371 | |
%179 = load i32, i32* %maxy346, align 4 | |
%inc376 = add nsw i32 %179, 1 | |
store i32 %inc376, i32* %maxy346, align 4 | |
br label %if.end377 | |
if.end377: ; preds = %if.then375, %invoke.cont371 | |
%180 = load i32, i32* %miny338, align 4 | |
store i32 %180, i32* %iy378, align 4 | |
br label %for.cond379 | |
for.cond379: ; preds = %for.inc399, %if.end377 | |
%181 = load i32, i32* %iy378, align 4 | |
%182 = load i32, i32* %maxy346, align 4 | |
%cmp380 = icmp slt i32 %181, %182 | |
br i1 %cmp380, label %for.body381, label %for.end401 | |
for.body381: ; preds = %for.cond379 | |
%183 = load i32, i32* %minz334, align 4 | |
store i32 %183, i32* %iz382, align 4 | |
br label %for.cond383 | |
for.cond383: ; preds = %for.inc396, %for.body381 | |
%184 = load i32, i32* %iz382, align 4 | |
%185 = load i32, i32* %maxz342, align 4 | |
%cmp384 = icmp slt i32 %184, %185 | |
br i1 %cmp384, label %for.body385, label %for.end398 | |
for.body385: ; preds = %for.cond383 | |
%186 = load i32, i32* %max_node_x, align 4 | |
%187 = load i32, i32* %max_node_y, align 4 | |
%188 = load i32, i32* %max_node_z, align 4 | |
%189 = load i32, i32* %x1, align 4 | |
%190 = load i32, i32* %iy378, align 4 | |
%191 = load i32, i32* %iz382, align 4 | |
%call388 = invoke i32 @_ZN6miniFE6get_idIiEET_iiiiii(i32 %186, i32 %187, i32 %188, i32 %189, i32 %190, i32 %191) | |
to label %invoke.cont387 unwind label %lpad4 | |
invoke.cont387: ; preds = %for.body385 | |
store i32 %call388, i32* %nodeID386, align 4 | |
%call391 = invoke i32 @_ZNK6miniFE23simple_mesh_descriptionIiE13map_id_to_rowERKi(%"class.miniFE::simple_mesh_description"* %this1, i32* dereferenceable(4) %nodeID386) | |
to label %invoke.cont390 unwind label %lpad4 | |
invoke.cont390: ; preds = %invoke.cont387 | |
store i32 %call391, i32* %row389, align 4 | |
%bc_rows_1392 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 1 | |
%call394 = invoke { %"struct.std::_Rb_tree_node_base"*, i8 } @_ZNSt3setIiSt4lessIiESaIiEE6insertERKi(%"class.std::set"* %bc_rows_1392, i32* dereferenceable(4) %row389) | |
to label %invoke.cont393 unwind label %lpad4 | |
invoke.cont393: ; preds = %invoke.cont390 | |
%192 = bitcast %"struct.std::pair.25"* %coerce395 to { %"struct.std::_Rb_tree_node_base"*, i8 }* | |
%193 = getelementptr inbounds { %"struct.std::_Rb_tree_node_base"*, i8 }, { %"struct.std::_Rb_tree_node_base"*, i8 }* %192, i32 0, i32 0 | |
%194 = extractvalue { %"struct.std::_Rb_tree_node_base"*, i8 } %call394, 0 | |
store %"struct.std::_Rb_tree_node_base"* %194, %"struct.std::_Rb_tree_node_base"** %193, align 8 | |
%195 = getelementptr inbounds { %"struct.std::_Rb_tree_node_base"*, i8 }, { %"struct.std::_Rb_tree_node_base"*, i8 }* %192, i32 0, i32 1 | |
%196 = extractvalue { %"struct.std::_Rb_tree_node_base"*, i8 } %call394, 1 | |
store i8 %196, i8* %195, align 8 | |
br label %for.inc396 | |
for.inc396: ; preds = %invoke.cont393 | |
%197 = load i32, i32* %iz382, align 4 | |
%inc397 = add nsw i32 %197, 1 | |
store i32 %inc397, i32* %iz382, align 4 | |
br label %for.cond383 | |
for.end398: ; preds = %for.cond383 | |
br label %for.inc399 | |
for.inc399: ; preds = %for.end398 | |
%198 = load i32, i32* %iy378, align 4 | |
%inc400 = add nsw i32 %198, 1 | |
store i32 %inc400, i32* %iy378, align 4 | |
br label %for.cond379 | |
for.end401: ; preds = %for.cond379 | |
br label %if.end402 | |
if.end402: ; preds = %for.end401, %invoke.cont329 | |
%global_box403 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 3 | |
%call405 = invoke i32* @_ZN3BoxixEi(%struct.Box* %global_box403, i32 1) | |
to label %invoke.cont404 unwind label %lpad4 | |
invoke.cont404: ; preds = %if.end402 | |
%arrayidx406 = getelementptr inbounds i32, i32* %call405, i64 1 | |
%199 = load i32, i32* %arrayidx406, align 4 | |
%local_box407 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 4 | |
%call409 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_box407, i32 1) | |
to label %invoke.cont408 unwind label %lpad4 | |
invoke.cont408: ; preds = %invoke.cont404 | |
%arrayidx410 = getelementptr inbounds i32, i32* %call409, i64 1 | |
%200 = load i32, i32* %arrayidx410, align 4 | |
%cmp411 = icmp eq i32 %199, %200 | |
br i1 %cmp411, label %if.then412, label %if.end481 | |
if.then412: ; preds = %invoke.cont408 | |
%call415 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 2) | |
to label %invoke.cont414 unwind label %lpad4 | |
invoke.cont414: ; preds = %if.then412 | |
%arrayidx416 = getelementptr inbounds i32, i32* %call415, i64 0 | |
%201 = load i32, i32* %arrayidx416, align 4 | |
store i32 %201, i32* %minz413, align 4 | |
%call419 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 0) | |
to label %invoke.cont418 unwind label %lpad4 | |
invoke.cont418: ; preds = %invoke.cont414 | |
%arrayidx420 = getelementptr inbounds i32, i32* %call419, i64 0 | |
%202 = load i32, i32* %arrayidx420, align 4 | |
store i32 %202, i32* %minx417, align 4 | |
%call423 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 2) | |
to label %invoke.cont422 unwind label %lpad4 | |
invoke.cont422: ; preds = %invoke.cont418 | |
%arrayidx424 = getelementptr inbounds i32, i32* %call423, i64 1 | |
%203 = load i32, i32* %arrayidx424, align 4 | |
store i32 %203, i32* %maxz421, align 4 | |
%call427 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 0) | |
to label %invoke.cont426 unwind label %lpad4 | |
invoke.cont426: ; preds = %invoke.cont422 | |
%arrayidx428 = getelementptr inbounds i32, i32* %call427, i64 1 | |
%204 = load i32, i32* %arrayidx428, align 4 | |
store i32 %204, i32* %maxx425, align 4 | |
%call430 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 2) | |
to label %invoke.cont429 unwind label %lpad4 | |
invoke.cont429: ; preds = %invoke.cont426 | |
%arrayidx431 = getelementptr inbounds i32, i32* %call430, i64 0 | |
%205 = load i32, i32* %arrayidx431, align 4 | |
%cmp432 = icmp sgt i32 %205, 0 | |
br i1 %cmp432, label %if.then433, label %if.end435 | |
if.then433: ; preds = %invoke.cont429 | |
%206 = load i32, i32* %minz413, align 4 | |
%dec434 = add nsw i32 %206, -1 | |
store i32 %dec434, i32* %minz413, align 4 | |
br label %if.end435 | |
if.end435: ; preds = %if.then433, %invoke.cont429 | |
%call437 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 0) | |
to label %invoke.cont436 unwind label %lpad4 | |
invoke.cont436: ; preds = %if.end435 | |
%arrayidx438 = getelementptr inbounds i32, i32* %call437, i64 0 | |
%207 = load i32, i32* %arrayidx438, align 4 | |
%cmp439 = icmp sgt i32 %207, 0 | |
br i1 %cmp439, label %if.then440, label %if.end442 | |
if.then440: ; preds = %invoke.cont436 | |
%208 = load i32, i32* %minx417, align 4 | |
%dec441 = add nsw i32 %208, -1 | |
store i32 %dec441, i32* %minx417, align 4 | |
br label %if.end442 | |
if.end442: ; preds = %if.then440, %invoke.cont436 | |
%call444 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 2) | |
to label %invoke.cont443 unwind label %lpad4 | |
invoke.cont443: ; preds = %if.end442 | |
%arrayidx445 = getelementptr inbounds i32, i32* %call444, i64 1 | |
%209 = load i32, i32* %arrayidx445, align 4 | |
%210 = load i32, i32* %max_node_z, align 4 | |
%cmp446 = icmp slt i32 %209, %210 | |
br i1 %cmp446, label %if.then447, label %if.end449 | |
if.then447: ; preds = %invoke.cont443 | |
%211 = load i32, i32* %maxz421, align 4 | |
%inc448 = add nsw i32 %211, 1 | |
store i32 %inc448, i32* %maxz421, align 4 | |
br label %if.end449 | |
if.end449: ; preds = %if.then447, %invoke.cont443 | |
%call451 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 0) | |
to label %invoke.cont450 unwind label %lpad4 | |
invoke.cont450: ; preds = %if.end449 | |
%arrayidx452 = getelementptr inbounds i32, i32* %call451, i64 1 | |
%212 = load i32, i32* %arrayidx452, align 4 | |
%213 = load i32, i32* %max_node_x, align 4 | |
%cmp453 = icmp slt i32 %212, %213 | |
br i1 %cmp453, label %if.then454, label %if.end456 | |
if.then454: ; preds = %invoke.cont450 | |
%214 = load i32, i32* %maxx425, align 4 | |
%inc455 = add nsw i32 %214, 1 | |
store i32 %inc455, i32* %maxx425, align 4 | |
br label %if.end456 | |
if.end456: ; preds = %if.then454, %invoke.cont450 | |
%215 = load i32, i32* %minx417, align 4 | |
store i32 %215, i32* %ix457, align 4 | |
br label %for.cond458 | |
for.cond458: ; preds = %for.inc478, %if.end456 | |
%216 = load i32, i32* %ix457, align 4 | |
%217 = load i32, i32* %maxx425, align 4 | |
%cmp459 = icmp slt i32 %216, %217 | |
br i1 %cmp459, label %for.body460, label %for.end480 | |
for.body460: ; preds = %for.cond458 | |
%218 = load i32, i32* %minz413, align 4 | |
store i32 %218, i32* %iz461, align 4 | |
br label %for.cond462 | |
for.cond462: ; preds = %for.inc475, %for.body460 | |
%219 = load i32, i32* %iz461, align 4 | |
%220 = load i32, i32* %maxz421, align 4 | |
%cmp463 = icmp slt i32 %219, %220 | |
br i1 %cmp463, label %for.body464, label %for.end477 | |
for.body464: ; preds = %for.cond462 | |
%221 = load i32, i32* %max_node_x, align 4 | |
%222 = load i32, i32* %max_node_y, align 4 | |
%223 = load i32, i32* %max_node_z, align 4 | |
%224 = load i32, i32* %ix457, align 4 | |
%225 = load i32, i32* %y1, align 4 | |
%226 = load i32, i32* %iz461, align 4 | |
%call467 = invoke i32 @_ZN6miniFE6get_idIiEET_iiiiii(i32 %221, i32 %222, i32 %223, i32 %224, i32 %225, i32 %226) | |
to label %invoke.cont466 unwind label %lpad4 | |
invoke.cont466: ; preds = %for.body464 | |
store i32 %call467, i32* %nodeID465, align 4 | |
%bc_rows_0468 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 0 | |
%call471 = invoke i32 @_ZNK6miniFE23simple_mesh_descriptionIiE13map_id_to_rowERKi(%"class.miniFE::simple_mesh_description"* %this1, i32* dereferenceable(4) %nodeID465) | |
to label %invoke.cont470 unwind label %lpad4 | |
invoke.cont470: ; preds = %invoke.cont466 | |
store i32 %call471, i32* %ref.tmp469, align 4 | |
%call473 = invoke { %"struct.std::_Rb_tree_node_base"*, i8 } @_ZNSt3setIiSt4lessIiESaIiEE6insertERKi(%"class.std::set"* %bc_rows_0468, i32* dereferenceable(4) %ref.tmp469) | |
to label %invoke.cont472 unwind label %lpad4 | |
invoke.cont472: ; preds = %invoke.cont470 | |
%227 = bitcast %"struct.std::pair.25"* %coerce474 to { %"struct.std::_Rb_tree_node_base"*, i8 }* | |
%228 = getelementptr inbounds { %"struct.std::_Rb_tree_node_base"*, i8 }, { %"struct.std::_Rb_tree_node_base"*, i8 }* %227, i32 0, i32 0 | |
%229 = extractvalue { %"struct.std::_Rb_tree_node_base"*, i8 } %call473, 0 | |
store %"struct.std::_Rb_tree_node_base"* %229, %"struct.std::_Rb_tree_node_base"** %228, align 8 | |
%230 = getelementptr inbounds { %"struct.std::_Rb_tree_node_base"*, i8 }, { %"struct.std::_Rb_tree_node_base"*, i8 }* %227, i32 0, i32 1 | |
%231 = extractvalue { %"struct.std::_Rb_tree_node_base"*, i8 } %call473, 1 | |
store i8 %231, i8* %230, align 8 | |
br label %for.inc475 | |
for.inc475: ; preds = %invoke.cont472 | |
%232 = load i32, i32* %iz461, align 4 | |
%inc476 = add nsw i32 %232, 1 | |
store i32 %inc476, i32* %iz461, align 4 | |
br label %for.cond462 | |
for.end477: ; preds = %for.cond462 | |
br label %for.inc478 | |
for.inc478: ; preds = %for.end477 | |
%233 = load i32, i32* %ix457, align 4 | |
%inc479 = add nsw i32 %233, 1 | |
store i32 %inc479, i32* %ix457, align 4 | |
br label %for.cond458 | |
for.end480: ; preds = %for.cond458 | |
br label %if.end481 | |
if.end481: ; preds = %for.end480, %invoke.cont408 | |
%global_box482 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 3 | |
%call484 = invoke i32* @_ZN3BoxixEi(%struct.Box* %global_box482, i32 2) | |
to label %invoke.cont483 unwind label %lpad4 | |
invoke.cont483: ; preds = %if.end481 | |
%arrayidx485 = getelementptr inbounds i32, i32* %call484, i64 1 | |
%234 = load i32, i32* %arrayidx485, align 4 | |
%local_box486 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 4 | |
%call488 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_box486, i32 2) | |
to label %invoke.cont487 unwind label %lpad4 | |
invoke.cont487: ; preds = %invoke.cont483 | |
%arrayidx489 = getelementptr inbounds i32, i32* %call488, i64 1 | |
%235 = load i32, i32* %arrayidx489, align 4 | |
%cmp490 = icmp eq i32 %234, %235 | |
br i1 %cmp490, label %if.then491, label %if.end560 | |
if.then491: ; preds = %invoke.cont487 | |
%call494 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 1) | |
to label %invoke.cont493 unwind label %lpad4 | |
invoke.cont493: ; preds = %if.then491 | |
%arrayidx495 = getelementptr inbounds i32, i32* %call494, i64 0 | |
%236 = load i32, i32* %arrayidx495, align 4 | |
store i32 %236, i32* %miny492, align 4 | |
%call498 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 0) | |
to label %invoke.cont497 unwind label %lpad4 | |
invoke.cont497: ; preds = %invoke.cont493 | |
%arrayidx499 = getelementptr inbounds i32, i32* %call498, i64 0 | |
%237 = load i32, i32* %arrayidx499, align 4 | |
store i32 %237, i32* %minx496, align 4 | |
%call502 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 1) | |
to label %invoke.cont501 unwind label %lpad4 | |
invoke.cont501: ; preds = %invoke.cont497 | |
%arrayidx503 = getelementptr inbounds i32, i32* %call502, i64 1 | |
%238 = load i32, i32* %arrayidx503, align 4 | |
store i32 %238, i32* %maxy500, align 4 | |
%call506 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 0) | |
to label %invoke.cont505 unwind label %lpad4 | |
invoke.cont505: ; preds = %invoke.cont501 | |
%arrayidx507 = getelementptr inbounds i32, i32* %call506, i64 1 | |
%239 = load i32, i32* %arrayidx507, align 4 | |
store i32 %239, i32* %maxx504, align 4 | |
%call509 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 1) | |
to label %invoke.cont508 unwind label %lpad4 | |
invoke.cont508: ; preds = %invoke.cont505 | |
%arrayidx510 = getelementptr inbounds i32, i32* %call509, i64 0 | |
%240 = load i32, i32* %arrayidx510, align 4 | |
%cmp511 = icmp sgt i32 %240, 0 | |
br i1 %cmp511, label %if.then512, label %if.end514 | |
if.then512: ; preds = %invoke.cont508 | |
%241 = load i32, i32* %miny492, align 4 | |
%dec513 = add nsw i32 %241, -1 | |
store i32 %dec513, i32* %miny492, align 4 | |
br label %if.end514 | |
if.end514: ; preds = %if.then512, %invoke.cont508 | |
%call516 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 0) | |
to label %invoke.cont515 unwind label %lpad4 | |
invoke.cont515: ; preds = %if.end514 | |
%arrayidx517 = getelementptr inbounds i32, i32* %call516, i64 0 | |
%242 = load i32, i32* %arrayidx517, align 4 | |
%cmp518 = icmp sgt i32 %242, 0 | |
br i1 %cmp518, label %if.then519, label %if.end521 | |
if.then519: ; preds = %invoke.cont515 | |
%243 = load i32, i32* %minx496, align 4 | |
%dec520 = add nsw i32 %243, -1 | |
store i32 %dec520, i32* %minx496, align 4 | |
br label %if.end521 | |
if.end521: ; preds = %if.then519, %invoke.cont515 | |
%call523 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 1) | |
to label %invoke.cont522 unwind label %lpad4 | |
invoke.cont522: ; preds = %if.end521 | |
%arrayidx524 = getelementptr inbounds i32, i32* %call523, i64 1 | |
%244 = load i32, i32* %arrayidx524, align 4 | |
%245 = load i32, i32* %max_node_y, align 4 | |
%cmp525 = icmp slt i32 %244, %245 | |
br i1 %cmp525, label %if.then526, label %if.end528 | |
if.then526: ; preds = %invoke.cont522 | |
%246 = load i32, i32* %maxy500, align 4 | |
%inc527 = add nsw i32 %246, 1 | |
store i32 %inc527, i32* %maxy500, align 4 | |
br label %if.end528 | |
if.end528: ; preds = %if.then526, %invoke.cont522 | |
%call530 = invoke i32* @_ZN3BoxixEi(%struct.Box* %local_node_box, i32 0) | |
to label %invoke.cont529 unwind label %lpad4 | |
invoke.cont529: ; preds = %if.end528 | |
%arrayidx531 = getelementptr inbounds i32, i32* %call530, i64 1 | |
%247 = load i32, i32* %arrayidx531, align 4 | |
%248 = load i32, i32* %max_node_x, align 4 | |
%cmp532 = icmp slt i32 %247, %248 | |
br i1 %cmp532, label %if.then533, label %if.end535 | |
if.then533: ; preds = %invoke.cont529 | |
%249 = load i32, i32* %maxx504, align 4 | |
%inc534 = add nsw i32 %249, 1 | |
store i32 %inc534, i32* %maxx504, align 4 | |
br label %if.end535 | |
if.end535: ; preds = %if.then533, %invoke.cont529 | |
%250 = load i32, i32* %minx496, align 4 | |
store i32 %250, i32* %ix536, align 4 | |
br label %for.cond537 | |
for.cond537: ; preds = %for.inc557, %if.end535 | |
%251 = load i32, i32* %ix536, align 4 | |
%252 = load i32, i32* %maxx504, align 4 | |
%cmp538 = icmp slt i32 %251, %252 | |
br i1 %cmp538, label %for.body539, label %for.end559 | |
for.body539: ; preds = %for.cond537 | |
%253 = load i32, i32* %miny492, align 4 | |
store i32 %253, i32* %iy540, align 4 | |
br label %for.cond541 | |
for.cond541: ; preds = %for.inc554, %for.body539 | |
%254 = load i32, i32* %iy540, align 4 | |
%255 = load i32, i32* %maxy500, align 4 | |
%cmp542 = icmp slt i32 %254, %255 | |
br i1 %cmp542, label %for.body543, label %for.end556 | |
for.body543: ; preds = %for.cond541 | |
%256 = load i32, i32* %max_node_x, align 4 | |
%257 = load i32, i32* %max_node_y, align 4 | |
%258 = load i32, i32* %max_node_z, align 4 | |
%259 = load i32, i32* %ix536, align 4 | |
%260 = load i32, i32* %iy540, align 4 | |
%261 = load i32, i32* %z1, align 4 | |
%call546 = invoke i32 @_ZN6miniFE6get_idIiEET_iiiiii(i32 %256, i32 %257, i32 %258, i32 %259, i32 %260, i32 %261) | |
to label %invoke.cont545 unwind label %lpad4 | |
invoke.cont545: ; preds = %for.body543 | |
store i32 %call546, i32* %nodeID544, align 4 | |
%bc_rows_0547 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %this1, i32 0, i32 0 | |
%call550 = invoke i32 @_ZNK6miniFE23simple_mesh_descriptionIiE13map_id_to_rowERKi(%"class.miniFE::simple_mesh_description"* %this1, i32* dereferenceable(4) %nodeID544) | |
to label %invoke.cont549 unwind label %lpad4 | |
invoke.cont549: ; preds = %invoke.cont545 | |
store i32 %call550, i32* %ref.tmp548, align 4 | |
%call552 = invoke { %"struct.std::_Rb_tree_node_base"*, i8 } @_ZNSt3setIiSt4lessIiESaIiEE6insertERKi(%"class.std::set"* %bc_rows_0547, i32* dereferenceable(4) %ref.tmp548) | |
to label %invoke.cont551 unwind label %lpad4 | |
invoke.cont551: ; preds = %invoke.cont549 | |
%262 = bitcast %"struct.std::pair.25"* %coerce553 to { %"struct.std::_Rb_tree_node_base"*, i8 }* | |
%263 = getelementptr inbounds { %"struct.std::_Rb_tree_node_base"*, i8 }, { %"struct.std::_Rb_tree_node_base"*, i8 }* %262, i32 0, i32 0 | |
%264 = extractvalue { %"struct.std::_Rb_tree_node_base"*, i8 } %call552, 0 | |
store %"struct.std::_Rb_tree_node_base"* %264, %"struct.std::_Rb_tree_node_base"** %263, align 8 | |
%265 = getelementptr inbounds { %"struct.std::_Rb_tree_node_base"*, i8 }, { %"struct.std::_Rb_tree_node_base"*, i8 }* %262, i32 0, i32 1 | |
%266 = extractvalue { %"struct.std::_Rb_tree_node_base"*, i8 } %call552, 1 | |
store i8 %266, i8* %265, align 8 | |
br label %for.inc554 | |
for.inc554: ; preds = %invoke.cont551 | |
%267 = load i32, i32* %iy540, align 4 | |
%inc555 = add nsw i32 %267, 1 | |
store i32 %inc555, i32* %iy540, align 4 | |
br label %for.cond541 | |
for.end556: ; preds = %for.cond541 | |
br label %for.inc557 | |
for.inc557: ; preds = %for.end556 | |
%268 = load i32, i32* %ix536, align 4 | |
%inc558 = add nsw i32 %268, 1 | |
store i32 %inc558, i32* %ix536, align 4 | |
br label %for.cond537 | |
for.end559: ; preds = %for.cond537 | |
br label %if.end560 | |
if.end560: ; preds = %for.end559, %invoke.cont487 | |
ret void | |
invoke.cont561: ; preds = %lpad4 | |
br label %ehcleanup | |
ehcleanup: ; preds = %invoke.cont561, %lpad2 | |
invoke void @_ZNSt3setIiSt4lessIiESaIiEED2Ev(%"class.std::set"* %bc_rows_1) | |
to label %invoke.cont562 unwind label %terminate.lpad | |
invoke.cont562: ; preds = %ehcleanup | |
br label %ehcleanup563 | |
ehcleanup563: ; preds = %invoke.cont562, %lpad | |
invoke void @_ZNSt3setIiSt4lessIiESaIiEED2Ev(%"class.std::set"* %bc_rows_0) | |
to label %invoke.cont564 unwind label %terminate.lpad | |
invoke.cont564: ; preds = %ehcleanup563 | |
br label %eh.resume | |
eh.resume: ; preds = %invoke.cont564 | |
%exn = load i8*, i8** %exn.slot, align 8 | |
%sel = load i32, i32* %ehselector.slot, align 4 | |
%lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 | |
%lpad.val565 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 | |
resume { i8*, i32 } %lpad.val565 | |
terminate.lpad: ; preds = %ehcleanup563, %ehcleanup, %lpad4 | |
%269 = landingpad { i8*, i32 } | |
catch i8* null | |
%270 = extractvalue { i8*, i32 } %269, 0 | |
call void @__clang_call_terminate(i8* %270) #13 | |
unreachable | |
} | |
declare dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEd(%"class.std::basic_ostream"*, double) #1 | |
declare dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"*, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)*) #1 | |
declare dereferenceable(272) %"class.std::basic_ostream"* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(%"class.std::basic_ostream"* dereferenceable(272)) #1 | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZN6miniFE9CSRMatrixIdiiEC2Ev(%"struct.miniFE::CSRMatrix"* %this) unnamed_addr #3 comdat align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%this.addr = alloca %"struct.miniFE::CSRMatrix"*, align 8 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
store %"struct.miniFE::CSRMatrix"* %this, %"struct.miniFE::CSRMatrix"** %this.addr, align 8 | |
%this1 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %this.addr, align 8 | |
%has_local_indices = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %this1, i32 0, i32 0 | |
store i8 0, i8* %has_local_indices, align 8 | |
%rows = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %this1, i32 0, i32 2 | |
call void @_ZNSt6vectorIiSaIiEEC2Ev(%"class.std::vector.15"* %rows) | |
%row_offsets = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %this1, i32 0, i32 3 | |
invoke void @_ZNSt6vectorIiSaIiEEC2Ev(%"class.std::vector.15"* %row_offsets) | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %entry | |
%row_offsets_external = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %this1, i32 0, i32 4 | |
invoke void @_ZNSt6vectorIiSaIiEEC2Ev(%"class.std::vector.15"* %row_offsets_external) | |
to label %invoke.cont3 unwind label %lpad2 | |
invoke.cont3: ; preds = %invoke.cont | |
%packed_cols = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %this1, i32 0, i32 5 | |
invoke void @_ZNSt6vectorIiSaIiEEC2Ev(%"class.std::vector.15"* %packed_cols) | |
to label %invoke.cont5 unwind label %lpad4 | |
invoke.cont5: ; preds = %invoke.cont3 | |
%packed_coefs = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %this1, i32 0, i32 6 | |
invoke void @_ZNSt6vectorIdSaIdEEC2Ev(%"class.std::vector.20"* %packed_coefs) | |
to label %invoke.cont7 unwind label %lpad6 | |
invoke.cont7: ; preds = %invoke.cont5 | |
%num_cols = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %this1, i32 0, i32 7 | |
store i32 0, i32* %num_cols, align 8 | |
ret void | |
lpad: ; preds = %entry | |
%0 = landingpad { i8*, i32 } | |
cleanup | |
%1 = extractvalue { i8*, i32 } %0, 0 | |
store i8* %1, i8** %exn.slot, align 8 | |
%2 = extractvalue { i8*, i32 } %0, 1 | |
store i32 %2, i32* %ehselector.slot, align 4 | |
br label %ehcleanup12 | |
lpad2: ; preds = %invoke.cont | |
%3 = landingpad { i8*, i32 } | |
cleanup | |
%4 = extractvalue { i8*, i32 } %3, 0 | |
store i8* %4, i8** %exn.slot, align 8 | |
%5 = extractvalue { i8*, i32 } %3, 1 | |
store i32 %5, i32* %ehselector.slot, align 4 | |
br label %ehcleanup10 | |
lpad4: ; preds = %invoke.cont3 | |
%6 = landingpad { i8*, i32 } | |
cleanup | |
%7 = extractvalue { i8*, i32 } %6, 0 | |
store i8* %7, i8** %exn.slot, align 8 | |
%8 = extractvalue { i8*, i32 } %6, 1 | |
store i32 %8, i32* %ehselector.slot, align 4 | |
br label %ehcleanup | |
lpad6: ; preds = %invoke.cont5 | |
%9 = landingpad { i8*, i32 } | |
cleanup | |
%10 = extractvalue { i8*, i32 } %9, 0 | |
store i8* %10, i8** %exn.slot, align 8 | |
%11 = extractvalue { i8*, i32 } %9, 1 | |
store i32 %11, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt6vectorIiSaIiEED2Ev(%"class.std::vector.15"* %packed_cols) | |
to label %invoke.cont8 unwind label %terminate.lpad | |
invoke.cont8: ; preds = %lpad6 | |
br label %ehcleanup | |
ehcleanup: ; preds = %invoke.cont8, %lpad4 | |
invoke void @_ZNSt6vectorIiSaIiEED2Ev(%"class.std::vector.15"* %row_offsets_external) | |
to label %invoke.cont9 unwind label %terminate.lpad | |
invoke.cont9: ; preds = %ehcleanup | |
br label %ehcleanup10 | |
ehcleanup10: ; preds = %invoke.cont9, %lpad2 | |
invoke void @_ZNSt6vectorIiSaIiEED2Ev(%"class.std::vector.15"* %row_offsets) | |
to label %invoke.cont11 unwind label %terminate.lpad | |
invoke.cont11: ; preds = %ehcleanup10 | |
br label %ehcleanup12 | |
ehcleanup12: ; preds = %invoke.cont11, %lpad | |
invoke void @_ZNSt6vectorIiSaIiEED2Ev(%"class.std::vector.15"* %rows) | |
to label %invoke.cont13 unwind label %terminate.lpad | |
invoke.cont13: ; preds = %ehcleanup12 | |
br label %eh.resume | |
eh.resume: ; preds = %invoke.cont13 | |
%exn = load i8*, i8** %exn.slot, align 8 | |
%sel = load i32, i32* %ehselector.slot, align 4 | |
%lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 | |
%lpad.val14 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 | |
resume { i8*, i32 } %lpad.val14 | |
terminate.lpad: ; preds = %ehcleanup12, %ehcleanup10, %ehcleanup, %lpad6 | |
%12 = landingpad { i8*, i32 } | |
catch i8* null | |
%13 = extractvalue { i8*, i32 } %12, 0 | |
call void @__clang_call_terminate(i8* %13) #13 | |
unreachable | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr i32 @_ZN6miniFE25generate_matrix_structureINS_9CSRMatrixIdiiEEEEiRKNS_23simple_mesh_descriptionINT_17GlobalOrdinalTypeEEERS4_(%"class.miniFE::simple_mesh_description"* dereferenceable(192) %mesh, %"struct.miniFE::CSRMatrix"* dereferenceable(136) %A) #3 comdat personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%retval = alloca i32, align 4 | |
%mesh.addr = alloca %"class.miniFE::simple_mesh_description"*, align 8 | |
%A.addr = alloca %"struct.miniFE::CSRMatrix"*, align 8 | |
%myproc = alloca i32, align 4 | |
%threw_exc = alloca i32, align 4 | |
%global_nodes_x = alloca i32, align 4 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
%global_nodes_y = alloca i32, align 4 | |
%global_nodes_z = alloca i32, align 4 | |
%box = alloca %struct.Box, align 4 | |
%global_nrows = alloca i32, align 4 | |
%nrows = alloca i32, align 4 | |
%exc = alloca %"class.std::exception"*, align 8 | |
%osstr = alloca %"class.std::__cxx11::basic_ostringstream", align 8 | |
%str1 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%rows = alloca %"class.std::vector.15", align 8 | |
%ref.tmp = alloca i32, align 4 | |
%ref.tmp99 = alloca %"class.std::allocator.17", align 1 | |
%row_offsets = alloca %"class.std::vector.15", align 8 | |
%ref.tmp105 = alloca i32, align 4 | |
%ref.tmp106 = alloca %"class.std::allocator.17", align 1 | |
%row_coords = alloca %"class.std::vector.15", align 8 | |
%ref.tmp112 = alloca i32, align 4 | |
%ref.tmp113 = alloca %"class.std::allocator.17", align 1 | |
%roffset = alloca i32, align 4 | |
%nnz = alloca i32, align 4 | |
%iz = alloca i32, align 4 | |
%iy = alloca i32, align 4 | |
%ix = alloca i32, align 4 | |
%row_id = alloca i32, align 4 | |
%sz = alloca i32, align 4 | |
%sy = alloca i32, align 4 | |
%sx = alloca i32, align 4 | |
%col_id = alloca i32, align 4 | |
%ref.tmp207 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp208 = alloca %"class.std::allocator", align 1 | |
%cleanup.isactive = alloca i1, align 1 | |
store %"class.miniFE::simple_mesh_description"* %mesh, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
store %"struct.miniFE::CSRMatrix"* %A, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
store i32 0, i32* %myproc, align 4 | |
store i32 0, i32* %threw_exc, align 4 | |
%0 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%global_box = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %0, i32 0, i32 3 | |
%call = invoke i32* @_ZNK3BoxixEi(%struct.Box* %global_box, i32 0) | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %entry | |
%arrayidx = getelementptr inbounds i32, i32* %call, i64 1 | |
%1 = load i32, i32* %arrayidx, align 4 | |
%add = add nsw i32 %1, 1 | |
store i32 %add, i32* %global_nodes_x, align 4 | |
%2 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%global_box1 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %2, i32 0, i32 3 | |
%call3 = invoke i32* @_ZNK3BoxixEi(%struct.Box* %global_box1, i32 1) | |
to label %invoke.cont2 unwind label %lpad | |
invoke.cont2: ; preds = %invoke.cont | |
%arrayidx4 = getelementptr inbounds i32, i32* %call3, i64 1 | |
%3 = load i32, i32* %arrayidx4, align 4 | |
%add5 = add nsw i32 %3, 1 | |
store i32 %add5, i32* %global_nodes_y, align 4 | |
%4 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%global_box6 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %4, i32 0, i32 3 | |
%call8 = invoke i32* @_ZNK3BoxixEi(%struct.Box* %global_box6, i32 2) | |
to label %invoke.cont7 unwind label %lpad | |
invoke.cont7: ; preds = %invoke.cont2 | |
%arrayidx9 = getelementptr inbounds i32, i32* %call8, i64 1 | |
%5 = load i32, i32* %arrayidx9, align 4 | |
%add10 = add nsw i32 %5, 1 | |
store i32 %add10, i32* %global_nodes_z, align 4 | |
%6 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%local_box = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %6, i32 0, i32 4 | |
invoke void @_ZN6miniFE8copy_boxERK3BoxRS0_(%struct.Box* dereferenceable(24) %local_box, %struct.Box* dereferenceable(24) %box) | |
to label %invoke.cont11 unwind label %lpad | |
invoke.cont11: ; preds = %invoke.cont7 | |
%call13 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 0) | |
to label %invoke.cont12 unwind label %lpad | |
invoke.cont12: ; preds = %invoke.cont11 | |
%arrayidx14 = getelementptr inbounds i32, i32* %call13, i64 1 | |
%7 = load i32, i32* %arrayidx14, align 4 | |
%call16 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 0) | |
to label %invoke.cont15 unwind label %lpad | |
invoke.cont15: ; preds = %invoke.cont12 | |
%arrayidx17 = getelementptr inbounds i32, i32* %call16, i64 0 | |
%8 = load i32, i32* %arrayidx17, align 4 | |
%cmp = icmp sgt i32 %7, %8 | |
br i1 %cmp, label %land.lhs.true, label %if.end | |
land.lhs.true: ; preds = %invoke.cont15 | |
%call19 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 0) | |
to label %invoke.cont18 unwind label %lpad | |
invoke.cont18: ; preds = %land.lhs.true | |
%arrayidx20 = getelementptr inbounds i32, i32* %call19, i64 1 | |
%9 = load i32, i32* %arrayidx20, align 4 | |
%10 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%global_box21 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %10, i32 0, i32 3 | |
%call23 = invoke i32* @_ZNK3BoxixEi(%struct.Box* %global_box21, i32 0) | |
to label %invoke.cont22 unwind label %lpad | |
invoke.cont22: ; preds = %invoke.cont18 | |
%arrayidx24 = getelementptr inbounds i32, i32* %call23, i64 1 | |
%11 = load i32, i32* %arrayidx24, align 4 | |
%cmp25 = icmp eq i32 %9, %11 | |
br i1 %cmp25, label %if.then, label %if.end | |
if.then: ; preds = %invoke.cont22 | |
%call27 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 0) | |
to label %invoke.cont26 unwind label %lpad | |
invoke.cont26: ; preds = %if.then | |
%arrayidx28 = getelementptr inbounds i32, i32* %call27, i64 1 | |
%12 = load i32, i32* %arrayidx28, align 4 | |
%inc = add nsw i32 %12, 1 | |
store i32 %inc, i32* %arrayidx28, align 4 | |
br label %if.end | |
lpad: ; preds = %invoke.cont228, %if.end72, %if.then67, %invoke.cont59, %land.lhs.true58, %invoke.cont51, %if.end50, %if.then45, %invoke.cont37, %land.lhs.true36, %invoke.cont29, %if.end, %if.then, %invoke.cont18, %land.lhs.true, %invoke.cont12, %invoke.cont11, %invoke.cont7, %invoke.cont2, %invoke.cont, %entry | |
%13 = landingpad { i8*, i32 } | |
catch i8* null | |
%14 = extractvalue { i8*, i32 } %13, 0 | |
store i8* %14, i8** %exn.slot, align 8 | |
%15 = extractvalue { i8*, i32 } %13, 1 | |
store i32 %15, i32* %ehselector.slot, align 4 | |
br label %catch234 | |
if.end: ; preds = %invoke.cont26, %invoke.cont22, %invoke.cont15 | |
%call30 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 1) | |
to label %invoke.cont29 unwind label %lpad | |
invoke.cont29: ; preds = %if.end | |
%arrayidx31 = getelementptr inbounds i32, i32* %call30, i64 1 | |
%16 = load i32, i32* %arrayidx31, align 4 | |
%call33 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 1) | |
to label %invoke.cont32 unwind label %lpad | |
invoke.cont32: ; preds = %invoke.cont29 | |
%arrayidx34 = getelementptr inbounds i32, i32* %call33, i64 0 | |
%17 = load i32, i32* %arrayidx34, align 4 | |
%cmp35 = icmp sgt i32 %16, %17 | |
br i1 %cmp35, label %land.lhs.true36, label %if.end50 | |
land.lhs.true36: ; preds = %invoke.cont32 | |
%call38 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 1) | |
to label %invoke.cont37 unwind label %lpad | |
invoke.cont37: ; preds = %land.lhs.true36 | |
%arrayidx39 = getelementptr inbounds i32, i32* %call38, i64 1 | |
%18 = load i32, i32* %arrayidx39, align 4 | |
%19 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%global_box40 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %19, i32 0, i32 3 | |
%call42 = invoke i32* @_ZNK3BoxixEi(%struct.Box* %global_box40, i32 1) | |
to label %invoke.cont41 unwind label %lpad | |
invoke.cont41: ; preds = %invoke.cont37 | |
%arrayidx43 = getelementptr inbounds i32, i32* %call42, i64 1 | |
%20 = load i32, i32* %arrayidx43, align 4 | |
%cmp44 = icmp eq i32 %18, %20 | |
br i1 %cmp44, label %if.then45, label %if.end50 | |
if.then45: ; preds = %invoke.cont41 | |
%call47 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 1) | |
to label %invoke.cont46 unwind label %lpad | |
invoke.cont46: ; preds = %if.then45 | |
%arrayidx48 = getelementptr inbounds i32, i32* %call47, i64 1 | |
%21 = load i32, i32* %arrayidx48, align 4 | |
%inc49 = add nsw i32 %21, 1 | |
store i32 %inc49, i32* %arrayidx48, align 4 | |
br label %if.end50 | |
if.end50: ; preds = %invoke.cont46, %invoke.cont41, %invoke.cont32 | |
%call52 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 2) | |
to label %invoke.cont51 unwind label %lpad | |
invoke.cont51: ; preds = %if.end50 | |
%arrayidx53 = getelementptr inbounds i32, i32* %call52, i64 1 | |
%22 = load i32, i32* %arrayidx53, align 4 | |
%call55 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 2) | |
to label %invoke.cont54 unwind label %lpad | |
invoke.cont54: ; preds = %invoke.cont51 | |
%arrayidx56 = getelementptr inbounds i32, i32* %call55, i64 0 | |
%23 = load i32, i32* %arrayidx56, align 4 | |
%cmp57 = icmp sgt i32 %22, %23 | |
br i1 %cmp57, label %land.lhs.true58, label %if.end72 | |
land.lhs.true58: ; preds = %invoke.cont54 | |
%call60 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 2) | |
to label %invoke.cont59 unwind label %lpad | |
invoke.cont59: ; preds = %land.lhs.true58 | |
%arrayidx61 = getelementptr inbounds i32, i32* %call60, i64 1 | |
%24 = load i32, i32* %arrayidx61, align 4 | |
%25 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%global_box62 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %25, i32 0, i32 3 | |
%call64 = invoke i32* @_ZNK3BoxixEi(%struct.Box* %global_box62, i32 2) | |
to label %invoke.cont63 unwind label %lpad | |
invoke.cont63: ; preds = %invoke.cont59 | |
%arrayidx65 = getelementptr inbounds i32, i32* %call64, i64 1 | |
%26 = load i32, i32* %arrayidx65, align 4 | |
%cmp66 = icmp eq i32 %24, %26 | |
br i1 %cmp66, label %if.then67, label %if.end72 | |
if.then67: ; preds = %invoke.cont63 | |
%call69 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 2) | |
to label %invoke.cont68 unwind label %lpad | |
invoke.cont68: ; preds = %if.then67 | |
%arrayidx70 = getelementptr inbounds i32, i32* %call69, i64 1 | |
%27 = load i32, i32* %arrayidx70, align 4 | |
%inc71 = add nsw i32 %27, 1 | |
store i32 %inc71, i32* %arrayidx70, align 4 | |
br label %if.end72 | |
if.end72: ; preds = %invoke.cont68, %invoke.cont63, %invoke.cont54 | |
%28 = load i32, i32* %global_nodes_x, align 4 | |
store i32 %28, i32* %global_nrows, align 4 | |
%29 = load i32, i32* %global_nodes_y, align 4 | |
%30 = load i32, i32* %global_nodes_z, align 4 | |
%mul = mul nsw i32 %29, %30 | |
%31 = load i32, i32* %global_nrows, align 4 | |
%mul73 = mul nsw i32 %31, %mul | |
store i32 %mul73, i32* %global_nrows, align 4 | |
%call75 = invoke i32 @_ZN6miniFE11get_num_idsIiEET_RK3Box(%struct.Box* dereferenceable(24) %box) | |
to label %invoke.cont74 unwind label %lpad | |
invoke.cont74: ; preds = %if.end72 | |
store i32 %call75, i32* %nrows, align 4 | |
%32 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%33 = load i32, i32* %nrows, align 4 | |
invoke void @_ZN6miniFE9CSRMatrixIdiiE13reserve_spaceEjj(%"struct.miniFE::CSRMatrix"* %32, i32 %33, i32 27) | |
to label %invoke.cont77 unwind label %lpad76 | |
invoke.cont77: ; preds = %invoke.cont74 | |
br label %try.cont | |
lpad76: ; preds = %invoke.cont74 | |
%34 = landingpad { i8*, i32 } | |
catch i8* bitcast (i8** @_ZTISt9exception to i8*) | |
catch i8* null | |
%35 = extractvalue { i8*, i32 } %34, 0 | |
store i8* %35, i8** %exn.slot, align 8 | |
%36 = extractvalue { i8*, i32 } %34, 1 | |
store i32 %36, i32* %ehselector.slot, align 4 | |
br label %catch.dispatch | |
catch.dispatch: ; preds = %lpad76 | |
%sel = load i32, i32* %ehselector.slot, align 4 | |
%37 = call i32 @llvm.eh.typeid.for(i8* bitcast (i8** @_ZTISt9exception to i8*)) #2 | |
%matches = icmp eq i32 %sel, %37 | |
br i1 %matches, label %catch, label %catch234 | |
catch: ; preds = %catch.dispatch | |
%exn = load i8*, i8** %exn.slot, align 8 | |
%38 = call i8* @__cxa_begin_catch(i8* %exn) #2 | |
%exn.byref = bitcast i8* %38 to %"class.std::exception"* | |
store %"class.std::exception"* %exn.byref, %"class.std::exception"** %exc, align 8 | |
invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::__cxx11::basic_ostringstream"* %osstr, i32 16) | |
to label %invoke.cont79 unwind label %lpad78 | |
invoke.cont79: ; preds = %catch | |
%39 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to %"class.std::basic_ostream"* | |
%call82 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %39, i8* getelementptr inbounds ([100 x i8], [100 x i8]* @.str.86, i32 0, i32 0)) | |
to label %invoke.cont81 unwind label %lpad80 | |
invoke.cont81: ; preds = %invoke.cont79 | |
%40 = load i32, i32* %nrows, align 4 | |
%call84 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %call82, i32 %40) | |
to label %invoke.cont83 unwind label %lpad80 | |
invoke.cont83: ; preds = %invoke.cont81 | |
%call86 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call84, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.87, i32 0, i32 0)) | |
to label %invoke.cont85 unwind label %lpad80 | |
invoke.cont85: ; preds = %invoke.cont83 | |
%41 = bitcast %"class.std::__cxx11::basic_ostringstream"* %osstr to %"class.std::basic_ostream"* | |
%42 = load %"class.std::exception"*, %"class.std::exception"** %exc, align 8 | |
%43 = bitcast %"class.std::exception"* %42 to i8* (%"class.std::exception"*)*** | |
%vtable = load i8* (%"class.std::exception"*)**, i8* (%"class.std::exception"*)*** %43, align 8 | |
%vfn = getelementptr inbounds i8* (%"class.std::exception"*)*, i8* (%"class.std::exception"*)** %vtable, i64 2 | |
%44 = load i8* (%"class.std::exception"*)*, i8* (%"class.std::exception"*)** %vfn, align 8 | |
%call87 = call i8* %44(%"class.std::exception"* %42) #2 | |
%call89 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %41, i8* %call87) | |
to label %invoke.cont88 unwind label %lpad80 | |
invoke.cont88: ; preds = %invoke.cont85 | |
invoke void @_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv(%"class.std::__cxx11::basic_string"* sret %str1, %"class.std::__cxx11::basic_ostringstream"* %osstr) | |
to label %invoke.cont90 unwind label %lpad80 | |
invoke.cont90: ; preds = %invoke.cont88 | |
%exception = call i8* @__cxa_allocate_exception(i64 16) #2 | |
%45 = bitcast i8* %exception to %"class.std::runtime_error"* | |
invoke void @_ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%"class.std::runtime_error"* %45, %"class.std::__cxx11::basic_string"* dereferenceable(32) %str1) | |
to label %invoke.cont92 unwind label %lpad91 | |
invoke.cont92: ; preds = %invoke.cont90 | |
invoke void @__cxa_throw(i8* %exception, i8* bitcast (i8** @_ZTISt13runtime_error to i8*), i8* bitcast (void (%"class.std::runtime_error"*)* @_ZNSt13runtime_errorD1Ev to i8*)) #18 | |
to label %unreachable unwind label %lpad93 | |
lpad78: ; preds = %catch | |
%46 = landingpad { i8*, i32 } | |
catch i8* null | |
%47 = extractvalue { i8*, i32 } %46, 0 | |
store i8* %47, i8** %exn.slot, align 8 | |
%48 = extractvalue { i8*, i32 } %46, 1 | |
store i32 %48, i32* %ehselector.slot, align 4 | |
br label %ehcleanup97 | |
lpad80: ; preds = %invoke.cont88, %invoke.cont85, %invoke.cont83, %invoke.cont81, %invoke.cont79 | |
%49 = landingpad { i8*, i32 } | |
catch i8* null | |
%50 = extractvalue { i8*, i32 } %49, 0 | |
store i8* %50, i8** %exn.slot, align 8 | |
%51 = extractvalue { i8*, i32 } %49, 1 | |
store i32 %51, i32* %ehselector.slot, align 4 | |
br label %ehcleanup95 | |
lpad91: ; preds = %invoke.cont90 | |
%52 = landingpad { i8*, i32 } | |
catch i8* null | |
%53 = extractvalue { i8*, i32 } %52, 0 | |
store i8* %53, i8** %exn.slot, align 8 | |
%54 = extractvalue { i8*, i32 } %52, 1 | |
store i32 %54, i32* %ehselector.slot, align 4 | |
call void @__cxa_free_exception(i8* %exception) #2 | |
br label %ehcleanup | |
lpad93: ; preds = %invoke.cont92 | |
%55 = landingpad { i8*, i32 } | |
catch i8* null | |
%56 = extractvalue { i8*, i32 } %55, 0 | |
store i8* %56, i8** %exn.slot, align 8 | |
%57 = extractvalue { i8*, i32 } %55, 1 | |
store i32 %57, i32* %ehselector.slot, align 4 | |
br label %ehcleanup | |
ehcleanup: ; preds = %lpad93, %lpad91 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %str1) | |
to label %invoke.cont94 unwind label %terminate.lpad | |
invoke.cont94: ; preds = %ehcleanup | |
br label %ehcleanup95 | |
ehcleanup95: ; preds = %invoke.cont94, %lpad80 | |
invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_ostringstream"* %osstr) | |
to label %invoke.cont96 unwind label %terminate.lpad | |
invoke.cont96: ; preds = %ehcleanup95 | |
br label %ehcleanup97 | |
ehcleanup97: ; preds = %invoke.cont96, %lpad78 | |
invoke void @__cxa_end_catch() | |
to label %invoke.cont98 unwind label %terminate.lpad | |
invoke.cont98: ; preds = %ehcleanup97 | |
br label %catch234 | |
try.cont: ; preds = %invoke.cont77 | |
%58 = load i32, i32* %nrows, align 4 | |
%conv = sext i32 %58 to i64 | |
store i32 0, i32* %ref.tmp, align 4 | |
call void @_ZNSaIiEC2Ev(%"class.std::allocator.17"* %ref.tmp99) #2 | |
invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(%"class.std::vector.15"* %rows, i64 %conv, i32* dereferenceable(4) %ref.tmp, %"class.std::allocator.17"* dereferenceable(1) %ref.tmp99) | |
to label %invoke.cont101 unwind label %lpad100 | |
invoke.cont101: ; preds = %try.cont | |
call void @_ZNSaIiED2Ev(%"class.std::allocator.17"* %ref.tmp99) #2 | |
%59 = load i32, i32* %nrows, align 4 | |
%add103 = add nsw i32 %59, 1 | |
%conv104 = sext i32 %add103 to i64 | |
store i32 0, i32* %ref.tmp105, align 4 | |
call void @_ZNSaIiEC2Ev(%"class.std::allocator.17"* %ref.tmp106) #2 | |
invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(%"class.std::vector.15"* %row_offsets, i64 %conv104, i32* dereferenceable(4) %ref.tmp105, %"class.std::allocator.17"* dereferenceable(1) %ref.tmp106) | |
to label %invoke.cont108 unwind label %lpad107 | |
invoke.cont108: ; preds = %invoke.cont101 | |
call void @_ZNSaIiED2Ev(%"class.std::allocator.17"* %ref.tmp106) #2 | |
%60 = load i32, i32* %nrows, align 4 | |
%mul110 = mul nsw i32 %60, 3 | |
%conv111 = sext i32 %mul110 to i64 | |
store i32 0, i32* %ref.tmp112, align 4 | |
call void @_ZNSaIiEC2Ev(%"class.std::allocator.17"* %ref.tmp113) #2 | |
invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(%"class.std::vector.15"* %row_coords, i64 %conv111, i32* dereferenceable(4) %ref.tmp112, %"class.std::allocator.17"* dereferenceable(1) %ref.tmp113) | |
to label %invoke.cont115 unwind label %lpad114 | |
invoke.cont115: ; preds = %invoke.cont108 | |
call void @_ZNSaIiED2Ev(%"class.std::allocator.17"* %ref.tmp113) #2 | |
store i32 0, i32* %roffset, align 4 | |
store i32 0, i32* %nnz, align 4 | |
%call119 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 2) | |
to label %invoke.cont118 unwind label %lpad117 | |
invoke.cont118: ; preds = %invoke.cont115 | |
%arrayidx120 = getelementptr inbounds i32, i32* %call119, i64 0 | |
%61 = load i32, i32* %arrayidx120, align 4 | |
store i32 %61, i32* %iz, align 4 | |
br label %for.cond | |
for.cond: ; preds = %for.inc201, %invoke.cont118 | |
%62 = load i32, i32* %iz, align 4 | |
%call122 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 2) | |
to label %invoke.cont121 unwind label %lpad117 | |
invoke.cont121: ; preds = %for.cond | |
%arrayidx123 = getelementptr inbounds i32, i32* %call122, i64 1 | |
%63 = load i32, i32* %arrayidx123, align 4 | |
%cmp124 = icmp slt i32 %62, %63 | |
br i1 %cmp124, label %for.body, label %for.end203 | |
for.body: ; preds = %invoke.cont121 | |
%call126 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 1) | |
to label %invoke.cont125 unwind label %lpad117 | |
invoke.cont125: ; preds = %for.body | |
%arrayidx127 = getelementptr inbounds i32, i32* %call126, i64 0 | |
%64 = load i32, i32* %arrayidx127, align 4 | |
store i32 %64, i32* %iy, align 4 | |
br label %for.cond128 | |
for.cond128: ; preds = %for.inc198, %invoke.cont125 | |
%65 = load i32, i32* %iy, align 4 | |
%call130 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 1) | |
to label %invoke.cont129 unwind label %lpad117 | |
invoke.cont129: ; preds = %for.cond128 | |
%arrayidx131 = getelementptr inbounds i32, i32* %call130, i64 1 | |
%66 = load i32, i32* %arrayidx131, align 4 | |
%cmp132 = icmp slt i32 %65, %66 | |
br i1 %cmp132, label %for.body133, label %for.end200 | |
for.body133: ; preds = %invoke.cont129 | |
%call135 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 0) | |
to label %invoke.cont134 unwind label %lpad117 | |
invoke.cont134: ; preds = %for.body133 | |
%arrayidx136 = getelementptr inbounds i32, i32* %call135, i64 0 | |
%67 = load i32, i32* %arrayidx136, align 4 | |
store i32 %67, i32* %ix, align 4 | |
br label %for.cond137 | |
for.cond137: ; preds = %for.inc195, %invoke.cont134 | |
%68 = load i32, i32* %ix, align 4 | |
%call139 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 0) | |
to label %invoke.cont138 unwind label %lpad117 | |
invoke.cont138: ; preds = %for.cond137 | |
%arrayidx140 = getelementptr inbounds i32, i32* %call139, i64 1 | |
%69 = load i32, i32* %arrayidx140, align 4 | |
%cmp141 = icmp slt i32 %68, %69 | |
br i1 %cmp141, label %for.body142, label %for.end197 | |
for.body142: ; preds = %invoke.cont138 | |
%70 = load i32, i32* %global_nodes_x, align 4 | |
%71 = load i32, i32* %global_nodes_y, align 4 | |
%72 = load i32, i32* %global_nodes_z, align 4 | |
%73 = load i32, i32* %ix, align 4 | |
%74 = load i32, i32* %iy, align 4 | |
%75 = load i32, i32* %iz, align 4 | |
%call144 = invoke i32 @_ZN6miniFE6get_idIiEET_iiiiii(i32 %70, i32 %71, i32 %72, i32 %73, i32 %74, i32 %75) | |
to label %invoke.cont143 unwind label %lpad117 | |
invoke.cont143: ; preds = %for.body142 | |
store i32 %call144, i32* %row_id, align 4 | |
%76 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%call146 = invoke i32 @_ZNK6miniFE23simple_mesh_descriptionIiE13map_id_to_rowERKi(%"class.miniFE::simple_mesh_description"* %76, i32* dereferenceable(4) %row_id) | |
to label %invoke.cont145 unwind label %lpad117 | |
invoke.cont145: ; preds = %invoke.cont143 | |
%77 = load i32, i32* %roffset, align 4 | |
%conv147 = zext i32 %77 to i64 | |
%call149 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %rows, i64 %conv147) | |
to label %invoke.cont148 unwind label %lpad117 | |
invoke.cont148: ; preds = %invoke.cont145 | |
store i32 %call146, i32* %call149, align 4 | |
%78 = load i32, i32* %ix, align 4 | |
%79 = load i32, i32* %roffset, align 4 | |
%mul150 = mul i32 %79, 3 | |
%conv151 = zext i32 %mul150 to i64 | |
%call153 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %row_coords, i64 %conv151) | |
to label %invoke.cont152 unwind label %lpad117 | |
invoke.cont152: ; preds = %invoke.cont148 | |
store i32 %78, i32* %call153, align 4 | |
%80 = load i32, i32* %iy, align 4 | |
%81 = load i32, i32* %roffset, align 4 | |
%mul154 = mul i32 %81, 3 | |
%add155 = add i32 %mul154, 1 | |
%conv156 = zext i32 %add155 to i64 | |
%call158 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %row_coords, i64 %conv156) | |
to label %invoke.cont157 unwind label %lpad117 | |
invoke.cont157: ; preds = %invoke.cont152 | |
store i32 %80, i32* %call158, align 4 | |
%82 = load i32, i32* %iz, align 4 | |
%83 = load i32, i32* %roffset, align 4 | |
%mul159 = mul i32 %83, 3 | |
%add160 = add i32 %mul159, 2 | |
%conv161 = zext i32 %add160 to i64 | |
%call163 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %row_coords, i64 %conv161) | |
to label %invoke.cont162 unwind label %lpad117 | |
invoke.cont162: ; preds = %invoke.cont157 | |
store i32 %82, i32* %call163, align 4 | |
%84 = load i32, i32* %nnz, align 4 | |
%85 = load i32, i32* %roffset, align 4 | |
%inc164 = add i32 %85, 1 | |
store i32 %inc164, i32* %roffset, align 4 | |
%conv165 = zext i32 %85 to i64 | |
%call167 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %row_offsets, i64 %conv165) | |
to label %invoke.cont166 unwind label %lpad117 | |
invoke.cont166: ; preds = %invoke.cont162 | |
store i32 %84, i32* %call167, align 4 | |
store i32 -1, i32* %sz, align 4 | |
br label %for.cond168 | |
for.cond168: ; preds = %for.inc192, %invoke.cont166 | |
%86 = load i32, i32* %sz, align 4 | |
%cmp169 = icmp sle i32 %86, 1 | |
br i1 %cmp169, label %for.body170, label %for.end194 | |
for.body170: ; preds = %for.cond168 | |
store i32 -1, i32* %sy, align 4 | |
br label %for.cond171 | |
for.cond171: ; preds = %for.inc189, %for.body170 | |
%87 = load i32, i32* %sy, align 4 | |
%cmp172 = icmp sle i32 %87, 1 | |
br i1 %cmp172, label %for.body173, label %for.end191 | |
for.body173: ; preds = %for.cond171 | |
store i32 -1, i32* %sx, align 4 | |
br label %for.cond174 | |
for.cond174: ; preds = %for.inc, %for.body173 | |
%88 = load i32, i32* %sx, align 4 | |
%cmp175 = icmp sle i32 %88, 1 | |
br i1 %cmp175, label %for.body176, label %for.end | |
for.body176: ; preds = %for.cond174 | |
%89 = load i32, i32* %global_nodes_x, align 4 | |
%90 = load i32, i32* %global_nodes_y, align 4 | |
%91 = load i32, i32* %global_nodes_z, align 4 | |
%92 = load i32, i32* %ix, align 4 | |
%93 = load i32, i32* %sx, align 4 | |
%add177 = add nsw i32 %92, %93 | |
%94 = load i32, i32* %iy, align 4 | |
%95 = load i32, i32* %sy, align 4 | |
%add178 = add nsw i32 %94, %95 | |
%96 = load i32, i32* %iz, align 4 | |
%97 = load i32, i32* %sz, align 4 | |
%add179 = add nsw i32 %96, %97 | |
%call181 = invoke i32 @_ZN6miniFE6get_idIiEET_iiiiii(i32 %89, i32 %90, i32 %91, i32 %add177, i32 %add178, i32 %add179) | |
to label %invoke.cont180 unwind label %lpad117 | |
invoke.cont180: ; preds = %for.body176 | |
store i32 %call181, i32* %col_id, align 4 | |
%98 = load i32, i32* %col_id, align 4 | |
%cmp182 = icmp sge i32 %98, 0 | |
br i1 %cmp182, label %land.lhs.true183, label %if.end187 | |
land.lhs.true183: ; preds = %invoke.cont180 | |
%99 = load i32, i32* %col_id, align 4 | |
%100 = load i32, i32* %global_nrows, align 4 | |
%cmp184 = icmp slt i32 %99, %100 | |
br i1 %cmp184, label %if.then185, label %if.end187 | |
if.then185: ; preds = %land.lhs.true183 | |
%101 = load i32, i32* %nnz, align 4 | |
%inc186 = add nsw i32 %101, 1 | |
store i32 %inc186, i32* %nnz, align 4 | |
br label %if.end187 | |
lpad100: ; preds = %try.cont | |
%102 = landingpad { i8*, i32 } | |
catch i8* null | |
%103 = extractvalue { i8*, i32 } %102, 0 | |
store i8* %103, i8** %exn.slot, align 8 | |
%104 = extractvalue { i8*, i32 } %102, 1 | |
store i32 %104, i32* %ehselector.slot, align 4 | |
call void @_ZNSaIiED2Ev(%"class.std::allocator.17"* %ref.tmp99) #2 | |
br label %catch234 | |
lpad107: ; preds = %invoke.cont101 | |
%105 = landingpad { i8*, i32 } | |
catch i8* null | |
%106 = extractvalue { i8*, i32 } %105, 0 | |
store i8* %106, i8** %exn.slot, align 8 | |
%107 = extractvalue { i8*, i32 } %105, 1 | |
store i32 %107, i32* %ehselector.slot, align 4 | |
call void @_ZNSaIiED2Ev(%"class.std::allocator.17"* %ref.tmp106) #2 | |
br label %ehcleanup232 | |
lpad114: ; preds = %invoke.cont108 | |
%108 = landingpad { i8*, i32 } | |
catch i8* null | |
%109 = extractvalue { i8*, i32 } %108, 0 | |
store i8* %109, i8** %exn.slot, align 8 | |
%110 = extractvalue { i8*, i32 } %108, 1 | |
store i32 %110, i32* %ehselector.slot, align 4 | |
call void @_ZNSaIiED2Ev(%"class.std::allocator.17"* %ref.tmp113) #2 | |
br label %ehcleanup229 | |
lpad117: ; preds = %invoke.cont220, %if.end218, %for.body176, %invoke.cont162, %invoke.cont157, %invoke.cont152, %invoke.cont148, %invoke.cont145, %invoke.cont143, %for.body142, %for.cond137, %for.body133, %for.cond128, %for.body, %for.cond, %invoke.cont115 | |
%111 = landingpad { i8*, i32 } | |
catch i8* null | |
%112 = extractvalue { i8*, i32 } %111, 0 | |
store i8* %112, i8** %exn.slot, align 8 | |
%113 = extractvalue { i8*, i32 } %111, 1 | |
store i32 %113, i32* %ehselector.slot, align 4 | |
br label %ehcleanup225 | |
if.end187: ; preds = %if.then185, %land.lhs.true183, %invoke.cont180 | |
br label %for.inc | |
for.inc: ; preds = %if.end187 | |
%114 = load i32, i32* %sx, align 4 | |
%inc188 = add nsw i32 %114, 1 | |
store i32 %inc188, i32* %sx, align 4 | |
br label %for.cond174 | |
for.end: ; preds = %for.cond174 | |
br label %for.inc189 | |
for.inc189: ; preds = %for.end | |
%115 = load i32, i32* %sy, align 4 | |
%inc190 = add nsw i32 %115, 1 | |
store i32 %inc190, i32* %sy, align 4 | |
br label %for.cond171 | |
for.end191: ; preds = %for.cond171 | |
br label %for.inc192 | |
for.inc192: ; preds = %for.end191 | |
%116 = load i32, i32* %sz, align 4 | |
%inc193 = add nsw i32 %116, 1 | |
store i32 %inc193, i32* %sz, align 4 | |
br label %for.cond168 | |
for.end194: ; preds = %for.cond168 | |
br label %for.inc195 | |
for.inc195: ; preds = %for.end194 | |
%117 = load i32, i32* %ix, align 4 | |
%inc196 = add nsw i32 %117, 1 | |
store i32 %inc196, i32* %ix, align 4 | |
br label %for.cond137 | |
for.end197: ; preds = %invoke.cont138 | |
br label %for.inc198 | |
for.inc198: ; preds = %for.end197 | |
%118 = load i32, i32* %iy, align 4 | |
%inc199 = add nsw i32 %118, 1 | |
store i32 %inc199, i32* %iy, align 4 | |
br label %for.cond128 | |
for.end200: ; preds = %invoke.cont129 | |
br label %for.inc201 | |
for.inc201: ; preds = %for.end200 | |
%119 = load i32, i32* %iz, align 4 | |
%inc202 = add nsw i32 %119, 1 | |
store i32 %inc202, i32* %iz, align 4 | |
br label %for.cond | |
for.end203: ; preds = %invoke.cont121 | |
%120 = load i32, i32* %roffset, align 4 | |
%121 = load i32, i32* %nrows, align 4 | |
%cmp204 = icmp ne i32 %120, %121 | |
br i1 %cmp204, label %if.then205, label %if.end218 | |
if.then205: ; preds = %for.end203 | |
%exception206 = call i8* @__cxa_allocate_exception(i64 16) #2 | |
store i1 true, i1* %cleanup.isactive, align 1 | |
%122 = bitcast i8* %exception206 to %"class.std::runtime_error"* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp208) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp207, i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.88, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp208) | |
to label %invoke.cont210 unwind label %lpad209 | |
invoke.cont210: ; preds = %if.then205 | |
invoke void @_ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%"class.std::runtime_error"* %122, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp207) | |
to label %invoke.cont212 unwind label %lpad211 | |
invoke.cont212: ; preds = %invoke.cont210 | |
store i1 false, i1* %cleanup.isactive, align 1 | |
invoke void @__cxa_throw(i8* %exception206, i8* bitcast (i8** @_ZTISt13runtime_error to i8*), i8* bitcast (void (%"class.std::runtime_error"*)* @_ZNSt13runtime_errorD1Ev to i8*)) #18 | |
to label %unreachable unwind label %lpad211 | |
throw.cont: ; No predecessors! | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp207) | |
to label %invoke.cont213 unwind label %lpad209 | |
invoke.cont213: ; preds = %throw.cont | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp208) #2 | |
br label %if.end218 | |
lpad209: ; preds = %throw.cont, %if.then205 | |
%123 = landingpad { i8*, i32 } | |
catch i8* null | |
%124 = extractvalue { i8*, i32 } %123, 0 | |
store i8* %124, i8** %exn.slot, align 8 | |
%125 = extractvalue { i8*, i32 } %123, 1 | |
store i32 %125, i32* %ehselector.slot, align 4 | |
br label %ehcleanup216 | |
lpad211: ; preds = %invoke.cont212, %invoke.cont210 | |
%126 = landingpad { i8*, i32 } | |
catch i8* null | |
%127 = extractvalue { i8*, i32 } %126, 0 | |
store i8* %127, i8** %exn.slot, align 8 | |
%128 = extractvalue { i8*, i32 } %126, 1 | |
store i32 %128, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp207) | |
to label %invoke.cont215 unwind label %terminate.lpad | |
invoke.cont215: ; preds = %lpad211 | |
br label %ehcleanup216 | |
ehcleanup216: ; preds = %invoke.cont215, %lpad209 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp208) #2 | |
%cleanup.is_active = load i1, i1* %cleanup.isactive, align 1 | |
br i1 %cleanup.is_active, label %cleanup.action, label %cleanup.done | |
cleanup.action: ; preds = %ehcleanup216 | |
call void @__cxa_free_exception(i8* %exception206) #2 | |
br label %cleanup.done | |
cleanup.done: ; preds = %cleanup.action, %ehcleanup216 | |
br label %ehcleanup225 | |
if.end218: ; preds = %invoke.cont213, %for.end203 | |
%129 = load i32, i32* %nnz, align 4 | |
%130 = load i32, i32* %roffset, align 4 | |
%conv219 = zext i32 %130 to i64 | |
%call221 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %row_offsets, i64 %conv219) | |
to label %invoke.cont220 unwind label %lpad117 | |
invoke.cont220: ; preds = %if.end218 | |
store i32 %129, i32* %call221, align 4 | |
%131 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%132 = load i32, i32* %global_nodes_x, align 4 | |
%133 = load i32, i32* %global_nodes_y, align 4 | |
%134 = load i32, i32* %global_nodes_z, align 4 | |
%135 = load i32, i32* %global_nrows, align 4 | |
%136 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
invoke void @_ZN6miniFE11init_matrixINS_9CSRMatrixIdiiEEEEvRT_RKSt6vectorINS3_17GlobalOrdinalTypeESaIS6_EERKS5_INS3_16LocalOrdinalTypeESaISB_EERKS5_IiSaIiEEiiiS6_RKNS_23simple_mesh_descriptionIS6_EE(%"struct.miniFE::CSRMatrix"* dereferenceable(136) %131, %"class.std::vector.15"* dereferenceable(24) %rows, %"class.std::vector.15"* dereferenceable(24) %row_offsets, %"class.std::vector.15"* dereferenceable(24) %row_coords, i32 %132, i32 %133, i32 %134, i32 %135, %"class.miniFE::simple_mesh_description"* dereferenceable(192) %136) | |
to label %invoke.cont222 unwind label %lpad117 | |
invoke.cont222: ; preds = %invoke.cont220 | |
invoke void @_ZNSt6vectorIiSaIiEED2Ev(%"class.std::vector.15"* %row_coords) | |
to label %invoke.cont224 unwind label %lpad223 | |
invoke.cont224: ; preds = %invoke.cont222 | |
invoke void @_ZNSt6vectorIiSaIiEED2Ev(%"class.std::vector.15"* %row_offsets) | |
to label %invoke.cont228 unwind label %lpad227 | |
invoke.cont228: ; preds = %invoke.cont224 | |
invoke void @_ZNSt6vectorIiSaIiEED2Ev(%"class.std::vector.15"* %rows) | |
to label %invoke.cont231 unwind label %lpad | |
invoke.cont231: ; preds = %invoke.cont228 | |
br label %try.cont247 | |
lpad223: ; preds = %invoke.cont222 | |
%137 = landingpad { i8*, i32 } | |
catch i8* null | |
%138 = extractvalue { i8*, i32 } %137, 0 | |
store i8* %138, i8** %exn.slot, align 8 | |
%139 = extractvalue { i8*, i32 } %137, 1 | |
store i32 %139, i32* %ehselector.slot, align 4 | |
br label %ehcleanup229 | |
ehcleanup225: ; preds = %cleanup.done, %lpad117 | |
invoke void @_ZNSt6vectorIiSaIiEED2Ev(%"class.std::vector.15"* %row_coords) | |
to label %invoke.cont226 unwind label %terminate.lpad | |
invoke.cont226: ; preds = %ehcleanup225 | |
br label %ehcleanup229 | |
lpad227: ; preds = %invoke.cont224 | |
%140 = landingpad { i8*, i32 } | |
catch i8* null | |
%141 = extractvalue { i8*, i32 } %140, 0 | |
store i8* %141, i8** %exn.slot, align 8 | |
%142 = extractvalue { i8*, i32 } %140, 1 | |
store i32 %142, i32* %ehselector.slot, align 4 | |
br label %ehcleanup232 | |
ehcleanup229: ; preds = %invoke.cont226, %lpad223, %lpad114 | |
invoke void @_ZNSt6vectorIiSaIiEED2Ev(%"class.std::vector.15"* %row_offsets) | |
to label %invoke.cont230 unwind label %terminate.lpad | |
invoke.cont230: ; preds = %ehcleanup229 | |
br label %ehcleanup232 | |
ehcleanup232: ; preds = %invoke.cont230, %lpad227, %lpad107 | |
invoke void @_ZNSt6vectorIiSaIiEED2Ev(%"class.std::vector.15"* %rows) | |
to label %invoke.cont233 unwind label %terminate.lpad | |
invoke.cont233: ; preds = %ehcleanup232 | |
br label %catch234 | |
catch234: ; preds = %invoke.cont233, %lpad100, %invoke.cont98, %catch.dispatch, %lpad | |
%exn235 = load i8*, i8** %exn.slot, align 8 | |
%143 = call i8* @__cxa_begin_catch(i8* %exn235) #2 | |
%call238 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cout, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.89, i32 0, i32 0)) | |
to label %invoke.cont237 unwind label %lpad236 | |
invoke.cont237: ; preds = %catch234 | |
%144 = load i32, i32* %myproc, align 4 | |
%call240 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %call238, i32 %144) | |
to label %invoke.cont239 unwind label %lpad236 | |
invoke.cont239: ; preds = %invoke.cont237 | |
%call242 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call240, i8* getelementptr inbounds ([89 x i8], [89 x i8]* @.str.90, i32 0, i32 0)) | |
to label %invoke.cont241 unwind label %lpad236 | |
invoke.cont241: ; preds = %invoke.cont239 | |
%call244 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call242, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
to label %invoke.cont243 unwind label %lpad236 | |
invoke.cont243: ; preds = %invoke.cont241 | |
store i32 1, i32* %threw_exc, align 4 | |
call void @__cxa_end_catch() | |
br label %try.cont247 | |
try.cont247: ; preds = %invoke.cont243, %invoke.cont231 | |
%145 = load i32, i32* %threw_exc, align 4 | |
%tobool = icmp ne i32 %145, 0 | |
br i1 %tobool, label %if.then248, label %if.end249 | |
if.then248: ; preds = %try.cont247 | |
store i32 1, i32* %retval, align 4 | |
br label %return | |
lpad236: ; preds = %invoke.cont241, %invoke.cont239, %invoke.cont237, %catch234 | |
%146 = landingpad { i8*, i32 } | |
cleanup | |
%147 = extractvalue { i8*, i32 } %146, 0 | |
store i8* %147, i8** %exn.slot, align 8 | |
%148 = extractvalue { i8*, i32 } %146, 1 | |
store i32 %148, i32* %ehselector.slot, align 4 | |
invoke void @__cxa_end_catch() | |
to label %invoke.cont246 unwind label %terminate.lpad | |
invoke.cont246: ; preds = %lpad236 | |
br label %eh.resume | |
if.end249: ; preds = %try.cont247 | |
store i32 0, i32* %retval, align 4 | |
br label %return | |
return: ; preds = %if.end249, %if.then248 | |
%149 = load i32, i32* %retval, align 4 | |
ret i32 %149 | |
eh.resume: ; preds = %invoke.cont246 | |
%exn250 = load i8*, i8** %exn.slot, align 8 | |
%sel251 = load i32, i32* %ehselector.slot, align 4 | |
%lpad.val = insertvalue { i8*, i32 } undef, i8* %exn250, 0 | |
%lpad.val252 = insertvalue { i8*, i32 } %lpad.val, i32 %sel251, 1 | |
resume { i8*, i32 } %lpad.val252 | |
terminate.lpad: ; preds = %lpad236, %ehcleanup232, %ehcleanup229, %ehcleanup225, %lpad211, %ehcleanup97, %ehcleanup95, %ehcleanup | |
%150 = landingpad { i8*, i32 } | |
catch i8* null | |
%151 = extractvalue { i8*, i32 } %150, 0 | |
call void @__clang_call_terminate(i8* %151) #13 | |
unreachable | |
unreachable: ; preds = %invoke.cont212, %invoke.cont92 | |
unreachable | |
} | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(%"class.std::vector.15"* %this) #4 comdat align 2 { | |
entry: | |
%this.addr = alloca %"class.std::vector.15"*, align 8 | |
store %"class.std::vector.15"* %this, %"class.std::vector.15"** %this.addr, align 8 | |
%this1 = load %"class.std::vector.15"*, %"class.std::vector.15"** %this.addr, align 8 | |
%0 = bitcast %"class.std::vector.15"* %this1 to %"struct.std::_Vector_base.16"* | |
%_M_impl = getelementptr inbounds %"struct.std::_Vector_base.16", %"struct.std::_Vector_base.16"* %0, i32 0, i32 0 | |
%_M_finish = getelementptr inbounds %"struct.std::_Vector_base<int, std::allocator<int> >::_Vector_impl", %"struct.std::_Vector_base<int, std::allocator<int> >::_Vector_impl"* %_M_impl, i32 0, i32 1 | |
%1 = load i32*, i32** %_M_finish, align 8 | |
%2 = bitcast %"class.std::vector.15"* %this1 to %"struct.std::_Vector_base.16"* | |
%_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.16", %"struct.std::_Vector_base.16"* %2, i32 0, i32 0 | |
%_M_start = getelementptr inbounds %"struct.std::_Vector_base<int, std::allocator<int> >::_Vector_impl", %"struct.std::_Vector_base<int, std::allocator<int> >::_Vector_impl"* %_M_impl2, i32 0, i32 0 | |
%3 = load i32*, i32** %_M_start, align 8 | |
%sub.ptr.lhs.cast = ptrtoint i32* %1 to i64 | |
%sub.ptr.rhs.cast = ptrtoint i32* %3 to i64 | |
%sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast | |
%sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 4 | |
ret i64 %sub.ptr.div | |
} | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %this, i64 %__n) #4 comdat align 2 { | |
entry: | |
%this.addr = alloca %"class.std::vector.15"*, align 8 | |
%__n.addr = alloca i64, align 8 | |
store %"class.std::vector.15"* %this, %"class.std::vector.15"** %this.addr, align 8 | |
store i64 %__n, i64* %__n.addr, align 8 | |
%this1 = load %"class.std::vector.15"*, %"class.std::vector.15"** %this.addr, align 8 | |
%0 = bitcast %"class.std::vector.15"* %this1 to %"struct.std::_Vector_base.16"* | |
%_M_impl = getelementptr inbounds %"struct.std::_Vector_base.16", %"struct.std::_Vector_base.16"* %0, i32 0, i32 0 | |
%_M_start = getelementptr inbounds %"struct.std::_Vector_base<int, std::allocator<int> >::_Vector_impl", %"struct.std::_Vector_base<int, std::allocator<int> >::_Vector_impl"* %_M_impl, i32 0, i32 0 | |
%1 = load i32*, i32** %_M_start, align 8 | |
%2 = load i64, i64* %__n.addr, align 8 | |
%add.ptr = getelementptr inbounds i32, i32* %1, i64 %2 | |
ret i32* %add.ptr | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZN6miniFE6VectorIdiiEC2Eii(%"struct.miniFE::Vector"* %this, i32 %startIdx, i32 %local_sz) unnamed_addr #3 comdat align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%this.addr = alloca %"struct.miniFE::Vector"*, align 8 | |
%startIdx.addr = alloca i32, align 4 | |
%local_sz.addr = alloca i32, align 4 | |
%ref.tmp = alloca double, align 8 | |
%ref.tmp3 = alloca %"class.std::allocator.22", align 1 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
%syncreg = call token @llvm.syncregion.start() | |
%__init = alloca i32, align 4 | |
%__begin = alloca i32, align 4 | |
%__end = alloca i32, align 4 | |
store %"struct.miniFE::Vector"* %this, %"struct.miniFE::Vector"** %this.addr, align 8 | |
store i32 %startIdx, i32* %startIdx.addr, align 4 | |
store i32 %local_sz, i32* %local_sz.addr, align 4 | |
%this1 = load %"struct.miniFE::Vector"*, %"struct.miniFE::Vector"** %this.addr, align 8 | |
%startIndex = getelementptr inbounds %"struct.miniFE::Vector", %"struct.miniFE::Vector"* %this1, i32 0, i32 0 | |
%0 = load i32, i32* %startIdx.addr, align 4 | |
store i32 %0, i32* %startIndex, align 8 | |
%local_size = getelementptr inbounds %"struct.miniFE::Vector", %"struct.miniFE::Vector"* %this1, i32 0, i32 1 | |
%1 = load i32, i32* %local_sz.addr, align 4 | |
store i32 %1, i32* %local_size, align 4 | |
%coefs = getelementptr inbounds %"struct.miniFE::Vector", %"struct.miniFE::Vector"* %this1, i32 0, i32 2 | |
%local_size2 = getelementptr inbounds %"struct.miniFE::Vector", %"struct.miniFE::Vector"* %this1, i32 0, i32 1 | |
%2 = load i32, i32* %local_size2, align 4 | |
%conv = sext i32 %2 to i64 | |
store double 0.000000e+00, double* %ref.tmp, align 8 | |
call void @_ZNSaIdEC2Ev(%"class.std::allocator.22"* %ref.tmp3) #2 | |
invoke void @_ZNSt6vectorIdSaIdEEC2EmRKdRKS0_(%"class.std::vector.20"* %coefs, i64 %conv, double* dereferenceable(8) %ref.tmp, %"class.std::allocator.22"* dereferenceable(1) %ref.tmp3) | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %entry | |
call void @_ZNSaIdED2Ev(%"class.std::allocator.22"* %ref.tmp3) #2 | |
store i32 0, i32* %__init, align 4 | |
store i32 0, i32* %__begin, align 4 | |
%local_size4 = getelementptr inbounds %"struct.miniFE::Vector", %"struct.miniFE::Vector"* %this1, i32 0, i32 1 | |
%3 = load i32, i32* %local_size4, align 4 | |
%sub = sub nsw i32 %3, 0 | |
%sub5 = sub nsw i32 %sub, 1 | |
%div = sdiv i32 %sub5, 1 | |
%add = add nsw i32 %div, 1 | |
store i32 %add, i32* %__end, align 4 | |
br label %pfor.cond | |
pfor.cond: ; preds = %pfor.inc, %invoke.cont | |
%4 = load i32, i32* %__begin, align 4 | |
%5 = load i32, i32* %__end, align 4 | |
%cmp = icmp slt i32 %4, %5 | |
br i1 %cmp, label %pfor.detach, label %pfor.end | |
pfor.detach: ; preds = %pfor.cond | |
%6 = load i32, i32* %__init, align 4 | |
%7 = load i32, i32* %__begin, align 4 | |
%mul = mul nsw i32 %7, 1 | |
%add6 = add nsw i32 %6, %mul | |
detach within %syncreg, label %pfor.body.entry, label %pfor.inc | |
pfor.body.entry: ; preds = %pfor.detach | |
%i = alloca i32, align 4 | |
%exn.slot10 = alloca i8* | |
%ehselector.slot11 = alloca i32 | |
store i32 %add6, i32* %i, align 4 | |
br label %pfor.body | |
pfor.body: ; preds = %pfor.body.entry | |
%coefs7 = getelementptr inbounds %"struct.miniFE::Vector", %"struct.miniFE::Vector"* %this1, i32 0, i32 2 | |
%8 = load i32, i32* %i, align 4 | |
%conv8 = sext i32 %8 to i64 | |
%call = invoke dereferenceable(8) double* @_ZNSt6vectorIdSaIdEEixEm(%"class.std::vector.20"* %coefs7, i64 %conv8) | |
to label %invoke.cont12 unwind label %lpad9 | |
invoke.cont12: ; preds = %pfor.body | |
store double 0.000000e+00, double* %call, align 8 | |
br label %pfor.preattach | |
pfor.preattach: ; preds = %invoke.cont12 | |
reattach within %syncreg, label %pfor.inc | |
pfor.inc: ; preds = %pfor.preattach, %pfor.detach | |
%9 = load i32, i32* %__begin, align 4 | |
%inc = add nsw i32 %9, 1 | |
store i32 %inc, i32* %__begin, align 4 | |
br label %pfor.cond, !llvm.loop !2 | |
lpad: ; preds = %entry | |
%10 = landingpad { i8*, i32 } | |
cleanup | |
%11 = extractvalue { i8*, i32 } %10, 0 | |
store i8* %11, i8** %exn.slot, align 8 | |
%12 = extractvalue { i8*, i32 } %10, 1 | |
store i32 %12, i32* %ehselector.slot, align 4 | |
call void @_ZNSaIdED2Ev(%"class.std::allocator.22"* %ref.tmp3) #2 | |
br label %eh.resume | |
lpad9: ; preds = %pfor.body | |
%13 = landingpad { i8*, i32 } | |
cleanup | |
%14 = extractvalue { i8*, i32 } %13, 0 | |
store i8* %14, i8** %exn.slot10, align 8 | |
%15 = extractvalue { i8*, i32 } %13, 1 | |
store i32 %15, i32* %ehselector.slot11, align 4 | |
br label %det.rethrow | |
det.rethrow: ; preds = %lpad9 | |
invoke void @_ZNSt6vectorIdSaIdEED2Ev(%"class.std::vector.20"* %coefs) | |
to label %invoke.cont13 unwind label %terminate.lpad | |
pfor.end: ; preds = %pfor.cond | |
sync within %syncreg, label %pfor.end.continue | |
pfor.end.continue: ; preds = %pfor.end | |
ret void | |
invoke.cont13: ; preds = %det.rethrow | |
br label %eh.resume | |
eh.resume: ; preds = %invoke.cont13, %lpad | |
%exn = load i8*, i8** %exn.slot, align 8 | |
%sel = load i32, i32* %ehselector.slot, align 4 | |
%lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 | |
%lpad.val14 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 | |
resume { i8*, i32 } %lpad.val14 | |
terminate.lpad: ; preds = %det.rethrow | |
%16 = landingpad { i8*, i32 } | |
catch i8* null | |
%17 = extractvalue { i8*, i32 } %16, 0 | |
call void @__clang_call_terminate(i8* %17) #13 | |
unreachable | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZN6miniFE16assemble_FE_dataINS_9CSRMatrixIdiiEENS_6VectorIdiiEEEEvRKNS_23simple_mesh_descriptionINT_17GlobalOrdinalTypeEEERS6_RT0_RNS_10ParametersE(%"class.miniFE::simple_mesh_description"* dereferenceable(192) %mesh, %"struct.miniFE::CSRMatrix"* dereferenceable(136) %A, %"struct.miniFE::Vector"* dereferenceable(32) %b, %"struct.miniFE::Parameters"* dereferenceable(96) %params) #3 comdat { | |
entry: | |
%mesh.addr = alloca %"class.miniFE::simple_mesh_description"*, align 8 | |
%A.addr = alloca %"struct.miniFE::CSRMatrix"*, align 8 | |
%b.addr = alloca %"struct.miniFE::Vector"*, align 8 | |
%params.addr = alloca %"struct.miniFE::Parameters"*, align 8 | |
%global_elems_x = alloca i32, align 4 | |
%global_elems_y = alloca i32, align 4 | |
%global_elems_z = alloca i32, align 4 | |
%local_elem_box = alloca %struct.Box, align 4 | |
%ghost = alloca i32, align 4 | |
store %"class.miniFE::simple_mesh_description"* %mesh, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
store %"struct.miniFE::CSRMatrix"* %A, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
store %"struct.miniFE::Vector"* %b, %"struct.miniFE::Vector"** %b.addr, align 8 | |
store %"struct.miniFE::Parameters"* %params, %"struct.miniFE::Parameters"** %params.addr, align 8 | |
%0 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%global_box = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %0, i32 0, i32 3 | |
%call = call i32* @_ZNK3BoxixEi(%struct.Box* %global_box, i32 0) | |
%arrayidx = getelementptr inbounds i32, i32* %call, i64 1 | |
%1 = load i32, i32* %arrayidx, align 4 | |
store i32 %1, i32* %global_elems_x, align 4 | |
%2 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%global_box1 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %2, i32 0, i32 3 | |
%call2 = call i32* @_ZNK3BoxixEi(%struct.Box* %global_box1, i32 1) | |
%arrayidx3 = getelementptr inbounds i32, i32* %call2, i64 1 | |
%3 = load i32, i32* %arrayidx3, align 4 | |
store i32 %3, i32* %global_elems_y, align 4 | |
%4 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%global_box4 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %4, i32 0, i32 3 | |
%call5 = call i32* @_ZNK3BoxixEi(%struct.Box* %global_box4, i32 2) | |
%arrayidx6 = getelementptr inbounds i32, i32* %call5, i64 1 | |
%5 = load i32, i32* %arrayidx6, align 4 | |
store i32 %5, i32* %global_elems_z, align 4 | |
%6 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%local_box = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %6, i32 0, i32 4 | |
call void @_ZN6miniFE8copy_boxERK3BoxRS0_(%struct.Box* dereferenceable(24) %local_box, %struct.Box* dereferenceable(24) %local_elem_box) | |
%call7 = call i32 @_ZN6miniFE11get_num_idsIiEET_RK3Box(%struct.Box* dereferenceable(24) %local_elem_box) | |
%cmp = icmp slt i32 %call7, 1 | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
br label %return | |
if.end: ; preds = %entry | |
store i32 1, i32* %ghost, align 4 | |
%call8 = call i32* @_ZN3BoxixEi(%struct.Box* %local_elem_box, i32 0) | |
%arrayidx9 = getelementptr inbounds i32, i32* %call8, i64 0 | |
%7 = load i32, i32* %arrayidx9, align 4 | |
%cmp10 = icmp sgt i32 %7, 0 | |
br i1 %cmp10, label %if.then11, label %if.end14 | |
if.then11: ; preds = %if.end | |
%8 = load i32, i32* %ghost, align 4 | |
%call12 = call i32* @_ZN3BoxixEi(%struct.Box* %local_elem_box, i32 0) | |
%arrayidx13 = getelementptr inbounds i32, i32* %call12, i64 0 | |
%9 = load i32, i32* %arrayidx13, align 4 | |
%sub = sub nsw i32 %9, %8 | |
store i32 %sub, i32* %arrayidx13, align 4 | |
br label %if.end14 | |
if.end14: ; preds = %if.then11, %if.end | |
%call15 = call i32* @_ZN3BoxixEi(%struct.Box* %local_elem_box, i32 1) | |
%arrayidx16 = getelementptr inbounds i32, i32* %call15, i64 0 | |
%10 = load i32, i32* %arrayidx16, align 4 | |
%cmp17 = icmp sgt i32 %10, 0 | |
br i1 %cmp17, label %if.then18, label %if.end22 | |
if.then18: ; preds = %if.end14 | |
%11 = load i32, i32* %ghost, align 4 | |
%call19 = call i32* @_ZN3BoxixEi(%struct.Box* %local_elem_box, i32 1) | |
%arrayidx20 = getelementptr inbounds i32, i32* %call19, i64 0 | |
%12 = load i32, i32* %arrayidx20, align 4 | |
%sub21 = sub nsw i32 %12, %11 | |
store i32 %sub21, i32* %arrayidx20, align 4 | |
br label %if.end22 | |
if.end22: ; preds = %if.then18, %if.end14 | |
%call23 = call i32* @_ZN3BoxixEi(%struct.Box* %local_elem_box, i32 2) | |
%arrayidx24 = getelementptr inbounds i32, i32* %call23, i64 0 | |
%13 = load i32, i32* %arrayidx24, align 4 | |
%cmp25 = icmp sgt i32 %13, 0 | |
br i1 %cmp25, label %if.then26, label %if.end30 | |
if.then26: ; preds = %if.end22 | |
%14 = load i32, i32* %ghost, align 4 | |
%call27 = call i32* @_ZN3BoxixEi(%struct.Box* %local_elem_box, i32 2) | |
%arrayidx28 = getelementptr inbounds i32, i32* %call27, i64 0 | |
%15 = load i32, i32* %arrayidx28, align 4 | |
%sub29 = sub nsw i32 %15, %14 | |
store i32 %sub29, i32* %arrayidx28, align 4 | |
br label %if.end30 | |
if.end30: ; preds = %if.then26, %if.end22 | |
%call31 = call i32* @_ZN3BoxixEi(%struct.Box* %local_elem_box, i32 0) | |
%arrayidx32 = getelementptr inbounds i32, i32* %call31, i64 1 | |
%16 = load i32, i32* %arrayidx32, align 4 | |
%17 = load i32, i32* %global_elems_x, align 4 | |
%cmp33 = icmp slt i32 %16, %17 | |
br i1 %cmp33, label %if.then34, label %if.end37 | |
if.then34: ; preds = %if.end30 | |
%18 = load i32, i32* %ghost, align 4 | |
%call35 = call i32* @_ZN3BoxixEi(%struct.Box* %local_elem_box, i32 0) | |
%arrayidx36 = getelementptr inbounds i32, i32* %call35, i64 1 | |
%19 = load i32, i32* %arrayidx36, align 4 | |
%add = add nsw i32 %19, %18 | |
store i32 %add, i32* %arrayidx36, align 4 | |
br label %if.end37 | |
if.end37: ; preds = %if.then34, %if.end30 | |
%call38 = call i32* @_ZN3BoxixEi(%struct.Box* %local_elem_box, i32 1) | |
%arrayidx39 = getelementptr inbounds i32, i32* %call38, i64 1 | |
%20 = load i32, i32* %arrayidx39, align 4 | |
%21 = load i32, i32* %global_elems_y, align 4 | |
%cmp40 = icmp slt i32 %20, %21 | |
br i1 %cmp40, label %if.then41, label %if.end45 | |
if.then41: ; preds = %if.end37 | |
%22 = load i32, i32* %ghost, align 4 | |
%call42 = call i32* @_ZN3BoxixEi(%struct.Box* %local_elem_box, i32 1) | |
%arrayidx43 = getelementptr inbounds i32, i32* %call42, i64 1 | |
%23 = load i32, i32* %arrayidx43, align 4 | |
%add44 = add nsw i32 %23, %22 | |
store i32 %add44, i32* %arrayidx43, align 4 | |
br label %if.end45 | |
if.end45: ; preds = %if.then41, %if.end37 | |
%call46 = call i32* @_ZN3BoxixEi(%struct.Box* %local_elem_box, i32 2) | |
%arrayidx47 = getelementptr inbounds i32, i32* %call46, i64 1 | |
%24 = load i32, i32* %arrayidx47, align 4 | |
%25 = load i32, i32* %global_elems_z, align 4 | |
%cmp48 = icmp slt i32 %24, %25 | |
br i1 %cmp48, label %if.then49, label %if.end53 | |
if.then49: ; preds = %if.end45 | |
%26 = load i32, i32* %ghost, align 4 | |
%call50 = call i32* @_ZN3BoxixEi(%struct.Box* %local_elem_box, i32 2) | |
%arrayidx51 = getelementptr inbounds i32, i32* %call50, i64 1 | |
%27 = load i32, i32* %arrayidx51, align 4 | |
%add52 = add nsw i32 %27, %26 | |
store i32 %add52, i32* %arrayidx51, align 4 | |
br label %if.end53 | |
if.end53: ; preds = %if.then49, %if.end45 | |
%28 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%29 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%30 = load %"struct.miniFE::Vector"*, %"struct.miniFE::Vector"** %b.addr, align 8 | |
%31 = load %"struct.miniFE::Parameters"*, %"struct.miniFE::Parameters"** %params.addr, align 8 | |
call void @_ZN6miniFE20perform_element_loopIiNS_9CSRMatrixIdiiEENS_6VectorIdiiEEEEvRKNS_23simple_mesh_descriptionIT_EERK3BoxRT0_RT1_RNS_10ParametersE(%"class.miniFE::simple_mesh_description"* dereferenceable(192) %28, %struct.Box* dereferenceable(24) %local_elem_box, %"struct.miniFE::CSRMatrix"* dereferenceable(136) %29, %"struct.miniFE::Vector"* dereferenceable(32) %30, %"struct.miniFE::Parameters"* dereferenceable(96) %31) | |
br label %return | |
return: ; preds = %if.end53, %if.then | |
ret void | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZN6miniFE16impose_dirichletINS_9CSRMatrixIdiiEENS_6VectorIdiiEEEEvNT_10ScalarTypeERS5_RT0_iiiRKSt3setINS5_17GlobalOrdinalTypeESt4lessISB_ESaISB_EE(double %prescribed_value, %"struct.miniFE::CSRMatrix"* dereferenceable(136) %A, %"struct.miniFE::Vector"* dereferenceable(32) %b, i32 %global_nx, i32 %global_ny, i32 %global_nz, %"class.std::set"* dereferenceable(48) %bc_rows) #3 comdat { | |
entry: | |
%prescribed_value.addr = alloca double, align 8 | |
%A.addr = alloca %"struct.miniFE::CSRMatrix"*, align 8 | |
%b.addr = alloca %"struct.miniFE::Vector"*, align 8 | |
%global_nx.addr = alloca i32, align 4 | |
%global_ny.addr = alloca i32, align 4 | |
%global_nz.addr = alloca i32, align 4 | |
%bc_rows.addr = alloca %"class.std::set"*, align 8 | |
%first_local_row = alloca i32, align 4 | |
%last_local_row = alloca i32, align 4 | |
%bc_iter = alloca %"struct.std::_Rb_tree_const_iterator", align 8 | |
%bc_end = alloca %"struct.std::_Rb_tree_const_iterator", align 8 | |
%row = alloca i32, align 4 | |
%local_row = alloca i64, align 8 | |
%i = alloca i64, align 8 | |
%row29 = alloca i32, align 4 | |
%coerce = alloca %"struct.std::_Rb_tree_const_iterator", align 8 | |
%ref.tmp = alloca %"struct.std::_Rb_tree_const_iterator", align 8 | |
%row_length = alloca i64, align 8 | |
%cols = alloca i32*, align 8 | |
%coefs39 = alloca double*, align 8 | |
%sum = alloca double, align 8 | |
%j = alloca i64, align 8 | |
%coerce44 = alloca %"struct.std::_Rb_tree_const_iterator", align 8 | |
%ref.tmp46 = alloca %"struct.std::_Rb_tree_const_iterator", align 8 | |
store double %prescribed_value, double* %prescribed_value.addr, align 8 | |
store %"struct.miniFE::CSRMatrix"* %A, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
store %"struct.miniFE::Vector"* %b, %"struct.miniFE::Vector"** %b.addr, align 8 | |
store i32 %global_nx, i32* %global_nx.addr, align 4 | |
store i32 %global_ny, i32* %global_ny.addr, align 4 | |
store i32 %global_nz, i32* %global_nz.addr, align 4 | |
store %"class.std::set"* %bc_rows, %"class.std::set"** %bc_rows.addr, align 8 | |
%0 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%rows = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %0, i32 0, i32 2 | |
%call = call i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(%"class.std::vector.15"* %rows) | |
%cmp = icmp ugt i64 %call, 0 | |
br i1 %cmp, label %cond.true, label %cond.false | |
cond.true: ; preds = %entry | |
%1 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%rows1 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %1, i32 0, i32 2 | |
%call2 = call dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %rows1, i64 0) | |
%2 = load i32, i32* %call2, align 4 | |
br label %cond.end | |
cond.false: ; preds = %entry | |
br label %cond.end | |
cond.end: ; preds = %cond.false, %cond.true | |
%cond = phi i32 [ %2, %cond.true ], [ 0, %cond.false ] | |
store i32 %cond, i32* %first_local_row, align 4 | |
%3 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%rows3 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %3, i32 0, i32 2 | |
%call4 = call i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(%"class.std::vector.15"* %rows3) | |
%cmp5 = icmp ugt i64 %call4, 0 | |
br i1 %cmp5, label %cond.true6, label %cond.false11 | |
cond.true6: ; preds = %cond.end | |
%4 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%rows7 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %4, i32 0, i32 2 | |
%5 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%rows8 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %5, i32 0, i32 2 | |
%call9 = call i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(%"class.std::vector.15"* %rows8) | |
%sub = sub i64 %call9, 1 | |
%call10 = call dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %rows7, i64 %sub) | |
%6 = load i32, i32* %call10, align 4 | |
br label %cond.end12 | |
cond.false11: ; preds = %cond.end | |
br label %cond.end12 | |
cond.end12: ; preds = %cond.false11, %cond.true6 | |
%cond13 = phi i32 [ %6, %cond.true6 ], [ -1, %cond.false11 ] | |
store i32 %cond13, i32* %last_local_row, align 4 | |
%7 = load %"class.std::set"*, %"class.std::set"** %bc_rows.addr, align 8 | |
%call14 = call %"struct.std::_Rb_tree_node_base"* @_ZNKSt3setIiSt4lessIiESaIiEE5beginEv(%"class.std::set"* %7) | |
%coerce.dive = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", %"struct.std::_Rb_tree_const_iterator"* %bc_iter, i32 0, i32 0 | |
store %"struct.std::_Rb_tree_node_base"* %call14, %"struct.std::_Rb_tree_node_base"** %coerce.dive, align 8 | |
%8 = load %"class.std::set"*, %"class.std::set"** %bc_rows.addr, align 8 | |
%call15 = call %"struct.std::_Rb_tree_node_base"* @_ZNKSt3setIiSt4lessIiESaIiEE3endEv(%"class.std::set"* %8) | |
%coerce.dive16 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", %"struct.std::_Rb_tree_const_iterator"* %bc_end, i32 0, i32 0 | |
store %"struct.std::_Rb_tree_node_base"* %call15, %"struct.std::_Rb_tree_node_base"** %coerce.dive16, align 8 | |
br label %for.cond | |
for.cond: ; preds = %for.inc, %cond.end12 | |
%call17 = call zeroext i1 @_ZNKSt23_Rb_tree_const_iteratorIiEneERKS0_(%"struct.std::_Rb_tree_const_iterator"* %bc_iter, %"struct.std::_Rb_tree_const_iterator"* dereferenceable(8) %bc_end) | |
br i1 %call17, label %for.body, label %for.end | |
for.body: ; preds = %for.cond | |
%call18 = call dereferenceable(4) i32* @_ZNKSt23_Rb_tree_const_iteratorIiEdeEv(%"struct.std::_Rb_tree_const_iterator"* %bc_iter) | |
%9 = load i32, i32* %call18, align 4 | |
store i32 %9, i32* %row, align 4 | |
%10 = load i32, i32* %row, align 4 | |
%11 = load i32, i32* %first_local_row, align 4 | |
%cmp19 = icmp sge i32 %10, %11 | |
br i1 %cmp19, label %land.lhs.true, label %if.end | |
land.lhs.true: ; preds = %for.body | |
%12 = load i32, i32* %row, align 4 | |
%13 = load i32, i32* %last_local_row, align 4 | |
%cmp20 = icmp sle i32 %12, %13 | |
br i1 %cmp20, label %if.then, label %if.end | |
if.then: ; preds = %land.lhs.true | |
%14 = load i32, i32* %row, align 4 | |
%15 = load i32, i32* %first_local_row, align 4 | |
%sub21 = sub nsw i32 %14, %15 | |
%conv = sext i32 %sub21 to i64 | |
store i64 %conv, i64* %local_row, align 8 | |
%16 = load double, double* %prescribed_value.addr, align 8 | |
%17 = load %"struct.miniFE::Vector"*, %"struct.miniFE::Vector"** %b.addr, align 8 | |
%coefs = getelementptr inbounds %"struct.miniFE::Vector", %"struct.miniFE::Vector"* %17, i32 0, i32 2 | |
%18 = load i64, i64* %local_row, align 8 | |
%call22 = call dereferenceable(8) double* @_ZNSt6vectorIdSaIdEEixEm(%"class.std::vector.20"* %coefs, i64 %18) | |
store double %16, double* %call22, align 8 | |
%19 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%20 = load i32, i32* %row, align 4 | |
call void @_ZN6miniFE30zero_row_and_put_1_on_diagonalINS_9CSRMatrixIdiiEEEEvRT_NS3_17GlobalOrdinalTypeE(%"struct.miniFE::CSRMatrix"* dereferenceable(136) %19, i32 %20) | |
br label %if.end | |
if.end: ; preds = %if.then, %land.lhs.true, %for.body | |
br label %for.inc | |
for.inc: ; preds = %if.end | |
%call23 = call dereferenceable(8) %"struct.std::_Rb_tree_const_iterator"* @_ZNSt23_Rb_tree_const_iteratorIiEppEv(%"struct.std::_Rb_tree_const_iterator"* %bc_iter) | |
br label %for.cond | |
for.end: ; preds = %for.cond | |
store i64 0, i64* %i, align 8 | |
br label %for.cond24 | |
for.cond24: ; preds = %for.inc59, %for.end | |
%21 = load i64, i64* %i, align 8 | |
%22 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%rows25 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %22, i32 0, i32 2 | |
%call26 = call i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(%"class.std::vector.15"* %rows25) | |
%cmp27 = icmp ult i64 %21, %call26 | |
br i1 %cmp27, label %for.body28, label %for.end61 | |
for.body28: ; preds = %for.cond24 | |
%23 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%rows30 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %23, i32 0, i32 2 | |
%24 = load i64, i64* %i, align 8 | |
%call31 = call dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %rows30, i64 %24) | |
%25 = load i32, i32* %call31, align 4 | |
store i32 %25, i32* %row29, align 4 | |
%26 = load %"class.std::set"*, %"class.std::set"** %bc_rows.addr, align 8 | |
%call32 = call %"struct.std::_Rb_tree_node_base"* @_ZNKSt3setIiSt4lessIiESaIiEE4findERKi(%"class.std::set"* %26, i32* dereferenceable(4) %row29) | |
%coerce.dive33 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", %"struct.std::_Rb_tree_const_iterator"* %coerce, i32 0, i32 0 | |
store %"struct.std::_Rb_tree_node_base"* %call32, %"struct.std::_Rb_tree_node_base"** %coerce.dive33, align 8 | |
%27 = load %"class.std::set"*, %"class.std::set"** %bc_rows.addr, align 8 | |
%call34 = call %"struct.std::_Rb_tree_node_base"* @_ZNKSt3setIiSt4lessIiESaIiEE3endEv(%"class.std::set"* %27) | |
%coerce.dive35 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", %"struct.std::_Rb_tree_const_iterator"* %ref.tmp, i32 0, i32 0 | |
store %"struct.std::_Rb_tree_node_base"* %call34, %"struct.std::_Rb_tree_node_base"** %coerce.dive35, align 8 | |
%call36 = call zeroext i1 @_ZNKSt23_Rb_tree_const_iteratorIiEneERKS0_(%"struct.std::_Rb_tree_const_iterator"* %coerce, %"struct.std::_Rb_tree_const_iterator"* dereferenceable(8) %ref.tmp) | |
br i1 %call36, label %if.then37, label %if.end38 | |
if.then37: ; preds = %for.body28 | |
br label %for.inc59 | |
if.end38: ; preds = %for.body28 | |
store i64 0, i64* %row_length, align 8 | |
store i32* null, i32** %cols, align 8 | |
store double* null, double** %coefs39, align 8 | |
%28 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%29 = load i32, i32* %row29, align 4 | |
call void @_ZN6miniFE9CSRMatrixIdiiE16get_row_pointersEiRmRPiRPd(%"struct.miniFE::CSRMatrix"* %28, i32 %29, i64* dereferenceable(8) %row_length, i32** dereferenceable(8) %cols, double** dereferenceable(8) %coefs39) | |
store double 0.000000e+00, double* %sum, align 8 | |
store i64 0, i64* %j, align 8 | |
br label %for.cond40 | |
for.cond40: ; preds = %for.inc54, %if.end38 | |
%30 = load i64, i64* %j, align 8 | |
%31 = load i64, i64* %row_length, align 8 | |
%cmp41 = icmp ult i64 %30, %31 | |
br i1 %cmp41, label %for.body42, label %for.end55 | |
for.body42: ; preds = %for.cond40 | |
%32 = load %"class.std::set"*, %"class.std::set"** %bc_rows.addr, align 8 | |
%33 = load i32*, i32** %cols, align 8 | |
%34 = load i64, i64* %j, align 8 | |
%arrayidx = getelementptr inbounds i32, i32* %33, i64 %34 | |
%call43 = call %"struct.std::_Rb_tree_node_base"* @_ZNKSt3setIiSt4lessIiESaIiEE4findERKi(%"class.std::set"* %32, i32* dereferenceable(4) %arrayidx) | |
%coerce.dive45 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", %"struct.std::_Rb_tree_const_iterator"* %coerce44, i32 0, i32 0 | |
store %"struct.std::_Rb_tree_node_base"* %call43, %"struct.std::_Rb_tree_node_base"** %coerce.dive45, align 8 | |
%35 = load %"class.std::set"*, %"class.std::set"** %bc_rows.addr, align 8 | |
%call47 = call %"struct.std::_Rb_tree_node_base"* @_ZNKSt3setIiSt4lessIiESaIiEE3endEv(%"class.std::set"* %35) | |
%coerce.dive48 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", %"struct.std::_Rb_tree_const_iterator"* %ref.tmp46, i32 0, i32 0 | |
store %"struct.std::_Rb_tree_node_base"* %call47, %"struct.std::_Rb_tree_node_base"** %coerce.dive48, align 8 | |
%call49 = call zeroext i1 @_ZNKSt23_Rb_tree_const_iteratorIiEneERKS0_(%"struct.std::_Rb_tree_const_iterator"* %coerce44, %"struct.std::_Rb_tree_const_iterator"* dereferenceable(8) %ref.tmp46) | |
br i1 %call49, label %if.then50, label %if.end53 | |
if.then50: ; preds = %for.body42 | |
%36 = load double*, double** %coefs39, align 8 | |
%37 = load i64, i64* %j, align 8 | |
%arrayidx51 = getelementptr inbounds double, double* %36, i64 %37 | |
%38 = load double, double* %arrayidx51, align 8 | |
%39 = load double, double* %sum, align 8 | |
%add = fadd double %39, %38 | |
store double %add, double* %sum, align 8 | |
%40 = load double*, double** %coefs39, align 8 | |
%41 = load i64, i64* %j, align 8 | |
%arrayidx52 = getelementptr inbounds double, double* %40, i64 %41 | |
store double 0.000000e+00, double* %arrayidx52, align 8 | |
br label %if.end53 | |
if.end53: ; preds = %if.then50, %for.body42 | |
br label %for.inc54 | |
for.inc54: ; preds = %if.end53 | |
%42 = load i64, i64* %j, align 8 | |
%inc = add i64 %42, 1 | |
store i64 %inc, i64* %j, align 8 | |
br label %for.cond40 | |
for.end55: ; preds = %for.cond40 | |
%43 = load double, double* %sum, align 8 | |
%44 = load double, double* %prescribed_value.addr, align 8 | |
%mul = fmul double %43, %44 | |
%45 = load %"struct.miniFE::Vector"*, %"struct.miniFE::Vector"** %b.addr, align 8 | |
%coefs56 = getelementptr inbounds %"struct.miniFE::Vector", %"struct.miniFE::Vector"* %45, i32 0, i32 2 | |
%46 = load i64, i64* %i, align 8 | |
%call57 = call dereferenceable(8) double* @_ZNSt6vectorIdSaIdEEixEm(%"class.std::vector.20"* %coefs56, i64 %46) | |
%47 = load double, double* %call57, align 8 | |
%sub58 = fsub double %47, %mul | |
store double %sub58, double* %call57, align 8 | |
br label %for.inc59 | |
for.inc59: ; preds = %for.end55, %if.then37 | |
%48 = load i64, i64* %i, align 8 | |
%inc60 = add i64 %48, 1 | |
store i64 %inc60, i64* %i, align 8 | |
br label %for.cond24 | |
for.end61: ; preds = %for.cond24 | |
ret void | |
} | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr void @_ZN6miniFE17make_local_matrixINS_9CSRMatrixIdiiEEEEvRT_(%"struct.miniFE::CSRMatrix"* dereferenceable(136) %A) #4 comdat { | |
entry: | |
%A.addr = alloca %"struct.miniFE::CSRMatrix"*, align 8 | |
store %"struct.miniFE::CSRMatrix"* %A, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%0 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%rows = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %0, i32 0, i32 2 | |
%call = call i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(%"class.std::vector.15"* %rows) | |
%conv = trunc i64 %call to i32 | |
%1 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%num_cols = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %1, i32 0, i32 7 | |
store i32 %conv, i32* %num_cols, align 8 | |
%2 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%has_local_indices = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %2, i32 0, i32 0 | |
store i8 1, i8* %has_local_indices, align 8 | |
ret void | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr i64 @_ZN6miniFE20compute_matrix_statsINS_9CSRMatrixIdiiEEEEmRKT_iiR8YAML_Doc(%"struct.miniFE::CSRMatrix"* dereferenceable(136) %A, i32 %myproc, i32 %numprocs, %class.YAML_Doc* dereferenceable(216) %ydoc) #3 comdat personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%A.addr = alloca %"struct.miniFE::CSRMatrix"*, align 8 | |
%myproc.addr = alloca i32, align 4 | |
%numprocs.addr = alloca i32, align 4 | |
%ydoc.addr = alloca %class.YAML_Doc*, align 8 | |
%min_nrows = alloca i32, align 4 | |
%max_nrows = alloca i32, align 4 | |
%global_nrows = alloca i32, align 4 | |
%min_proc = alloca i32, align 4 | |
%max_proc = alloca i32, align 4 | |
%local_nrows = alloca i32, align 4 | |
%local_nnz = alloca double, align 8 | |
%dglobal_nnz = alloca double, align 8 | |
%dmin_nnz = alloca double, align 8 | |
%dmax_nnz = alloca double, align 8 | |
%avg_nrows = alloca double, align 8 | |
%avg_nnz = alloca double, align 8 | |
%mem_overhead_MB = alloca double, align 8 | |
%global_nnz = alloca i64, align 8 | |
%min_nnz = alloca i64, align 8 | |
%max_nnz = alloca i64, align 8 | |
%global_num_rows = alloca i64, align 8 | |
%ref.tmp = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp15 = alloca %"class.std::allocator", align 1 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
%ref.tmp16 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp17 = alloca %"class.std::allocator", align 1 | |
%ref.tmp29 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp30 = alloca %"class.std::allocator", align 1 | |
%ref.tmp36 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp37 = alloca %"class.std::allocator", align 1 | |
%ref.tmp51 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp52 = alloca %"class.std::allocator", align 1 | |
%ref.tmp58 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp59 = alloca %"class.std::allocator", align 1 | |
%invGB = alloca double, align 8 | |
%memGB = alloca double, align 8 | |
%ref.tmp86 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp87 = alloca %"class.std::allocator", align 1 | |
%ref.tmp93 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp94 = alloca %"class.std::allocator", align 1 | |
%ref.tmp108 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp109 = alloca %"class.std::allocator", align 1 | |
%ref.tmp115 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp116 = alloca %"class.std::allocator", align 1 | |
%min_num_rows = alloca i64, align 8 | |
%max_num_rows = alloca i64, align 8 | |
%ref.tmp132 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp133 = alloca %"class.std::allocator", align 1 | |
%ref.tmp139 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp140 = alloca %"class.std::allocator", align 1 | |
%ref.tmp154 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp155 = alloca %"class.std::allocator", align 1 | |
%ref.tmp161 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp162 = alloca %"class.std::allocator", align 1 | |
%ref.tmp176 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp177 = alloca %"class.std::allocator", align 1 | |
%ref.tmp183 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp184 = alloca %"class.std::allocator", align 1 | |
%ref.tmp198 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp199 = alloca %"class.std::allocator", align 1 | |
%ref.tmp205 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp206 = alloca %"class.std::allocator", align 1 | |
%ref.tmp220 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp221 = alloca %"class.std::allocator", align 1 | |
%ref.tmp227 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp228 = alloca %"class.std::allocator", align 1 | |
%ref.tmp242 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp243 = alloca %"class.std::allocator", align 1 | |
%ref.tmp249 = alloca %"class.std::__cxx11::basic_string", align 8 | |
%ref.tmp250 = alloca %"class.std::allocator", align 1 | |
store %"struct.miniFE::CSRMatrix"* %A, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
store i32 %myproc, i32* %myproc.addr, align 4 | |
store i32 %numprocs, i32* %numprocs.addr, align 4 | |
store %class.YAML_Doc* %ydoc, %class.YAML_Doc** %ydoc.addr, align 8 | |
store i32 0, i32* %min_nrows, align 4 | |
store i32 0, i32* %max_nrows, align 4 | |
store i32 0, i32* %global_nrows, align 4 | |
store i32 0, i32* %min_proc, align 4 | |
store i32 0, i32* %max_proc, align 4 | |
%0 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%rows = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %0, i32 0, i32 2 | |
%call = call i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(%"class.std::vector.15"* %rows) | |
%conv = trunc i64 %call to i32 | |
store i32 %conv, i32* %local_nrows, align 4 | |
%1 = load i32, i32* %local_nrows, align 4 | |
call void @_ZN6miniFE18get_global_min_maxIiEEvT_RS1_S2_RiS2_S3_(i32 %1, i32* dereferenceable(4) %global_nrows, i32* dereferenceable(4) %min_nrows, i32* dereferenceable(4) %min_proc, i32* dereferenceable(4) %max_nrows, i32* dereferenceable(4) %max_proc) | |
%2 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%call1 = call i64 @_ZNK6miniFE9CSRMatrixIdiiE12num_nonzerosEv(%"struct.miniFE::CSRMatrix"* %2) | |
%conv2 = uitofp i64 %call1 to double | |
store double %conv2, double* %local_nnz, align 8 | |
store double 0.000000e+00, double* %dglobal_nnz, align 8 | |
store double 0.000000e+00, double* %dmin_nnz, align 8 | |
store double 0.000000e+00, double* %dmax_nnz, align 8 | |
%3 = load double, double* %local_nnz, align 8 | |
call void @_ZN6miniFE18get_global_min_maxIdEEvT_RS1_S2_RiS2_S3_(double %3, double* dereferenceable(8) %dglobal_nnz, double* dereferenceable(8) %dmin_nnz, i32* dereferenceable(4) %min_proc, double* dereferenceable(8) %dmax_nnz, i32* dereferenceable(4) %max_proc) | |
%4 = load i32, i32* %global_nrows, align 4 | |
%conv3 = sitofp i32 %4 to double | |
store double %conv3, double* %avg_nrows, align 8 | |
%5 = load i32, i32* %numprocs.addr, align 4 | |
%conv4 = sitofp i32 %5 to double | |
%6 = load double, double* %avg_nrows, align 8 | |
%div = fdiv double %6, %conv4 | |
store double %div, double* %avg_nrows, align 8 | |
%7 = load double, double* %dglobal_nnz, align 8 | |
store double %7, double* %avg_nnz, align 8 | |
%8 = load i32, i32* %numprocs.addr, align 4 | |
%conv5 = sitofp i32 %8 to double | |
%9 = load double, double* %avg_nnz, align 8 | |
%div6 = fdiv double %9, %conv5 | |
store double %div6, double* %avg_nnz, align 8 | |
%10 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%call7 = call double @_ZN6miniFE27parallel_memory_overhead_MBINS_9CSRMatrixIdiiEEEEdRKT_(%"struct.miniFE::CSRMatrix"* dereferenceable(136) %10) | |
store double %call7, double* %mem_overhead_MB, align 8 | |
%11 = load double, double* %dglobal_nnz, align 8 | |
%call8 = call double @ceil(double %11) #15 | |
%conv9 = fptoui double %call8 to i64 | |
store i64 %conv9, i64* %global_nnz, align 8 | |
%12 = load double, double* %dmin_nnz, align 8 | |
%call10 = call double @ceil(double %12) #15 | |
%conv11 = fptoui double %call10 to i64 | |
store i64 %conv11, i64* %min_nnz, align 8 | |
%13 = load double, double* %dmax_nnz, align 8 | |
%call12 = call double @ceil(double %13) #15 | |
%conv13 = fptoui double %call12 to i64 | |
store i64 %conv13, i64* %max_nnz, align 8 | |
%14 = load i32, i32* %global_nrows, align 4 | |
%conv14 = sext i32 %14 to i64 | |
store i64 %conv14, i64* %global_num_rows, align 8 | |
%15 = load i32, i32* %myproc.addr, align 4 | |
%cmp = icmp eq i32 %15, 0 | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
%16 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%17 = bitcast %class.YAML_Doc* %16 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp15) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.98, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp15) | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %if.then | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp17) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp16, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp17) | |
to label %invoke.cont19 unwind label %lpad18 | |
invoke.cont19: ; preds = %invoke.cont | |
%call22 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(%class.YAML_Element* %17, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp16) | |
to label %invoke.cont21 unwind label %lpad20 | |
invoke.cont21: ; preds = %invoke.cont19 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp16) | |
to label %invoke.cont23 unwind label %lpad18 | |
invoke.cont23: ; preds = %invoke.cont21 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp17) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp) | |
to label %invoke.cont25 unwind label %lpad | |
invoke.cont25: ; preds = %invoke.cont23 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp15) #2 | |
%18 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%19 = bitcast %class.YAML_Doc* %18 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp30) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp29, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.98, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp30) | |
to label %invoke.cont32 unwind label %lpad31 | |
invoke.cont32: ; preds = %invoke.cont25 | |
%call35 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %19, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp29) | |
to label %invoke.cont34 unwind label %lpad33 | |
invoke.cont34: ; preds = %invoke.cont32 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp37) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp36, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.99, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp37) | |
to label %invoke.cont39 unwind label %lpad38 | |
invoke.cont39: ; preds = %invoke.cont34 | |
%20 = load i64, i64* %global_num_rows, align 8 | |
%call42 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(%class.YAML_Element* %call35, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp36, i64 %20) | |
to label %invoke.cont41 unwind label %lpad40 | |
invoke.cont41: ; preds = %invoke.cont39 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp36) | |
to label %invoke.cont43 unwind label %lpad38 | |
invoke.cont43: ; preds = %invoke.cont41 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp37) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp29) | |
to label %invoke.cont47 unwind label %lpad31 | |
invoke.cont47: ; preds = %invoke.cont43 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp30) #2 | |
%21 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%22 = bitcast %class.YAML_Doc* %21 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp52) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp51, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.98, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp52) | |
to label %invoke.cont54 unwind label %lpad53 | |
invoke.cont54: ; preds = %invoke.cont47 | |
%call57 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %22, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp51) | |
to label %invoke.cont56 unwind label %lpad55 | |
invoke.cont56: ; preds = %invoke.cont54 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp59) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp58, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.100, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp59) | |
to label %invoke.cont61 unwind label %lpad60 | |
invoke.cont61: ; preds = %invoke.cont56 | |
%23 = load i64, i64* %global_nnz, align 8 | |
%call64 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(%class.YAML_Element* %call57, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp58, i64 %23) | |
to label %invoke.cont63 unwind label %lpad62 | |
invoke.cont63: ; preds = %invoke.cont61 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp58) | |
to label %invoke.cont65 unwind label %lpad60 | |
invoke.cont65: ; preds = %invoke.cont63 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp59) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp51) | |
to label %invoke.cont69 unwind label %lpad53 | |
invoke.cont69: ; preds = %invoke.cont65 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp52) #2 | |
store double 0x3E10000000000000, double* %invGB, align 8 | |
%24 = load double, double* %invGB, align 8 | |
%25 = load i32, i32* %global_nrows, align 4 | |
%conv73 = sitofp i32 %25 to double | |
%mul = fmul double %24, %conv73 | |
%mul74 = fmul double %mul, 4.000000e+00 | |
store double %mul74, double* %memGB, align 8 | |
%26 = load double, double* %invGB, align 8 | |
%27 = load i32, i32* %global_nrows, align 4 | |
%conv75 = sitofp i32 %27 to double | |
%mul76 = fmul double %26, %conv75 | |
%mul77 = fmul double %mul76, 4.000000e+00 | |
%28 = load double, double* %memGB, align 8 | |
%add = fadd double %28, %mul77 | |
store double %add, double* %memGB, align 8 | |
%29 = load double, double* %invGB, align 8 | |
%30 = load i64, i64* %global_nnz, align 8 | |
%conv78 = uitofp i64 %30 to double | |
%mul79 = fmul double %29, %conv78 | |
%mul80 = fmul double %mul79, 4.000000e+00 | |
%31 = load double, double* %memGB, align 8 | |
%add81 = fadd double %31, %mul80 | |
store double %add81, double* %memGB, align 8 | |
%32 = load double, double* %invGB, align 8 | |
%33 = load i64, i64* %global_nnz, align 8 | |
%conv82 = uitofp i64 %33 to double | |
%mul83 = fmul double %32, %conv82 | |
%mul84 = fmul double %mul83, 8.000000e+00 | |
%34 = load double, double* %memGB, align 8 | |
%add85 = fadd double %34, %mul84 | |
store double %add85, double* %memGB, align 8 | |
%35 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%36 = bitcast %class.YAML_Doc* %35 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp87) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp86, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.98, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp87) | |
to label %invoke.cont89 unwind label %lpad88 | |
invoke.cont89: ; preds = %invoke.cont69 | |
%call92 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %36, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp86) | |
to label %invoke.cont91 unwind label %lpad90 | |
invoke.cont91: ; preds = %invoke.cont89 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp94) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp93, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.101, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp94) | |
to label %invoke.cont96 unwind label %lpad95 | |
invoke.cont96: ; preds = %invoke.cont91 | |
%37 = load double, double* %memGB, align 8 | |
%call99 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call92, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp93, double %37) | |
to label %invoke.cont98 unwind label %lpad97 | |
invoke.cont98: ; preds = %invoke.cont96 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp93) | |
to label %invoke.cont100 unwind label %lpad95 | |
invoke.cont100: ; preds = %invoke.cont98 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp94) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp86) | |
to label %invoke.cont104 unwind label %lpad88 | |
invoke.cont104: ; preds = %invoke.cont100 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp87) #2 | |
%38 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%39 = bitcast %class.YAML_Doc* %38 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp109) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp108, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.98, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp109) | |
to label %invoke.cont111 unwind label %lpad110 | |
invoke.cont111: ; preds = %invoke.cont104 | |
%call114 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %39, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp108) | |
to label %invoke.cont113 unwind label %lpad112 | |
invoke.cont113: ; preds = %invoke.cont111 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp116) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp115, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.102, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp116) | |
to label %invoke.cont118 unwind label %lpad117 | |
invoke.cont118: ; preds = %invoke.cont113 | |
%40 = load double, double* %mem_overhead_MB, align 8 | |
%call121 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call114, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp115, double %40) | |
to label %invoke.cont120 unwind label %lpad119 | |
invoke.cont120: ; preds = %invoke.cont118 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp115) | |
to label %invoke.cont122 unwind label %lpad117 | |
invoke.cont122: ; preds = %invoke.cont120 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp116) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp108) | |
to label %invoke.cont126 unwind label %lpad110 | |
invoke.cont126: ; preds = %invoke.cont122 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp109) #2 | |
%41 = load i32, i32* %min_nrows, align 4 | |
%conv130 = sext i32 %41 to i64 | |
store i64 %conv130, i64* %min_num_rows, align 8 | |
%42 = load i32, i32* %max_nrows, align 4 | |
%conv131 = sext i32 %42 to i64 | |
store i64 %conv131, i64* %max_num_rows, align 8 | |
%43 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%44 = bitcast %class.YAML_Doc* %43 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp133) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp132, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.98, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp133) | |
to label %invoke.cont135 unwind label %lpad134 | |
invoke.cont135: ; preds = %invoke.cont126 | |
%call138 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %44, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp132) | |
to label %invoke.cont137 unwind label %lpad136 | |
invoke.cont137: ; preds = %invoke.cont135 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp140) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp139, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.103, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp140) | |
to label %invoke.cont142 unwind label %lpad141 | |
invoke.cont142: ; preds = %invoke.cont137 | |
%45 = load i64, i64* %min_num_rows, align 8 | |
%call145 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(%class.YAML_Element* %call138, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp139, i64 %45) | |
to label %invoke.cont144 unwind label %lpad143 | |
invoke.cont144: ; preds = %invoke.cont142 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp139) | |
to label %invoke.cont146 unwind label %lpad141 | |
invoke.cont146: ; preds = %invoke.cont144 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp140) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp132) | |
to label %invoke.cont150 unwind label %lpad134 | |
invoke.cont150: ; preds = %invoke.cont146 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp133) #2 | |
%46 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%47 = bitcast %class.YAML_Doc* %46 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp155) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp154, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.98, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp155) | |
to label %invoke.cont157 unwind label %lpad156 | |
invoke.cont157: ; preds = %invoke.cont150 | |
%call160 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %47, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp154) | |
to label %invoke.cont159 unwind label %lpad158 | |
invoke.cont159: ; preds = %invoke.cont157 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp162) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp161, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.104, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp162) | |
to label %invoke.cont164 unwind label %lpad163 | |
invoke.cont164: ; preds = %invoke.cont159 | |
%48 = load i64, i64* %max_num_rows, align 8 | |
%call167 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(%class.YAML_Element* %call160, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp161, i64 %48) | |
to label %invoke.cont166 unwind label %lpad165 | |
invoke.cont166: ; preds = %invoke.cont164 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp161) | |
to label %invoke.cont168 unwind label %lpad163 | |
invoke.cont168: ; preds = %invoke.cont166 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp162) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp154) | |
to label %invoke.cont172 unwind label %lpad156 | |
invoke.cont172: ; preds = %invoke.cont168 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp155) #2 | |
%49 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%50 = bitcast %class.YAML_Doc* %49 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp177) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp176, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.98, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp177) | |
to label %invoke.cont179 unwind label %lpad178 | |
invoke.cont179: ; preds = %invoke.cont172 | |
%call182 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %50, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp176) | |
to label %invoke.cont181 unwind label %lpad180 | |
invoke.cont181: ; preds = %invoke.cont179 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp184) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp183, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.105, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp184) | |
to label %invoke.cont186 unwind label %lpad185 | |
invoke.cont186: ; preds = %invoke.cont181 | |
%51 = load double, double* %avg_nrows, align 8 | |
%call189 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call182, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp183, double %51) | |
to label %invoke.cont188 unwind label %lpad187 | |
invoke.cont188: ; preds = %invoke.cont186 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp183) | |
to label %invoke.cont190 unwind label %lpad185 | |
invoke.cont190: ; preds = %invoke.cont188 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp184) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp176) | |
to label %invoke.cont194 unwind label %lpad178 | |
invoke.cont194: ; preds = %invoke.cont190 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp177) #2 | |
%52 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%53 = bitcast %class.YAML_Doc* %52 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp199) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp198, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.98, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp199) | |
to label %invoke.cont201 unwind label %lpad200 | |
invoke.cont201: ; preds = %invoke.cont194 | |
%call204 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %53, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp198) | |
to label %invoke.cont203 unwind label %lpad202 | |
invoke.cont203: ; preds = %invoke.cont201 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp206) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp205, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.106, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp206) | |
to label %invoke.cont208 unwind label %lpad207 | |
invoke.cont208: ; preds = %invoke.cont203 | |
%54 = load i64, i64* %min_nnz, align 8 | |
%call211 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(%class.YAML_Element* %call204, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp205, i64 %54) | |
to label %invoke.cont210 unwind label %lpad209 | |
invoke.cont210: ; preds = %invoke.cont208 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp205) | |
to label %invoke.cont212 unwind label %lpad207 | |
invoke.cont212: ; preds = %invoke.cont210 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp206) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp198) | |
to label %invoke.cont216 unwind label %lpad200 | |
invoke.cont216: ; preds = %invoke.cont212 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp199) #2 | |
%55 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%56 = bitcast %class.YAML_Doc* %55 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp221) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp220, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.98, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp221) | |
to label %invoke.cont223 unwind label %lpad222 | |
invoke.cont223: ; preds = %invoke.cont216 | |
%call226 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %56, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp220) | |
to label %invoke.cont225 unwind label %lpad224 | |
invoke.cont225: ; preds = %invoke.cont223 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp228) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp227, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.107, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp228) | |
to label %invoke.cont230 unwind label %lpad229 | |
invoke.cont230: ; preds = %invoke.cont225 | |
%57 = load i64, i64* %max_nnz, align 8 | |
%call233 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(%class.YAML_Element* %call226, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp227, i64 %57) | |
to label %invoke.cont232 unwind label %lpad231 | |
invoke.cont232: ; preds = %invoke.cont230 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp227) | |
to label %invoke.cont234 unwind label %lpad229 | |
invoke.cont234: ; preds = %invoke.cont232 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp228) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp220) | |
to label %invoke.cont238 unwind label %lpad222 | |
invoke.cont238: ; preds = %invoke.cont234 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp221) #2 | |
%58 = load %class.YAML_Doc*, %class.YAML_Doc** %ydoc.addr, align 8 | |
%59 = bitcast %class.YAML_Doc* %58 to %class.YAML_Element* | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp243) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp242, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.98, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp243) | |
to label %invoke.cont245 unwind label %lpad244 | |
invoke.cont245: ; preds = %invoke.cont238 | |
%call248 = invoke %class.YAML_Element* @_ZN12YAML_Element3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%class.YAML_Element* %59, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp242) | |
to label %invoke.cont247 unwind label %lpad246 | |
invoke.cont247: ; preds = %invoke.cont245 | |
call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp250) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(%"class.std::__cxx11::basic_string"* %ref.tmp249, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.108, i32 0, i32 0), %"class.std::allocator"* dereferenceable(1) %ref.tmp250) | |
to label %invoke.cont252 unwind label %lpad251 | |
invoke.cont252: ; preds = %invoke.cont247 | |
%60 = load double, double* %avg_nnz, align 8 | |
%call255 = invoke %class.YAML_Element* @_ZN12YAML_Element3addERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(%class.YAML_Element* %call248, %"class.std::__cxx11::basic_string"* dereferenceable(32) %ref.tmp249, double %60) | |
to label %invoke.cont254 unwind label %lpad253 | |
invoke.cont254: ; preds = %invoke.cont252 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp249) | |
to label %invoke.cont256 unwind label %lpad251 | |
invoke.cont256: ; preds = %invoke.cont254 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp250) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp242) | |
to label %invoke.cont260 unwind label %lpad244 | |
invoke.cont260: ; preds = %invoke.cont256 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp243) #2 | |
br label %if.end | |
lpad: ; preds = %invoke.cont23, %if.then | |
%61 = landingpad { i8*, i32 } | |
cleanup | |
%62 = extractvalue { i8*, i32 } %61, 0 | |
store i8* %62, i8** %exn.slot, align 8 | |
%63 = extractvalue { i8*, i32 } %61, 1 | |
store i32 %63, i32* %ehselector.slot, align 4 | |
br label %ehcleanup28 | |
lpad18: ; preds = %invoke.cont21, %invoke.cont | |
%64 = landingpad { i8*, i32 } | |
cleanup | |
%65 = extractvalue { i8*, i32 } %64, 0 | |
store i8* %65, i8** %exn.slot, align 8 | |
%66 = extractvalue { i8*, i32 } %64, 1 | |
store i32 %66, i32* %ehselector.slot, align 4 | |
br label %ehcleanup | |
lpad20: ; preds = %invoke.cont19 | |
%67 = landingpad { i8*, i32 } | |
cleanup | |
%68 = extractvalue { i8*, i32 } %67, 0 | |
store i8* %68, i8** %exn.slot, align 8 | |
%69 = extractvalue { i8*, i32 } %67, 1 | |
store i32 %69, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp16) | |
to label %invoke.cont24 unwind label %terminate.lpad | |
invoke.cont24: ; preds = %lpad20 | |
br label %ehcleanup | |
ehcleanup: ; preds = %invoke.cont24, %lpad18 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp17) #2 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp) | |
to label %invoke.cont27 unwind label %terminate.lpad | |
invoke.cont27: ; preds = %ehcleanup | |
br label %ehcleanup28 | |
ehcleanup28: ; preds = %invoke.cont27, %lpad | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp15) #2 | |
br label %eh.resume | |
lpad31: ; preds = %invoke.cont43, %invoke.cont25 | |
%70 = landingpad { i8*, i32 } | |
cleanup | |
%71 = extractvalue { i8*, i32 } %70, 0 | |
store i8* %71, i8** %exn.slot, align 8 | |
%72 = extractvalue { i8*, i32 } %70, 1 | |
store i32 %72, i32* %ehselector.slot, align 4 | |
br label %ehcleanup50 | |
lpad33: ; preds = %invoke.cont32 | |
%73 = landingpad { i8*, i32 } | |
cleanup | |
%74 = extractvalue { i8*, i32 } %73, 0 | |
store i8* %74, i8** %exn.slot, align 8 | |
%75 = extractvalue { i8*, i32 } %73, 1 | |
store i32 %75, i32* %ehselector.slot, align 4 | |
br label %ehcleanup48 | |
lpad38: ; preds = %invoke.cont41, %invoke.cont34 | |
%76 = landingpad { i8*, i32 } | |
cleanup | |
%77 = extractvalue { i8*, i32 } %76, 0 | |
store i8* %77, i8** %exn.slot, align 8 | |
%78 = extractvalue { i8*, i32 } %76, 1 | |
store i32 %78, i32* %ehselector.slot, align 4 | |
br label %ehcleanup46 | |
lpad40: ; preds = %invoke.cont39 | |
%79 = landingpad { i8*, i32 } | |
cleanup | |
%80 = extractvalue { i8*, i32 } %79, 0 | |
store i8* %80, i8** %exn.slot, align 8 | |
%81 = extractvalue { i8*, i32 } %79, 1 | |
store i32 %81, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp36) | |
to label %invoke.cont45 unwind label %terminate.lpad | |
invoke.cont45: ; preds = %lpad40 | |
br label %ehcleanup46 | |
ehcleanup46: ; preds = %invoke.cont45, %lpad38 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp37) #2 | |
br label %ehcleanup48 | |
ehcleanup48: ; preds = %ehcleanup46, %lpad33 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp29) | |
to label %invoke.cont49 unwind label %terminate.lpad | |
invoke.cont49: ; preds = %ehcleanup48 | |
br label %ehcleanup50 | |
ehcleanup50: ; preds = %invoke.cont49, %lpad31 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp30) #2 | |
br label %eh.resume | |
lpad53: ; preds = %invoke.cont65, %invoke.cont47 | |
%82 = landingpad { i8*, i32 } | |
cleanup | |
%83 = extractvalue { i8*, i32 } %82, 0 | |
store i8* %83, i8** %exn.slot, align 8 | |
%84 = extractvalue { i8*, i32 } %82, 1 | |
store i32 %84, i32* %ehselector.slot, align 4 | |
br label %ehcleanup72 | |
lpad55: ; preds = %invoke.cont54 | |
%85 = landingpad { i8*, i32 } | |
cleanup | |
%86 = extractvalue { i8*, i32 } %85, 0 | |
store i8* %86, i8** %exn.slot, align 8 | |
%87 = extractvalue { i8*, i32 } %85, 1 | |
store i32 %87, i32* %ehselector.slot, align 4 | |
br label %ehcleanup70 | |
lpad60: ; preds = %invoke.cont63, %invoke.cont56 | |
%88 = landingpad { i8*, i32 } | |
cleanup | |
%89 = extractvalue { i8*, i32 } %88, 0 | |
store i8* %89, i8** %exn.slot, align 8 | |
%90 = extractvalue { i8*, i32 } %88, 1 | |
store i32 %90, i32* %ehselector.slot, align 4 | |
br label %ehcleanup68 | |
lpad62: ; preds = %invoke.cont61 | |
%91 = landingpad { i8*, i32 } | |
cleanup | |
%92 = extractvalue { i8*, i32 } %91, 0 | |
store i8* %92, i8** %exn.slot, align 8 | |
%93 = extractvalue { i8*, i32 } %91, 1 | |
store i32 %93, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp58) | |
to label %invoke.cont67 unwind label %terminate.lpad | |
invoke.cont67: ; preds = %lpad62 | |
br label %ehcleanup68 | |
ehcleanup68: ; preds = %invoke.cont67, %lpad60 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp59) #2 | |
br label %ehcleanup70 | |
ehcleanup70: ; preds = %ehcleanup68, %lpad55 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp51) | |
to label %invoke.cont71 unwind label %terminate.lpad | |
invoke.cont71: ; preds = %ehcleanup70 | |
br label %ehcleanup72 | |
ehcleanup72: ; preds = %invoke.cont71, %lpad53 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp52) #2 | |
br label %eh.resume | |
lpad88: ; preds = %invoke.cont100, %invoke.cont69 | |
%94 = landingpad { i8*, i32 } | |
cleanup | |
%95 = extractvalue { i8*, i32 } %94, 0 | |
store i8* %95, i8** %exn.slot, align 8 | |
%96 = extractvalue { i8*, i32 } %94, 1 | |
store i32 %96, i32* %ehselector.slot, align 4 | |
br label %ehcleanup107 | |
lpad90: ; preds = %invoke.cont89 | |
%97 = landingpad { i8*, i32 } | |
cleanup | |
%98 = extractvalue { i8*, i32 } %97, 0 | |
store i8* %98, i8** %exn.slot, align 8 | |
%99 = extractvalue { i8*, i32 } %97, 1 | |
store i32 %99, i32* %ehselector.slot, align 4 | |
br label %ehcleanup105 | |
lpad95: ; preds = %invoke.cont98, %invoke.cont91 | |
%100 = landingpad { i8*, i32 } | |
cleanup | |
%101 = extractvalue { i8*, i32 } %100, 0 | |
store i8* %101, i8** %exn.slot, align 8 | |
%102 = extractvalue { i8*, i32 } %100, 1 | |
store i32 %102, i32* %ehselector.slot, align 4 | |
br label %ehcleanup103 | |
lpad97: ; preds = %invoke.cont96 | |
%103 = landingpad { i8*, i32 } | |
cleanup | |
%104 = extractvalue { i8*, i32 } %103, 0 | |
store i8* %104, i8** %exn.slot, align 8 | |
%105 = extractvalue { i8*, i32 } %103, 1 | |
store i32 %105, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp93) | |
to label %invoke.cont102 unwind label %terminate.lpad | |
invoke.cont102: ; preds = %lpad97 | |
br label %ehcleanup103 | |
ehcleanup103: ; preds = %invoke.cont102, %lpad95 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp94) #2 | |
br label %ehcleanup105 | |
ehcleanup105: ; preds = %ehcleanup103, %lpad90 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp86) | |
to label %invoke.cont106 unwind label %terminate.lpad | |
invoke.cont106: ; preds = %ehcleanup105 | |
br label %ehcleanup107 | |
ehcleanup107: ; preds = %invoke.cont106, %lpad88 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp87) #2 | |
br label %eh.resume | |
lpad110: ; preds = %invoke.cont122, %invoke.cont104 | |
%106 = landingpad { i8*, i32 } | |
cleanup | |
%107 = extractvalue { i8*, i32 } %106, 0 | |
store i8* %107, i8** %exn.slot, align 8 | |
%108 = extractvalue { i8*, i32 } %106, 1 | |
store i32 %108, i32* %ehselector.slot, align 4 | |
br label %ehcleanup129 | |
lpad112: ; preds = %invoke.cont111 | |
%109 = landingpad { i8*, i32 } | |
cleanup | |
%110 = extractvalue { i8*, i32 } %109, 0 | |
store i8* %110, i8** %exn.slot, align 8 | |
%111 = extractvalue { i8*, i32 } %109, 1 | |
store i32 %111, i32* %ehselector.slot, align 4 | |
br label %ehcleanup127 | |
lpad117: ; preds = %invoke.cont120, %invoke.cont113 | |
%112 = landingpad { i8*, i32 } | |
cleanup | |
%113 = extractvalue { i8*, i32 } %112, 0 | |
store i8* %113, i8** %exn.slot, align 8 | |
%114 = extractvalue { i8*, i32 } %112, 1 | |
store i32 %114, i32* %ehselector.slot, align 4 | |
br label %ehcleanup125 | |
lpad119: ; preds = %invoke.cont118 | |
%115 = landingpad { i8*, i32 } | |
cleanup | |
%116 = extractvalue { i8*, i32 } %115, 0 | |
store i8* %116, i8** %exn.slot, align 8 | |
%117 = extractvalue { i8*, i32 } %115, 1 | |
store i32 %117, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp115) | |
to label %invoke.cont124 unwind label %terminate.lpad | |
invoke.cont124: ; preds = %lpad119 | |
br label %ehcleanup125 | |
ehcleanup125: ; preds = %invoke.cont124, %lpad117 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp116) #2 | |
br label %ehcleanup127 | |
ehcleanup127: ; preds = %ehcleanup125, %lpad112 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp108) | |
to label %invoke.cont128 unwind label %terminate.lpad | |
invoke.cont128: ; preds = %ehcleanup127 | |
br label %ehcleanup129 | |
ehcleanup129: ; preds = %invoke.cont128, %lpad110 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp109) #2 | |
br label %eh.resume | |
lpad134: ; preds = %invoke.cont146, %invoke.cont126 | |
%118 = landingpad { i8*, i32 } | |
cleanup | |
%119 = extractvalue { i8*, i32 } %118, 0 | |
store i8* %119, i8** %exn.slot, align 8 | |
%120 = extractvalue { i8*, i32 } %118, 1 | |
store i32 %120, i32* %ehselector.slot, align 4 | |
br label %ehcleanup153 | |
lpad136: ; preds = %invoke.cont135 | |
%121 = landingpad { i8*, i32 } | |
cleanup | |
%122 = extractvalue { i8*, i32 } %121, 0 | |
store i8* %122, i8** %exn.slot, align 8 | |
%123 = extractvalue { i8*, i32 } %121, 1 | |
store i32 %123, i32* %ehselector.slot, align 4 | |
br label %ehcleanup151 | |
lpad141: ; preds = %invoke.cont144, %invoke.cont137 | |
%124 = landingpad { i8*, i32 } | |
cleanup | |
%125 = extractvalue { i8*, i32 } %124, 0 | |
store i8* %125, i8** %exn.slot, align 8 | |
%126 = extractvalue { i8*, i32 } %124, 1 | |
store i32 %126, i32* %ehselector.slot, align 4 | |
br label %ehcleanup149 | |
lpad143: ; preds = %invoke.cont142 | |
%127 = landingpad { i8*, i32 } | |
cleanup | |
%128 = extractvalue { i8*, i32 } %127, 0 | |
store i8* %128, i8** %exn.slot, align 8 | |
%129 = extractvalue { i8*, i32 } %127, 1 | |
store i32 %129, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp139) | |
to label %invoke.cont148 unwind label %terminate.lpad | |
invoke.cont148: ; preds = %lpad143 | |
br label %ehcleanup149 | |
ehcleanup149: ; preds = %invoke.cont148, %lpad141 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp140) #2 | |
br label %ehcleanup151 | |
ehcleanup151: ; preds = %ehcleanup149, %lpad136 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp132) | |
to label %invoke.cont152 unwind label %terminate.lpad | |
invoke.cont152: ; preds = %ehcleanup151 | |
br label %ehcleanup153 | |
ehcleanup153: ; preds = %invoke.cont152, %lpad134 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp133) #2 | |
br label %eh.resume | |
lpad156: ; preds = %invoke.cont168, %invoke.cont150 | |
%130 = landingpad { i8*, i32 } | |
cleanup | |
%131 = extractvalue { i8*, i32 } %130, 0 | |
store i8* %131, i8** %exn.slot, align 8 | |
%132 = extractvalue { i8*, i32 } %130, 1 | |
store i32 %132, i32* %ehselector.slot, align 4 | |
br label %ehcleanup175 | |
lpad158: ; preds = %invoke.cont157 | |
%133 = landingpad { i8*, i32 } | |
cleanup | |
%134 = extractvalue { i8*, i32 } %133, 0 | |
store i8* %134, i8** %exn.slot, align 8 | |
%135 = extractvalue { i8*, i32 } %133, 1 | |
store i32 %135, i32* %ehselector.slot, align 4 | |
br label %ehcleanup173 | |
lpad163: ; preds = %invoke.cont166, %invoke.cont159 | |
%136 = landingpad { i8*, i32 } | |
cleanup | |
%137 = extractvalue { i8*, i32 } %136, 0 | |
store i8* %137, i8** %exn.slot, align 8 | |
%138 = extractvalue { i8*, i32 } %136, 1 | |
store i32 %138, i32* %ehselector.slot, align 4 | |
br label %ehcleanup171 | |
lpad165: ; preds = %invoke.cont164 | |
%139 = landingpad { i8*, i32 } | |
cleanup | |
%140 = extractvalue { i8*, i32 } %139, 0 | |
store i8* %140, i8** %exn.slot, align 8 | |
%141 = extractvalue { i8*, i32 } %139, 1 | |
store i32 %141, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp161) | |
to label %invoke.cont170 unwind label %terminate.lpad | |
invoke.cont170: ; preds = %lpad165 | |
br label %ehcleanup171 | |
ehcleanup171: ; preds = %invoke.cont170, %lpad163 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp162) #2 | |
br label %ehcleanup173 | |
ehcleanup173: ; preds = %ehcleanup171, %lpad158 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp154) | |
to label %invoke.cont174 unwind label %terminate.lpad | |
invoke.cont174: ; preds = %ehcleanup173 | |
br label %ehcleanup175 | |
ehcleanup175: ; preds = %invoke.cont174, %lpad156 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp155) #2 | |
br label %eh.resume | |
lpad178: ; preds = %invoke.cont190, %invoke.cont172 | |
%142 = landingpad { i8*, i32 } | |
cleanup | |
%143 = extractvalue { i8*, i32 } %142, 0 | |
store i8* %143, i8** %exn.slot, align 8 | |
%144 = extractvalue { i8*, i32 } %142, 1 | |
store i32 %144, i32* %ehselector.slot, align 4 | |
br label %ehcleanup197 | |
lpad180: ; preds = %invoke.cont179 | |
%145 = landingpad { i8*, i32 } | |
cleanup | |
%146 = extractvalue { i8*, i32 } %145, 0 | |
store i8* %146, i8** %exn.slot, align 8 | |
%147 = extractvalue { i8*, i32 } %145, 1 | |
store i32 %147, i32* %ehselector.slot, align 4 | |
br label %ehcleanup195 | |
lpad185: ; preds = %invoke.cont188, %invoke.cont181 | |
%148 = landingpad { i8*, i32 } | |
cleanup | |
%149 = extractvalue { i8*, i32 } %148, 0 | |
store i8* %149, i8** %exn.slot, align 8 | |
%150 = extractvalue { i8*, i32 } %148, 1 | |
store i32 %150, i32* %ehselector.slot, align 4 | |
br label %ehcleanup193 | |
lpad187: ; preds = %invoke.cont186 | |
%151 = landingpad { i8*, i32 } | |
cleanup | |
%152 = extractvalue { i8*, i32 } %151, 0 | |
store i8* %152, i8** %exn.slot, align 8 | |
%153 = extractvalue { i8*, i32 } %151, 1 | |
store i32 %153, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp183) | |
to label %invoke.cont192 unwind label %terminate.lpad | |
invoke.cont192: ; preds = %lpad187 | |
br label %ehcleanup193 | |
ehcleanup193: ; preds = %invoke.cont192, %lpad185 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp184) #2 | |
br label %ehcleanup195 | |
ehcleanup195: ; preds = %ehcleanup193, %lpad180 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp176) | |
to label %invoke.cont196 unwind label %terminate.lpad | |
invoke.cont196: ; preds = %ehcleanup195 | |
br label %ehcleanup197 | |
ehcleanup197: ; preds = %invoke.cont196, %lpad178 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp177) #2 | |
br label %eh.resume | |
lpad200: ; preds = %invoke.cont212, %invoke.cont194 | |
%154 = landingpad { i8*, i32 } | |
cleanup | |
%155 = extractvalue { i8*, i32 } %154, 0 | |
store i8* %155, i8** %exn.slot, align 8 | |
%156 = extractvalue { i8*, i32 } %154, 1 | |
store i32 %156, i32* %ehselector.slot, align 4 | |
br label %ehcleanup219 | |
lpad202: ; preds = %invoke.cont201 | |
%157 = landingpad { i8*, i32 } | |
cleanup | |
%158 = extractvalue { i8*, i32 } %157, 0 | |
store i8* %158, i8** %exn.slot, align 8 | |
%159 = extractvalue { i8*, i32 } %157, 1 | |
store i32 %159, i32* %ehselector.slot, align 4 | |
br label %ehcleanup217 | |
lpad207: ; preds = %invoke.cont210, %invoke.cont203 | |
%160 = landingpad { i8*, i32 } | |
cleanup | |
%161 = extractvalue { i8*, i32 } %160, 0 | |
store i8* %161, i8** %exn.slot, align 8 | |
%162 = extractvalue { i8*, i32 } %160, 1 | |
store i32 %162, i32* %ehselector.slot, align 4 | |
br label %ehcleanup215 | |
lpad209: ; preds = %invoke.cont208 | |
%163 = landingpad { i8*, i32 } | |
cleanup | |
%164 = extractvalue { i8*, i32 } %163, 0 | |
store i8* %164, i8** %exn.slot, align 8 | |
%165 = extractvalue { i8*, i32 } %163, 1 | |
store i32 %165, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp205) | |
to label %invoke.cont214 unwind label %terminate.lpad | |
invoke.cont214: ; preds = %lpad209 | |
br label %ehcleanup215 | |
ehcleanup215: ; preds = %invoke.cont214, %lpad207 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp206) #2 | |
br label %ehcleanup217 | |
ehcleanup217: ; preds = %ehcleanup215, %lpad202 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp198) | |
to label %invoke.cont218 unwind label %terminate.lpad | |
invoke.cont218: ; preds = %ehcleanup217 | |
br label %ehcleanup219 | |
ehcleanup219: ; preds = %invoke.cont218, %lpad200 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp199) #2 | |
br label %eh.resume | |
lpad222: ; preds = %invoke.cont234, %invoke.cont216 | |
%166 = landingpad { i8*, i32 } | |
cleanup | |
%167 = extractvalue { i8*, i32 } %166, 0 | |
store i8* %167, i8** %exn.slot, align 8 | |
%168 = extractvalue { i8*, i32 } %166, 1 | |
store i32 %168, i32* %ehselector.slot, align 4 | |
br label %ehcleanup241 | |
lpad224: ; preds = %invoke.cont223 | |
%169 = landingpad { i8*, i32 } | |
cleanup | |
%170 = extractvalue { i8*, i32 } %169, 0 | |
store i8* %170, i8** %exn.slot, align 8 | |
%171 = extractvalue { i8*, i32 } %169, 1 | |
store i32 %171, i32* %ehselector.slot, align 4 | |
br label %ehcleanup239 | |
lpad229: ; preds = %invoke.cont232, %invoke.cont225 | |
%172 = landingpad { i8*, i32 } | |
cleanup | |
%173 = extractvalue { i8*, i32 } %172, 0 | |
store i8* %173, i8** %exn.slot, align 8 | |
%174 = extractvalue { i8*, i32 } %172, 1 | |
store i32 %174, i32* %ehselector.slot, align 4 | |
br label %ehcleanup237 | |
lpad231: ; preds = %invoke.cont230 | |
%175 = landingpad { i8*, i32 } | |
cleanup | |
%176 = extractvalue { i8*, i32 } %175, 0 | |
store i8* %176, i8** %exn.slot, align 8 | |
%177 = extractvalue { i8*, i32 } %175, 1 | |
store i32 %177, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp227) | |
to label %invoke.cont236 unwind label %terminate.lpad | |
invoke.cont236: ; preds = %lpad231 | |
br label %ehcleanup237 | |
ehcleanup237: ; preds = %invoke.cont236, %lpad229 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp228) #2 | |
br label %ehcleanup239 | |
ehcleanup239: ; preds = %ehcleanup237, %lpad224 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp220) | |
to label %invoke.cont240 unwind label %terminate.lpad | |
invoke.cont240: ; preds = %ehcleanup239 | |
br label %ehcleanup241 | |
ehcleanup241: ; preds = %invoke.cont240, %lpad222 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp221) #2 | |
br label %eh.resume | |
lpad244: ; preds = %invoke.cont256, %invoke.cont238 | |
%178 = landingpad { i8*, i32 } | |
cleanup | |
%179 = extractvalue { i8*, i32 } %178, 0 | |
store i8* %179, i8** %exn.slot, align 8 | |
%180 = extractvalue { i8*, i32 } %178, 1 | |
store i32 %180, i32* %ehselector.slot, align 4 | |
br label %ehcleanup263 | |
lpad246: ; preds = %invoke.cont245 | |
%181 = landingpad { i8*, i32 } | |
cleanup | |
%182 = extractvalue { i8*, i32 } %181, 0 | |
store i8* %182, i8** %exn.slot, align 8 | |
%183 = extractvalue { i8*, i32 } %181, 1 | |
store i32 %183, i32* %ehselector.slot, align 4 | |
br label %ehcleanup261 | |
lpad251: ; preds = %invoke.cont254, %invoke.cont247 | |
%184 = landingpad { i8*, i32 } | |
cleanup | |
%185 = extractvalue { i8*, i32 } %184, 0 | |
store i8* %185, i8** %exn.slot, align 8 | |
%186 = extractvalue { i8*, i32 } %184, 1 | |
store i32 %186, i32* %ehselector.slot, align 4 | |
br label %ehcleanup259 | |
lpad253: ; preds = %invoke.cont252 | |
%187 = landingpad { i8*, i32 } | |
cleanup | |
%188 = extractvalue { i8*, i32 } %187, 0 | |
store i8* %188, i8** %exn.slot, align 8 | |
%189 = extractvalue { i8*, i32 } %187, 1 | |
store i32 %189, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp249) | |
to label %invoke.cont258 unwind label %terminate.lpad | |
invoke.cont258: ; preds = %lpad253 | |
br label %ehcleanup259 | |
ehcleanup259: ; preds = %invoke.cont258, %lpad251 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp250) #2 | |
br label %ehcleanup261 | |
ehcleanup261: ; preds = %ehcleanup259, %lpad246 | |
invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(%"class.std::__cxx11::basic_string"* %ref.tmp242) | |
to label %invoke.cont262 unwind label %terminate.lpad | |
invoke.cont262: ; preds = %ehcleanup261 | |
br label %ehcleanup263 | |
ehcleanup263: ; preds = %invoke.cont262, %lpad244 | |
call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp243) #2 | |
br label %eh.resume | |
if.end: ; preds = %invoke.cont260, %entry | |
%190 = load i64, i64* %global_nnz, align 8 | |
ret i64 %190 | |
eh.resume: ; preds = %ehcleanup263, %ehcleanup241, %ehcleanup219, %ehcleanup197, %ehcleanup175, %ehcleanup153, %ehcleanup129, %ehcleanup107, %ehcleanup72, %ehcleanup50, %ehcleanup28 | |
%exn = load i8*, i8** %exn.slot, align 8 | |
%sel = load i32, i32* %ehselector.slot, align 4 | |
%lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 | |
%lpad.val264 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 | |
resume { i8*, i32 } %lpad.val264 | |
terminate.lpad: ; preds = %ehcleanup261, %lpad253, %ehcleanup239, %lpad231, %ehcleanup217, %lpad209, %ehcleanup195, %lpad187, %ehcleanup173, %lpad165, %ehcleanup151, %lpad143, %ehcleanup127, %lpad119, %ehcleanup105, %lpad97, %ehcleanup70, %lpad62, %ehcleanup48, %lpad40, %ehcleanup, %lpad20 | |
%191 = landingpad { i8*, i32 } | |
catch i8* null | |
%192 = extractvalue { i8*, i32 } %191, 0 | |
call void @__clang_call_terminate(i8* %192) #13 | |
unreachable | |
} | |
; Function Attrs: noinline nounwind optnone uwtable | |
define linkonce_odr double @_ZNSt14numeric_limitsIdE7epsilonEv() #4 comdat align 2 { | |
entry: | |
ret double 0x3CB0000000000000 | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZN6miniFE31rearrange_matrix_local_externalINS_9CSRMatrixIdiiEEEEvRT_(%"struct.miniFE::CSRMatrix"* dereferenceable(136) %A) #3 comdat personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%A.addr = alloca %"struct.miniFE::CSRMatrix"*, align 8 | |
%nrows = alloca i64, align 8 | |
%tmp_row_offsets = alloca %"class.std::vector.15", align 8 | |
%ref.tmp = alloca i32, align 4 | |
%ref.tmp1 = alloca %"class.std::allocator.17", align 1 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
%tmp_row_offsets_external = alloca %"class.std::vector.15", align 8 | |
%ref.tmp3 = alloca i32, align 4 | |
%ref.tmp4 = alloca %"class.std::allocator.17", align 1 | |
%num_local_nz = alloca i32, align 4 | |
%num_extern_nz = alloca i32, align 4 | |
%i = alloca i64, align 8 | |
%row_begin = alloca i32*, align 8 | |
%row_end = alloca i32*, align 8 | |
%coef_row_begin = alloca double*, align 8 | |
%row_len = alloca i64, align 8 | |
%row_iter = alloca i32*, align 8 | |
%offset = alloca i32, align 4 | |
%ext_cols = alloca %"class.std::vector.15", align 8 | |
%ref.tmp90 = alloca i32, align 4 | |
%ref.tmp91 = alloca %"class.std::allocator.17", align 1 | |
%ext_coefs = alloca %"class.std::vector.20", align 8 | |
%ref.tmp95 = alloca double, align 8 | |
%ref.tmp96 = alloca %"class.std::allocator.22", align 1 | |
%ext_offsets = alloca %"class.std::vector.15", align 8 | |
%ref.tmp100 = alloca i32, align 4 | |
%ref.tmp101 = alloca %"class.std::allocator.17", align 1 | |
%offset104 = alloca i32, align 4 | |
%i105 = alloca i64, align 8 | |
%j = alloca i32, align 4 | |
%i148 = alloca i64, align 8 | |
%j155 = alloca i32, align 4 | |
%i192 = alloca i32, align 4 | |
%i222 = alloca i64, align 8 | |
store %"struct.miniFE::CSRMatrix"* %A, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%0 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%rows = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %0, i32 0, i32 2 | |
%call = call i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(%"class.std::vector.15"* %rows) | |
store i64 %call, i64* %nrows, align 8 | |
%1 = load i64, i64* %nrows, align 8 | |
%mul = mul i64 %1, 2 | |
store i32 0, i32* %ref.tmp, align 4 | |
call void @_ZNSaIiEC2Ev(%"class.std::allocator.17"* %ref.tmp1) #2 | |
invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(%"class.std::vector.15"* %tmp_row_offsets, i64 %mul, i32* dereferenceable(4) %ref.tmp, %"class.std::allocator.17"* dereferenceable(1) %ref.tmp1) | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %entry | |
call void @_ZNSaIiED2Ev(%"class.std::allocator.17"* %ref.tmp1) #2 | |
%2 = load i64, i64* %nrows, align 8 | |
%mul2 = mul i64 %2, 2 | |
store i32 0, i32* %ref.tmp3, align 4 | |
call void @_ZNSaIiEC2Ev(%"class.std::allocator.17"* %ref.tmp4) #2 | |
invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(%"class.std::vector.15"* %tmp_row_offsets_external, i64 %mul2, i32* dereferenceable(4) %ref.tmp3, %"class.std::allocator.17"* dereferenceable(1) %ref.tmp4) | |
to label %invoke.cont6 unwind label %lpad5 | |
invoke.cont6: ; preds = %invoke.cont | |
call void @_ZNSaIiED2Ev(%"class.std::allocator.17"* %ref.tmp4) #2 | |
store i32 0, i32* %num_local_nz, align 4 | |
store i32 0, i32* %num_extern_nz, align 4 | |
store i64 0, i64* %i, align 8 | |
br label %for.cond | |
for.cond: ; preds = %for.inc, %invoke.cont6 | |
%3 = load i64, i64* %i, align 8 | |
%4 = load i64, i64* %nrows, align 8 | |
%cmp = icmp ult i64 %3, %4 | |
br i1 %cmp, label %for.body, label %for.end | |
for.body: ; preds = %for.cond | |
%5 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%packed_cols = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %5, i32 0, i32 5 | |
%6 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%row_offsets = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %6, i32 0, i32 3 | |
%7 = load i64, i64* %i, align 8 | |
%call9 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %row_offsets, i64 %7) | |
to label %invoke.cont8 unwind label %lpad7 | |
invoke.cont8: ; preds = %for.body | |
%8 = load i32, i32* %call9, align 4 | |
%conv = sext i32 %8 to i64 | |
%call11 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %packed_cols, i64 %conv) | |
to label %invoke.cont10 unwind label %lpad7 | |
invoke.cont10: ; preds = %invoke.cont8 | |
store i32* %call11, i32** %row_begin, align 8 | |
%9 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%packed_cols12 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %9, i32 0, i32 5 | |
%10 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%row_offsets13 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %10, i32 0, i32 3 | |
%11 = load i64, i64* %i, align 8 | |
%add = add i64 %11, 1 | |
%call15 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %row_offsets13, i64 %add) | |
to label %invoke.cont14 unwind label %lpad7 | |
invoke.cont14: ; preds = %invoke.cont10 | |
%12 = load i32, i32* %call15, align 4 | |
%conv16 = sext i32 %12 to i64 | |
%call18 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %packed_cols12, i64 %conv16) | |
to label %invoke.cont17 unwind label %lpad7 | |
invoke.cont17: ; preds = %invoke.cont14 | |
store i32* %call18, i32** %row_end, align 8 | |
%13 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%packed_coefs = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %13, i32 0, i32 6 | |
%14 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%row_offsets19 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %14, i32 0, i32 3 | |
%15 = load i64, i64* %i, align 8 | |
%call21 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %row_offsets19, i64 %15) | |
to label %invoke.cont20 unwind label %lpad7 | |
invoke.cont20: ; preds = %invoke.cont17 | |
%16 = load i32, i32* %call21, align 4 | |
%conv22 = sext i32 %16 to i64 | |
%call24 = invoke dereferenceable(8) double* @_ZNSt6vectorIdSaIdEEixEm(%"class.std::vector.20"* %packed_coefs, i64 %conv22) | |
to label %invoke.cont23 unwind label %lpad7 | |
invoke.cont23: ; preds = %invoke.cont20 | |
store double* %call24, double** %coef_row_begin, align 8 | |
%17 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%row_offsets25 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %17, i32 0, i32 3 | |
%18 = load i64, i64* %i, align 8 | |
%call27 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %row_offsets25, i64 %18) | |
to label %invoke.cont26 unwind label %lpad7 | |
invoke.cont26: ; preds = %invoke.cont23 | |
%19 = load i32, i32* %call27, align 4 | |
%20 = load i64, i64* %i, align 8 | |
%mul28 = mul i64 %20, 2 | |
%call30 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %tmp_row_offsets, i64 %mul28) | |
to label %invoke.cont29 unwind label %lpad7 | |
invoke.cont29: ; preds = %invoke.cont26 | |
store i32 %19, i32* %call30, align 4 | |
%21 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%row_offsets31 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %21, i32 0, i32 3 | |
%22 = load i64, i64* %i, align 8 | |
%add32 = add i64 %22, 1 | |
%call34 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %row_offsets31, i64 %add32) | |
to label %invoke.cont33 unwind label %lpad7 | |
invoke.cont33: ; preds = %invoke.cont29 | |
%23 = load i32, i32* %call34, align 4 | |
%24 = load i64, i64* %i, align 8 | |
%mul35 = mul i64 %24, 2 | |
%add36 = add i64 %mul35, 1 | |
%call38 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %tmp_row_offsets, i64 %add36) | |
to label %invoke.cont37 unwind label %lpad7 | |
invoke.cont37: ; preds = %invoke.cont33 | |
store i32 %23, i32* %call38, align 4 | |
%25 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%row_offsets39 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %25, i32 0, i32 3 | |
%26 = load i64, i64* %i, align 8 | |
%add40 = add i64 %26, 1 | |
%call42 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %row_offsets39, i64 %add40) | |
to label %invoke.cont41 unwind label %lpad7 | |
invoke.cont41: ; preds = %invoke.cont37 | |
%27 = load i32, i32* %call42, align 4 | |
%28 = load i64, i64* %i, align 8 | |
%mul43 = mul i64 %28, 2 | |
%call45 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %tmp_row_offsets_external, i64 %mul43) | |
to label %invoke.cont44 unwind label %lpad7 | |
invoke.cont44: ; preds = %invoke.cont41 | |
store i32 %27, i32* %call45, align 4 | |
%29 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%row_offsets46 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %29, i32 0, i32 3 | |
%30 = load i64, i64* %i, align 8 | |
%add47 = add i64 %30, 1 | |
%call49 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %row_offsets46, i64 %add47) | |
to label %invoke.cont48 unwind label %lpad7 | |
invoke.cont48: ; preds = %invoke.cont44 | |
%31 = load i32, i32* %call49, align 4 | |
%32 = load i64, i64* %i, align 8 | |
%mul50 = mul i64 %32, 2 | |
%add51 = add i64 %mul50, 1 | |
%call53 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %tmp_row_offsets_external, i64 %add51) | |
to label %invoke.cont52 unwind label %lpad7 | |
invoke.cont52: ; preds = %invoke.cont48 | |
store i32 %31, i32* %call53, align 4 | |
%33 = load i32*, i32** %row_end, align 8 | |
%34 = load i32*, i32** %row_begin, align 8 | |
%sub.ptr.lhs.cast = ptrtoint i32* %33 to i64 | |
%sub.ptr.rhs.cast = ptrtoint i32* %34 to i64 | |
%sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast | |
%sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 4 | |
store i64 %sub.ptr.div, i64* %row_len, align 8 | |
%35 = load i64, i64* %row_len, align 8 | |
%36 = load i32*, i32** %row_begin, align 8 | |
%37 = load double*, double** %coef_row_begin, align 8 | |
invoke void @_ZN6miniFE20sort_with_companionsIidEEvlPT_PT0_(i64 %35, i32* %36, double* %37) | |
to label %invoke.cont54 unwind label %lpad7 | |
invoke.cont54: ; preds = %invoke.cont52 | |
%38 = load i32*, i32** %row_begin, align 8 | |
%39 = load i32*, i32** %row_end, align 8 | |
%call56 = invoke i32* @_ZSt11lower_boundIPimET_S1_S1_RKT0_(i32* %38, i32* %39, i64* dereferenceable(8) %nrows) | |
to label %invoke.cont55 unwind label %lpad7 | |
invoke.cont55: ; preds = %invoke.cont54 | |
store i32* %call56, i32** %row_iter, align 8 | |
%40 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%row_offsets57 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %40, i32 0, i32 3 | |
%41 = load i64, i64* %i, align 8 | |
%call59 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %row_offsets57, i64 %41) | |
to label %invoke.cont58 unwind label %lpad7 | |
invoke.cont58: ; preds = %invoke.cont55 | |
%42 = load i32, i32* %call59, align 4 | |
%43 = load i32*, i32** %row_iter, align 8 | |
%idx.ext = sext i32 %42 to i64 | |
%add.ptr = getelementptr inbounds i32, i32* %43, i64 %idx.ext | |
%44 = load i32*, i32** %row_begin, align 8 | |
%sub.ptr.lhs.cast60 = ptrtoint i32* %add.ptr to i64 | |
%sub.ptr.rhs.cast61 = ptrtoint i32* %44 to i64 | |
%sub.ptr.sub62 = sub i64 %sub.ptr.lhs.cast60, %sub.ptr.rhs.cast61 | |
%sub.ptr.div63 = sdiv exact i64 %sub.ptr.sub62, 4 | |
%conv64 = trunc i64 %sub.ptr.div63 to i32 | |
store i32 %conv64, i32* %offset, align 4 | |
%45 = load i32, i32* %offset, align 4 | |
%46 = load i64, i64* %i, align 8 | |
%mul65 = mul i64 %46, 2 | |
%add66 = add i64 %mul65, 1 | |
%call68 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %tmp_row_offsets, i64 %add66) | |
to label %invoke.cont67 unwind label %lpad7 | |
invoke.cont67: ; preds = %invoke.cont58 | |
store i32 %45, i32* %call68, align 4 | |
%47 = load i32, i32* %offset, align 4 | |
%48 = load i64, i64* %i, align 8 | |
%mul69 = mul i64 %48, 2 | |
%call71 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %tmp_row_offsets_external, i64 %mul69) | |
to label %invoke.cont70 unwind label %lpad7 | |
invoke.cont70: ; preds = %invoke.cont67 | |
store i32 %47, i32* %call71, align 4 | |
%49 = load i64, i64* %i, align 8 | |
%mul72 = mul i64 %49, 2 | |
%add73 = add i64 %mul72, 1 | |
%call75 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %tmp_row_offsets, i64 %add73) | |
to label %invoke.cont74 unwind label %lpad7 | |
invoke.cont74: ; preds = %invoke.cont70 | |
%50 = load i32, i32* %call75, align 4 | |
%51 = load i64, i64* %i, align 8 | |
%mul76 = mul i64 %51, 2 | |
%call78 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %tmp_row_offsets, i64 %mul76) | |
to label %invoke.cont77 unwind label %lpad7 | |
invoke.cont77: ; preds = %invoke.cont74 | |
%52 = load i32, i32* %call78, align 4 | |
%sub = sub nsw i32 %50, %52 | |
%53 = load i32, i32* %num_local_nz, align 4 | |
%add79 = add nsw i32 %53, %sub | |
store i32 %add79, i32* %num_local_nz, align 4 | |
%54 = load i64, i64* %i, align 8 | |
%mul80 = mul i64 %54, 2 | |
%add81 = add i64 %mul80, 1 | |
%call83 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %tmp_row_offsets_external, i64 %add81) | |
to label %invoke.cont82 unwind label %lpad7 | |
invoke.cont82: ; preds = %invoke.cont77 | |
%55 = load i32, i32* %call83, align 4 | |
%56 = load i64, i64* %i, align 8 | |
%mul84 = mul i64 %56, 2 | |
%call86 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %tmp_row_offsets_external, i64 %mul84) | |
to label %invoke.cont85 unwind label %lpad7 | |
invoke.cont85: ; preds = %invoke.cont82 | |
%57 = load i32, i32* %call86, align 4 | |
%sub87 = sub nsw i32 %55, %57 | |
%58 = load i32, i32* %num_extern_nz, align 4 | |
%add88 = add nsw i32 %58, %sub87 | |
store i32 %add88, i32* %num_extern_nz, align 4 | |
br label %for.inc | |
for.inc: ; preds = %invoke.cont85 | |
%59 = load i64, i64* %i, align 8 | |
%inc = add i64 %59, 1 | |
store i64 %inc, i64* %i, align 8 | |
br label %for.cond | |
lpad: ; preds = %entry | |
%60 = landingpad { i8*, i32 } | |
cleanup | |
%61 = extractvalue { i8*, i32 } %60, 0 | |
store i8* %61, i8** %exn.slot, align 8 | |
%62 = extractvalue { i8*, i32 } %60, 1 | |
store i32 %62, i32* %ehselector.slot, align 4 | |
call void @_ZNSaIiED2Ev(%"class.std::allocator.17"* %ref.tmp1) #2 | |
br label %eh.resume | |
lpad5: ; preds = %invoke.cont | |
%63 = landingpad { i8*, i32 } | |
cleanup | |
%64 = extractvalue { i8*, i32 } %63, 0 | |
store i8* %64, i8** %exn.slot, align 8 | |
%65 = extractvalue { i8*, i32 } %63, 1 | |
store i32 %65, i32* %ehselector.slot, align 4 | |
call void @_ZNSaIiED2Ev(%"class.std::allocator.17"* %ref.tmp4) #2 | |
br label %ehcleanup248 | |
lpad7: ; preds = %invoke.cont239, %invoke.cont82, %invoke.cont77, %invoke.cont74, %invoke.cont70, %invoke.cont67, %invoke.cont58, %invoke.cont55, %invoke.cont54, %invoke.cont52, %invoke.cont48, %invoke.cont44, %invoke.cont41, %invoke.cont37, %invoke.cont33, %invoke.cont29, %invoke.cont26, %invoke.cont23, %invoke.cont20, %invoke.cont17, %invoke.cont14, %invoke.cont10, %invoke.cont8, %for.body | |
%66 = landingpad { i8*, i32 } | |
cleanup | |
%67 = extractvalue { i8*, i32 } %66, 0 | |
store i8* %67, i8** %exn.slot, align 8 | |
%68 = extractvalue { i8*, i32 } %66, 1 | |
store i32 %68, i32* %ehselector.slot, align 4 | |
br label %ehcleanup246 | |
for.end: ; preds = %for.cond | |
%69 = load i32, i32* %num_extern_nz, align 4 | |
%conv89 = sext i32 %69 to i64 | |
store i32 0, i32* %ref.tmp90, align 4 | |
call void @_ZNSaIiEC2Ev(%"class.std::allocator.17"* %ref.tmp91) #2 | |
invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(%"class.std::vector.15"* %ext_cols, i64 %conv89, i32* dereferenceable(4) %ref.tmp90, %"class.std::allocator.17"* dereferenceable(1) %ref.tmp91) | |
to label %invoke.cont93 unwind label %lpad92 | |
invoke.cont93: ; preds = %for.end | |
call void @_ZNSaIiED2Ev(%"class.std::allocator.17"* %ref.tmp91) #2 | |
%70 = load i32, i32* %num_extern_nz, align 4 | |
%conv94 = sext i32 %70 to i64 | |
store double 0.000000e+00, double* %ref.tmp95, align 8 | |
call void @_ZNSaIdEC2Ev(%"class.std::allocator.22"* %ref.tmp96) #2 | |
invoke void @_ZNSt6vectorIdSaIdEEC2EmRKdRKS0_(%"class.std::vector.20"* %ext_coefs, i64 %conv94, double* dereferenceable(8) %ref.tmp95, %"class.std::allocator.22"* dereferenceable(1) %ref.tmp96) | |
to label %invoke.cont98 unwind label %lpad97 | |
invoke.cont98: ; preds = %invoke.cont93 | |
call void @_ZNSaIdED2Ev(%"class.std::allocator.22"* %ref.tmp96) #2 | |
%71 = load i64, i64* %nrows, align 8 | |
%add99 = add i64 %71, 1 | |
store i32 0, i32* %ref.tmp100, align 4 | |
call void @_ZNSaIiEC2Ev(%"class.std::allocator.17"* %ref.tmp101) #2 | |
invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(%"class.std::vector.15"* %ext_offsets, i64 %add99, i32* dereferenceable(4) %ref.tmp100, %"class.std::allocator.17"* dereferenceable(1) %ref.tmp101) | |
to label %invoke.cont103 unwind label %lpad102 | |
invoke.cont103: ; preds = %invoke.cont98 | |
call void @_ZNSaIiED2Ev(%"class.std::allocator.17"* %ref.tmp101) #2 | |
store i32 0, i32* %offset104, align 4 | |
store i64 0, i64* %i105, align 8 | |
br label %for.cond106 | |
for.cond106: ; preds = %for.inc140, %invoke.cont103 | |
%72 = load i64, i64* %i105, align 8 | |
%73 = load i64, i64* %nrows, align 8 | |
%cmp107 = icmp ult i64 %72, %73 | |
br i1 %cmp107, label %for.body108, label %for.end142 | |
for.body108: ; preds = %for.cond106 | |
%74 = load i32, i32* %offset104, align 4 | |
%75 = load i64, i64* %i105, align 8 | |
%call111 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %ext_offsets, i64 %75) | |
to label %invoke.cont110 unwind label %lpad109 | |
invoke.cont110: ; preds = %for.body108 | |
store i32 %74, i32* %call111, align 4 | |
%76 = load i64, i64* %i105, align 8 | |
%mul112 = mul i64 %76, 2 | |
%call114 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %tmp_row_offsets_external, i64 %mul112) | |
to label %invoke.cont113 unwind label %lpad109 | |
invoke.cont113: ; preds = %invoke.cont110 | |
%77 = load i32, i32* %call114, align 4 | |
store i32 %77, i32* %j, align 4 | |
br label %for.cond115 | |
for.cond115: ; preds = %for.inc137, %invoke.cont113 | |
%78 = load i32, i32* %j, align 4 | |
%79 = load i64, i64* %i105, align 8 | |
%mul116 = mul i64 %79, 2 | |
%add117 = add i64 %mul116, 1 | |
%call119 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %tmp_row_offsets_external, i64 %add117) | |
to label %invoke.cont118 unwind label %lpad109 | |
invoke.cont118: ; preds = %for.cond115 | |
%80 = load i32, i32* %call119, align 4 | |
%cmp120 = icmp slt i32 %78, %80 | |
br i1 %cmp120, label %for.body121, label %for.end139 | |
for.body121: ; preds = %invoke.cont118 | |
%81 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%packed_cols122 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %81, i32 0, i32 5 | |
%82 = load i32, i32* %j, align 4 | |
%conv123 = sext i32 %82 to i64 | |
%call125 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %packed_cols122, i64 %conv123) | |
to label %invoke.cont124 unwind label %lpad109 | |
invoke.cont124: ; preds = %for.body121 | |
%83 = load i32, i32* %call125, align 4 | |
%84 = load i32, i32* %offset104, align 4 | |
%conv126 = sext i32 %84 to i64 | |
%call128 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %ext_cols, i64 %conv126) | |
to label %invoke.cont127 unwind label %lpad109 | |
invoke.cont127: ; preds = %invoke.cont124 | |
store i32 %83, i32* %call128, align 4 | |
%85 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%packed_coefs129 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %85, i32 0, i32 6 | |
%86 = load i32, i32* %j, align 4 | |
%conv130 = sext i32 %86 to i64 | |
%call132 = invoke dereferenceable(8) double* @_ZNSt6vectorIdSaIdEEixEm(%"class.std::vector.20"* %packed_coefs129, i64 %conv130) | |
to label %invoke.cont131 unwind label %lpad109 | |
invoke.cont131: ; preds = %invoke.cont127 | |
%87 = load double, double* %call132, align 8 | |
%88 = load i32, i32* %offset104, align 4 | |
%inc133 = add nsw i32 %88, 1 | |
store i32 %inc133, i32* %offset104, align 4 | |
%conv134 = sext i32 %88 to i64 | |
%call136 = invoke dereferenceable(8) double* @_ZNSt6vectorIdSaIdEEixEm(%"class.std::vector.20"* %ext_coefs, i64 %conv134) | |
to label %invoke.cont135 unwind label %lpad109 | |
invoke.cont135: ; preds = %invoke.cont131 | |
store double %87, double* %call136, align 8 | |
br label %for.inc137 | |
for.inc137: ; preds = %invoke.cont135 | |
%89 = load i32, i32* %j, align 4 | |
%inc138 = add nsw i32 %89, 1 | |
store i32 %inc138, i32* %j, align 4 | |
br label %for.cond115 | |
lpad92: ; preds = %for.end | |
%90 = landingpad { i8*, i32 } | |
cleanup | |
%91 = extractvalue { i8*, i32 } %90, 0 | |
store i8* %91, i8** %exn.slot, align 8 | |
%92 = extractvalue { i8*, i32 } %90, 1 | |
store i32 %92, i32* %ehselector.slot, align 4 | |
call void @_ZNSaIiED2Ev(%"class.std::allocator.17"* %ref.tmp91) #2 | |
br label %ehcleanup246 | |
lpad97: ; preds = %invoke.cont93 | |
%93 = landingpad { i8*, i32 } | |
cleanup | |
%94 = extractvalue { i8*, i32 } %93, 0 | |
store i8* %94, i8** %exn.slot, align 8 | |
%95 = extractvalue { i8*, i32 } %93, 1 | |
store i32 %95, i32* %ehselector.slot, align 4 | |
call void @_ZNSaIdED2Ev(%"class.std::allocator.22"* %ref.tmp96) #2 | |
br label %ehcleanup242 | |
lpad102: ; preds = %invoke.cont98 | |
%96 = landingpad { i8*, i32 } | |
cleanup | |
%97 = extractvalue { i8*, i32 } %96, 0 | |
store i8* %97, i8** %exn.slot, align 8 | |
%98 = extractvalue { i8*, i32 } %96, 1 | |
store i32 %98, i32* %ehselector.slot, align 4 | |
call void @_ZNSaIiED2Ev(%"class.std::allocator.17"* %ref.tmp101) #2 | |
br label %ehcleanup | |
lpad109: ; preds = %invoke.cont226, %for.body225, %for.end219, %invoke.cont211, %invoke.cont207, %invoke.cont203, %for.body200, %for.cond193, %for.end188, %invoke.cont176, %invoke.cont172, %invoke.cont168, %for.body165, %for.cond159, %invoke.cont153, %for.body151, %invoke.cont143, %for.end142, %invoke.cont131, %invoke.cont127, %invoke.cont124, %for.body121, %for.cond115, %invoke.cont110, %for.body108 | |
%99 = landingpad { i8*, i32 } | |
cleanup | |
%100 = extractvalue { i8*, i32 } %99, 0 | |
store i8* %100, i8** %exn.slot, align 8 | |
%101 = extractvalue { i8*, i32 } %99, 1 | |
store i32 %101, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt6vectorIiSaIiEED2Ev(%"class.std::vector.15"* %ext_offsets) | |
to label %invoke.cont237 unwind label %terminate.lpad | |
for.end139: ; preds = %invoke.cont118 | |
br label %for.inc140 | |
for.inc140: ; preds = %for.end139 | |
%102 = load i64, i64* %i105, align 8 | |
%inc141 = add i64 %102, 1 | |
store i64 %inc141, i64* %i105, align 8 | |
br label %for.cond106 | |
for.end142: ; preds = %for.cond106 | |
%103 = load i32, i32* %offset104, align 4 | |
%104 = load i64, i64* %nrows, align 8 | |
%call144 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %ext_offsets, i64 %104) | |
to label %invoke.cont143 unwind label %lpad109 | |
invoke.cont143: ; preds = %for.end142 | |
store i32 %103, i32* %call144, align 4 | |
%105 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%row_offsets145 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %105, i32 0, i32 3 | |
%106 = load i64, i64* %nrows, align 8 | |
%add146 = add i64 %106, 1 | |
invoke void @_ZNSt6vectorIiSaIiEE6resizeEmi(%"class.std::vector.15"* %row_offsets145, i64 %add146, i32 0) | |
to label %invoke.cont147 unwind label %lpad109 | |
invoke.cont147: ; preds = %invoke.cont143 | |
store i32 0, i32* %offset104, align 4 | |
store i64 0, i64* %i148, align 8 | |
br label %for.cond149 | |
for.cond149: ; preds = %for.inc186, %invoke.cont147 | |
%107 = load i64, i64* %i148, align 8 | |
%108 = load i64, i64* %nrows, align 8 | |
%cmp150 = icmp ult i64 %107, %108 | |
br i1 %cmp150, label %for.body151, label %for.end188 | |
for.body151: ; preds = %for.cond149 | |
%109 = load i32, i32* %offset104, align 4 | |
%110 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%row_offsets152 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %110, i32 0, i32 3 | |
%111 = load i64, i64* %i148, align 8 | |
%call154 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %row_offsets152, i64 %111) | |
to label %invoke.cont153 unwind label %lpad109 | |
invoke.cont153: ; preds = %for.body151 | |
store i32 %109, i32* %call154, align 4 | |
%112 = load i64, i64* %i148, align 8 | |
%mul156 = mul i64 %112, 2 | |
%call158 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %tmp_row_offsets, i64 %mul156) | |
to label %invoke.cont157 unwind label %lpad109 | |
invoke.cont157: ; preds = %invoke.cont153 | |
%113 = load i32, i32* %call158, align 4 | |
store i32 %113, i32* %j155, align 4 | |
br label %for.cond159 | |
for.cond159: ; preds = %for.inc183, %invoke.cont157 | |
%114 = load i32, i32* %j155, align 4 | |
%115 = load i64, i64* %i148, align 8 | |
%mul160 = mul i64 %115, 2 | |
%add161 = add i64 %mul160, 1 | |
%call163 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %tmp_row_offsets, i64 %add161) | |
to label %invoke.cont162 unwind label %lpad109 | |
invoke.cont162: ; preds = %for.cond159 | |
%116 = load i32, i32* %call163, align 4 | |
%cmp164 = icmp slt i32 %114, %116 | |
br i1 %cmp164, label %for.body165, label %for.end185 | |
for.body165: ; preds = %invoke.cont162 | |
%117 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%packed_cols166 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %117, i32 0, i32 5 | |
%118 = load i32, i32* %j155, align 4 | |
%conv167 = sext i32 %118 to i64 | |
%call169 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %packed_cols166, i64 %conv167) | |
to label %invoke.cont168 unwind label %lpad109 | |
invoke.cont168: ; preds = %for.body165 | |
%119 = load i32, i32* %call169, align 4 | |
%120 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%packed_cols170 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %120, i32 0, i32 5 | |
%121 = load i32, i32* %offset104, align 4 | |
%conv171 = sext i32 %121 to i64 | |
%call173 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %packed_cols170, i64 %conv171) | |
to label %invoke.cont172 unwind label %lpad109 | |
invoke.cont172: ; preds = %invoke.cont168 | |
store i32 %119, i32* %call173, align 4 | |
%122 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%packed_coefs174 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %122, i32 0, i32 6 | |
%123 = load i32, i32* %j155, align 4 | |
%conv175 = sext i32 %123 to i64 | |
%call177 = invoke dereferenceable(8) double* @_ZNSt6vectorIdSaIdEEixEm(%"class.std::vector.20"* %packed_coefs174, i64 %conv175) | |
to label %invoke.cont176 unwind label %lpad109 | |
invoke.cont176: ; preds = %invoke.cont172 | |
%124 = load double, double* %call177, align 8 | |
%125 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%packed_coefs178 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %125, i32 0, i32 6 | |
%126 = load i32, i32* %offset104, align 4 | |
%inc179 = add nsw i32 %126, 1 | |
store i32 %inc179, i32* %offset104, align 4 | |
%conv180 = sext i32 %126 to i64 | |
%call182 = invoke dereferenceable(8) double* @_ZNSt6vectorIdSaIdEEixEm(%"class.std::vector.20"* %packed_coefs178, i64 %conv180) | |
to label %invoke.cont181 unwind label %lpad109 | |
invoke.cont181: ; preds = %invoke.cont176 | |
store double %124, double* %call182, align 8 | |
br label %for.inc183 | |
for.inc183: ; preds = %invoke.cont181 | |
%127 = load i32, i32* %j155, align 4 | |
%inc184 = add nsw i32 %127, 1 | |
store i32 %inc184, i32* %j155, align 4 | |
br label %for.cond159 | |
for.end185: ; preds = %invoke.cont162 | |
br label %for.inc186 | |
for.inc186: ; preds = %for.end185 | |
%128 = load i64, i64* %i148, align 8 | |
%inc187 = add i64 %128, 1 | |
store i64 %inc187, i64* %i148, align 8 | |
br label %for.cond149 | |
for.end188: ; preds = %for.cond149 | |
%129 = load i32, i32* %offset104, align 4 | |
%130 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%row_offsets189 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %130, i32 0, i32 3 | |
%131 = load i64, i64* %nrows, align 8 | |
%call191 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %row_offsets189, i64 %131) | |
to label %invoke.cont190 unwind label %lpad109 | |
invoke.cont190: ; preds = %for.end188 | |
store i32 %129, i32* %call191, align 4 | |
%132 = load i32, i32* %offset104, align 4 | |
store i32 %132, i32* %i192, align 4 | |
br label %for.cond193 | |
for.cond193: ; preds = %for.inc217, %invoke.cont190 | |
%133 = load i32, i32* %i192, align 4 | |
%conv194 = sext i32 %133 to i64 | |
%134 = load i32, i32* %offset104, align 4 | |
%conv195 = sext i32 %134 to i64 | |
%call197 = invoke i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(%"class.std::vector.15"* %ext_cols) | |
to label %invoke.cont196 unwind label %lpad109 | |
invoke.cont196: ; preds = %for.cond193 | |
%add198 = add i64 %conv195, %call197 | |
%cmp199 = icmp ult i64 %conv194, %add198 | |
br i1 %cmp199, label %for.body200, label %for.end219 | |
for.body200: ; preds = %invoke.cont196 | |
%135 = load i32, i32* %i192, align 4 | |
%136 = load i32, i32* %offset104, align 4 | |
%sub201 = sub nsw i32 %135, %136 | |
%conv202 = sext i32 %sub201 to i64 | |
%call204 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %ext_cols, i64 %conv202) | |
to label %invoke.cont203 unwind label %lpad109 | |
invoke.cont203: ; preds = %for.body200 | |
%137 = load i32, i32* %call204, align 4 | |
%138 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%packed_cols205 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %138, i32 0, i32 5 | |
%139 = load i32, i32* %i192, align 4 | |
%conv206 = sext i32 %139 to i64 | |
%call208 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %packed_cols205, i64 %conv206) | |
to label %invoke.cont207 unwind label %lpad109 | |
invoke.cont207: ; preds = %invoke.cont203 | |
store i32 %137, i32* %call208, align 4 | |
%140 = load i32, i32* %i192, align 4 | |
%141 = load i32, i32* %offset104, align 4 | |
%sub209 = sub nsw i32 %140, %141 | |
%conv210 = sext i32 %sub209 to i64 | |
%call212 = invoke dereferenceable(8) double* @_ZNSt6vectorIdSaIdEEixEm(%"class.std::vector.20"* %ext_coefs, i64 %conv210) | |
to label %invoke.cont211 unwind label %lpad109 | |
invoke.cont211: ; preds = %invoke.cont207 | |
%142 = load double, double* %call212, align 8 | |
%143 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%packed_coefs213 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %143, i32 0, i32 6 | |
%144 = load i32, i32* %i192, align 4 | |
%conv214 = sext i32 %144 to i64 | |
%call216 = invoke dereferenceable(8) double* @_ZNSt6vectorIdSaIdEEixEm(%"class.std::vector.20"* %packed_coefs213, i64 %conv214) | |
to label %invoke.cont215 unwind label %lpad109 | |
invoke.cont215: ; preds = %invoke.cont211 | |
store double %142, double* %call216, align 8 | |
br label %for.inc217 | |
for.inc217: ; preds = %invoke.cont215 | |
%145 = load i32, i32* %i192, align 4 | |
%inc218 = add nsw i32 %145, 1 | |
store i32 %inc218, i32* %i192, align 4 | |
br label %for.cond193 | |
for.end219: ; preds = %invoke.cont196 | |
%146 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%row_offsets_external = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %146, i32 0, i32 4 | |
%147 = load i64, i64* %nrows, align 8 | |
%add220 = add i64 %147, 1 | |
invoke void @_ZNSt6vectorIiSaIiEE6resizeEmi(%"class.std::vector.15"* %row_offsets_external, i64 %add220, i32 0) | |
to label %invoke.cont221 unwind label %lpad109 | |
invoke.cont221: ; preds = %for.end219 | |
store i64 0, i64* %i222, align 8 | |
br label %for.cond223 | |
for.cond223: ; preds = %for.inc232, %invoke.cont221 | |
%148 = load i64, i64* %i222, align 8 | |
%149 = load i64, i64* %nrows, align 8 | |
%cmp224 = icmp ule i64 %148, %149 | |
br i1 %cmp224, label %for.body225, label %for.end234 | |
for.body225: ; preds = %for.cond223 | |
%150 = load i64, i64* %i222, align 8 | |
%call227 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %ext_offsets, i64 %150) | |
to label %invoke.cont226 unwind label %lpad109 | |
invoke.cont226: ; preds = %for.body225 | |
%151 = load i32, i32* %call227, align 4 | |
%152 = load i32, i32* %offset104, align 4 | |
%add228 = add nsw i32 %151, %152 | |
%153 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%row_offsets_external229 = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %153, i32 0, i32 4 | |
%154 = load i64, i64* %i222, align 8 | |
%call231 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %row_offsets_external229, i64 %154) | |
to label %invoke.cont230 unwind label %lpad109 | |
invoke.cont230: ; preds = %invoke.cont226 | |
store i32 %add228, i32* %call231, align 4 | |
br label %for.inc232 | |
for.inc232: ; preds = %invoke.cont230 | |
%155 = load i64, i64* %i222, align 8 | |
%inc233 = add i64 %155, 1 | |
store i64 %inc233, i64* %i222, align 8 | |
br label %for.cond223 | |
for.end234: ; preds = %for.cond223 | |
invoke void @_ZNSt6vectorIiSaIiEED2Ev(%"class.std::vector.15"* %ext_offsets) | |
to label %invoke.cont236 unwind label %lpad235 | |
invoke.cont236: ; preds = %for.end234 | |
invoke void @_ZNSt6vectorIdSaIdEED2Ev(%"class.std::vector.20"* %ext_coefs) | |
to label %invoke.cont239 unwind label %lpad238 | |
invoke.cont239: ; preds = %invoke.cont236 | |
invoke void @_ZNSt6vectorIiSaIiEED2Ev(%"class.std::vector.15"* %ext_cols) | |
to label %invoke.cont241 unwind label %lpad7 | |
invoke.cont241: ; preds = %invoke.cont239 | |
invoke void @_ZNSt6vectorIiSaIiEED2Ev(%"class.std::vector.15"* %tmp_row_offsets_external) | |
to label %invoke.cont245 unwind label %lpad244 | |
invoke.cont245: ; preds = %invoke.cont241 | |
call void @_ZNSt6vectorIiSaIiEED2Ev(%"class.std::vector.15"* %tmp_row_offsets) | |
ret void | |
lpad235: ; preds = %for.end234 | |
%156 = landingpad { i8*, i32 } | |
cleanup | |
%157 = extractvalue { i8*, i32 } %156, 0 | |
store i8* %157, i8** %exn.slot, align 8 | |
%158 = extractvalue { i8*, i32 } %156, 1 | |
store i32 %158, i32* %ehselector.slot, align 4 | |
br label %ehcleanup | |
invoke.cont237: ; preds = %lpad109 | |
br label %ehcleanup | |
lpad238: ; preds = %invoke.cont236 | |
%159 = landingpad { i8*, i32 } | |
cleanup | |
%160 = extractvalue { i8*, i32 } %159, 0 | |
store i8* %160, i8** %exn.slot, align 8 | |
%161 = extractvalue { i8*, i32 } %159, 1 | |
store i32 %161, i32* %ehselector.slot, align 4 | |
br label %ehcleanup242 | |
ehcleanup: ; preds = %invoke.cont237, %lpad235, %lpad102 | |
invoke void @_ZNSt6vectorIdSaIdEED2Ev(%"class.std::vector.20"* %ext_coefs) | |
to label %invoke.cont240 unwind label %terminate.lpad | |
invoke.cont240: ; preds = %ehcleanup | |
br label %ehcleanup242 | |
ehcleanup242: ; preds = %invoke.cont240, %lpad238, %lpad97 | |
invoke void @_ZNSt6vectorIiSaIiEED2Ev(%"class.std::vector.15"* %ext_cols) | |
to label %invoke.cont243 unwind label %terminate.lpad | |
invoke.cont243: ; preds = %ehcleanup242 | |
br label %ehcleanup246 | |
lpad244: ; preds = %invoke.cont241 | |
%162 = landingpad { i8*, i32 } | |
cleanup | |
%163 = extractvalue { i8*, i32 } %162, 0 | |
store i8* %163, i8** %exn.slot, align 8 | |
%164 = extractvalue { i8*, i32 } %162, 1 | |
store i32 %164, i32* %ehselector.slot, align 4 | |
br label %ehcleanup248 | |
ehcleanup246: ; preds = %invoke.cont243, %lpad92, %lpad7 | |
invoke void @_ZNSt6vectorIiSaIiEED2Ev(%"class.std::vector.15"* %tmp_row_offsets_external) | |
to label %invoke.cont247 unwind label %terminate.lpad | |
invoke.cont247: ; preds = %ehcleanup246 | |
br label %ehcleanup248 | |
ehcleanup248: ; preds = %invoke.cont247, %lpad244, %lpad5 | |
invoke void @_ZNSt6vectorIiSaIiEED2Ev(%"class.std::vector.15"* %tmp_row_offsets) | |
to label %invoke.cont249 unwind label %terminate.lpad | |
invoke.cont249: ; preds = %ehcleanup248 | |
br label %eh.resume | |
eh.resume: ; preds = %invoke.cont249, %lpad | |
%exn = load i8*, i8** %exn.slot, align 8 | |
%sel = load i32, i32* %ehselector.slot, align 4 | |
%lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 | |
%lpad.val250 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 | |
resume { i8*, i32 } %lpad.val250 | |
terminate.lpad: ; preds = %ehcleanup248, %ehcleanup246, %ehcleanup242, %ehcleanup, %lpad109 | |
%165 = landingpad { i8*, i32 } | |
catch i8* null | |
%166 = extractvalue { i8*, i32 } %165, 0 | |
call void @__clang_call_terminate(i8* %166) #13 | |
unreachable | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZN6miniFE8cg_solveINS_9CSRMatrixIdiiEENS_6VectorIdiiEENS_14matvec_overlapIS2_S4_EEEEvRT_RKT0_RS9_T1_NS7_16LocalOrdinalTypeERNS_10TypeTraitsINS7_10ScalarTypeEE14magnitude_typeERSE_SJ_Pd(%"struct.miniFE::CSRMatrix"* dereferenceable(136) %A, %"struct.miniFE::Vector"* dereferenceable(32) %b, %"struct.miniFE::Vector"* dereferenceable(32) %x, i32 %max_iter, double* dereferenceable(8) %tolerance, i32* dereferenceable(4) %num_iters, double* dereferenceable(8) %normr, double* %my_cg_times) #3 comdat personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%matvec = alloca %"struct.miniFE::matvec_overlap", align 1 | |
%A.addr = alloca %"struct.miniFE::CSRMatrix"*, align 8 | |
%b.addr = alloca %"struct.miniFE::Vector"*, align 8 | |
%x.addr = alloca %"struct.miniFE::Vector"*, align 8 | |
%max_iter.addr = alloca i32, align 4 | |
%tolerance.addr = alloca double*, align 8 | |
%num_iters.addr = alloca i32*, align 8 | |
%normr.addr = alloca double*, align 8 | |
%my_cg_times.addr = alloca double*, align 8 | |
%t0 = alloca double, align 8 | |
%tWAXPY = alloca double, align 8 | |
%tDOT = alloca double, align 8 | |
%tMATVEC = alloca double, align 8 | |
%tMATVECDOT = alloca double, align 8 | |
%total_time = alloca double, align 8 | |
%myproc = alloca i32, align 4 | |
%nrows = alloca i64, align 8 | |
%ncols = alloca i32, align 4 | |
%r = alloca %"struct.miniFE::Vector", align 8 | |
%p = alloca %"struct.miniFE::Vector", align 8 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
%Ap = alloca %"struct.miniFE::Vector", align 8 | |
%rtrans = alloca double, align 8 | |
%oldrtrans = alloca double, align 8 | |
%print_freq = alloca i32, align 4 | |
%one = alloca double, align 8 | |
%zero = alloca double, align 8 | |
%brkdown_tol = alloca double, align 8 | |
%k = alloca i32, align 4 | |
%beta = alloca double, align 8 | |
%alpha = alloca double, align 8 | |
%p_ap_dot = alloca double, align 8 | |
%cleanup.dest.slot = alloca i32 | |
store %"struct.miniFE::CSRMatrix"* %A, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
store %"struct.miniFE::Vector"* %b, %"struct.miniFE::Vector"** %b.addr, align 8 | |
store %"struct.miniFE::Vector"* %x, %"struct.miniFE::Vector"** %x.addr, align 8 | |
store i32 %max_iter, i32* %max_iter.addr, align 4 | |
store double* %tolerance, double** %tolerance.addr, align 8 | |
store i32* %num_iters, i32** %num_iters.addr, align 8 | |
store double* %normr, double** %normr.addr, align 8 | |
store double* %my_cg_times, double** %my_cg_times.addr, align 8 | |
store double 0.000000e+00, double* %t0, align 8 | |
store double 0.000000e+00, double* %tWAXPY, align 8 | |
store double 0.000000e+00, double* %tDOT, align 8 | |
store double 0.000000e+00, double* %tMATVEC, align 8 | |
store double 0.000000e+00, double* %tMATVECDOT, align 8 | |
%call = call double @_ZN6miniFE7mytimerEv() | |
store double %call, double* %total_time, align 8 | |
store i32 0, i32* %myproc, align 4 | |
%0 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%has_local_indices = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %0, i32 0, i32 0 | |
%1 = load i8, i8* %has_local_indices, align 8 | |
%tobool = trunc i8 %1 to i1 | |
br i1 %tobool, label %if.end, label %if.then | |
if.then: ; preds = %entry | |
%call1 = call dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cerr, i8* getelementptr inbounds ([93 x i8], [93 x i8]* @.str.109, i32 0, i32 0)) | |
%call2 = call dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call1, i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.110, i32 0, i32 0)) | |
%call3 = call dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call2, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
br label %cleanup.cont | |
if.end: ; preds = %entry | |
%2 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%rows = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %2, i32 0, i32 2 | |
%call4 = call i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(%"class.std::vector.15"* %rows) | |
store i64 %call4, i64* %nrows, align 8 | |
%3 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%num_cols = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %3, i32 0, i32 7 | |
%4 = load i32, i32* %num_cols, align 8 | |
store i32 %4, i32* %ncols, align 4 | |
%5 = load %"struct.miniFE::Vector"*, %"struct.miniFE::Vector"** %b.addr, align 8 | |
%startIndex = getelementptr inbounds %"struct.miniFE::Vector", %"struct.miniFE::Vector"* %5, i32 0, i32 0 | |
%6 = load i32, i32* %startIndex, align 8 | |
%7 = load i64, i64* %nrows, align 8 | |
%conv = trunc i64 %7 to i32 | |
call void @_ZN6miniFE6VectorIdiiEC2Eii(%"struct.miniFE::Vector"* %r, i32 %6, i32 %conv) | |
%8 = load i32, i32* %ncols, align 4 | |
invoke void @_ZN6miniFE6VectorIdiiEC2Eii(%"struct.miniFE::Vector"* %p, i32 0, i32 %8) | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %if.end | |
%9 = load %"struct.miniFE::Vector"*, %"struct.miniFE::Vector"** %b.addr, align 8 | |
%startIndex5 = getelementptr inbounds %"struct.miniFE::Vector", %"struct.miniFE::Vector"* %9, i32 0, i32 0 | |
%10 = load i32, i32* %startIndex5, align 8 | |
%11 = load i64, i64* %nrows, align 8 | |
%conv6 = trunc i64 %11 to i32 | |
invoke void @_ZN6miniFE6VectorIdiiEC2Eii(%"struct.miniFE::Vector"* %Ap, i32 %10, i32 %conv6) | |
to label %invoke.cont8 unwind label %lpad7 | |
invoke.cont8: ; preds = %invoke.cont | |
%12 = load double*, double** %normr.addr, align 8 | |
store double 0.000000e+00, double* %12, align 8 | |
store double 0.000000e+00, double* %rtrans, align 8 | |
store double 0.000000e+00, double* %oldrtrans, align 8 | |
%13 = load i32, i32* %max_iter.addr, align 4 | |
%div = sdiv i32 %13, 10 | |
store i32 %div, i32* %print_freq, align 4 | |
%14 = load i32, i32* %print_freq, align 4 | |
%cmp = icmp sgt i32 %14, 50 | |
br i1 %cmp, label %if.then9, label %if.end10 | |
if.then9: ; preds = %invoke.cont8 | |
store i32 50, i32* %print_freq, align 4 | |
br label %if.end10 | |
lpad: ; preds = %invoke.cont151, %if.end | |
%15 = landingpad { i8*, i32 } | |
cleanup | |
%16 = extractvalue { i8*, i32 } %15, 0 | |
store i8* %16, i8** %exn.slot, align 8 | |
%17 = extractvalue { i8*, i32 } %15, 1 | |
store i32 %17, i32* %ehselector.slot, align 4 | |
br label %ehcleanup157 | |
lpad7: ; preds = %cleanup, %invoke.cont | |
%18 = landingpad { i8*, i32 } | |
cleanup | |
%19 = extractvalue { i8*, i32 } %18, 0 | |
store i8* %19, i8** %exn.slot, align 8 | |
%20 = extractvalue { i8*, i32 } %18, 1 | |
store i32 %20, i32* %ehselector.slot, align 4 | |
br label %ehcleanup | |
if.end10: ; preds = %if.then9, %invoke.cont8 | |
%21 = load i32, i32* %print_freq, align 4 | |
%cmp11 = icmp slt i32 %21, 1 | |
br i1 %cmp11, label %if.then12, label %if.end13 | |
if.then12: ; preds = %if.end10 | |
store i32 1, i32* %print_freq, align 4 | |
br label %if.end13 | |
if.end13: ; preds = %if.then12, %if.end10 | |
store double 1.000000e+00, double* %one, align 8 | |
store double 0.000000e+00, double* %zero, align 8 | |
%call16 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont15 unwind label %lpad14 | |
invoke.cont15: ; preds = %if.end13 | |
store double %call16, double* %t0, align 8 | |
%22 = load double, double* %one, align 8 | |
%23 = load %"struct.miniFE::Vector"*, %"struct.miniFE::Vector"** %x.addr, align 8 | |
%24 = load double, double* %zero, align 8 | |
%25 = load %"struct.miniFE::Vector"*, %"struct.miniFE::Vector"** %x.addr, align 8 | |
invoke void @_ZN6miniFE6waxpbyINS_6VectorIdiiEEEEvNT_10ScalarTypeERKS3_S4_S6_RS3_(double %22, %"struct.miniFE::Vector"* dereferenceable(32) %23, double %24, %"struct.miniFE::Vector"* dereferenceable(32) %25, %"struct.miniFE::Vector"* dereferenceable(32) %p) | |
to label %invoke.cont17 unwind label %lpad14 | |
invoke.cont17: ; preds = %invoke.cont15 | |
%call19 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont18 unwind label %lpad14 | |
invoke.cont18: ; preds = %invoke.cont17 | |
%26 = load double, double* %t0, align 8 | |
%sub = fsub double %call19, %26 | |
%27 = load double, double* %tWAXPY, align 8 | |
%add = fadd double %27, %sub | |
store double %add, double* %tWAXPY, align 8 | |
%call21 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont20 unwind label %lpad14 | |
invoke.cont20: ; preds = %invoke.cont18 | |
store double %call21, double* %t0, align 8 | |
%28 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
invoke void @_ZN6miniFE14matvec_overlapINS_9CSRMatrixIdiiEENS_6VectorIdiiEEEclERS2_RS4_S7_(%"struct.miniFE::matvec_overlap"* %matvec, %"struct.miniFE::CSRMatrix"* dereferenceable(136) %28, %"struct.miniFE::Vector"* dereferenceable(32) %p, %"struct.miniFE::Vector"* dereferenceable(32) %Ap) | |
to label %invoke.cont22 unwind label %lpad14 | |
invoke.cont22: ; preds = %invoke.cont20 | |
%call24 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont23 unwind label %lpad14 | |
invoke.cont23: ; preds = %invoke.cont22 | |
%29 = load double, double* %t0, align 8 | |
%sub25 = fsub double %call24, %29 | |
%30 = load double, double* %tMATVEC, align 8 | |
%add26 = fadd double %30, %sub25 | |
store double %add26, double* %tMATVEC, align 8 | |
%call28 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont27 unwind label %lpad14 | |
invoke.cont27: ; preds = %invoke.cont23 | |
store double %call28, double* %t0, align 8 | |
%31 = load double, double* %one, align 8 | |
%32 = load %"struct.miniFE::Vector"*, %"struct.miniFE::Vector"** %b.addr, align 8 | |
%33 = load double, double* %one, align 8 | |
%sub29 = fsub double -0.000000e+00, %33 | |
invoke void @_ZN6miniFE6waxpbyINS_6VectorIdiiEEEEvNT_10ScalarTypeERKS3_S4_S6_RS3_(double %31, %"struct.miniFE::Vector"* dereferenceable(32) %32, double %sub29, %"struct.miniFE::Vector"* dereferenceable(32) %Ap, %"struct.miniFE::Vector"* dereferenceable(32) %r) | |
to label %invoke.cont30 unwind label %lpad14 | |
invoke.cont30: ; preds = %invoke.cont27 | |
%call32 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont31 unwind label %lpad14 | |
invoke.cont31: ; preds = %invoke.cont30 | |
%34 = load double, double* %t0, align 8 | |
%sub33 = fsub double %call32, %34 | |
%35 = load double, double* %tWAXPY, align 8 | |
%add34 = fadd double %35, %sub33 | |
store double %add34, double* %tWAXPY, align 8 | |
%call36 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont35 unwind label %lpad14 | |
invoke.cont35: ; preds = %invoke.cont31 | |
store double %call36, double* %t0, align 8 | |
%call38 = invoke double @_ZN6miniFE3dotINS_6VectorIdiiEEEENS_10TypeTraitsINT_10ScalarTypeEE14magnitude_typeERKS4_S9_(%"struct.miniFE::Vector"* dereferenceable(32) %r, %"struct.miniFE::Vector"* dereferenceable(32) %r) | |
to label %invoke.cont37 unwind label %lpad14 | |
invoke.cont37: ; preds = %invoke.cont35 | |
store double %call38, double* %rtrans, align 8 | |
%call40 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont39 unwind label %lpad14 | |
invoke.cont39: ; preds = %invoke.cont37 | |
%36 = load double, double* %t0, align 8 | |
%sub41 = fsub double %call40, %36 | |
%37 = load double, double* %tDOT, align 8 | |
%add42 = fadd double %37, %sub41 | |
store double %add42, double* %tDOT, align 8 | |
%38 = load double, double* %rtrans, align 8 | |
%call43 = call double @sqrt(double %38) #2 | |
%39 = load double*, double** %normr.addr, align 8 | |
store double %call43, double* %39, align 8 | |
%40 = load i32, i32* %myproc, align 4 | |
%cmp44 = icmp eq i32 %40, 0 | |
br i1 %cmp44, label %if.then45, label %if.end52 | |
if.then45: ; preds = %invoke.cont39 | |
%call47 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cout, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.111, i32 0, i32 0)) | |
to label %invoke.cont46 unwind label %lpad14 | |
invoke.cont46: ; preds = %if.then45 | |
%41 = load double*, double** %normr.addr, align 8 | |
%42 = load double, double* %41, align 8 | |
%call49 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEd(%"class.std::basic_ostream"* %call47, double %42) | |
to label %invoke.cont48 unwind label %lpad14 | |
invoke.cont48: ; preds = %invoke.cont46 | |
%call51 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call49, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
to label %invoke.cont50 unwind label %lpad14 | |
invoke.cont50: ; preds = %invoke.cont48 | |
br label %if.end52 | |
lpad14: ; preds = %for.end, %invoke.cont138, %invoke.cont136, %invoke.cont134, %if.end132, %invoke.cont122, %invoke.cont120, %if.then119, %lor.lhs.false116, %invoke.cont107, %invoke.cont105, %invoke.cont101, %invoke.cont100, %invoke.cont98, %if.end97, %invoke.cont93, %invoke.cont91, %invoke.cont89, %invoke.cont87, %if.then86, %invoke.cont76, %invoke.cont74, %invoke.cont69, %invoke.cont67, %invoke.cont65, %if.else, %invoke.cont60, %invoke.cont58, %if.then57, %invoke.cont48, %invoke.cont46, %if.then45, %invoke.cont37, %invoke.cont35, %invoke.cont31, %invoke.cont30, %invoke.cont27, %invoke.cont23, %invoke.cont22, %invoke.cont20, %invoke.cont18, %invoke.cont17, %invoke.cont15, %if.end13 | |
%43 = landingpad { i8*, i32 } | |
cleanup | |
%44 = extractvalue { i8*, i32 } %43, 0 | |
store i8* %44, i8** %exn.slot, align 8 | |
%45 = extractvalue { i8*, i32 } %43, 1 | |
store i32 %45, i32* %ehselector.slot, align 4 | |
invoke void @_ZN6miniFE6VectorIdiiED2Ev(%"struct.miniFE::Vector"* %Ap) | |
to label %invoke.cont152 unwind label %terminate.lpad | |
if.end52: ; preds = %invoke.cont50, %invoke.cont39 | |
%call53 = call double @_ZNSt14numeric_limitsIdE7epsilonEv() #2 | |
store double %call53, double* %brkdown_tol, align 8 | |
store i32 1, i32* %k, align 4 | |
br label %for.cond | |
for.cond: ; preds = %for.inc, %if.end52 | |
%46 = load i32, i32* %k, align 4 | |
%47 = load i32, i32* %max_iter.addr, align 4 | |
%cmp54 = icmp sle i32 %46, %47 | |
br i1 %cmp54, label %land.rhs, label %land.end | |
land.rhs: ; preds = %for.cond | |
%48 = load double*, double** %normr.addr, align 8 | |
%49 = load double, double* %48, align 8 | |
%50 = load double*, double** %tolerance.addr, align 8 | |
%51 = load double, double* %50, align 8 | |
%cmp55 = fcmp ogt double %49, %51 | |
br label %land.end | |
land.end: ; preds = %land.rhs, %for.cond | |
%52 = phi i1 [ false, %for.cond ], [ %cmp55, %land.rhs ] | |
br i1 %52, label %for.body, label %for.end | |
for.body: ; preds = %land.end | |
%53 = load i32, i32* %k, align 4 | |
%cmp56 = icmp eq i32 %53, 1 | |
br i1 %cmp56, label %if.then57, label %if.else | |
if.then57: ; preds = %for.body | |
%call59 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont58 unwind label %lpad14 | |
invoke.cont58: ; preds = %if.then57 | |
store double %call59, double* %t0, align 8 | |
%54 = load double, double* %one, align 8 | |
%55 = load double, double* %zero, align 8 | |
invoke void @_ZN6miniFE6waxpbyINS_6VectorIdiiEEEEvNT_10ScalarTypeERKS3_S4_S6_RS3_(double %54, %"struct.miniFE::Vector"* dereferenceable(32) %r, double %55, %"struct.miniFE::Vector"* dereferenceable(32) %r, %"struct.miniFE::Vector"* dereferenceable(32) %p) | |
to label %invoke.cont60 unwind label %lpad14 | |
invoke.cont60: ; preds = %invoke.cont58 | |
%call62 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont61 unwind label %lpad14 | |
invoke.cont61: ; preds = %invoke.cont60 | |
%56 = load double, double* %t0, align 8 | |
%sub63 = fsub double %call62, %56 | |
%57 = load double, double* %tWAXPY, align 8 | |
%add64 = fadd double %57, %sub63 | |
store double %add64, double* %tWAXPY, align 8 | |
br label %if.end81 | |
if.else: ; preds = %for.body | |
%58 = load double, double* %rtrans, align 8 | |
store double %58, double* %oldrtrans, align 8 | |
%call66 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont65 unwind label %lpad14 | |
invoke.cont65: ; preds = %if.else | |
store double %call66, double* %t0, align 8 | |
%call68 = invoke double @_ZN6miniFE6dot_r2INS_6VectorIdiiEEEENS_10TypeTraitsINT_10ScalarTypeEE14magnitude_typeERKS4_(%"struct.miniFE::Vector"* dereferenceable(32) %r) | |
to label %invoke.cont67 unwind label %lpad14 | |
invoke.cont67: ; preds = %invoke.cont65 | |
store double %call68, double* %rtrans, align 8 | |
%call70 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont69 unwind label %lpad14 | |
invoke.cont69: ; preds = %invoke.cont67 | |
%59 = load double, double* %t0, align 8 | |
%sub71 = fsub double %call70, %59 | |
%60 = load double, double* %tDOT, align 8 | |
%add72 = fadd double %60, %sub71 | |
store double %add72, double* %tDOT, align 8 | |
%61 = load double, double* %rtrans, align 8 | |
%62 = load double, double* %oldrtrans, align 8 | |
%div73 = fdiv double %61, %62 | |
store double %div73, double* %beta, align 8 | |
%call75 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont74 unwind label %lpad14 | |
invoke.cont74: ; preds = %invoke.cont69 | |
store double %call75, double* %t0, align 8 | |
%63 = load double, double* %one, align 8 | |
%64 = load double, double* %beta, align 8 | |
invoke void @_ZN6miniFE6daxpbyINS_6VectorIdiiEEEEvNT_10ScalarTypeERKS3_S4_RS3_(double %63, %"struct.miniFE::Vector"* dereferenceable(32) %r, double %64, %"struct.miniFE::Vector"* dereferenceable(32) %p) | |
to label %invoke.cont76 unwind label %lpad14 | |
invoke.cont76: ; preds = %invoke.cont74 | |
%call78 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont77 unwind label %lpad14 | |
invoke.cont77: ; preds = %invoke.cont76 | |
%65 = load double, double* %t0, align 8 | |
%sub79 = fsub double %call78, %65 | |
%66 = load double, double* %tWAXPY, align 8 | |
%add80 = fadd double %66, %sub79 | |
store double %add80, double* %tWAXPY, align 8 | |
br label %if.end81 | |
if.end81: ; preds = %invoke.cont77, %invoke.cont61 | |
%67 = load double, double* %rtrans, align 8 | |
%call82 = call double @sqrt(double %67) #2 | |
%68 = load double*, double** %normr.addr, align 8 | |
store double %call82, double* %68, align 8 | |
%69 = load i32, i32* %myproc, align 4 | |
%cmp83 = icmp eq i32 %69, 0 | |
br i1 %cmp83, label %land.lhs.true, label %if.end97 | |
land.lhs.true: ; preds = %if.end81 | |
%70 = load i32, i32* %k, align 4 | |
%71 = load i32, i32* %print_freq, align 4 | |
%rem = srem i32 %70, %71 | |
%cmp84 = icmp eq i32 %rem, 0 | |
br i1 %cmp84, label %if.then86, label %lor.lhs.false | |
lor.lhs.false: ; preds = %land.lhs.true | |
%72 = load i32, i32* %k, align 4 | |
%73 = load i32, i32* %max_iter.addr, align 4 | |
%cmp85 = icmp eq i32 %72, %73 | |
br i1 %cmp85, label %if.then86, label %if.end97 | |
if.then86: ; preds = %lor.lhs.false, %land.lhs.true | |
%call88 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cout, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.112, i32 0, i32 0)) | |
to label %invoke.cont87 unwind label %lpad14 | |
invoke.cont87: ; preds = %if.then86 | |
%74 = load i32, i32* %k, align 4 | |
%call90 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %call88, i32 %74) | |
to label %invoke.cont89 unwind label %lpad14 | |
invoke.cont89: ; preds = %invoke.cont87 | |
%call92 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call90, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.113, i32 0, i32 0)) | |
to label %invoke.cont91 unwind label %lpad14 | |
invoke.cont91: ; preds = %invoke.cont89 | |
%75 = load double*, double** %normr.addr, align 8 | |
%76 = load double, double* %75, align 8 | |
%call94 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEd(%"class.std::basic_ostream"* %call92, double %76) | |
to label %invoke.cont93 unwind label %lpad14 | |
invoke.cont93: ; preds = %invoke.cont91 | |
%call96 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call94, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
to label %invoke.cont95 unwind label %lpad14 | |
invoke.cont95: ; preds = %invoke.cont93 | |
br label %if.end97 | |
if.end97: ; preds = %invoke.cont95, %lor.lhs.false, %if.end81 | |
store double 0.000000e+00, double* %alpha, align 8 | |
store double 0.000000e+00, double* %p_ap_dot, align 8 | |
%call99 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont98 unwind label %lpad14 | |
invoke.cont98: ; preds = %if.end97 | |
store double %call99, double* %t0, align 8 | |
%77 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
invoke void @_ZN6miniFE14matvec_overlapINS_9CSRMatrixIdiiEENS_6VectorIdiiEEEclERS2_RS4_S7_(%"struct.miniFE::matvec_overlap"* %matvec, %"struct.miniFE::CSRMatrix"* dereferenceable(136) %77, %"struct.miniFE::Vector"* dereferenceable(32) %p, %"struct.miniFE::Vector"* dereferenceable(32) %Ap) | |
to label %invoke.cont100 unwind label %lpad14 | |
invoke.cont100: ; preds = %invoke.cont98 | |
%call102 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont101 unwind label %lpad14 | |
invoke.cont101: ; preds = %invoke.cont100 | |
%78 = load double, double* %t0, align 8 | |
%sub103 = fsub double %call102, %78 | |
%79 = load double, double* %tMATVEC, align 8 | |
%add104 = fadd double %79, %sub103 | |
store double %add104, double* %tMATVEC, align 8 | |
%call106 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont105 unwind label %lpad14 | |
invoke.cont105: ; preds = %invoke.cont101 | |
store double %call106, double* %t0, align 8 | |
%call108 = invoke double @_ZN6miniFE3dotINS_6VectorIdiiEEEENS_10TypeTraitsINT_10ScalarTypeEE14magnitude_typeERKS4_S9_(%"struct.miniFE::Vector"* dereferenceable(32) %Ap, %"struct.miniFE::Vector"* dereferenceable(32) %p) | |
to label %invoke.cont107 unwind label %lpad14 | |
invoke.cont107: ; preds = %invoke.cont105 | |
store double %call108, double* %p_ap_dot, align 8 | |
%call110 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont109 unwind label %lpad14 | |
invoke.cont109: ; preds = %invoke.cont107 | |
%80 = load double, double* %t0, align 8 | |
%sub111 = fsub double %call110, %80 | |
%81 = load double, double* %tDOT, align 8 | |
%add112 = fadd double %81, %sub111 | |
store double %add112, double* %tDOT, align 8 | |
%82 = load double, double* %p_ap_dot, align 8 | |
%83 = load double, double* %brkdown_tol, align 8 | |
%cmp113 = fcmp olt double %82, %83 | |
br i1 %cmp113, label %if.then114, label %if.end132 | |
if.then114: ; preds = %invoke.cont109 | |
%84 = load double, double* %p_ap_dot, align 8 | |
%cmp115 = fcmp olt double %84, 0.000000e+00 | |
br i1 %cmp115, label %if.then119, label %lor.lhs.false116 | |
lor.lhs.false116: ; preds = %if.then114 | |
%85 = load double, double* %p_ap_dot, align 8 | |
%call118 = invoke zeroext i1 @_ZN6miniFE9breakdownINS_6VectorIdiiEEEEbNT_10ScalarTypeERKS3_S6_(double %85, %"struct.miniFE::Vector"* dereferenceable(32) %Ap, %"struct.miniFE::Vector"* dereferenceable(32) %p) | |
to label %invoke.cont117 unwind label %lpad14 | |
invoke.cont117: ; preds = %lor.lhs.false116 | |
br i1 %call118, label %if.then119, label %if.else130 | |
if.then119: ; preds = %invoke.cont117, %if.then114 | |
%call121 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cerr, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.114, i32 0, i32 0)) | |
to label %invoke.cont120 unwind label %lpad14 | |
invoke.cont120: ; preds = %if.then119 | |
%call123 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call121, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
to label %invoke.cont122 unwind label %lpad14 | |
invoke.cont122: ; preds = %invoke.cont120 | |
%86 = load double, double* %tWAXPY, align 8 | |
%87 = load double*, double** %my_cg_times.addr, align 8 | |
%arrayidx = getelementptr inbounds double, double* %87, i64 0 | |
store double %86, double* %arrayidx, align 8 | |
%88 = load double, double* %tDOT, align 8 | |
%89 = load double*, double** %my_cg_times.addr, align 8 | |
%arrayidx124 = getelementptr inbounds double, double* %89, i64 1 | |
store double %88, double* %arrayidx124, align 8 | |
%90 = load double, double* %tMATVEC, align 8 | |
%91 = load double*, double** %my_cg_times.addr, align 8 | |
%arrayidx125 = getelementptr inbounds double, double* %91, i64 2 | |
store double %90, double* %arrayidx125, align 8 | |
%call127 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont126 unwind label %lpad14 | |
invoke.cont126: ; preds = %invoke.cont122 | |
%92 = load double, double* %total_time, align 8 | |
%sub128 = fsub double %call127, %92 | |
%93 = load double*, double** %my_cg_times.addr, align 8 | |
%arrayidx129 = getelementptr inbounds double, double* %93, i64 4 | |
store double %sub128, double* %arrayidx129, align 8 | |
store i32 1, i32* %cleanup.dest.slot, align 4 | |
br label %cleanup | |
if.else130: ; preds = %invoke.cont117 | |
%94 = load double, double* %p_ap_dot, align 8 | |
%mul = fmul double 1.000000e-01, %94 | |
store double %mul, double* %brkdown_tol, align 8 | |
br label %if.end131 | |
if.end131: ; preds = %if.else130 | |
br label %if.end132 | |
if.end132: ; preds = %if.end131, %invoke.cont109 | |
%95 = load double, double* %rtrans, align 8 | |
%96 = load double, double* %p_ap_dot, align 8 | |
%div133 = fdiv double %95, %96 | |
store double %div133, double* %alpha, align 8 | |
%call135 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont134 unwind label %lpad14 | |
invoke.cont134: ; preds = %if.end132 | |
store double %call135, double* %t0, align 8 | |
%97 = load double, double* %alpha, align 8 | |
%98 = load double, double* %one, align 8 | |
%99 = load %"struct.miniFE::Vector"*, %"struct.miniFE::Vector"** %x.addr, align 8 | |
invoke void @_ZN6miniFE6daxpbyINS_6VectorIdiiEEEEvNT_10ScalarTypeERKS3_S4_RS3_(double %97, %"struct.miniFE::Vector"* dereferenceable(32) %p, double %98, %"struct.miniFE::Vector"* dereferenceable(32) %99) | |
to label %invoke.cont136 unwind label %lpad14 | |
invoke.cont136: ; preds = %invoke.cont134 | |
%100 = load double, double* %alpha, align 8 | |
%sub137 = fsub double -0.000000e+00, %100 | |
%101 = load double, double* %one, align 8 | |
invoke void @_ZN6miniFE6daxpbyINS_6VectorIdiiEEEEvNT_10ScalarTypeERKS3_S4_RS3_(double %sub137, %"struct.miniFE::Vector"* dereferenceable(32) %Ap, double %101, %"struct.miniFE::Vector"* dereferenceable(32) %r) | |
to label %invoke.cont138 unwind label %lpad14 | |
invoke.cont138: ; preds = %invoke.cont136 | |
%call140 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont139 unwind label %lpad14 | |
invoke.cont139: ; preds = %invoke.cont138 | |
%102 = load double, double* %t0, align 8 | |
%sub141 = fsub double %call140, %102 | |
%103 = load double, double* %tWAXPY, align 8 | |
%add142 = fadd double %103, %sub141 | |
store double %add142, double* %tWAXPY, align 8 | |
%104 = load i32, i32* %k, align 4 | |
%105 = load i32*, i32** %num_iters.addr, align 8 | |
store i32 %104, i32* %105, align 4 | |
br label %for.inc | |
for.inc: ; preds = %invoke.cont139 | |
%106 = load i32, i32* %k, align 4 | |
%inc = add nsw i32 %106, 1 | |
store i32 %inc, i32* %k, align 4 | |
br label %for.cond | |
for.end: ; preds = %land.end | |
%107 = load double, double* %tWAXPY, align 8 | |
%108 = load double*, double** %my_cg_times.addr, align 8 | |
%arrayidx143 = getelementptr inbounds double, double* %108, i64 0 | |
store double %107, double* %arrayidx143, align 8 | |
%109 = load double, double* %tDOT, align 8 | |
%110 = load double*, double** %my_cg_times.addr, align 8 | |
%arrayidx144 = getelementptr inbounds double, double* %110, i64 1 | |
store double %109, double* %arrayidx144, align 8 | |
%111 = load double, double* %tMATVEC, align 8 | |
%112 = load double*, double** %my_cg_times.addr, align 8 | |
%arrayidx145 = getelementptr inbounds double, double* %112, i64 2 | |
store double %111, double* %arrayidx145, align 8 | |
%113 = load double, double* %tMATVECDOT, align 8 | |
%114 = load double*, double** %my_cg_times.addr, align 8 | |
%arrayidx146 = getelementptr inbounds double, double* %114, i64 3 | |
store double %113, double* %arrayidx146, align 8 | |
%call148 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont147 unwind label %lpad14 | |
invoke.cont147: ; preds = %for.end | |
%115 = load double, double* %total_time, align 8 | |
%sub149 = fsub double %call148, %115 | |
%116 = load double*, double** %my_cg_times.addr, align 8 | |
%arrayidx150 = getelementptr inbounds double, double* %116, i64 4 | |
store double %sub149, double* %arrayidx150, align 8 | |
store i32 0, i32* %cleanup.dest.slot, align 4 | |
br label %cleanup | |
cleanup: ; preds = %invoke.cont147, %invoke.cont126 | |
invoke void @_ZN6miniFE6VectorIdiiED2Ev(%"struct.miniFE::Vector"* %Ap) | |
to label %invoke.cont151 unwind label %lpad7 | |
invoke.cont151: ; preds = %cleanup | |
invoke void @_ZN6miniFE6VectorIdiiED2Ev(%"struct.miniFE::Vector"* %p) | |
to label %invoke.cont154 unwind label %lpad | |
invoke.cont154: ; preds = %invoke.cont151 | |
call void @_ZN6miniFE6VectorIdiiED2Ev(%"struct.miniFE::Vector"* %r) | |
%cleanup.dest = load i32, i32* %cleanup.dest.slot, align 4 | |
switch i32 %cleanup.dest, label %unreachable [ | |
i32 0, label %cleanup.cont | |
i32 1, label %cleanup.cont | |
] | |
cleanup.cont: ; preds = %if.then, %invoke.cont154, %invoke.cont154 | |
ret void | |
invoke.cont152: ; preds = %lpad14 | |
br label %ehcleanup | |
ehcleanup: ; preds = %invoke.cont152, %lpad7 | |
invoke void @_ZN6miniFE6VectorIdiiED2Ev(%"struct.miniFE::Vector"* %p) | |
to label %invoke.cont155 unwind label %terminate.lpad | |
invoke.cont155: ; preds = %ehcleanup | |
br label %ehcleanup157 | |
ehcleanup157: ; preds = %invoke.cont155, %lpad | |
invoke void @_ZN6miniFE6VectorIdiiED2Ev(%"struct.miniFE::Vector"* %r) | |
to label %invoke.cont158 unwind label %terminate.lpad | |
invoke.cont158: ; preds = %ehcleanup157 | |
br label %eh.resume | |
eh.resume: ; preds = %invoke.cont158 | |
%exn = load i8*, i8** %exn.slot, align 8 | |
%sel = load i32, i32* %ehselector.slot, align 4 | |
%lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 | |
%lpad.val159 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 | |
resume { i8*, i32 } %lpad.val159 | |
terminate.lpad: ; preds = %ehcleanup157, %ehcleanup, %lpad14 | |
%117 = landingpad { i8*, i32 } | |
catch i8* null | |
%118 = extractvalue { i8*, i32 } %117, 0 | |
call void @__clang_call_terminate(i8* %118) #13 | |
unreachable | |
unreachable: ; preds = %invoke.cont154 | |
unreachable | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr void @_ZN6miniFE8cg_solveINS_9CSRMatrixIdiiEENS_6VectorIdiiEENS_10matvec_stdIS2_S4_EEEEvRT_RKT0_RS9_T1_NS7_16LocalOrdinalTypeERNS_10TypeTraitsINS7_10ScalarTypeEE14magnitude_typeERSE_SJ_Pd(%"struct.miniFE::CSRMatrix"* dereferenceable(136) %A, %"struct.miniFE::Vector"* dereferenceable(32) %b, %"struct.miniFE::Vector"* dereferenceable(32) %x, i32 %max_iter, double* dereferenceable(8) %tolerance, i32* dereferenceable(4) %num_iters, double* dereferenceable(8) %normr, double* %my_cg_times) #3 comdat personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%matvec = alloca %"struct.miniFE::matvec_std", align 1 | |
%A.addr = alloca %"struct.miniFE::CSRMatrix"*, align 8 | |
%b.addr = alloca %"struct.miniFE::Vector"*, align 8 | |
%x.addr = alloca %"struct.miniFE::Vector"*, align 8 | |
%max_iter.addr = alloca i32, align 4 | |
%tolerance.addr = alloca double*, align 8 | |
%num_iters.addr = alloca i32*, align 8 | |
%normr.addr = alloca double*, align 8 | |
%my_cg_times.addr = alloca double*, align 8 | |
%t0 = alloca double, align 8 | |
%tWAXPY = alloca double, align 8 | |
%tDOT = alloca double, align 8 | |
%tMATVEC = alloca double, align 8 | |
%tMATVECDOT = alloca double, align 8 | |
%total_time = alloca double, align 8 | |
%myproc = alloca i32, align 4 | |
%nrows = alloca i64, align 8 | |
%ncols = alloca i32, align 4 | |
%r = alloca %"struct.miniFE::Vector", align 8 | |
%p = alloca %"struct.miniFE::Vector", align 8 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
%Ap = alloca %"struct.miniFE::Vector", align 8 | |
%rtrans = alloca double, align 8 | |
%oldrtrans = alloca double, align 8 | |
%print_freq = alloca i32, align 4 | |
%one = alloca double, align 8 | |
%zero = alloca double, align 8 | |
%brkdown_tol = alloca double, align 8 | |
%k = alloca i32, align 4 | |
%beta = alloca double, align 8 | |
%alpha = alloca double, align 8 | |
%p_ap_dot = alloca double, align 8 | |
%cleanup.dest.slot = alloca i32 | |
store %"struct.miniFE::CSRMatrix"* %A, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
store %"struct.miniFE::Vector"* %b, %"struct.miniFE::Vector"** %b.addr, align 8 | |
store %"struct.miniFE::Vector"* %x, %"struct.miniFE::Vector"** %x.addr, align 8 | |
store i32 %max_iter, i32* %max_iter.addr, align 4 | |
store double* %tolerance, double** %tolerance.addr, align 8 | |
store i32* %num_iters, i32** %num_iters.addr, align 8 | |
store double* %normr, double** %normr.addr, align 8 | |
store double* %my_cg_times, double** %my_cg_times.addr, align 8 | |
store double 0.000000e+00, double* %t0, align 8 | |
store double 0.000000e+00, double* %tWAXPY, align 8 | |
store double 0.000000e+00, double* %tDOT, align 8 | |
store double 0.000000e+00, double* %tMATVEC, align 8 | |
store double 0.000000e+00, double* %tMATVECDOT, align 8 | |
%call = call double @_ZN6miniFE7mytimerEv() | |
store double %call, double* %total_time, align 8 | |
store i32 0, i32* %myproc, align 4 | |
%0 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%has_local_indices = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %0, i32 0, i32 0 | |
%1 = load i8, i8* %has_local_indices, align 8 | |
%tobool = trunc i8 %1 to i1 | |
br i1 %tobool, label %if.end, label %if.then | |
if.then: ; preds = %entry | |
%call1 = call dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cerr, i8* getelementptr inbounds ([93 x i8], [93 x i8]* @.str.109, i32 0, i32 0)) | |
%call2 = call dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call1, i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.110, i32 0, i32 0)) | |
%call3 = call dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call2, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
br label %cleanup.cont | |
if.end: ; preds = %entry | |
%2 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%rows = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %2, i32 0, i32 2 | |
%call4 = call i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(%"class.std::vector.15"* %rows) | |
store i64 %call4, i64* %nrows, align 8 | |
%3 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
%num_cols = getelementptr inbounds %"struct.miniFE::CSRMatrix", %"struct.miniFE::CSRMatrix"* %3, i32 0, i32 7 | |
%4 = load i32, i32* %num_cols, align 8 | |
store i32 %4, i32* %ncols, align 4 | |
%5 = load %"struct.miniFE::Vector"*, %"struct.miniFE::Vector"** %b.addr, align 8 | |
%startIndex = getelementptr inbounds %"struct.miniFE::Vector", %"struct.miniFE::Vector"* %5, i32 0, i32 0 | |
%6 = load i32, i32* %startIndex, align 8 | |
%7 = load i64, i64* %nrows, align 8 | |
%conv = trunc i64 %7 to i32 | |
call void @_ZN6miniFE6VectorIdiiEC2Eii(%"struct.miniFE::Vector"* %r, i32 %6, i32 %conv) | |
%8 = load i32, i32* %ncols, align 4 | |
invoke void @_ZN6miniFE6VectorIdiiEC2Eii(%"struct.miniFE::Vector"* %p, i32 0, i32 %8) | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %if.end | |
%9 = load %"struct.miniFE::Vector"*, %"struct.miniFE::Vector"** %b.addr, align 8 | |
%startIndex5 = getelementptr inbounds %"struct.miniFE::Vector", %"struct.miniFE::Vector"* %9, i32 0, i32 0 | |
%10 = load i32, i32* %startIndex5, align 8 | |
%11 = load i64, i64* %nrows, align 8 | |
%conv6 = trunc i64 %11 to i32 | |
invoke void @_ZN6miniFE6VectorIdiiEC2Eii(%"struct.miniFE::Vector"* %Ap, i32 %10, i32 %conv6) | |
to label %invoke.cont8 unwind label %lpad7 | |
invoke.cont8: ; preds = %invoke.cont | |
%12 = load double*, double** %normr.addr, align 8 | |
store double 0.000000e+00, double* %12, align 8 | |
store double 0.000000e+00, double* %rtrans, align 8 | |
store double 0.000000e+00, double* %oldrtrans, align 8 | |
%13 = load i32, i32* %max_iter.addr, align 4 | |
%div = sdiv i32 %13, 10 | |
store i32 %div, i32* %print_freq, align 4 | |
%14 = load i32, i32* %print_freq, align 4 | |
%cmp = icmp sgt i32 %14, 50 | |
br i1 %cmp, label %if.then9, label %if.end10 | |
if.then9: ; preds = %invoke.cont8 | |
store i32 50, i32* %print_freq, align 4 | |
br label %if.end10 | |
lpad: ; preds = %invoke.cont151, %if.end | |
%15 = landingpad { i8*, i32 } | |
cleanup | |
%16 = extractvalue { i8*, i32 } %15, 0 | |
store i8* %16, i8** %exn.slot, align 8 | |
%17 = extractvalue { i8*, i32 } %15, 1 | |
store i32 %17, i32* %ehselector.slot, align 4 | |
br label %ehcleanup157 | |
lpad7: ; preds = %cleanup, %invoke.cont | |
%18 = landingpad { i8*, i32 } | |
cleanup | |
%19 = extractvalue { i8*, i32 } %18, 0 | |
store i8* %19, i8** %exn.slot, align 8 | |
%20 = extractvalue { i8*, i32 } %18, 1 | |
store i32 %20, i32* %ehselector.slot, align 4 | |
br label %ehcleanup | |
if.end10: ; preds = %if.then9, %invoke.cont8 | |
%21 = load i32, i32* %print_freq, align 4 | |
%cmp11 = icmp slt i32 %21, 1 | |
br i1 %cmp11, label %if.then12, label %if.end13 | |
if.then12: ; preds = %if.end10 | |
store i32 1, i32* %print_freq, align 4 | |
br label %if.end13 | |
if.end13: ; preds = %if.then12, %if.end10 | |
store double 1.000000e+00, double* %one, align 8 | |
store double 0.000000e+00, double* %zero, align 8 | |
%call16 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont15 unwind label %lpad14 | |
invoke.cont15: ; preds = %if.end13 | |
store double %call16, double* %t0, align 8 | |
%22 = load double, double* %one, align 8 | |
%23 = load %"struct.miniFE::Vector"*, %"struct.miniFE::Vector"** %x.addr, align 8 | |
%24 = load double, double* %zero, align 8 | |
%25 = load %"struct.miniFE::Vector"*, %"struct.miniFE::Vector"** %x.addr, align 8 | |
invoke void @_ZN6miniFE6waxpbyINS_6VectorIdiiEEEEvNT_10ScalarTypeERKS3_S4_S6_RS3_(double %22, %"struct.miniFE::Vector"* dereferenceable(32) %23, double %24, %"struct.miniFE::Vector"* dereferenceable(32) %25, %"struct.miniFE::Vector"* dereferenceable(32) %p) | |
to label %invoke.cont17 unwind label %lpad14 | |
invoke.cont17: ; preds = %invoke.cont15 | |
%call19 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont18 unwind label %lpad14 | |
invoke.cont18: ; preds = %invoke.cont17 | |
%26 = load double, double* %t0, align 8 | |
%sub = fsub double %call19, %26 | |
%27 = load double, double* %tWAXPY, align 8 | |
%add = fadd double %27, %sub | |
store double %add, double* %tWAXPY, align 8 | |
%call21 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont20 unwind label %lpad14 | |
invoke.cont20: ; preds = %invoke.cont18 | |
store double %call21, double* %t0, align 8 | |
%28 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
invoke void @_ZN6miniFE10matvec_stdINS_9CSRMatrixIdiiEENS_6VectorIdiiEEEclERS2_RS4_S7_(%"struct.miniFE::matvec_std"* %matvec, %"struct.miniFE::CSRMatrix"* dereferenceable(136) %28, %"struct.miniFE::Vector"* dereferenceable(32) %p, %"struct.miniFE::Vector"* dereferenceable(32) %Ap) | |
to label %invoke.cont22 unwind label %lpad14 | |
invoke.cont22: ; preds = %invoke.cont20 | |
%call24 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont23 unwind label %lpad14 | |
invoke.cont23: ; preds = %invoke.cont22 | |
%29 = load double, double* %t0, align 8 | |
%sub25 = fsub double %call24, %29 | |
%30 = load double, double* %tMATVEC, align 8 | |
%add26 = fadd double %30, %sub25 | |
store double %add26, double* %tMATVEC, align 8 | |
%call28 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont27 unwind label %lpad14 | |
invoke.cont27: ; preds = %invoke.cont23 | |
store double %call28, double* %t0, align 8 | |
%31 = load double, double* %one, align 8 | |
%32 = load %"struct.miniFE::Vector"*, %"struct.miniFE::Vector"** %b.addr, align 8 | |
%33 = load double, double* %one, align 8 | |
%sub29 = fsub double -0.000000e+00, %33 | |
invoke void @_ZN6miniFE6waxpbyINS_6VectorIdiiEEEEvNT_10ScalarTypeERKS3_S4_S6_RS3_(double %31, %"struct.miniFE::Vector"* dereferenceable(32) %32, double %sub29, %"struct.miniFE::Vector"* dereferenceable(32) %Ap, %"struct.miniFE::Vector"* dereferenceable(32) %r) | |
to label %invoke.cont30 unwind label %lpad14 | |
invoke.cont30: ; preds = %invoke.cont27 | |
%call32 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont31 unwind label %lpad14 | |
invoke.cont31: ; preds = %invoke.cont30 | |
%34 = load double, double* %t0, align 8 | |
%sub33 = fsub double %call32, %34 | |
%35 = load double, double* %tWAXPY, align 8 | |
%add34 = fadd double %35, %sub33 | |
store double %add34, double* %tWAXPY, align 8 | |
%call36 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont35 unwind label %lpad14 | |
invoke.cont35: ; preds = %invoke.cont31 | |
store double %call36, double* %t0, align 8 | |
%call38 = invoke double @_ZN6miniFE3dotINS_6VectorIdiiEEEENS_10TypeTraitsINT_10ScalarTypeEE14magnitude_typeERKS4_S9_(%"struct.miniFE::Vector"* dereferenceable(32) %r, %"struct.miniFE::Vector"* dereferenceable(32) %r) | |
to label %invoke.cont37 unwind label %lpad14 | |
invoke.cont37: ; preds = %invoke.cont35 | |
store double %call38, double* %rtrans, align 8 | |
%call40 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont39 unwind label %lpad14 | |
invoke.cont39: ; preds = %invoke.cont37 | |
%36 = load double, double* %t0, align 8 | |
%sub41 = fsub double %call40, %36 | |
%37 = load double, double* %tDOT, align 8 | |
%add42 = fadd double %37, %sub41 | |
store double %add42, double* %tDOT, align 8 | |
%38 = load double, double* %rtrans, align 8 | |
%call43 = call double @sqrt(double %38) #2 | |
%39 = load double*, double** %normr.addr, align 8 | |
store double %call43, double* %39, align 8 | |
%40 = load i32, i32* %myproc, align 4 | |
%cmp44 = icmp eq i32 %40, 0 | |
br i1 %cmp44, label %if.then45, label %if.end52 | |
if.then45: ; preds = %invoke.cont39 | |
%call47 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cout, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.111, i32 0, i32 0)) | |
to label %invoke.cont46 unwind label %lpad14 | |
invoke.cont46: ; preds = %if.then45 | |
%41 = load double*, double** %normr.addr, align 8 | |
%42 = load double, double* %41, align 8 | |
%call49 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEd(%"class.std::basic_ostream"* %call47, double %42) | |
to label %invoke.cont48 unwind label %lpad14 | |
invoke.cont48: ; preds = %invoke.cont46 | |
%call51 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call49, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
to label %invoke.cont50 unwind label %lpad14 | |
invoke.cont50: ; preds = %invoke.cont48 | |
br label %if.end52 | |
lpad14: ; preds = %for.end, %invoke.cont138, %invoke.cont136, %invoke.cont134, %if.end132, %invoke.cont122, %invoke.cont120, %if.then119, %lor.lhs.false116, %invoke.cont107, %invoke.cont105, %invoke.cont101, %invoke.cont100, %invoke.cont98, %if.end97, %invoke.cont93, %invoke.cont91, %invoke.cont89, %invoke.cont87, %if.then86, %invoke.cont76, %invoke.cont74, %invoke.cont69, %invoke.cont67, %invoke.cont65, %if.else, %invoke.cont60, %invoke.cont58, %if.then57, %invoke.cont48, %invoke.cont46, %if.then45, %invoke.cont37, %invoke.cont35, %invoke.cont31, %invoke.cont30, %invoke.cont27, %invoke.cont23, %invoke.cont22, %invoke.cont20, %invoke.cont18, %invoke.cont17, %invoke.cont15, %if.end13 | |
%43 = landingpad { i8*, i32 } | |
cleanup | |
%44 = extractvalue { i8*, i32 } %43, 0 | |
store i8* %44, i8** %exn.slot, align 8 | |
%45 = extractvalue { i8*, i32 } %43, 1 | |
store i32 %45, i32* %ehselector.slot, align 4 | |
invoke void @_ZN6miniFE6VectorIdiiED2Ev(%"struct.miniFE::Vector"* %Ap) | |
to label %invoke.cont152 unwind label %terminate.lpad | |
if.end52: ; preds = %invoke.cont50, %invoke.cont39 | |
%call53 = call double @_ZNSt14numeric_limitsIdE7epsilonEv() #2 | |
store double %call53, double* %brkdown_tol, align 8 | |
store i32 1, i32* %k, align 4 | |
br label %for.cond | |
for.cond: ; preds = %for.inc, %if.end52 | |
%46 = load i32, i32* %k, align 4 | |
%47 = load i32, i32* %max_iter.addr, align 4 | |
%cmp54 = icmp sle i32 %46, %47 | |
br i1 %cmp54, label %land.rhs, label %land.end | |
land.rhs: ; preds = %for.cond | |
%48 = load double*, double** %normr.addr, align 8 | |
%49 = load double, double* %48, align 8 | |
%50 = load double*, double** %tolerance.addr, align 8 | |
%51 = load double, double* %50, align 8 | |
%cmp55 = fcmp ogt double %49, %51 | |
br label %land.end | |
land.end: ; preds = %land.rhs, %for.cond | |
%52 = phi i1 [ false, %for.cond ], [ %cmp55, %land.rhs ] | |
br i1 %52, label %for.body, label %for.end | |
for.body: ; preds = %land.end | |
%53 = load i32, i32* %k, align 4 | |
%cmp56 = icmp eq i32 %53, 1 | |
br i1 %cmp56, label %if.then57, label %if.else | |
if.then57: ; preds = %for.body | |
%call59 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont58 unwind label %lpad14 | |
invoke.cont58: ; preds = %if.then57 | |
store double %call59, double* %t0, align 8 | |
%54 = load double, double* %one, align 8 | |
%55 = load double, double* %zero, align 8 | |
invoke void @_ZN6miniFE6waxpbyINS_6VectorIdiiEEEEvNT_10ScalarTypeERKS3_S4_S6_RS3_(double %54, %"struct.miniFE::Vector"* dereferenceable(32) %r, double %55, %"struct.miniFE::Vector"* dereferenceable(32) %r, %"struct.miniFE::Vector"* dereferenceable(32) %p) | |
to label %invoke.cont60 unwind label %lpad14 | |
invoke.cont60: ; preds = %invoke.cont58 | |
%call62 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont61 unwind label %lpad14 | |
invoke.cont61: ; preds = %invoke.cont60 | |
%56 = load double, double* %t0, align 8 | |
%sub63 = fsub double %call62, %56 | |
%57 = load double, double* %tWAXPY, align 8 | |
%add64 = fadd double %57, %sub63 | |
store double %add64, double* %tWAXPY, align 8 | |
br label %if.end81 | |
if.else: ; preds = %for.body | |
%58 = load double, double* %rtrans, align 8 | |
store double %58, double* %oldrtrans, align 8 | |
%call66 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont65 unwind label %lpad14 | |
invoke.cont65: ; preds = %if.else | |
store double %call66, double* %t0, align 8 | |
%call68 = invoke double @_ZN6miniFE6dot_r2INS_6VectorIdiiEEEENS_10TypeTraitsINT_10ScalarTypeEE14magnitude_typeERKS4_(%"struct.miniFE::Vector"* dereferenceable(32) %r) | |
to label %invoke.cont67 unwind label %lpad14 | |
invoke.cont67: ; preds = %invoke.cont65 | |
store double %call68, double* %rtrans, align 8 | |
%call70 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont69 unwind label %lpad14 | |
invoke.cont69: ; preds = %invoke.cont67 | |
%59 = load double, double* %t0, align 8 | |
%sub71 = fsub double %call70, %59 | |
%60 = load double, double* %tDOT, align 8 | |
%add72 = fadd double %60, %sub71 | |
store double %add72, double* %tDOT, align 8 | |
%61 = load double, double* %rtrans, align 8 | |
%62 = load double, double* %oldrtrans, align 8 | |
%div73 = fdiv double %61, %62 | |
store double %div73, double* %beta, align 8 | |
%call75 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont74 unwind label %lpad14 | |
invoke.cont74: ; preds = %invoke.cont69 | |
store double %call75, double* %t0, align 8 | |
%63 = load double, double* %one, align 8 | |
%64 = load double, double* %beta, align 8 | |
invoke void @_ZN6miniFE6daxpbyINS_6VectorIdiiEEEEvNT_10ScalarTypeERKS3_S4_RS3_(double %63, %"struct.miniFE::Vector"* dereferenceable(32) %r, double %64, %"struct.miniFE::Vector"* dereferenceable(32) %p) | |
to label %invoke.cont76 unwind label %lpad14 | |
invoke.cont76: ; preds = %invoke.cont74 | |
%call78 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont77 unwind label %lpad14 | |
invoke.cont77: ; preds = %invoke.cont76 | |
%65 = load double, double* %t0, align 8 | |
%sub79 = fsub double %call78, %65 | |
%66 = load double, double* %tWAXPY, align 8 | |
%add80 = fadd double %66, %sub79 | |
store double %add80, double* %tWAXPY, align 8 | |
br label %if.end81 | |
if.end81: ; preds = %invoke.cont77, %invoke.cont61 | |
%67 = load double, double* %rtrans, align 8 | |
%call82 = call double @sqrt(double %67) #2 | |
%68 = load double*, double** %normr.addr, align 8 | |
store double %call82, double* %68, align 8 | |
%69 = load i32, i32* %myproc, align 4 | |
%cmp83 = icmp eq i32 %69, 0 | |
br i1 %cmp83, label %land.lhs.true, label %if.end97 | |
land.lhs.true: ; preds = %if.end81 | |
%70 = load i32, i32* %k, align 4 | |
%71 = load i32, i32* %print_freq, align 4 | |
%rem = srem i32 %70, %71 | |
%cmp84 = icmp eq i32 %rem, 0 | |
br i1 %cmp84, label %if.then86, label %lor.lhs.false | |
lor.lhs.false: ; preds = %land.lhs.true | |
%72 = load i32, i32* %k, align 4 | |
%73 = load i32, i32* %max_iter.addr, align 4 | |
%cmp85 = icmp eq i32 %72, %73 | |
br i1 %cmp85, label %if.then86, label %if.end97 | |
if.then86: ; preds = %lor.lhs.false, %land.lhs.true | |
%call88 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cout, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.112, i32 0, i32 0)) | |
to label %invoke.cont87 unwind label %lpad14 | |
invoke.cont87: ; preds = %if.then86 | |
%74 = load i32, i32* %k, align 4 | |
%call90 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %call88, i32 %74) | |
to label %invoke.cont89 unwind label %lpad14 | |
invoke.cont89: ; preds = %invoke.cont87 | |
%call92 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) %call90, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.113, i32 0, i32 0)) | |
to label %invoke.cont91 unwind label %lpad14 | |
invoke.cont91: ; preds = %invoke.cont89 | |
%75 = load double*, double** %normr.addr, align 8 | |
%76 = load double, double* %75, align 8 | |
%call94 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEd(%"class.std::basic_ostream"* %call92, double %76) | |
to label %invoke.cont93 unwind label %lpad14 | |
invoke.cont93: ; preds = %invoke.cont91 | |
%call96 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call94, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
to label %invoke.cont95 unwind label %lpad14 | |
invoke.cont95: ; preds = %invoke.cont93 | |
br label %if.end97 | |
if.end97: ; preds = %invoke.cont95, %lor.lhs.false, %if.end81 | |
store double 0.000000e+00, double* %alpha, align 8 | |
store double 0.000000e+00, double* %p_ap_dot, align 8 | |
%call99 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont98 unwind label %lpad14 | |
invoke.cont98: ; preds = %if.end97 | |
store double %call99, double* %t0, align 8 | |
%77 = load %"struct.miniFE::CSRMatrix"*, %"struct.miniFE::CSRMatrix"** %A.addr, align 8 | |
invoke void @_ZN6miniFE10matvec_stdINS_9CSRMatrixIdiiEENS_6VectorIdiiEEEclERS2_RS4_S7_(%"struct.miniFE::matvec_std"* %matvec, %"struct.miniFE::CSRMatrix"* dereferenceable(136) %77, %"struct.miniFE::Vector"* dereferenceable(32) %p, %"struct.miniFE::Vector"* dereferenceable(32) %Ap) | |
to label %invoke.cont100 unwind label %lpad14 | |
invoke.cont100: ; preds = %invoke.cont98 | |
%call102 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont101 unwind label %lpad14 | |
invoke.cont101: ; preds = %invoke.cont100 | |
%78 = load double, double* %t0, align 8 | |
%sub103 = fsub double %call102, %78 | |
%79 = load double, double* %tMATVEC, align 8 | |
%add104 = fadd double %79, %sub103 | |
store double %add104, double* %tMATVEC, align 8 | |
%call106 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont105 unwind label %lpad14 | |
invoke.cont105: ; preds = %invoke.cont101 | |
store double %call106, double* %t0, align 8 | |
%call108 = invoke double @_ZN6miniFE3dotINS_6VectorIdiiEEEENS_10TypeTraitsINT_10ScalarTypeEE14magnitude_typeERKS4_S9_(%"struct.miniFE::Vector"* dereferenceable(32) %Ap, %"struct.miniFE::Vector"* dereferenceable(32) %p) | |
to label %invoke.cont107 unwind label %lpad14 | |
invoke.cont107: ; preds = %invoke.cont105 | |
store double %call108, double* %p_ap_dot, align 8 | |
%call110 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont109 unwind label %lpad14 | |
invoke.cont109: ; preds = %invoke.cont107 | |
%80 = load double, double* %t0, align 8 | |
%sub111 = fsub double %call110, %80 | |
%81 = load double, double* %tDOT, align 8 | |
%add112 = fadd double %81, %sub111 | |
store double %add112, double* %tDOT, align 8 | |
%82 = load double, double* %p_ap_dot, align 8 | |
%83 = load double, double* %brkdown_tol, align 8 | |
%cmp113 = fcmp olt double %82, %83 | |
br i1 %cmp113, label %if.then114, label %if.end132 | |
if.then114: ; preds = %invoke.cont109 | |
%84 = load double, double* %p_ap_dot, align 8 | |
%cmp115 = fcmp olt double %84, 0.000000e+00 | |
br i1 %cmp115, label %if.then119, label %lor.lhs.false116 | |
lor.lhs.false116: ; preds = %if.then114 | |
%85 = load double, double* %p_ap_dot, align 8 | |
%call118 = invoke zeroext i1 @_ZN6miniFE9breakdownINS_6VectorIdiiEEEEbNT_10ScalarTypeERKS3_S6_(double %85, %"struct.miniFE::Vector"* dereferenceable(32) %Ap, %"struct.miniFE::Vector"* dereferenceable(32) %p) | |
to label %invoke.cont117 unwind label %lpad14 | |
invoke.cont117: ; preds = %lor.lhs.false116 | |
br i1 %call118, label %if.then119, label %if.else130 | |
if.then119: ; preds = %invoke.cont117, %if.then114 | |
%call121 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* dereferenceable(272) @_ZSt4cerr, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.114, i32 0, i32 0)) | |
to label %invoke.cont120 unwind label %lpad14 | |
invoke.cont120: ; preds = %if.then119 | |
%call123 = invoke dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call121, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) | |
to label %invoke.cont122 unwind label %lpad14 | |
invoke.cont122: ; preds = %invoke.cont120 | |
%86 = load double, double* %tWAXPY, align 8 | |
%87 = load double*, double** %my_cg_times.addr, align 8 | |
%arrayidx = getelementptr inbounds double, double* %87, i64 0 | |
store double %86, double* %arrayidx, align 8 | |
%88 = load double, double* %tDOT, align 8 | |
%89 = load double*, double** %my_cg_times.addr, align 8 | |
%arrayidx124 = getelementptr inbounds double, double* %89, i64 1 | |
store double %88, double* %arrayidx124, align 8 | |
%90 = load double, double* %tMATVEC, align 8 | |
%91 = load double*, double** %my_cg_times.addr, align 8 | |
%arrayidx125 = getelementptr inbounds double, double* %91, i64 2 | |
store double %90, double* %arrayidx125, align 8 | |
%call127 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont126 unwind label %lpad14 | |
invoke.cont126: ; preds = %invoke.cont122 | |
%92 = load double, double* %total_time, align 8 | |
%sub128 = fsub double %call127, %92 | |
%93 = load double*, double** %my_cg_times.addr, align 8 | |
%arrayidx129 = getelementptr inbounds double, double* %93, i64 4 | |
store double %sub128, double* %arrayidx129, align 8 | |
store i32 1, i32* %cleanup.dest.slot, align 4 | |
br label %cleanup | |
if.else130: ; preds = %invoke.cont117 | |
%94 = load double, double* %p_ap_dot, align 8 | |
%mul = fmul double 1.000000e-01, %94 | |
store double %mul, double* %brkdown_tol, align 8 | |
br label %if.end131 | |
if.end131: ; preds = %if.else130 | |
br label %if.end132 | |
if.end132: ; preds = %if.end131, %invoke.cont109 | |
%95 = load double, double* %rtrans, align 8 | |
%96 = load double, double* %p_ap_dot, align 8 | |
%div133 = fdiv double %95, %96 | |
store double %div133, double* %alpha, align 8 | |
%call135 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont134 unwind label %lpad14 | |
invoke.cont134: ; preds = %if.end132 | |
store double %call135, double* %t0, align 8 | |
%97 = load double, double* %alpha, align 8 | |
%98 = load double, double* %one, align 8 | |
%99 = load %"struct.miniFE::Vector"*, %"struct.miniFE::Vector"** %x.addr, align 8 | |
invoke void @_ZN6miniFE6daxpbyINS_6VectorIdiiEEEEvNT_10ScalarTypeERKS3_S4_RS3_(double %97, %"struct.miniFE::Vector"* dereferenceable(32) %p, double %98, %"struct.miniFE::Vector"* dereferenceable(32) %99) | |
to label %invoke.cont136 unwind label %lpad14 | |
invoke.cont136: ; preds = %invoke.cont134 | |
%100 = load double, double* %alpha, align 8 | |
%sub137 = fsub double -0.000000e+00, %100 | |
%101 = load double, double* %one, align 8 | |
invoke void @_ZN6miniFE6daxpbyINS_6VectorIdiiEEEEvNT_10ScalarTypeERKS3_S4_RS3_(double %sub137, %"struct.miniFE::Vector"* dereferenceable(32) %Ap, double %101, %"struct.miniFE::Vector"* dereferenceable(32) %r) | |
to label %invoke.cont138 unwind label %lpad14 | |
invoke.cont138: ; preds = %invoke.cont136 | |
%call140 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont139 unwind label %lpad14 | |
invoke.cont139: ; preds = %invoke.cont138 | |
%102 = load double, double* %t0, align 8 | |
%sub141 = fsub double %call140, %102 | |
%103 = load double, double* %tWAXPY, align 8 | |
%add142 = fadd double %103, %sub141 | |
store double %add142, double* %tWAXPY, align 8 | |
%104 = load i32, i32* %k, align 4 | |
%105 = load i32*, i32** %num_iters.addr, align 8 | |
store i32 %104, i32* %105, align 4 | |
br label %for.inc | |
for.inc: ; preds = %invoke.cont139 | |
%106 = load i32, i32* %k, align 4 | |
%inc = add nsw i32 %106, 1 | |
store i32 %inc, i32* %k, align 4 | |
br label %for.cond | |
for.end: ; preds = %land.end | |
%107 = load double, double* %tWAXPY, align 8 | |
%108 = load double*, double** %my_cg_times.addr, align 8 | |
%arrayidx143 = getelementptr inbounds double, double* %108, i64 0 | |
store double %107, double* %arrayidx143, align 8 | |
%109 = load double, double* %tDOT, align 8 | |
%110 = load double*, double** %my_cg_times.addr, align 8 | |
%arrayidx144 = getelementptr inbounds double, double* %110, i64 1 | |
store double %109, double* %arrayidx144, align 8 | |
%111 = load double, double* %tMATVEC, align 8 | |
%112 = load double*, double** %my_cg_times.addr, align 8 | |
%arrayidx145 = getelementptr inbounds double, double* %112, i64 2 | |
store double %111, double* %arrayidx145, align 8 | |
%113 = load double, double* %tMATVECDOT, align 8 | |
%114 = load double*, double** %my_cg_times.addr, align 8 | |
%arrayidx146 = getelementptr inbounds double, double* %114, i64 3 | |
store double %113, double* %arrayidx146, align 8 | |
%call148 = invoke double @_ZN6miniFE7mytimerEv() | |
to label %invoke.cont147 unwind label %lpad14 | |
invoke.cont147: ; preds = %for.end | |
%115 = load double, double* %total_time, align 8 | |
%sub149 = fsub double %call148, %115 | |
%116 = load double*, double** %my_cg_times.addr, align 8 | |
%arrayidx150 = getelementptr inbounds double, double* %116, i64 4 | |
store double %sub149, double* %arrayidx150, align 8 | |
store i32 0, i32* %cleanup.dest.slot, align 4 | |
br label %cleanup | |
cleanup: ; preds = %invoke.cont147, %invoke.cont126 | |
invoke void @_ZN6miniFE6VectorIdiiED2Ev(%"struct.miniFE::Vector"* %Ap) | |
to label %invoke.cont151 unwind label %lpad7 | |
invoke.cont151: ; preds = %cleanup | |
invoke void @_ZN6miniFE6VectorIdiiED2Ev(%"struct.miniFE::Vector"* %p) | |
to label %invoke.cont154 unwind label %lpad | |
invoke.cont154: ; preds = %invoke.cont151 | |
call void @_ZN6miniFE6VectorIdiiED2Ev(%"struct.miniFE::Vector"* %r) | |
%cleanup.dest = load i32, i32* %cleanup.dest.slot, align 4 | |
switch i32 %cleanup.dest, label %unreachable [ | |
i32 0, label %cleanup.cont | |
i32 1, label %cleanup.cont | |
] | |
cleanup.cont: ; preds = %if.then, %invoke.cont154, %invoke.cont154 | |
ret void | |
invoke.cont152: ; preds = %lpad14 | |
br label %ehcleanup | |
ehcleanup: ; preds = %invoke.cont152, %lpad7 | |
invoke void @_ZN6miniFE6VectorIdiiED2Ev(%"struct.miniFE::Vector"* %p) | |
to label %invoke.cont155 unwind label %terminate.lpad | |
invoke.cont155: ; preds = %ehcleanup | |
br label %ehcleanup157 | |
ehcleanup157: ; preds = %invoke.cont155, %lpad | |
invoke void @_ZN6miniFE6VectorIdiiED2Ev(%"struct.miniFE::Vector"* %r) | |
to label %invoke.cont158 unwind label %terminate.lpad | |
invoke.cont158: ; preds = %ehcleanup157 | |
br label %eh.resume | |
eh.resume: ; preds = %invoke.cont158 | |
%exn = load i8*, i8** %exn.slot, align 8 | |
%sel = load i32, i32* %ehselector.slot, align 4 | |
%lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 | |
%lpad.val159 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 | |
resume { i8*, i32 } %lpad.val159 | |
terminate.lpad: ; preds = %ehcleanup157, %ehcleanup, %lpad14 | |
%117 = landingpad { i8*, i32 } | |
catch i8* null | |
%118 = extractvalue { i8*, i32 } %117, 0 | |
call void @__clang_call_terminate(i8* %118) #13 | |
unreachable | |
unreachable: ; preds = %invoke.cont154 | |
unreachable | |
} | |
; Function Attrs: noinline optnone uwtable | |
define linkonce_odr i32 @_ZN6miniFE15verify_solutionINS_6VectorIdiiEEEEiRKNS_23simple_mesh_descriptionINT_17GlobalOrdinalTypeEEERKS4_db(%"class.miniFE::simple_mesh_description"* dereferenceable(192) %mesh, %"struct.miniFE::Vector"* dereferenceable(32) %x, double %tolerance, i1 zeroext %verify_whole_domain) #3 comdat personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%mesh.addr = alloca %"class.miniFE::simple_mesh_description"*, align 8 | |
%x.addr = alloca %"struct.miniFE::Vector"*, align 8 | |
%tolerance.addr = alloca double, align 8 | |
%verify_whole_domain.addr = alloca i8, align 1 | |
%global_nodes_x = alloca i32, align 4 | |
%global_nodes_y = alloca i32, align 4 | |
%global_nodes_z = alloca i32, align 4 | |
%box = alloca %struct.Box, align 4 | |
%rows = alloca %"class.std::vector.15", align 8 | |
%row_coords = alloca %"class.std::vector.20", align 8 | |
%exn.slot = alloca i8* | |
%ehselector.slot = alloca i32 | |
%roffset = alloca i32, align 4 | |
%iz = alloca i32, align 4 | |
%iy = alloca i32, align 4 | |
%ix = alloca i32, align 4 | |
%row_id = alloca i32, align 4 | |
%x83 = alloca double, align 8 | |
%y = alloca double, align 8 | |
%z = alloca double, align 8 | |
%verify_this_point = alloca i8, align 1 | |
%return_code = alloca i32, align 4 | |
%num_terms = alloca i32, align 4 | |
%max_error = alloca %"struct.miniFE::err_info", align 8 | |
%i = alloca i64, align 8 | |
%computed_soln = alloca double, align 8 | |
%x126 = alloca double, align 8 | |
%y129 = alloca double, align 8 | |
%z134 = alloca double, align 8 | |
%analytic_soln = alloca double, align 8 | |
%err158 = alloca double, align 8 | |
%local_max_err = alloca double, align 8 | |
%global_max_err = alloca double, align 8 | |
store %"class.miniFE::simple_mesh_description"* %mesh, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
store %"struct.miniFE::Vector"* %x, %"struct.miniFE::Vector"** %x.addr, align 8 | |
store double %tolerance, double* %tolerance.addr, align 8 | |
%frombool = zext i1 %verify_whole_domain to i8 | |
store i8 %frombool, i8* %verify_whole_domain.addr, align 1 | |
%0 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%global_box = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %0, i32 0, i32 3 | |
%call = call i32* @_ZNK3BoxixEi(%struct.Box* %global_box, i32 0) | |
%arrayidx = getelementptr inbounds i32, i32* %call, i64 1 | |
%1 = load i32, i32* %arrayidx, align 4 | |
%add = add nsw i32 %1, 1 | |
store i32 %add, i32* %global_nodes_x, align 4 | |
%2 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%global_box1 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %2, i32 0, i32 3 | |
%call2 = call i32* @_ZNK3BoxixEi(%struct.Box* %global_box1, i32 1) | |
%arrayidx3 = getelementptr inbounds i32, i32* %call2, i64 1 | |
%3 = load i32, i32* %arrayidx3, align 4 | |
%add4 = add nsw i32 %3, 1 | |
store i32 %add4, i32* %global_nodes_y, align 4 | |
%4 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%global_box5 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %4, i32 0, i32 3 | |
%call6 = call i32* @_ZNK3BoxixEi(%struct.Box* %global_box5, i32 2) | |
%arrayidx7 = getelementptr inbounds i32, i32* %call6, i64 1 | |
%5 = load i32, i32* %arrayidx7, align 4 | |
%add8 = add nsw i32 %5, 1 | |
store i32 %add8, i32* %global_nodes_z, align 4 | |
%6 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%local_box = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %6, i32 0, i32 4 | |
call void @_ZN6miniFE8copy_boxERK3BoxRS0_(%struct.Box* dereferenceable(24) %local_box, %struct.Box* dereferenceable(24) %box) | |
%call9 = call i32* @_ZN3BoxixEi(%struct.Box* %box, i32 0) | |
%arrayidx10 = getelementptr inbounds i32, i32* %call9, i64 1 | |
%7 = load i32, i32* %arrayidx10, align 4 | |
%call11 = call i32* @_ZN3BoxixEi(%struct.Box* %box, i32 0) | |
%arrayidx12 = getelementptr inbounds i32, i32* %call11, i64 0 | |
%8 = load i32, i32* %arrayidx12, align 4 | |
%cmp = icmp sgt i32 %7, %8 | |
br i1 %cmp, label %land.lhs.true, label %if.end | |
land.lhs.true: ; preds = %entry | |
%call13 = call i32* @_ZN3BoxixEi(%struct.Box* %box, i32 0) | |
%arrayidx14 = getelementptr inbounds i32, i32* %call13, i64 1 | |
%9 = load i32, i32* %arrayidx14, align 4 | |
%10 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%global_box15 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %10, i32 0, i32 3 | |
%call16 = call i32* @_ZNK3BoxixEi(%struct.Box* %global_box15, i32 0) | |
%arrayidx17 = getelementptr inbounds i32, i32* %call16, i64 1 | |
%11 = load i32, i32* %arrayidx17, align 4 | |
%cmp18 = icmp eq i32 %9, %11 | |
br i1 %cmp18, label %if.then, label %if.end | |
if.then: ; preds = %land.lhs.true | |
%call19 = call i32* @_ZN3BoxixEi(%struct.Box* %box, i32 0) | |
%arrayidx20 = getelementptr inbounds i32, i32* %call19, i64 1 | |
%12 = load i32, i32* %arrayidx20, align 4 | |
%inc = add nsw i32 %12, 1 | |
store i32 %inc, i32* %arrayidx20, align 4 | |
br label %if.end | |
if.end: ; preds = %if.then, %land.lhs.true, %entry | |
%call21 = call i32* @_ZN3BoxixEi(%struct.Box* %box, i32 1) | |
%arrayidx22 = getelementptr inbounds i32, i32* %call21, i64 1 | |
%13 = load i32, i32* %arrayidx22, align 4 | |
%call23 = call i32* @_ZN3BoxixEi(%struct.Box* %box, i32 1) | |
%arrayidx24 = getelementptr inbounds i32, i32* %call23, i64 0 | |
%14 = load i32, i32* %arrayidx24, align 4 | |
%cmp25 = icmp sgt i32 %13, %14 | |
br i1 %cmp25, label %land.lhs.true26, label %if.end37 | |
land.lhs.true26: ; preds = %if.end | |
%call27 = call i32* @_ZN3BoxixEi(%struct.Box* %box, i32 1) | |
%arrayidx28 = getelementptr inbounds i32, i32* %call27, i64 1 | |
%15 = load i32, i32* %arrayidx28, align 4 | |
%16 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%global_box29 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %16, i32 0, i32 3 | |
%call30 = call i32* @_ZNK3BoxixEi(%struct.Box* %global_box29, i32 1) | |
%arrayidx31 = getelementptr inbounds i32, i32* %call30, i64 1 | |
%17 = load i32, i32* %arrayidx31, align 4 | |
%cmp32 = icmp eq i32 %15, %17 | |
br i1 %cmp32, label %if.then33, label %if.end37 | |
if.then33: ; preds = %land.lhs.true26 | |
%call34 = call i32* @_ZN3BoxixEi(%struct.Box* %box, i32 1) | |
%arrayidx35 = getelementptr inbounds i32, i32* %call34, i64 1 | |
%18 = load i32, i32* %arrayidx35, align 4 | |
%inc36 = add nsw i32 %18, 1 | |
store i32 %inc36, i32* %arrayidx35, align 4 | |
br label %if.end37 | |
if.end37: ; preds = %if.then33, %land.lhs.true26, %if.end | |
%call38 = call i32* @_ZN3BoxixEi(%struct.Box* %box, i32 2) | |
%arrayidx39 = getelementptr inbounds i32, i32* %call38, i64 1 | |
%19 = load i32, i32* %arrayidx39, align 4 | |
%call40 = call i32* @_ZN3BoxixEi(%struct.Box* %box, i32 2) | |
%arrayidx41 = getelementptr inbounds i32, i32* %call40, i64 0 | |
%20 = load i32, i32* %arrayidx41, align 4 | |
%cmp42 = icmp sgt i32 %19, %20 | |
br i1 %cmp42, label %land.lhs.true43, label %if.end54 | |
land.lhs.true43: ; preds = %if.end37 | |
%call44 = call i32* @_ZN3BoxixEi(%struct.Box* %box, i32 2) | |
%arrayidx45 = getelementptr inbounds i32, i32* %call44, i64 1 | |
%21 = load i32, i32* %arrayidx45, align 4 | |
%22 = load %"class.miniFE::simple_mesh_description"*, %"class.miniFE::simple_mesh_description"** %mesh.addr, align 8 | |
%global_box46 = getelementptr inbounds %"class.miniFE::simple_mesh_description", %"class.miniFE::simple_mesh_description"* %22, i32 0, i32 3 | |
%call47 = call i32* @_ZNK3BoxixEi(%struct.Box* %global_box46, i32 2) | |
%arrayidx48 = getelementptr inbounds i32, i32* %call47, i64 1 | |
%23 = load i32, i32* %arrayidx48, align 4 | |
%cmp49 = icmp eq i32 %21, %23 | |
br i1 %cmp49, label %if.then50, label %if.end54 | |
if.then50: ; preds = %land.lhs.true43 | |
%call51 = call i32* @_ZN3BoxixEi(%struct.Box* %box, i32 2) | |
%arrayidx52 = getelementptr inbounds i32, i32* %call51, i64 1 | |
%24 = load i32, i32* %arrayidx52, align 4 | |
%inc53 = add nsw i32 %24, 1 | |
store i32 %inc53, i32* %arrayidx52, align 4 | |
br label %if.end54 | |
if.end54: ; preds = %if.then50, %land.lhs.true43, %if.end37 | |
call void @_ZNSt6vectorIiSaIiEEC2Ev(%"class.std::vector.15"* %rows) | |
invoke void @_ZNSt6vectorIdSaIdEEC2Ev(%"class.std::vector.20"* %row_coords) | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %if.end54 | |
store i32 0, i32* %roffset, align 4 | |
%call57 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 2) | |
to label %invoke.cont56 unwind label %lpad55 | |
invoke.cont56: ; preds = %invoke.cont | |
%arrayidx58 = getelementptr inbounds i32, i32* %call57, i64 0 | |
%25 = load i32, i32* %arrayidx58, align 4 | |
store i32 %25, i32* %iz, align 4 | |
br label %for.cond | |
for.cond: ; preds = %for.inc114, %invoke.cont56 | |
%26 = load i32, i32* %iz, align 4 | |
%call60 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 2) | |
to label %invoke.cont59 unwind label %lpad55 | |
invoke.cont59: ; preds = %for.cond | |
%arrayidx61 = getelementptr inbounds i32, i32* %call60, i64 1 | |
%27 = load i32, i32* %arrayidx61, align 4 | |
%cmp62 = icmp slt i32 %26, %27 | |
br i1 %cmp62, label %for.body, label %for.end116 | |
for.body: ; preds = %invoke.cont59 | |
%call64 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 1) | |
to label %invoke.cont63 unwind label %lpad55 | |
invoke.cont63: ; preds = %for.body | |
%arrayidx65 = getelementptr inbounds i32, i32* %call64, i64 0 | |
%28 = load i32, i32* %arrayidx65, align 4 | |
store i32 %28, i32* %iy, align 4 | |
br label %for.cond66 | |
for.cond66: ; preds = %for.inc111, %invoke.cont63 | |
%29 = load i32, i32* %iy, align 4 | |
%call68 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 1) | |
to label %invoke.cont67 unwind label %lpad55 | |
invoke.cont67: ; preds = %for.cond66 | |
%arrayidx69 = getelementptr inbounds i32, i32* %call68, i64 1 | |
%30 = load i32, i32* %arrayidx69, align 4 | |
%cmp70 = icmp slt i32 %29, %30 | |
br i1 %cmp70, label %for.body71, label %for.end113 | |
for.body71: ; preds = %invoke.cont67 | |
%call73 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 0) | |
to label %invoke.cont72 unwind label %lpad55 | |
invoke.cont72: ; preds = %for.body71 | |
%arrayidx74 = getelementptr inbounds i32, i32* %call73, i64 0 | |
%31 = load i32, i32* %arrayidx74, align 4 | |
store i32 %31, i32* %ix, align 4 | |
br label %for.cond75 | |
for.cond75: ; preds = %for.inc, %invoke.cont72 | |
%32 = load i32, i32* %ix, align 4 | |
%call77 = invoke i32* @_ZN3BoxixEi(%struct.Box* %box, i32 0) | |
to label %invoke.cont76 unwind label %lpad55 | |
invoke.cont76: ; preds = %for.cond75 | |
%arrayidx78 = getelementptr inbounds i32, i32* %call77, i64 1 | |
%33 = load i32, i32* %arrayidx78, align 4 | |
%cmp79 = icmp slt i32 %32, %33 | |
br i1 %cmp79, label %for.body80, label %for.end | |
for.body80: ; preds = %invoke.cont76 | |
%34 = load i32, i32* %global_nodes_x, align 4 | |
%35 = load i32, i32* %global_nodes_y, align 4 | |
%36 = load i32, i32* %global_nodes_z, align 4 | |
%37 = load i32, i32* %ix, align 4 | |
%38 = load i32, i32* %iy, align 4 | |
%39 = load i32, i32* %iz, align 4 | |
%call82 = invoke i32 @_ZN6miniFE6get_idIiEET_iiiiii(i32 %34, i32 %35, i32 %36, i32 %37, i32 %38, i32 %39) | |
to label %invoke.cont81 unwind label %lpad55 | |
invoke.cont81: ; preds = %for.body80 | |
store i32 %call82, i32* %row_id, align 4 | |
%40 = load i32, i32* %row_id, align 4 | |
%41 = load i32, i32* %global_nodes_x, align 4 | |
%42 = load i32, i32* %global_nodes_y, align 4 | |
%43 = load i32, i32* %global_nodes_z, align 4 | |
invoke void @_ZN6miniFE10get_coordsIidEEvT_iiiRT0_S3_S3_(i32 %40, i32 %41, i32 %42, i32 %43, double* dereferenceable(8) %x83, double* dereferenceable(8) %y, double* dereferenceable(8) %z) | |
to label %invoke.cont84 unwind label %lpad55 | |
invoke.cont84: ; preds = %invoke.cont81 | |
store i8 0, i8* %verify_this_point, align 1 | |
%44 = load i8, i8* %verify_whole_domain.addr, align 1 | |
%tobool = trunc i8 %44 to i1 | |
br i1 %tobool, label %if.then85, label %if.else | |
if.then85: ; preds = %invoke.cont84 | |
store i8 1, i8* %verify_this_point, align 1 | |
br label %if.end101 | |
lpad: ; preds = %if.end237, %if.end54 | |
%45 = landingpad { i8*, i32 } | |
cleanup | |
%46 = extractvalue { i8*, i32 } %45, 0 | |
store i8* %46, i8** %exn.slot, align 8 | |
%47 = extractvalue { i8*, i32 } %45, 1 | |
store i32 %47, i32* %ehselector.slot, align 4 | |
br label %ehcleanup | |
lpad55: ; preds = %invoke.cont229, %invoke.cont227, %invoke.cont225, %if.else224, %invoke.cont220, %invoke.cont217, %invoke.cont215, %invoke.cont212, %invoke.cont210, %invoke.cont208, %invoke.cont206, %invoke.cont202, %invoke.cont200, %invoke.cont196, %invoke.cont194, %invoke.cont190, %invoke.cont188, %invoke.cont186, %invoke.cont184, %invoke.cont181, %if.then180, %if.end157, %if.else152, %invoke.cont132, %invoke.cont127, %invoke.cont124, %invoke.cont122, %for.body121, %for.cond117, %invoke.cont106, %invoke.cont105, %invoke.cont104, %if.then103, %land.lhs.true94, %land.lhs.true89, %if.else, %invoke.cont81, %for.body80, %for.cond75, %for.body71, %for.cond66, %for.body, %for.cond, %invoke.cont | |
%48 = landingpad { i8*, i32 } | |
cleanup | |
%49 = extractvalue { i8*, i32 } %48, 0 | |
store i8* %49, i8** %exn.slot, align 8 | |
%50 = extractvalue { i8*, i32 } %48, 1 | |
store i32 %50, i32* %ehselector.slot, align 4 | |
invoke void @_ZNSt6vectorIdSaIdEED2Ev(%"class.std::vector.20"* %row_coords) | |
to label %invoke.cont239 unwind label %terminate.lpad | |
if.else: ; preds = %invoke.cont84 | |
%51 = load double, double* %x83, align 8 | |
%sub = fsub double %51, 5.000000e-01 | |
%call87 = invoke double @_ZSt3absd(double %sub) | |
to label %invoke.cont86 unwind label %lpad55 | |
invoke.cont86: ; preds = %if.else | |
%cmp88 = fcmp olt double %call87, 5.000000e-02 | |
br i1 %cmp88, label %land.lhs.true89, label %if.end100 | |
land.lhs.true89: ; preds = %invoke.cont86 | |
%52 = load double, double* %y, align 8 | |
%sub90 = fsub double %52, 5.000000e-01 | |
%call92 = invoke double @_ZSt3absd(double %sub90) | |
to label %invoke.cont91 unwind label %lpad55 | |
invoke.cont91: ; preds = %land.lhs.true89 | |
%cmp93 = fcmp olt double %call92, 5.000000e-02 | |
br i1 %cmp93, label %land.lhs.true94, label %if.end100 | |
land.lhs.true94: ; preds = %invoke.cont91 | |
%53 = load double, double* %z, align 8 | |
%sub95 = fsub double %53, 5.000000e-01 | |
%call97 = invoke double @_ZSt3absd(double %sub95) | |
to label %invoke.cont96 unwind label %lpad55 | |
invoke.cont96: ; preds = %land.lhs.true94 | |
%cmp98 = fcmp olt double %call97, 5.000000e-02 | |
br i1 %cmp98, label %if.then99, label %if.end100 | |
if.then99: ; preds = %invoke.cont96 | |
store i8 1, i8* %verify_this_point, align 1 | |
br label %if.end100 | |
if.end100: ; preds = %if.then99, %invoke.cont96, %invoke.cont91, %invoke.cont86 | |
br label %if.end101 | |
if.end101: ; preds = %if.end100, %if.then85 | |
%54 = load i8, i8* %verify_this_point, align 1 | |
%tobool102 = trunc i8 %54 to i1 | |
br i1 %tobool102, label %if.then103, label %if.end108 | |
if.then103: ; preds = %if.end101 | |
invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(%"class.std::vector.15"* %rows, i32* dereferenceable(4) %roffset) | |
to label %invoke.cont104 unwind label %lpad55 | |
invoke.cont104: ; preds = %if.then103 | |
invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(%"class.std::vector.20"* %row_coords, double* dereferenceable(8) %x83) | |
to label %invoke.cont105 unwind label %lpad55 | |
invoke.cont105: ; preds = %invoke.cont104 | |
invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(%"class.std::vector.20"* %row_coords, double* dereferenceable(8) %y) | |
to label %invoke.cont106 unwind label %lpad55 | |
invoke.cont106: ; preds = %invoke.cont105 | |
invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(%"class.std::vector.20"* %row_coords, double* dereferenceable(8) %z) | |
to label %invoke.cont107 unwind label %lpad55 | |
invoke.cont107: ; preds = %invoke.cont106 | |
br label %if.end108 | |
if.end108: ; preds = %invoke.cont107, %if.end101 | |
%55 = load i32, i32* %roffset, align 4 | |
%inc109 = add nsw i32 %55, 1 | |
store i32 %inc109, i32* %roffset, align 4 | |
br label %for.inc | |
for.inc: ; preds = %if.end108 | |
%56 = load i32, i32* %ix, align 4 | |
%inc110 = add nsw i32 %56, 1 | |
store i32 %inc110, i32* %ix, align 4 | |
br label %for.cond75 | |
for.end: ; preds = %invoke.cont76 | |
br label %for.inc111 | |
for.inc111: ; preds = %for.end | |
%57 = load i32, i32* %iy, align 4 | |
%inc112 = add nsw i32 %57, 1 | |
store i32 %inc112, i32* %iy, align 4 | |
br label %for.cond66 | |
for.end113: ; preds = %invoke.cont67 | |
br label %for.inc114 | |
for.inc114: ; preds = %for.end113 | |
%58 = load i32, i32* %iz, align 4 | |
%inc115 = add nsw i32 %58, 1 | |
store i32 %inc115, i32* %iz, align 4 | |
br label %for.cond | |
for.end116: ; preds = %invoke.cont59 | |
store i32 0, i32* %return_code, align 4 | |
store i32 300, i32* %num_terms, align 4 | |
%err = getelementptr inbounds %"struct.miniFE::err_info", %"struct.miniFE::err_info"* %max_error, i32 0, i32 0 | |
store double 0.000000e+00, double* %err, align 8 | |
store i64 0, i64* %i, align 8 | |
br label %for.cond117 | |
for.cond117: ; preds = %for.inc172, %for.end116 | |
%59 = load i64, i64* %i, align 8 | |
%call119 = invoke i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(%"class.std::vector.15"* %rows) | |
to label %invoke.cont118 unwind label %lpad55 | |
invoke.cont118: ; preds = %for.cond117 | |
%cmp120 = icmp ult i64 %59, %call119 | |
br i1 %cmp120, label %for.body121, label %for.end174 | |
for.body121: ; preds = %invoke.cont118 | |
%60 = load %"struct.miniFE::Vector"*, %"struct.miniFE::Vector"** %x.addr, align 8 | |
%coefs = getelementptr inbounds %"struct.miniFE::Vector", %"struct.miniFE::Vector"* %60, i32 0, i32 2 | |
%61 = load i64, i64* %i, align 8 | |
%call123 = invoke dereferenceable(4) i32* @_ZNSt6vectorIiSaIiEEixEm(%"class.std::vector.15"* %rows, i64 %61) | |
to label %invoke.cont122 unwind label %lpad55 | |
invoke.cont122: ; preds = %for.body121 | |
%62 = load i32, i32* %call123, align 4 | |
%conv = sext i32 %62 to i64 | |
%call125 = invoke dereferenceable(8) double* @_ZNKSt6vectorIdSaIdEEixEm(%"class.std::vector.20"* %coefs, i64 %conv) | |
to label %invoke.cont124 unwind label %lpad55 | |
invoke.cont124: ; preds = %invoke.cont122 | |
%63 = load double, double* %call125, align 8 | |
store double %63, double* %computed_soln, align 8 | |
%64 = load i64, i64* %i, align 8 | |
%mul = mul i64 %64, 3 | |
%call128 = invoke dereferenceable(8) double* @_ZNSt6vectorIdSaIdEEixEm(%"class.std::vector.20"* %row_coords, i64 %mul) | |
to label %invoke.cont127 unwind label %lpad55 | |
invoke.cont127: ; preds = %invoke.cont124 | |
%65 = load double, double* %call128, align 8 | |
store double %65, double* %x126, align 8 | |
%66 = load i64, i64* %i, align 8 | |
%mul130 = mul i64 %66, 3 | |
%add131 = add i64 %mul130, 1 | |
%call133 = invoke dereferenceable(8) double* @_ZNSt6vectorIdSaIdEEixEm(%"class.std::vector.20"* %row_coords, i64 %add131) | |
to label %invoke.cont132 unwind label %lpad55 | |
invoke.cont132: ; preds = %invoke.cont127 | |
%67 = load double, double* %call133, align 8 | |
store double %67, double* %y129, align 8 | |
%68 = load i64, i64* %i, align 8 | |
%mul135 = mul i64 %68, 3 | |
%add136 = add i64 %mul135, 2 | |
%call138 = invoke dereferenceable(8) double* @_ZNSt6vectorIdSaIdEEixEm(%"class.std::vector.20"* %row_coords, i64 %add136) | |
to label %invoke.cont137 unwind label %lpad55 | |
invoke.cont137: ; preds = %invoke.cont132 | |
%69 = load double, double* %call138, align 8 | |
store double %69, double* %z134, align 8 | |
store double 0.000000e+00, double* %analytic_soln, align 8 | |
%70 = load double, double* %x126, align 8 | |
%cmp139 = fcmp oeq double %70, 1.000000e+00 | |
br i1 %cmp139, label %if.then140, label %if.else141 | |
if.then140: ; preds = %invoke.cont137 | |
store double 1.000000e+00, double* %analytic_soln, align 8 | |
br label %if.end157 | |
if.else141: ; preds = %invoke.cont137 | |
%71 = load double, double* %x126, align 8 | |
%cmp142 = fcmp oeq double %71, 0.000000e+00 | |
br i1 %cmp142, label %if.then146, label %lor.lhs.false | |
lor.lhs.false: ; preds = %if.else141 | |
%72 = load double, double* %y129, align 8 | |
%cmp143 = fcmp oeq double %72, 0.000000e+00 | |
br i1 %cmp143, label %if.then146, label %lor.lhs.false144 | |
lor.lhs.false144: ; preds = %lor.lhs.false | |
%73 = load double, double* %z134, align 8 | |
%cmp145 = fcmp oeq double %73, 0.000000e+00 | |
br i1 %cmp145, label %if.then146, label %if.else147 | |
if.then146: ; preds = %lor.lhs.false144, %lor.lhs.false, %if.else141 | |
store double 0.000000e+00, double* %analytic_soln, align 8 | |
br label %if.end156 | |
if.else147: ; preds = %lor.lhs.false144 | |
%74 = load double, double* %y129, align 8 | |
%cmp148 = fcmp oeq double %74, 1.000000e+00 | |
br i1 %cmp148, label %if.then151, label %lor.lhs.false149 | |
lor.lhs.false149: ; preds = %if.else147 | |
%75 = load double, double* %z134, align 8 | |
%cmp150 = fcmp oeq double %75, 1.000000e+00 | |
br i1 %cmp150, label %if.then151, label %if.else152 | |
if.then151: ; preds = %lor.lhs.false149, %if.else147 | |
store double 0.000000e+00, double* %analytic_soln, align 8 | |
br label %if.end155 | |
if.else152: ; preds = %lor.lhs.false149 | |
%76 = load double, double* %x126, align 8 | |
%77 = load double, double* %y129, align 8 | |
%78 = load double, double* %z134, align 8 | |
%call154 = invoke double @_ZN6miniFE4solnEdddii(double %76, double %77, double %78, i32 300, i32 300) | |
to label %invoke.cont153 unwind label %lpad55 | |
invoke.cont153: ; preds = %if.else152 | |
store double %call154, double* %analytic_soln, align 8 | |
br label %if.end155 | |
if.end155: ; preds = %invoke.cont153, %if.then151 | |
br label %if.end156 | |
if.end156: ; preds = %if.end155, %if.then146 | |
br label %if.end157 | |
if.end157: ; preds = %if.end156, %if.then140 | |
%79 = load double, double* %analytic_soln, align 8 | |
%80 = load double, double* %computed_soln, align 8 | |
%sub159 = fsub double %79, %80 | |
%call161 = invoke double @_ZSt3absd(double %sub159) | |
to label %invoke.cont160 unwind label %lpad55 | |
invoke.cont160: ; preds = %if.end157 | |
store double %call161, double* %err158, align 8 | |
%81 = load double, double* %err158, align 8 | |
%err162 = getelementptr inbounds %"struct.miniFE::err_info", %"struct.miniFE::err_info"* %max_error, i32 0, i32 0 | |
%82 = load double, double* %err162, align 8 | |
%cmp163 = fcmp ogt double %81, %82 | |
br i1 %cmp163, label %if.then164, label %if.end171 | |
if.then164: ; preds = %invoke.cont160 | |
%83 = load double, double* %err158, align 8 | |
%err165 = getelementptr inbounds %"struct.miniFE::err_info", %"struct.miniFE::err_info"* %max_error, i32 0, i32 0 | |
store double %83, double* %err165, align 8 | |
%84 = load double, double* %computed_soln, align 8 | |
%computed = getelementptr inbounds %"struct.miniFE::err_info", %"struct.miniFE::err_info"* %max_error, i32 0, i32 1 | |
store double %84, double* %computed, align 8 | |
%85 = load double, double* %analytic_soln, align 8 | |
%analytic = getelementptr inbounds %"struct.miniFE::err_info", %"struct.miniFE::err_info"* %max_error, i32 0, i32 2 | |
store double %85, double* %analytic, align 8 | |
%86 = load double, double* %x126, align 8 | |
%coords = getelementptr inbounds %"struct.miniFE::err_info", %"struct.miniFE::err_info"* %max_error, i32 0, i32 3 | |
%arrayidx166 = getelementptr inbounds [3 x double], [3 x double]* %coords, i64 0, i64 0 | |
store double %86, double* %arrayidx166, align 8 | |
%87 = load double, double* %y129, align 8 | |
%coords167 = getelementptr inbounds %"struct.miniFE::err_info", %"struct.miniFE::err_info"* %max_error, i32 0, i32 3 | |
%arrayidx168 = getelementptr inbounds [3 x double], [3 x double]* %coords167, i64 0, i64 1 | |
store double %87, double* %arrayidx168, align 8 | |
%88 = load double, double* %z134, align 8 | |
%coords169 = getelementptr inbounds %"struct.miniFE::err_info", %"struct.miniFE::err_info"* %max_error, i32 0, i32 3 | |
%arrayidx170 = getelementptr inbounds [3 x double], [3 x double]* %coords169, i64 0, i64 2 | |
store double %88, double* %arrayidx170, align 8 | |
br label %if.end171 | |
if.end171: ; preds = %if.then164, %invoke.cont160 | |
br label %for.inc172 | |
for.inc172: ; preds = %if.end171 | |
%89 = load i64, i64* %i, align 8 | |
%inc173 = add i64 %89, 1 | |
store i64 %inc173, i64* %i, align 8 | |
br label %for.cond117 | |
for.end174: ; preds = %invoke.cont118 | |
%err175 = getelementptr inbounds %"struct.miniFE::err_info", %"struct.miniFE::err_info"* %max_er |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment