Created
June 21, 2022 05:03
-
-
Save chandlerc/7346e831145d0c00723be7e18c07b254 to your computer and use it in GitHub Desktop.
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 = '<stdin>' | |
source_filename = "/tmp/RISCVAttributeParser-87fe8d.cpp" | |
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-unknown-linux-gnu" | |
%"struct.llvm::RISCVAttributeParser::DisplayHandler" = type { i32, { i64, i64 } } | |
%"struct.std::__1::__libcpp_debug_info" = type { i8*, i32, i8*, i8* } | |
%"class.llvm::Error" = type { %"class.llvm::ErrorInfoBase"* } | |
%"class.llvm::ErrorInfoBase" = type { i32 (...)** } | |
%"class.llvm::ELFAttributeParser" = type { i32 (...)**, %"class.llvm::StringRef", %"class.std::__1::unordered_map", %"class.std::__1::unordered_map.15", %"class.llvm::ScopedPrinter"*, %"class.llvm::ArrayRef", %"class.llvm::DataExtractor", %"class.llvm::DataExtractor::Cursor" } | |
%"class.llvm::StringRef" = type { i8*, i64 } | |
%"class.std::__1::unordered_map" = type { %"class.std::__1::__hash_table" } | |
%"class.std::__1::__hash_table" = type <{ %"class.std::__1::unique_ptr", %"class.std::__1::__compressed_pair.4", %"class.std::__1::__compressed_pair.10", %"class.std::__1::__compressed_pair.12", [4 x i8] }> | |
%"class.std::__1::unique_ptr" = type { %"class.std::__1::__compressed_pair" } | |
%"class.std::__1::__compressed_pair" = type { %"struct.std::__1::__compressed_pair_elem", %"struct.std::__1::__compressed_pair_elem.0" } | |
%"struct.std::__1::__compressed_pair_elem" = type { %"struct.std::__1::__hash_node_base"** } | |
%"struct.std::__1::__hash_node_base" = type { %"struct.std::__1::__hash_node_base"* } | |
%"struct.std::__1::__compressed_pair_elem.0" = type { %"class.std::__1::__bucket_list_deallocator" } | |
%"class.std::__1::__bucket_list_deallocator" = type { %"class.std::__1::__compressed_pair.1" } | |
%"class.std::__1::__compressed_pair.1" = type { %"struct.std::__1::__compressed_pair_elem.2" } | |
%"struct.std::__1::__compressed_pair_elem.2" = type { i64 } | |
%"class.std::__1::__compressed_pair.4" = type { %"struct.std::__1::__compressed_pair_elem.5" } | |
%"struct.std::__1::__compressed_pair_elem.5" = type { %"struct.std::__1::__hash_node_base" } | |
%"class.std::__1::__compressed_pair.10" = type { %"struct.std::__1::__compressed_pair_elem.2" } | |
%"class.std::__1::__compressed_pair.12" = type { %"struct.std::__1::__compressed_pair_elem.13" } | |
%"struct.std::__1::__compressed_pair_elem.13" = type { float } | |
%"class.std::__1::unordered_map.15" = type { %"class.std::__1::__hash_table.16" } | |
%"class.std::__1::__hash_table.16" = type <{ %"class.std::__1::unique_ptr.17", %"class.std::__1::__compressed_pair.28", %"class.std::__1::__compressed_pair.34", %"class.std::__1::__compressed_pair.37", [4 x i8] }> | |
%"class.std::__1::unique_ptr.17" = type { %"class.std::__1::__compressed_pair.18" } | |
%"class.std::__1::__compressed_pair.18" = type { %"struct.std::__1::__compressed_pair_elem.19", %"struct.std::__1::__compressed_pair_elem.21" } | |
%"struct.std::__1::__compressed_pair_elem.19" = type { %"struct.std::__1::__hash_node_base.20"** } | |
%"struct.std::__1::__hash_node_base.20" = type { %"struct.std::__1::__hash_node_base.20"* } | |
%"struct.std::__1::__compressed_pair_elem.21" = type { %"class.std::__1::__bucket_list_deallocator.22" } | |
%"class.std::__1::__bucket_list_deallocator.22" = type { %"class.std::__1::__compressed_pair.23" } | |
%"class.std::__1::__compressed_pair.23" = type { %"struct.std::__1::__compressed_pair_elem.2" } | |
%"class.std::__1::__compressed_pair.28" = type { %"struct.std::__1::__compressed_pair_elem.29" } | |
%"struct.std::__1::__compressed_pair_elem.29" = type { %"struct.std::__1::__hash_node_base.20" } | |
%"class.std::__1::__compressed_pair.34" = type { %"struct.std::__1::__compressed_pair_elem.2" } | |
%"class.std::__1::__compressed_pair.37" = type { %"struct.std::__1::__compressed_pair_elem.13" } | |
%"class.llvm::ScopedPrinter" = type opaque | |
%"class.llvm::ArrayRef" = type { %"struct.llvm::TagNameItem"*, i64 } | |
%"struct.llvm::TagNameItem" = type { i32, %"class.llvm::StringRef" } | |
%"class.llvm::DataExtractor" = type <{ %"class.llvm::StringRef", i8, i8, [6 x i8] }> | |
%"class.llvm::DataExtractor::Cursor" = type { i64, %"class.llvm::Error" } | |
%"class.llvm::RISCVAttributeParser" = type { %"class.llvm::ELFAttributeParser" } | |
%"class.std::__1::basic_string" = type { %"class.std::__1::__compressed_pair.42" } | |
%"class.std::__1::__compressed_pair.42" = type { %"struct.std::__1::__compressed_pair_elem.43" } | |
%"struct.std::__1::__compressed_pair_elem.43" = type { %"struct.std::__1::basic_string<char>::__rep" } | |
%"struct.std::__1::basic_string<char>::__rep" = type { %union.anon } | |
%union.anon = type { %"struct.std::__1::basic_string<char>::__long" } | |
%"struct.std::__1::basic_string<char>::__long" = type { i64, i64, i8* } | |
%"struct.std::__1::basic_string<char>::__short" = type { %union.anon.44, [23 x i8] } | |
%union.anon.44 = type { i8 } | |
%"struct.std::__1::__default_init_tag" = type { i8 } | |
%"class.std::__1::__libcpp_db" = type { %"struct.std::__1::__c_node"**, %"struct.std::__1::__c_node"**, i64, %"struct.std::__1::__i_node"**, %"struct.std::__1::__i_node"**, i64 } | |
%"struct.std::__1::__c_node" = type { i32 (...)**, i8*, %"struct.std::__1::__c_node"*, %"struct.std::__1::__i_node"**, %"struct.std::__1::__i_node"**, %"struct.std::__1::__i_node"** } | |
%"struct.std::__1::__i_node" = type { i8*, %"struct.std::__1::__i_node"*, %"struct.std::__1::__c_node"* } | |
%"class.std::__1::__basic_string_common" = type { i8 } | |
%"class.std::length_error" = type { %"class.std::logic_error" } | |
%"class.std::logic_error" = type { %"class.std::exception", %"class.std::__1::__libcpp_refstring" } | |
%"class.std::exception" = type { i32 (...)** } | |
%"class.std::__1::__libcpp_refstring" = type { i8* } | |
%"struct.std::__1::_C_node" = type { %"struct.std::__1::__c_node" } | |
%"class.std::__1::__wrap_iter" = type { i8* } | |
%"class.std::out_of_range" = type { %"class.std::logic_error" } | |
$_ZN4llvm20RISCVAttributeParser10stackAlignEj = comdat nodeduplicate | |
$_ZN4llvm20RISCVAttributeParser15unalignedAccessEj = comdat nodeduplicate | |
$_ZN4llvm6utostrEmb = comdat any | |
$_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IDnEEPKc = comdat any | |
$_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev = comdat any | |
$_ZN4llvm20RISCVAttributeParser7handlerEmRb = comdat nodeduplicate | |
$_ZN4llvm18ELFAttributeParserD2Ev = comdat any | |
$_ZN4llvm20RISCVAttributeParserD0Ev = comdat any | |
$_ZNSt3__117__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_EC2INS_18__default_init_tagESA_EEOT_OT0_ = comdat any | |
$_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9_MetaBaseIXsr27__is_cpp17_forward_iteratorIT_EE5valueEE13_EnableIfImplIvEES9_S9_ = comdat any | |
$_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE20__throw_length_errorEv = comdat any | |
$_ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv = comdat any | |
$_ZNSt3__120__throw_length_errorEPKc = comdat any | |
$_ZNSt12length_errorC2EPKc = comdat any | |
$_ZNSt3__111__libcpp_db15__create_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEPNS_8__c_nodeEPvSA_S9_ = comdat any | |
$_ZNSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEED0Ev = comdat any | |
$_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE17__dereferenceableEPKv = comdat any | |
$_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE15__decrementableEPKv = comdat any | |
$_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE9__addableEPKvl = comdat any | |
$_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE15__subscriptableEPKvl = comdat any | |
$_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__dereferenceableEPKNS_11__wrap_iterIPKcEE = comdat any | |
$_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__decrementableEPKNS_11__wrap_iterIPKcEE = comdat any | |
$_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__addableEPKNS_11__wrap_iterIPKcEEl = comdat any | |
$_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__subscriptableEPKNS_11__wrap_iterIPKcEEl = comdat any | |
$__clang_call_terminate = comdat any | |
$_ZN4llvm18ELFAttributeParserD0Ev = comdat any | |
$_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEED2Ev = comdat any | |
$_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE = comdat any | |
$_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorISB_EEEEED2Ev = comdat any | |
$_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorISB_EEEEE5resetEDn = comdat any | |
$_ZNSt3__125__bucket_list_deallocatorINS_9allocatorIPNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEEEEclEPSC_ = comdat any | |
$_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEED2Ev = comdat any | |
$_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE = comdat any | |
$_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorIS9_EEEEED2Ev = comdat any | |
$_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorIS9_EEEEE5resetEDn = comdat any | |
$_ZNSt3__125__bucket_list_deallocatorINS_9allocatorIPNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEEEEclEPSA_ = comdat any | |
$_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_ = comdat any | |
$_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm = comdat any | |
$_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE20__throw_out_of_rangeEv = comdat any | |
$_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc = comdat any | |
$_ZNKSt3__121__basic_string_commonILb1EE20__throw_out_of_rangeEv = comdat any | |
$_ZNSt3__120__throw_out_of_rangeEPKc = comdat any | |
$_ZNSt12out_of_rangeC2EPKc = comdat any | |
$_ZNSt3__111char_traitsIcE4copyEPcPKcm = comdat any | |
$_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__zeroEv = comdat any | |
$_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm = comdat any | |
$_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_ = comdat any | |
$_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm = comdat any | |
$sancov.module_ctor_8bit_counters = comdat any | |
$_ZTSN4llvm18ELFAttributeParserE = comdat any | |
$_ZTIN4llvm18ELFAttributeParserE = comdat any | |
$_ZTSFNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEmbE = comdat any | |
$_ZTIFNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEmbE = comdat any | |
$_ZTSFvPKcE = comdat any | |
$_ZTIFvPKcE = comdat any | |
$_ZTSFPNSt3__18__c_nodeEPvS2_S1_E = comdat any | |
$_ZTIFPNSt3__18__c_nodeEPvS2_S1_E = comdat any | |
$_ZTVNSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEE = comdat any | |
$_ZTSNSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEE = comdat any | |
$_ZTINSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEE = comdat any | |
$_ZTVN4llvm18ELFAttributeParserE = comdat any | |
$_ZTSFvRKNSt3__119__libcpp_debug_infoEE = comdat any | |
$_ZTIFvRKNSt3__119__libcpp_debug_infoEE = comdat any | |
$_ZTSFPcS_PKcmE = comdat any | |
$_ZTIFPcS_PKcmE = comdat any | |
@_ZN4llvm24DisableABIBreakingChecksE = external global i32, align 4 | |
@_ZN4llvm30VerifyDisableABIBreakingChecksE = weak hidden local_unnamed_addr global i32* @_ZN4llvm24DisableABIBreakingChecksE, align 8 | |
@_ZN4llvm20RISCVAttributeParser15displayRoutinesE = constant { [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"], [48 x i8] } { [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"] [%"struct.llvm::RISCVAttributeParser::DisplayHandler" { i32 5, { i64, i64 } { i64 ptrtoint (void (%"class.llvm::Error"*, %"class.llvm::ELFAttributeParser"*, i32)* @_ZN4llvm18ELFAttributeParser15stringAttributeEj to i64), i64 0 } }, %"struct.llvm::RISCVAttributeParser::DisplayHandler" { i32 8, { i64, i64 } { i64 ptrtoint (void (%"class.llvm::Error"*, %"class.llvm::ELFAttributeParser"*, i32)* @_ZN4llvm18ELFAttributeParser16integerAttributeEj to i64), i64 0 } }, %"struct.llvm::RISCVAttributeParser::DisplayHandler" { i32 10, { i64, i64 } { i64 ptrtoint (void (%"class.llvm::Error"*, %"class.llvm::ELFAttributeParser"*, i32)* @_ZN4llvm18ELFAttributeParser16integerAttributeEj to i64), i64 0 } }, %"struct.llvm::RISCVAttributeParser::DisplayHandler" { i32 12, { i64, i64 } { i64 ptrtoint (void (%"class.llvm::Error"*, %"class.llvm::ELFAttributeParser"*, i32)* @_ZN4llvm18ELFAttributeParser16integerAttributeEj to i64), i64 0 } }, %"struct.llvm::RISCVAttributeParser::DisplayHandler" { i32 4, { i64, i64 } { i64 ptrtoint (void (%"class.llvm::Error"*, %"class.llvm::RISCVAttributeParser"*, i32)* @_ZN4llvm20RISCVAttributeParser10stackAlignEj to i64), i64 0 } }, %"struct.llvm::RISCVAttributeParser::DisplayHandler" { i32 6, { i64, i64 } { i64 ptrtoint (void (%"class.llvm::Error"*, %"class.llvm::RISCVAttributeParser"*, i32)* @_ZN4llvm20RISCVAttributeParser15unalignedAccessEj to i64), i64 0 } }], [48 x i8] zeroinitializer }, align 32 | |
@.src = private unnamed_addr constant [25 x i8] c"RISCVAttributeParser.cpp\00", align 1 | |
@_ZZN4llvm20RISCVAttributeParser15unalignedAccessEjE7strings = internal global { [2 x i8*], [16 x i8] } { [2 x i8*] [i8* getelementptr inbounds ({ [20 x i8], [44 x i8] }, { [20 x i8], [44 x i8] }* @.str, i32 0, i32 0, i32 0), i8* getelementptr inbounds ({ [17 x i8], [47 x i8] }, { [17 x i8], [47 x i8] }* @.str.1, i32 0, i32 0, i32 0)], [16 x i8] zeroinitializer }, align 32 | |
@.str = internal constant { [20 x i8], [44 x i8] } { [20 x i8] c"No unaligned access\00", [44 x i8] zeroinitializer }, align 32 | |
@.str.1 = internal constant { [17 x i8], [47 x i8] } { [17 x i8] c"Unaligned access\00", [47 x i8] zeroinitializer }, align 32 | |
@.str.2 = internal constant { [17 x i8], [47 x i8] } { [17 x i8] c"Unaligned_access\00", [47 x i8] zeroinitializer }, align 32 | |
@.str.3 = internal constant { [20 x i8], [44 x i8] } { [20 x i8] c"Stack alignment is \00", [44 x i8] zeroinitializer }, align 32 | |
@.str.4 = internal constant { [7 x i8], [25 x i8] } { [7 x i8] c"-bytes\00", [25 x i8] zeroinitializer }, align 32 | |
@0 = private unnamed_addr constant { i16, i16, [14 x i8] } { i16 -1, i16 0, [14 x i8] c"'std::string'\00" } | |
@1 = private unnamed_addr constant { i16, i16, [14 x i8] } { i16 -1, i16 0, [14 x i8] c"'llvm::Error'\00" } | |
@2 = private unnamed_addr global { { [25 x i8]*, i32, i32 }, { i16, i16, [14 x i8] }*, i8, i8 } { { [25 x i8]*, i32, i32 } { [25 x i8]* @.src, i32 51, i32 10 }, { i16, i16, [14 x i8] }* @1, i8 3, i8 5 } | |
@3 = private unnamed_addr global { { [25 x i8]*, i32, i32 } } { { [25 x i8]*, i32, i32 } { [25 x i8]* @.src, i32 58, i32 18 } } | |
@4 = private unnamed_addr global { { [25 x i8]*, i32, i32 } } { { [25 x i8]*, i32, i32 } { [25 x i8]* @.src, i32 59, i32 29 } } | |
@5 = private unnamed_addr global { { [25 x i8]*, i32, i32 }, { i16, i16, [14 x i8] }*, i8, i8 } { { [25 x i8]*, i32, i32 } { [25 x i8]* @.src, i32 66, i32 10 }, { i16, i16, [14 x i8] }* @1, i8 3, i8 5 } | |
@_ZTVN4llvm20RISCVAttributeParserE = constant { { [5 x i8*] }, [56 x i8] } { { [5 x i8*] } { [5 x i8*] [i8* null, i8* bitcast ({ { i8*, i8*, i8* }, [40 x i8] }* @_ZTIN4llvm20RISCVAttributeParserE to i8*), i8* bitcast (void (%"class.llvm::Error"*, %"class.llvm::RISCVAttributeParser"*, i64, i8*)* @_ZN4llvm20RISCVAttributeParser7handlerEmRb to i8*), i8* bitcast (void (%"class.llvm::ELFAttributeParser"*)* @_ZN4llvm18ELFAttributeParserD2Ev to i8*), i8* bitcast (void (%"class.llvm::RISCVAttributeParser"*)* @_ZN4llvm20RISCVAttributeParserD0Ev to i8*)] }, [56 x i8] zeroinitializer }, align 32 | |
@_ZTVN10__cxxabiv120__si_class_type_infoE = external global i8* | |
@_ZTSN4llvm20RISCVAttributeParserE = constant { [30 x i8], [34 x i8] } { [30 x i8] c"N4llvm20RISCVAttributeParserE\00", [34 x i8] zeroinitializer }, align 32 | |
@_ZTVN10__cxxabiv117__class_type_infoE = external global i8* | |
@_ZTSN4llvm18ELFAttributeParserE = linkonce_odr constant [28 x i8] c"N4llvm18ELFAttributeParserE\00", comdat, align 1 | |
@_ZTIN4llvm18ELFAttributeParserE = linkonce_odr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv117__class_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ([28 x i8], [28 x i8]* @_ZTSN4llvm18ELFAttributeParserE, i32 0, i32 0) }, comdat, align 8 | |
@_ZTIN4llvm20RISCVAttributeParserE = constant { { i8*, i8*, i8* }, [40 x i8] } { { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ({ [30 x i8], [34 x i8] }, { [30 x i8], [34 x i8] }* @_ZTSN4llvm20RISCVAttributeParserE, i32 0, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN4llvm18ELFAttributeParserE to i8*) }, [40 x i8] zeroinitializer }, align 32 | |
@_ZTVN10__cxxabiv120__function_type_infoE = external global i8* | |
@_ZTSFNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEmbE = linkonce_odr constant [67 x i8] c"FNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEmbE\00", comdat, align 1 | |
@_ZTIFNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEmbE = linkonce_odr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv120__function_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ([67 x i8], [67 x i8]* @_ZTSFNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEmbE, i32 0, i32 0) }, comdat, align 8 | |
@6 = internal constant { i8*, [24 x i8] } { i8* bitcast ({ i8*, i8* }* @_ZTIFNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEmbE to i8*), [24 x i8] zeroinitializer }, align 32 | |
@.src.6 = private unnamed_addr constant [15 x i8] c"StringExtras.h\00", align 1 | |
@7 = private unnamed_addr global { { [15 x i8]*, i32, i32 } } { { [15 x i8]*, i32, i32 } { [15 x i8]* @.src.6, i32 303, i32 6 } } | |
@8 = private unnamed_addr global { { [15 x i8]*, i32, i32 } } { { [15 x i8]*, i32, i32 } { [15 x i8]* @.src.6, i32 307, i32 15 } } | |
@9 = private unnamed_addr global { { [15 x i8]*, i32, i32 }, { i16, i16, [14 x i8] }*, i8, i8 } { { [15 x i8]*, i32, i32 } { [15 x i8]* @.src.6, i32 308, i32 10 }, { i16, i16, [14 x i8] }* @0, i8 3, i8 5 } | |
@.src.7 = private unnamed_addr constant [9 x i8] c"access.h\00", align 1 | |
@10 = private unnamed_addr global { { [9 x i8]*, i32, i32 } } { { [9 x i8]*, i32, i32 } { [9 x i8]* @.src.7, i32 38, i32 20 } } | |
@.src.8 = private unnamed_addr constant [7 x i8] c"string\00", align 1 | |
@11 = private unnamed_addr constant { i16, i16, [19 x i8] } { i16 -1, i16 0, [19 x i8] c"'std::__libcpp_db'\00" } | |
@12 = private unnamed_addr global { { [7 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2215, i32 17 }, { i16, i16, [19 x i8] }* @11, i8 3, i8 4 } | |
@13 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2173, i32 15 } } | |
@14 = private unnamed_addr constant { i16, i16, [61 x i8] } { i16 0, i16 7, [61 x i8] c"'const std::char_traits<char>::char_type' (aka 'const char')\00" } | |
@15 = private unnamed_addr global { { [7 x i8]*, i32, i32 }, { i16, i16, [61 x i8] }*, i8, i8 } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2194, i32 35 }, { i16, i16, [61 x i8] }* @14, i8 0, i8 2 } | |
@16 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2193, i32 31 } } | |
@17 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2193, i32 49 } } | |
@18 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 1721, i32 38 } } | |
@.str.13 = internal constant { [13 x i8], [19 x i8] } { [13 x i8] c"basic_string\00", [19 x i8] zeroinitializer }, align 32 | |
@19 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 627, i32 5 } } | |
@_ZTSFvPKcE = linkonce_odr constant [7 x i8] c"FvPKcE\00", comdat, align 1 | |
@_ZTIFvPKcE = linkonce_odr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv120__function_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @_ZTSFvPKcE, i32 0, i32 0) }, comdat, align 8 | |
@20 = internal constant { i8*, [24 x i8] } { i8* bitcast ({ i8*, i8* }* @_ZTIFvPKcE to i8*), [24 x i8] zeroinitializer }, align 32 | |
@.src.14 = private unnamed_addr constant [10 x i8] c"stdexcept\00", align 1 | |
@21 = private unnamed_addr constant { i16, i16, [20 x i8] } { i16 -1, i16 0, [20 x i8] c"'std::length_error'\00" } | |
@22 = private unnamed_addr global { { [10 x i8]*, i32, i32 }, { i16, i16, [20 x i8] }*, i8, i8 } { { [10 x i8]*, i32, i32 } { [10 x i8]* @.src.14, i32 256, i32 11 }, { i16, i16, [20 x i8] }* @21, i8 3, i8 5 } | |
@_ZTISt12length_error = external constant i8* | |
@_ZTVSt12length_error = external unnamed_addr constant { [5 x i8*] }, align 8 | |
@23 = private unnamed_addr constant { i16, i16, [51 x i8] } { i16 0, i16 7, [51 x i8] c"'std::basic_string<char>::value_type' (aka 'char')\00" } | |
@.src.17 = private unnamed_addr constant [8 x i8] c"__debug\00", align 1 | |
@_ZTSFPNSt3__18__c_nodeEPvS2_S1_E = linkonce_odr constant [29 x i8] c"FPNSt3__18__c_nodeEPvS2_S1_E\00", comdat, align 1 | |
@_ZTIFPNSt3__18__c_nodeEPvS2_S1_E = linkonce_odr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv120__function_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @_ZTSFPNSt3__18__c_nodeEPvS2_S1_E, i32 0, i32 0) }, comdat, align 8 | |
@24 = internal constant { i8*, [24 x i8] } { i8* bitcast ({ i8*, i8* }* @_ZTIFPNSt3__18__c_nodeEPvS2_S1_E to i8*), [24 x i8] zeroinitializer }, align 32 | |
@25 = private unnamed_addr constant { i16, i16, [23 x i8] } { i16 -1, i16 0, [23 x i8] c"'_C_node<std::string>'\00" } | |
@26 = private unnamed_addr global { { [8 x i8]*, i32, i32 }, { i16, i16, [23 x i8] }*, i8, i8 } { { [8 x i8]*, i32, i32 } { [8 x i8]* @.src.17, i32 224, i32 30 }, { i16, i16, [23 x i8] }* @25, i8 3, i8 5 } | |
@27 = private unnamed_addr constant { i16, i16, [16 x i8] } { i16 -1, i16 0, [16 x i8] c"'std::__c_node'\00" } | |
@_ZTVNSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEE = linkonce_odr unnamed_addr constant { [8 x i8*] } { [8 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEE to i8*), i8* bitcast (void (%"struct.std::__1::__c_node"*)* @_ZNSt3__18__c_nodeD2Ev to i8*), i8* bitcast (void (%"struct.std::__1::_C_node"*)* @_ZNSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEED0Ev to i8*), i8* bitcast (i1 (%"struct.std::__1::_C_node"*, i8*)* @_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE17__dereferenceableEPKv to i8*), i8* bitcast (i1 (%"struct.std::__1::_C_node"*, i8*)* @_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE15__decrementableEPKv to i8*), i8* bitcast (i1 (%"struct.std::__1::_C_node"*, i8*, i64)* @_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE9__addableEPKvl to i8*), i8* bitcast (i1 (%"struct.std::__1::_C_node"*, i8*, i64)* @_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE15__subscriptableEPKvl to i8*)] }, comdat, align 8 | |
@_ZTSNSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEE = linkonce_odr constant [77 x i8] c"NSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEE\00", comdat, align 1 | |
@_ZTINSt3__18__c_nodeE = external constant i8* | |
@_ZTINSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEE = linkonce_odr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @_ZTSNSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEE, i32 0, i32 0), i8* bitcast (i8** @_ZTINSt3__18__c_nodeE to i8*) }, comdat, align 8 | |
@28 = private unnamed_addr constant { i16, i16, [18 x i8] } { i16 -1, i16 0, [18 x i8] c"'std::__c_node *'\00" } | |
@_ZTVNSt3__18__c_nodeE = external unnamed_addr constant { [8 x i8*] }, align 8 | |
@29 = private unnamed_addr global { { [8 x i8]*, i32, i32 }, { i16, i16, [14 x i8] }*, i8, i8 } { { [8 x i8]*, i32, i32 } { [8 x i8]* @.src.17, i32 157, i32 17 }, { i16, i16, [14 x i8] }* @0, i8 3, i8 4 } | |
@30 = private unnamed_addr constant { i16, i16, [33 x i8] } { i16 -1, i16 0, [33 x i8] c"'std::__wrap_iter<const char *>'\00" } | |
@31 = private unnamed_addr global { { [7 x i8]*, i32, i32 }, { i16, i16, [33 x i8] }*, i8, i8 } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 4512, i32 53 }, { i16, i16, [33 x i8] }* @30, i8 3, i8 4 } | |
@32 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 4513, i32 60 } } | |
@33 = private unnamed_addr global { { [8 x i8]*, i32, i32 }, { i16, i16, [14 x i8] }*, i8, i8 } { { [8 x i8]*, i32, i32 } { [8 x i8]* @.src.17, i32 167, i32 17 }, { i16, i16, [14 x i8] }* @0, i8 3, i8 4 } | |
@34 = private unnamed_addr global { { [7 x i8]*, i32, i32 }, { i16, i16, [33 x i8] }*, i8, i8 } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 4520, i32 52 }, { i16, i16, [33 x i8] }* @30, i8 3, i8 4 } | |
@35 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 4521, i32 61 } } | |
@36 = private unnamed_addr global { { [8 x i8]*, i32, i32 }, { i16, i16, [14 x i8] }*, i8, i8 } { { [8 x i8]*, i32, i32 } { [8 x i8]* @.src.17, i32 177, i32 17 }, { i16, i16, [14 x i8] }* @0, i8 3, i8 4 } | |
@37 = private unnamed_addr global { { [7 x i8]*, i32, i32 }, { i16, i16, [33 x i8] }*, i8, i8 } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 4528, i32 54 }, { i16, i16, [33 x i8] }* @30, i8 3, i8 4 } | |
@38 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 4528, i32 62 } } | |
@39 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 4529, i32 55 } } | |
@40 = private unnamed_addr global { { [8 x i8]*, i32, i32 }, { i16, i16, [14 x i8] }*, i8, i8 } { { [8 x i8]*, i32, i32 } { [8 x i8]* @.src.17, i32 187, i32 17 }, { i16, i16, [14 x i8] }* @0, i8 3, i8 4 } | |
@41 = private unnamed_addr global { { [7 x i8]*, i32, i32 }, { i16, i16, [33 x i8] }*, i8, i8 } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 4536, i32 54 }, { i16, i16, [33 x i8] }* @30, i8 3, i8 4 } | |
@42 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 4536, i32 62 } } | |
@43 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 4537, i32 54 } } | |
@.src.20 = private unnamed_addr constant [8 x i8] c"Error.h\00", align 1 | |
@44 = private unnamed_addr constant { i16, i16, [22 x i8] } { i16 -1, i16 0, [22 x i8] c"'llvm::ErrorInfoBase'\00" } | |
@45 = private unnamed_addr global { { [8 x i8]*, i32, i32 }, { i16, i16, [22 x i8] }*, i8, i8 } { { [8 x i8]*, i32, i32 } { [8 x i8]* @.src.20, i32 227, i32 5 }, { i16, i16, [22 x i8] }* @44, i8 3, i8 4 } | |
@_ZTVN4llvm18ELFAttributeParserE = linkonce_odr unnamed_addr constant { [5 x i8*] } { [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTIN4llvm18ELFAttributeParserE to i8*), i8* bitcast (void ()* @__cxa_pure_virtual to i8*), i8* bitcast (void (%"class.llvm::ELFAttributeParser"*)* @_ZN4llvm18ELFAttributeParserD2Ev to i8*), i8* bitcast (void (%"class.llvm::ELFAttributeParser"*)* @_ZN4llvm18ELFAttributeParserD0Ev to i8*)] }, comdat, align 8 | |
@.src.24 = private unnamed_addr constant [13 x i8] c"__hash_table\00", align 1 | |
@46 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1521, i32 17 }, { i16, i16, [19 x i8] }* @11, i8 3, i8 4 } | |
@47 = private unnamed_addr constant { i16, i16, [107 x i8] } { i16 -1, i16 0, [107 x i8] c"'std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned int, llvm::StringRef>, void *> *>'\00" } | |
@48 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [107 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1563, i32 39 }, { i16, i16, [107 x i8] }* @47, i8 3, i8 3 } | |
@49 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1565, i32 37 }, { i16, i16, [19 x i8] }* @11, i8 3, i8 4 } | |
@50 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [16 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1566, i32 36 }, { i16, i16, [16 x i8] }* @27, i8 3, i8 3 } | |
@51 = private unnamed_addr constant { i16, i16, [19 x i8] } { i16 -1, i16 0, [19 x i8] c"'std::__i_node **'\00" } | |
@52 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1566, i32 36 }, { i16, i16, [19 x i8] }* @51, i8 3, i8 0 } | |
@53 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1566, i32 54 }, { i16, i16, [19 x i8] }* @51, i8 3, i8 0 } | |
@54 = private unnamed_addr global { { [13 x i8]*, i32, i32 } } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1568, i32 13 } } | |
@55 = private unnamed_addr constant { i16, i16, [18 x i8] } { i16 -1, i16 0, [18 x i8] c"'std::__i_node *'\00" } | |
@56 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [18 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1569, i32 53 }, { i16, i16, [18 x i8] }* @55, i8 3, i8 0 } | |
@57 = private unnamed_addr constant { i16, i16, [16 x i8] } { i16 -1, i16 0, [16 x i8] c"'std::__i_node'\00" } | |
@58 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [16 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1569, i32 60 }, { i16, i16, [16 x i8] }* @57, i8 3, i8 3 } | |
@59 = private unnamed_addr constant { i16, i16, [578 x i8] } { i16 -1, i16 0, [578 x i8] c"'std::__hash_table<std::__hash_value_type<unsigned int, llvm::StringRef>, std::__unordered_map_hasher<unsigned int, std::__hash_value_type<unsigned int, llvm::StringRef>, std::hash<unsigned int>, std::equal_to<unsigned int>, true>, std::__unordered_map_equal<unsigned int, std::__hash_value_type<unsigned int, llvm::StringRef>, std::equal_to<unsigned int>, std::hash<unsigned int>, true>, std::allocator<std::__hash_value_type<unsigned int, llvm::StringRef>>>::iterator' (aka '__hash_iterator<std::__hash_node<std::__hash_value_type<unsigned int, llvm::StringRef>, void *> *>')\00" } | |
@60 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [578 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1570, i32 22 }, { i16, i16, [578 x i8] }* @59, i8 3, i8 3 } | |
@61 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [18 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1572, i32 25 }, { i16, i16, [18 x i8] }* @28, i8 3, i8 1 } | |
@62 = private unnamed_addr global { { [13 x i8]*, i32, i32 } } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1573, i32 21 } } | |
@63 = private unnamed_addr global { { [13 x i8]*, i32, i32 } } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1574, i32 44 } } | |
@.src.25 = private unnamed_addr constant [9 x i8] c"string.h\00", align 1 | |
@64 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1577, i32 21 }, { i16, i16, [19 x i8] }* @11, i8 3, i8 4 } | |
@65 = private unnamed_addr constant { i16, i16, [82 x i8] } { i16 -1, i16 0, [82 x i8] c"'std::__hash_node<std::__hash_value_type<unsigned int, llvm::StringRef>, void *>'\00" } | |
@66 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [82 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1580, i32 71 }, { i16, i16, [82 x i8] }* @65, i8 3, i8 3 } | |
@67 = private unnamed_addr constant { i16, i16, [163 x i8] } { i16 -1, i16 0, [163 x i8] c"'std::__hash_node<std::__hash_value_type<unsigned int, llvm::StringRef>, void *>::__node_value_type' (aka 'std::__hash_value_type<unsigned int, llvm::StringRef>')\00" } | |
@68 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [163 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1580, i32 71 }, { i16, i16, [163 x i8] }* @67, i8 3, i8 2 } | |
@69 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1521, i32 17 }, { i16, i16, [19 x i8] }* @11, i8 3, i8 4 } | |
@70 = private unnamed_addr constant { i16, i16, [104 x i8] } { i16 -1, i16 0, [104 x i8] c"'std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned int, unsigned int>, void *> *>'\00" } | |
@71 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [104 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1563, i32 39 }, { i16, i16, [104 x i8] }* @70, i8 3, i8 3 } | |
@72 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1565, i32 37 }, { i16, i16, [19 x i8] }* @11, i8 3, i8 4 } | |
@73 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [16 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1566, i32 36 }, { i16, i16, [16 x i8] }* @27, i8 3, i8 3 } | |
@74 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1566, i32 36 }, { i16, i16, [19 x i8] }* @51, i8 3, i8 0 } | |
@75 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1566, i32 54 }, { i16, i16, [19 x i8] }* @51, i8 3, i8 0 } | |
@76 = private unnamed_addr global { { [13 x i8]*, i32, i32 } } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1568, i32 13 } } | |
@77 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [18 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1569, i32 53 }, { i16, i16, [18 x i8] }* @55, i8 3, i8 0 } | |
@78 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [16 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1569, i32 60 }, { i16, i16, [16 x i8] }* @57, i8 3, i8 3 } | |
@79 = private unnamed_addr constant { i16, i16, [563 x i8] } { i16 -1, i16 0, [563 x i8] c"'std::__hash_table<std::__hash_value_type<unsigned int, unsigned int>, std::__unordered_map_hasher<unsigned int, std::__hash_value_type<unsigned int, unsigned int>, std::hash<unsigned int>, std::equal_to<unsigned int>, true>, std::__unordered_map_equal<unsigned int, std::__hash_value_type<unsigned int, unsigned int>, std::equal_to<unsigned int>, std::hash<unsigned int>, true>, std::allocator<std::__hash_value_type<unsigned int, unsigned int>>>::iterator' (aka '__hash_iterator<std::__hash_node<std::__hash_value_type<unsigned int, unsigned int>, void *> *>')\00" } | |
@80 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [563 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1570, i32 22 }, { i16, i16, [563 x i8] }* @79, i8 3, i8 3 } | |
@81 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [18 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1572, i32 25 }, { i16, i16, [18 x i8] }* @28, i8 3, i8 1 } | |
@82 = private unnamed_addr global { { [13 x i8]*, i32, i32 } } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1573, i32 21 } } | |
@83 = private unnamed_addr global { { [13 x i8]*, i32, i32 } } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1574, i32 44 } } | |
@84 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1577, i32 21 }, { i16, i16, [19 x i8] }* @11, i8 3, i8 4 } | |
@85 = private unnamed_addr constant { i16, i16, [79 x i8] } { i16 -1, i16 0, [79 x i8] c"'std::__hash_node<std::__hash_value_type<unsigned int, unsigned int>, void *>'\00" } | |
@86 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [79 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1580, i32 71 }, { i16, i16, [79 x i8] }* @85, i8 3, i8 3 } | |
@87 = private unnamed_addr constant { i16, i16, [157 x i8] } { i16 -1, i16 0, [157 x i8] c"'std::__hash_node<std::__hash_value_type<unsigned int, unsigned int>, void *>::__node_value_type' (aka 'std::__hash_value_type<unsigned int, unsigned int>')\00" } | |
@88 = private unnamed_addr global { { [13 x i8]*, i32, i32 }, { i16, i16, [157 x i8] }*, i8, i8 } { { [13 x i8]*, i32, i32 } { [13 x i8]* @.src.24, i32 1580, i32 71 }, { i16, i16, [157 x i8] }* @87, i8 2, i8 2 } | |
@89 = private unnamed_addr global { { [7 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2265, i32 17 }, { i16, i16, [19 x i8] }* @11, i8 3, i8 4 } | |
@_ZNSt3__123__libcpp_debug_functionE = external local_unnamed_addr global void (%"struct.std::__1::__libcpp_debug_info"*)*, align 8 | |
@_ZTSFvRKNSt3__119__libcpp_debug_infoEE = linkonce_odr constant [35 x i8] c"FvRKNSt3__119__libcpp_debug_infoEE\00", comdat, align 1 | |
@_ZTIFvRKNSt3__119__libcpp_debug_infoEE = linkonce_odr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv120__function_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ([35 x i8], [35 x i8]* @_ZTSFvRKNSt3__119__libcpp_debug_infoEE, i32 0, i32 0) }, comdat, align 8 | |
@90 = private unnamed_addr constant { i16, i16, [45 x i8] } { i16 -1, i16 0, [45 x i8] c"'void (*)(const std::__libcpp_debug_info &)'\00" } | |
@.str.29 = internal constant { [77 x i8], [51 x i8] } { [77 x i8] c"/home/linuxbrew/.linuxbrew/Cellar/llvm/13.0.1_1/bin/../include/c++/v1/string\00", [51 x i8] zeroinitializer }, align 32 | |
@.str.30 = internal constant { [15 x i8], [17 x i8] } { [15 x i8] c"__s != nullptr\00", [17 x i8] zeroinitializer }, align 32 | |
@.str.31 = internal constant { [32 x i8], [32 x i8] } { [32 x i8] c"string::insert received nullptr\00", [32 x i8] zeroinitializer }, align 32 | |
@91 = private unnamed_addr global { { [7 x i8]*, i32, i32 }, { i16, i16, [45 x i8] }* } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2768, i32 5 }, { i16, i16, [45 x i8] }* @90 } | |
@.str.32 = internal constant { [27 x i8], [37 x i8] } { [27 x i8] c"__n == 0 || __s != nullptr\00", [37 x i8] zeroinitializer }, align 32 | |
@92 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2771, i32 15 } } | |
@93 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2781, i32 25 } } | |
@94 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2781, i32 53 } } | |
@95 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2782, i32 25 } } | |
@96 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2783, i32 47 } } | |
@97 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2785, i32 35 } } | |
@98 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2788, i32 33 } } | |
@99 = private unnamed_addr global { { [7 x i8]*, i32, i32 }, { i16, i16, [51 x i8] }*, i8, i8 } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2788, i32 33 }, { i16, i16, [51 x i8] }* @23, i8 0, i8 2 } | |
@100 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 1730, i32 38 } } | |
@101 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 634, i32 5 } } | |
@102 = internal constant { i8*, [24 x i8] } { i8* bitcast ({ i8*, i8* }* @_ZTIFvPKcE to i8*), [24 x i8] zeroinitializer }, align 32 | |
@103 = private unnamed_addr constant { i16, i16, [20 x i8] } { i16 -1, i16 0, [20 x i8] c"'std::out_of_range'\00" } | |
@104 = private unnamed_addr global { { [10 x i8]*, i32, i32 }, { i16, i16, [20 x i8] }*, i8, i8 } { { [10 x i8]*, i32, i32 } { [10 x i8]* @.src.14, i32 267, i32 11 }, { i16, i16, [20 x i8] }* @103, i8 3, i8 5 } | |
@_ZTISt12out_of_range = external constant i8* | |
@_ZTVSt12out_of_range = external unnamed_addr constant { [5 x i8*] }, align 8 | |
@_ZTSFPcS_PKcmE = linkonce_odr constant [11 x i8] c"FPcS_PKcmE\00", comdat, align 1 | |
@_ZTIFPcS_PKcmE = linkonce_odr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv120__function_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @_ZTSFPcS_PKcmE, i32 0, i32 0) }, comdat, align 8 | |
@.src.33 = private unnamed_addr constant [9 x i8] c"__string\00", align 1 | |
@105 = private unnamed_addr global { { [9 x i8]*, i32, i32 }, { [9 x i8]*, i32, i32 }, i32 } { { [9 x i8]*, i32, i32 } { [9 x i8]* @.src.33, i32 346, i32 71 }, { [9 x i8]*, i32, i32 } { [9 x i8]* @.src.25, i32 48, i32 14 }, i32 1 } | |
@106 = private unnamed_addr global { { [9 x i8]*, i32, i32 }, { [9 x i8]*, i32, i32 }, i32 } { { [9 x i8]*, i32, i32 } { [9 x i8]* @.src.33, i32 346, i32 77 }, { [9 x i8]*, i32, i32 } { [9 x i8]* @.src.25, i32 48, i32 14 }, i32 2 } | |
@107 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2279, i32 15 } } | |
@108 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2290, i32 52 } } | |
@109 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2293, i32 52 } } | |
@110 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2293, i32 63 } } | |
@111 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2294, i32 56 } } | |
@112 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2294, i32 67 } } | |
@113 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2301, i32 25 } } | |
@114 = private unnamed_addr global { { [7 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 1788, i32 17 }, { i16, i16, [19 x i8] }* @11, i8 3, i8 4 } | |
@115 = internal constant { i8*, [24 x i8] } { i8* bitcast ({ i8*, i8* }* @_ZTIFPcS_PKcmE to i8*), [24 x i8] zeroinitializer }, align 32 | |
@116 = private unnamed_addr global { { [9 x i8]*, i32, i32 } } { { [9 x i8]*, i32, i32 } { [9 x i8]* @.src.33, i32 351, i32 13 } } | |
@117 = private unnamed_addr global { { [9 x i8]*, i32, i32 }, { i16, i16, [45 x i8] }* } { { [9 x i8]*, i32, i32 } { [9 x i8]* @.src.33, i32 351, i32 13 }, { i16, i16, [45 x i8] }* @90 } | |
@.str.36 = internal constant { [79 x i8], [49 x i8] } { [79 x i8] c"/home/linuxbrew/.linuxbrew/Cellar/llvm/13.0.1_1/bin/../include/c++/v1/__string\00", [49 x i8] zeroinitializer }, align 32 | |
@.str.37 = internal constant { [32 x i8], [32 x i8] } { [32 x i8] c"__s2 < __s1 || __s2 >= __s1+__n\00", [32 x i8] zeroinitializer }, align 32 | |
@.str.38 = internal constant { [35 x i8], [61 x i8] } { [35 x i8] c"char_traits::copy overlapped range\00", [61 x i8] zeroinitializer }, align 32 | |
@118 = private unnamed_addr global { { [9 x i8]*, i32, i32 }, { [9 x i8]*, i32, i32 }, i32 } { { [9 x i8]*, i32, i32 } { [9 x i8]* @.src.33, i32 354, i32 70 }, { [9 x i8]*, i32, i32 } { [9 x i8]* @.src.25, i32 44, i32 28 }, i32 1 } | |
@119 = private unnamed_addr global { { [9 x i8]*, i32, i32 }, { [9 x i8]*, i32, i32 }, i32 } { { [9 x i8]*, i32, i32 } { [9 x i8]* @.src.33, i32 354, i32 76 }, { [9 x i8]*, i32, i32 } { [9 x i8]* @.src.25, i32 44, i32 28 }, i32 2 } | |
@120 = private unnamed_addr global { { [7 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 1996, i32 17 }, { i16, i16, [19 x i8] }* @11, i8 3, i8 4 } | |
@121 = private unnamed_addr global { { [7 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 1998, i32 21 }, { i16, i16, [19 x i8] }* @11, i8 3, i8 4 } | |
@122 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 1557, i32 17 } } | |
@123 = private unnamed_addr global { { [7 x i8]*, i32, i32 }, { i16, i16, [45 x i8] }* } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 838, i32 7 }, { i16, i16, [45 x i8] }* @90 } | |
@.str.39 = internal constant { [43 x i8], [53 x i8] } { [43 x i8] c"basic_string(const char*) detected nullptr\00", [53 x i8] zeroinitializer }, align 32 | |
@124 = private unnamed_addr global { { [7 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 841, i32 19 }, { i16, i16, [19 x i8] }* @11, i8 3, i8 4 } | |
@125 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 1878, i32 15 } } | |
@126 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 1894, i32 25 } } | |
@127 = private unnamed_addr global { { [7 x i8]*, i32, i32 }, { i16, i16, [45 x i8] }* } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2593, i32 5 }, { i16, i16, [45 x i8] }* @90 } | |
@.str.40 = internal constant { [32 x i8], [32 x i8] } { [32 x i8] c"string::append received nullptr\00", [32 x i8] zeroinitializer }, align 32 | |
@128 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2601, i32 35 } } | |
@129 = private unnamed_addr global { { [7 x i8]*, i32, i32 } } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2604, i32 33 } } | |
@130 = private unnamed_addr global { { [7 x i8]*, i32, i32 }, { i16, i16, [51 x i8] }*, i8, i8 } { { [7 x i8]*, i32, i32 } { [7 x i8]* @.src.8, i32 2604, i32 33 }, { i16, i16, [51 x i8] }* @23, i8 0, i8 2 } | |
@__sancov_lowest_stack = external thread_local(initialexec) global i64 | |
@__sancov_gen_ = private global [11 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZN4llvm20RISCVAttributeParser10stackAlignEj), align 1 | |
@__sancov_gen_.41 = private constant [22 x i64*] [i64* bitcast (void (%"class.llvm::Error"*, %"class.llvm::RISCVAttributeParser"*, i32)* @_ZN4llvm20RISCVAttributeParser10stackAlignEj to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser10stackAlignEj, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser10stackAlignEj, %cont11.i.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser10stackAlignEj, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser10stackAlignEj, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser10stackAlignEj, %handler.type_mismatch50) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser10stackAlignEj, %cont51) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser10stackAlignEj, %lpad) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser10stackAlignEj, %lpad22) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser10stackAlignEj, %lpad26) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser10stackAlignEj, %lpad40) to i64*), i64* null], section "__sancov_pcs", comdat($_ZN4llvm20RISCVAttributeParser10stackAlignEj), align 8 | |
@__sancov_gen_.42 = private global [1 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZN4llvm20RISCVAttributeParser15unalignedAccessEj), align 1 | |
@__sancov_gen_.43 = private constant [2 x i64*] [i64* bitcast (void (%"class.llvm::Error"*, %"class.llvm::RISCVAttributeParser"*, i32)* @_ZN4llvm20RISCVAttributeParser15unalignedAccessEj to i64*), i64* inttoptr (i64 1 to i64*)], section "__sancov_pcs", comdat($_ZN4llvm20RISCVAttributeParser15unalignedAccessEj), align 8 | |
@__sancov_gen_.44 = private global [14 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZN4llvm6utostrEmb), align 1 | |
@__sancov_gen_.45 = private constant [28 x i64*] [i64* bitcast (void (%"class.std::__1::basic_string"*, i64, i1)* @_ZN4llvm6utostrEmb to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZN4llvm6utostrEmb, %handler.pointer_overflow.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm6utostrEmb, %_ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit.if.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm6utostrEmb, %if.then) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm6utostrEmb, %if.end.cont14_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm6utostrEmb, %handler.pointer_overflow8) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm6utostrEmb, %cont11.while.body_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm6utostrEmb, %cont11.cont14_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm6utostrEmb, %cont14._ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit44_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm6utostrEmb, %handler.pointer_overflow18) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm6utostrEmb, %cont21) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm6utostrEmb, %handler.type_mismatch26) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm6utostrEmb, %handler.type_mismatch9.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm6utostrEmb, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IPcvEET_S8_.exit) to i64*), i64* null], section "__sancov_pcs", comdat($_ZN4llvm6utostrEmb), align 8 | |
@__sancov_gen_.46 = private global [9 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IDnEEPKc), align 1 | |
@__sancov_gen_.47 = private constant [18 x i64*] [i64* bitcast (void (%"class.std::__1::basic_string"*, i8*)* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IDnEEPKc to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IDnEEPKc, %entry.cond.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IDnEEPKc, %cond.false.cont8_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IDnEEPKc, %typecheck.cont8_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IDnEEPKc, %handler.function_type_mismatch) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IDnEEPKc, %cond.end.cont15_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IDnEEPKc, %cleanup.action) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IDnEEPKc, %handler.type_mismatch17) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IDnEEPKc, %_ZNSt3__111__libcpp_db10__insert_cINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEvPT_.exit) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IDnEEPKc), align 8 | |
@__sancov_gen_.48 = private global [6 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev), align 1 | |
@__sancov_gen_.49 = private constant [12 x i64*] [i64* bitcast (void (%"class.std::__1::basic_string"*)* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev, %handler.type_mismatch2) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev, %cont3) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.if.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev, %cont11.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev, %terminate.lpad) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev), align 8 | |
@__sancov_gen_.50 = private global [10 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZN4llvm20RISCVAttributeParser7handlerEmRb), align 1 | |
@__sancov_gen_.51 = private constant [20 x i64*] [i64* bitcast (void (%"class.llvm::Error"*, %"class.llvm::RISCVAttributeParser"*, i64, i8*)* @_ZN4llvm20RISCVAttributeParser7handlerEmRb to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser7handlerEmRb, %handler.pointer_overflow) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser7handlerEmRb, %handler.pointer_overflow18) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser7handlerEmRb, %cont23.cleanup30_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser7handlerEmRb, %cleanup.cont) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser7handlerEmRb, %for.inc.for.body_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser7handlerEmRb, %for.inc.cleanup30_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser7handlerEmRb, %cleanup30.return_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser7handlerEmRb, %handler.type_mismatch37) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm20RISCVAttributeParser7handlerEmRb, %cont38) to i64*), i64* null], section "__sancov_pcs", comdat($_ZN4llvm20RISCVAttributeParser7handlerEmRb), align 8 | |
@__sancov_gen_.52 = private global [7 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZN4llvm18ELFAttributeParserD2Ev), align 1 | |
@__sancov_gen_.53 = private constant [14 x i64*] [i64* bitcast (void (%"class.llvm::ELFAttributeParser"*)* @_ZN4llvm18ELFAttributeParserD2Ev to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZN4llvm18ELFAttributeParserD2Ev, %entry._ZN4llvm5ErrorD2Ev.exit_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm18ELFAttributeParserD2Ev, %handler.type_mismatch6.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm18ELFAttributeParserD2Ev, %cont7.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm18ELFAttributeParserD2Ev, %_ZN4llvm5ErrorD2Ev.exit._ZN4llvm13DataExtractor6CursorD2Ev.exit_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm18ELFAttributeParserD2Ev, %handler.type_mismatch6.i.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZN4llvm18ELFAttributeParserD2Ev, %cont7.i.i) to i64*), i64* null], section "__sancov_pcs", comdat($_ZN4llvm18ELFAttributeParserD2Ev), align 8 | |
@__sancov_gen_.54 = private global [1 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZN4llvm20RISCVAttributeParserD0Ev), align 1 | |
@__sancov_gen_.55 = private constant [2 x i64*] [i64* bitcast (void (%"class.llvm::RISCVAttributeParser"*)* @_ZN4llvm20RISCVAttributeParserD0Ev to i64*), i64* inttoptr (i64 1 to i64*)], section "__sancov_pcs", comdat($_ZN4llvm20RISCVAttributeParserD0Ev), align 8 | |
@__sancov_gen_.56 = private global [1 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__117__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_EC2INS_18__default_init_tagESA_EEOT_OT0_), align 1 | |
@__sancov_gen_.57 = private constant [2 x i64*] [i64* bitcast (void (%"class.std::__1::__compressed_pair.42"*, %"struct.std::__1::__default_init_tag"*, %"struct.std::__1::__default_init_tag"*)* @_ZNSt3__117__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_EC2INS_18__default_init_tagESA_EEOT_OT0_ to i64*), i64* inttoptr (i64 1 to i64*)], section "__sancov_pcs", comdat($_ZNSt3__117__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_EC2INS_18__default_init_tagESA_EEOT_OT0_), align 8 | |
@__sancov_gen_.58 = private global [10 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9_MetaBaseIXsr27__is_cpp17_forward_iteratorIT_EE5valueEE13_EnableIfImplIvEES9_S9_), align 1 | |
@__sancov_gen_.59 = private constant [20 x i64*] [i64* bitcast (void (%"class.std::__1::basic_string"*, i8*, i8*)* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9_MetaBaseIXsr27__is_cpp17_forward_iteratorIT_EE5valueEE13_EnableIfImplIvEES9_S9_ to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9_MetaBaseIXsr27__is_cpp17_forward_iteratorIT_EE5valueEE13_EnableIfImplIvEES9_S9_, %cont6) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9_MetaBaseIXsr27__is_cpp17_forward_iteratorIT_EE5valueEE13_EnableIfImplIvEES9_S9_, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9_MetaBaseIXsr27__is_cpp17_forward_iteratorIT_EE5valueEE13_EnableIfImplIvEES9_S9_, %cont20) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9_MetaBaseIXsr27__is_cpp17_forward_iteratorIT_EE5valueEE13_EnableIfImplIvEES9_S9_, %if.end29.cont40_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9_MetaBaseIXsr27__is_cpp17_forward_iteratorIT_EE5valueEE13_EnableIfImplIvEES9_S9_, %handler.type_mismatch33) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9_MetaBaseIXsr27__is_cpp17_forward_iteratorIT_EE5valueEE13_EnableIfImplIvEES9_S9_, %handler.pointer_overflow) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9_MetaBaseIXsr27__is_cpp17_forward_iteratorIT_EE5valueEE13_EnableIfImplIvEES9_S9_, %handler.pointer_overflow37) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9_MetaBaseIXsr27__is_cpp17_forward_iteratorIT_EE5valueEE13_EnableIfImplIvEES9_S9_, %cont38.cont32_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9_MetaBaseIXsr27__is_cpp17_forward_iteratorIT_EE5valueEE13_EnableIfImplIvEES9_S9_, %cont38.cont40_crit_edge) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9_MetaBaseIXsr27__is_cpp17_forward_iteratorIT_EE5valueEE13_EnableIfImplIvEES9_S9_), align 8 | |
@__sancov_gen_.60 = private global [4 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__120__throw_length_errorEPKc), align 1 | |
@__sancov_gen_.61 = private constant [8 x i64*] [i64* bitcast (void (i8*)* @_ZNSt3__120__throw_length_errorEPKc to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__120__throw_length_errorEPKc, %handler.type_mismatch) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__120__throw_length_errorEPKc, %invoke.cont) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__120__throw_length_errorEPKc, %lpad) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__120__throw_length_errorEPKc), align 8 | |
@__sancov_gen_.62 = private global [1 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt12length_errorC2EPKc), align 1 | |
@__sancov_gen_.63 = private constant [2 x i64*] [i64* bitcast (void (%"class.std::length_error"*, i8*)* @_ZNSt12length_errorC2EPKc to i64*), i64* inttoptr (i64 1 to i64*)], section "__sancov_pcs", comdat($_ZNSt12length_errorC2EPKc), align 8 | |
@__sancov_gen_.64 = private global [3 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__111__libcpp_db15__create_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEPNS_8__c_nodeEPvSA_S9_), align 1 | |
@__sancov_gen_.65 = private constant [6 x i64*] [i64* bitcast (%"struct.std::__1::__c_node"* (i8*, i8*, %"struct.std::__1::__c_node"*)* @_ZNSt3__111__libcpp_db15__create_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEPNS_8__c_nodeEPvSA_S9_ to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__111__libcpp_db15__create_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEPNS_8__c_nodeEPvSA_S9_, %handler.type_mismatch) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__111__libcpp_db15__create_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEPNS_8__c_nodeEPvSA_S9_, %cont) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__111__libcpp_db15__create_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEPNS_8__c_nodeEPvSA_S9_), align 8 | |
@__sancov_gen_.66 = private global [1 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEED0Ev), align 1 | |
@__sancov_gen_.67 = private constant [2 x i64*] [i64* bitcast (void (%"struct.std::__1::_C_node"*)* @_ZNSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEED0Ev to i64*), i64* inttoptr (i64 1 to i64*)], section "__sancov_pcs", comdat($_ZNSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEED0Ev), align 8 | |
@__sancov_gen_.68 = private global [3 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE17__dereferenceableEPKv), align 1 | |
@__sancov_gen_.69 = private constant [6 x i64*] [i64* bitcast (i1 (%"struct.std::__1::_C_node"*, i8*)* @_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE17__dereferenceableEPKv to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE17__dereferenceableEPKv, %handler.type_mismatch8) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE17__dereferenceableEPKv, %cont9) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE17__dereferenceableEPKv), align 8 | |
@__sancov_gen_.70 = private global [3 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE15__decrementableEPKv), align 1 | |
@__sancov_gen_.71 = private constant [6 x i64*] [i64* bitcast (i1 (%"struct.std::__1::_C_node"*, i8*)* @_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE15__decrementableEPKv to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE15__decrementableEPKv, %handler.type_mismatch8) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE15__decrementableEPKv, %cont9) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE15__decrementableEPKv), align 8 | |
@__sancov_gen_.72 = private global [3 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE9__addableEPKvl), align 1 | |
@__sancov_gen_.73 = private constant [6 x i64*] [i64* bitcast (i1 (%"struct.std::__1::_C_node"*, i8*, i64)* @_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE9__addableEPKvl to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE9__addableEPKvl, %handler.type_mismatch8) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE9__addableEPKvl, %cont9) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE9__addableEPKvl), align 8 | |
@__sancov_gen_.74 = private global [3 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE15__subscriptableEPKvl), align 1 | |
@__sancov_gen_.75 = private constant [6 x i64*] [i64* bitcast (i1 (%"struct.std::__1::_C_node"*, i8*, i64)* @_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE15__subscriptableEPKvl to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE15__subscriptableEPKvl, %handler.type_mismatch8) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE15__subscriptableEPKvl, %cont9) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE15__subscriptableEPKvl), align 8 | |
@__sancov_gen_.76 = private global [11 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__dereferenceableEPKNS_11__wrap_iterIPKcEE), align 1 | |
@__sancov_gen_.77 = private constant [22 x i64*] [i64* bitcast (i1 (%"class.std::__1::basic_string"*, %"class.std::__1::__wrap_iter"*)* @_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__dereferenceableEPKNS_11__wrap_iterIPKcEE to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__dereferenceableEPKNS_11__wrap_iterIPKcEE, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__dereferenceableEPKNS_11__wrap_iterIPKcEE, %cont11.i.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__dereferenceableEPKNS_11__wrap_iterIPKcEE, %handler.type_mismatch4) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__dereferenceableEPKNS_11__wrap_iterIPKcEE, %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit.land.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__dereferenceableEPKNS_11__wrap_iterIPKcEE, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i33) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__dereferenceableEPKNS_11__wrap_iterIPKcEE, %cont11.i.i37) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__dereferenceableEPKNS_11__wrap_iterIPKcEE, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__dereferenceableEPKNS_11__wrap_iterIPKcEE, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__dereferenceableEPKNS_11__wrap_iterIPKcEE, %handler.pointer_overflow) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__dereferenceableEPKNS_11__wrap_iterIPKcEE, %cont18) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__dereferenceableEPKNS_11__wrap_iterIPKcEE), align 8 | |
@__sancov_gen_.78 = private global [11 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__decrementableEPKNS_11__wrap_iterIPKcEE), align 1 | |
@__sancov_gen_.79 = private constant [22 x i64*] [i64* bitcast (i1 (%"class.std::__1::basic_string"*, %"class.std::__1::__wrap_iter"*)* @_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__decrementableEPKNS_11__wrap_iterIPKcEE to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__decrementableEPKNS_11__wrap_iterIPKcEE, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__decrementableEPKNS_11__wrap_iterIPKcEE, %cont11.i.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__decrementableEPKNS_11__wrap_iterIPKcEE, %handler.type_mismatch4) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__decrementableEPKNS_11__wrap_iterIPKcEE, %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit.land.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__decrementableEPKNS_11__wrap_iterIPKcEE, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i33) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__decrementableEPKNS_11__wrap_iterIPKcEE, %cont11.i.i37) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__decrementableEPKNS_11__wrap_iterIPKcEE, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__decrementableEPKNS_11__wrap_iterIPKcEE, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__decrementableEPKNS_11__wrap_iterIPKcEE, %handler.pointer_overflow) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__decrementableEPKNS_11__wrap_iterIPKcEE, %cont18) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__decrementableEPKNS_11__wrap_iterIPKcEE), align 8 | |
@__sancov_gen_.80 = private global [12 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__addableEPKNS_11__wrap_iterIPKcEEl), align 1 | |
@__sancov_gen_.81 = private constant [24 x i64*] [i64* bitcast (i1 (%"class.std::__1::basic_string"*, %"class.std::__1::__wrap_iter"*, i64)* @_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__addableEPKNS_11__wrap_iterIPKcEEl to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__addableEPKNS_11__wrap_iterIPKcEEl, %handler.type_mismatch2) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__addableEPKNS_11__wrap_iterIPKcEEl, %handler.pointer_overflow) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__addableEPKNS_11__wrap_iterIPKcEEl, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__addableEPKNS_11__wrap_iterIPKcEEl, %cont11.i.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__addableEPKNS_11__wrap_iterIPKcEEl, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit.land.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__addableEPKNS_11__wrap_iterIPKcEEl, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i30) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__addableEPKNS_11__wrap_iterIPKcEEl, %cont11.i.i34) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__addableEPKNS_11__wrap_iterIPKcEEl, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__addableEPKNS_11__wrap_iterIPKcEEl, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__addableEPKNS_11__wrap_iterIPKcEEl, %handler.pointer_overflow16) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__addableEPKNS_11__wrap_iterIPKcEEl, %cont17) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__addableEPKNS_11__wrap_iterIPKcEEl), align 8 | |
@__sancov_gen_.82 = private global [12 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__subscriptableEPKNS_11__wrap_iterIPKcEEl), align 1 | |
@__sancov_gen_.83 = private constant [24 x i64*] [i64* bitcast (i1 (%"class.std::__1::basic_string"*, %"class.std::__1::__wrap_iter"*, i64)* @_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__subscriptableEPKNS_11__wrap_iterIPKcEEl to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__subscriptableEPKNS_11__wrap_iterIPKcEEl, %handler.type_mismatch2) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__subscriptableEPKNS_11__wrap_iterIPKcEEl, %handler.pointer_overflow) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__subscriptableEPKNS_11__wrap_iterIPKcEEl, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__subscriptableEPKNS_11__wrap_iterIPKcEEl, %cont11.i.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__subscriptableEPKNS_11__wrap_iterIPKcEEl, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit.land.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__subscriptableEPKNS_11__wrap_iterIPKcEEl, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i30) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__subscriptableEPKNS_11__wrap_iterIPKcEEl, %cont11.i.i34) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__subscriptableEPKNS_11__wrap_iterIPKcEEl, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__subscriptableEPKNS_11__wrap_iterIPKcEEl, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__subscriptableEPKNS_11__wrap_iterIPKcEEl, %handler.pointer_overflow16) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__subscriptableEPKNS_11__wrap_iterIPKcEEl, %cont17) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__subscriptableEPKNS_11__wrap_iterIPKcEEl), align 8 | |
@__sancov_gen_.84 = private global [5 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEED2Ev), align 1 | |
@__sancov_gen_.85 = private constant [10 x i64*] [i64* bitcast (void (%"class.std::__1::__hash_table.16"*)* @_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEED2Ev to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEED2Ev, %handler.type_mismatch13) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEED2Ev, %cont14) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEED2Ev, %_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorISB_EEEEED2Ev.exit) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEED2Ev, %lpad) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEED2Ev), align 8 | |
@__sancov_gen_.86 = private global [28 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE), align 1 | |
@__sancov_gen_.87 = private constant [56 x i64*] [i64* bitcast (void (%"class.std::__1::__hash_table.16"*, %"struct.std::__1::__hash_node_base.20"*)* @_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %entry.while.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %handler.type_mismatch6) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %handler.type_mismatch11) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %cont12) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %handler.type_mismatch15) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %handler.type_mismatch17) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %cont18.handler.type_mismatch21_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %for.cond.cleanup) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %lpad) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %handler.pointer_overflow) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %handler.type_mismatch25) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %handler.type_mismatch27) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %handler.type_mismatch31) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %cont34.if.end60_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %handler.type_mismatch40) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %handler.pointer_overflow46) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %cont47.if.end60_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %handler.pointer_overflow50) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %cont51) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %if.end60.handler.type_mismatch21_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %if.end60.cont22_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %handler.type_mismatch63) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %cont64) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %handler.type_mismatch71) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %handler.type_mismatch73) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEE10deallocateERS9_PS8_m.exit.while.body_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE, %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEE10deallocateERS9_PS8_m.exit.while.end_crit_edge) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE), align 8 | |
@__sancov_gen_.88 = private global [1 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorISB_EEEEED2Ev), align 1 | |
@__sancov_gen_.89 = private constant [2 x i64*] [i64* bitcast (void (%"class.std::__1::unique_ptr.17"*)* @_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorISB_EEEEED2Ev to i64*), i64* inttoptr (i64 1 to i64*)], section "__sancov_pcs", comdat($_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorISB_EEEEED2Ev), align 8 | |
@__sancov_gen_.90 = private global [3 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorISB_EEEEE5resetEDn), align 1 | |
@__sancov_gen_.91 = private constant [6 x i64*] [i64* bitcast (void (%"class.std::__1::unique_ptr.17"*, i8*)* @_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorISB_EEEEE5resetEDn to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorISB_EEEEE5resetEDn, %entry.if.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorISB_EEEEE5resetEDn, %cont23) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorISB_EEEEE5resetEDn), align 8 | |
@__sancov_gen_.92 = private global [1 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__125__bucket_list_deallocatorINS_9allocatorIPNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEEEEclEPSC_), align 1 | |
@__sancov_gen_.93 = private constant [2 x i64*] [i64* bitcast (void (%"class.std::__1::__bucket_list_deallocator.22"*, %"struct.std::__1::__hash_node_base.20"**)* @_ZNSt3__125__bucket_list_deallocatorINS_9allocatorIPNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEEEEclEPSC_ to i64*), i64* inttoptr (i64 1 to i64*)], section "__sancov_pcs", comdat($_ZNSt3__125__bucket_list_deallocatorINS_9allocatorIPNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEEEEclEPSC_), align 8 | |
@__sancov_gen_.94 = private global [5 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEED2Ev), align 1 | |
@__sancov_gen_.95 = private constant [10 x i64*] [i64* bitcast (void (%"class.std::__1::__hash_table"*)* @_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEED2Ev to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEED2Ev, %handler.type_mismatch13) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEED2Ev, %cont14) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEED2Ev, %_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorIS9_EEEEED2Ev.exit) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEED2Ev, %lpad) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEED2Ev), align 8 | |
@__sancov_gen_.96 = private global [28 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE), align 1 | |
@__sancov_gen_.97 = private constant [56 x i64*] [i64* bitcast (void (%"class.std::__1::__hash_table"*, %"struct.std::__1::__hash_node_base"*)* @_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %entry.while.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %handler.type_mismatch6) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %handler.type_mismatch11) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %cont12) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %handler.type_mismatch15) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %handler.type_mismatch17) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %cont18.handler.type_mismatch21_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %for.cond.cleanup) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %lpad) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %handler.pointer_overflow) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %handler.type_mismatch25) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %handler.type_mismatch27) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %handler.type_mismatch31) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %cont34.if.end60_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %handler.type_mismatch40) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %handler.pointer_overflow46) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %cont47.if.end60_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %handler.pointer_overflow50) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %cont51) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %if.end60.handler.type_mismatch21_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %if.end60.cont22_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %handler.type_mismatch63) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %cont64) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %handler.type_mismatch71) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %handler.type_mismatch73) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEE10deallocateERS7_PS6_m.exit.while.body_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE, %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEE10deallocateERS7_PS6_m.exit.while.end_crit_edge) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE), align 8 | |
@__sancov_gen_.98 = private global [1 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorIS9_EEEEED2Ev), align 1 | |
@__sancov_gen_.99 = private constant [2 x i64*] [i64* bitcast (void (%"class.std::__1::unique_ptr"*)* @_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorIS9_EEEEED2Ev to i64*), i64* inttoptr (i64 1 to i64*)], section "__sancov_pcs", comdat($_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorIS9_EEEEED2Ev), align 8 | |
@__sancov_gen_.100 = private global [3 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorIS9_EEEEE5resetEDn), align 1 | |
@__sancov_gen_.101 = private constant [6 x i64*] [i64* bitcast (void (%"class.std::__1::unique_ptr"*, i8*)* @_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorIS9_EEEEE5resetEDn to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorIS9_EEEEE5resetEDn, %entry.if.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorIS9_EEEEE5resetEDn, %cont23) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorIS9_EEEEE5resetEDn), align 8 | |
@__sancov_gen_.102 = private global [1 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__125__bucket_list_deallocatorINS_9allocatorIPNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEEEEclEPSA_), align 1 | |
@__sancov_gen_.103 = private constant [2 x i64*] [i64* bitcast (void (%"class.std::__1::__bucket_list_deallocator"*, %"struct.std::__1::__hash_node_base"**)* @_ZNSt3__125__bucket_list_deallocatorINS_9allocatorIPNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEEEEclEPSA_ to i64*), i64* inttoptr (i64 1 to i64*)], section "__sancov_pcs", comdat($_ZNSt3__125__bucket_list_deallocatorINS_9allocatorIPNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEEEEclEPSA_), align 8 | |
@__sancov_gen_.104 = private global [9 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_), align 1 | |
@__sancov_gen_.105 = private constant [18 x i64*] [i64* bitcast (void (%"class.std::__1::basic_string"*, %"class.std::__1::basic_string"*)* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_ to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_, %handler.type_mismatch8) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_, %cont3.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.if.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_, %if.then) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_, %handler.type_mismatch16) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_, %cont17) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_, %cont17.if.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_, %terminate.lpad) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_), align 8 | |
@__sancov_gen_.106 = private global [35 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm), align 1 | |
@__sancov_gen_.107 = private constant [70 x i64*] [i64* bitcast (%"class.std::__1::basic_string"* (%"class.std::__1::basic_string"*, i64, i8*, i64)* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %entry.cond.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %lor.lhs.false.cond.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %cond.false.cont4_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %typecheck.cont4_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %handler.function_type_mismatch) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %cond.end.cleanup.done_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %cleanup.action) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %cont13) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i118._ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8capacityEv.exit_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__get_long_capEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %if.then19.cont70_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %cont11.i19.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit.if.end49_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %handler.pointer_overflow) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %cont28.cont41_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %handler.pointer_overflow31) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %cont32.cont41_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %handler.pointer_overflow36) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %cont37) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %handler.pointer_overflow43) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %handler.nonnull_arg1.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %cont2.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %handler.pointer_overflow51) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %handler.nonnull_arg.i131) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %handler.nonnull_arg1.i134) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__set_long_sizeEm.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %handler.pointer_overflow56) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %handler.type_mismatch58) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %cont59) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm, %cont65) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm), align 8 | |
@__sancov_gen_.108 = private global [29 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc), align 1 | |
@__sancov_gen_.109 = private constant [58 x i64*] [i64* bitcast (void (%"class.std::__1::basic_string"*, i64, i64, i64, i64, i64, i64, i8*)* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %cont6) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %cont11.i19.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit.cond.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %cond.true.cont22_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %cond.false.i.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %cont22.cond.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %if.end.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %cond.end.cleanup.done_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %cleanup.action) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %cleanup.done._ZNSt3__116allocator_traitsINS_9allocatorIcEEE8allocateERS2_m.exit_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %cleanup.action26) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %handler.type_mismatch2.i145) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE26__invalidate_all_iteratorsEv.exit.if.end42_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %if.then38) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %if.end42.if.end48_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %handler.pointer_overflow) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %cont46) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %if.end48.if.end68_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %handler.pointer_overflow55) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %handler.pointer_overflow58) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %handler.pointer_overflow62) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %handler.pointer_overflow65) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %cont66) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %if.end68._ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__set_long_pointerEPc.exit_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %_ZNSt3__116allocator_traitsINS_9allocatorIcEEE10deallocateERS2_Pcm.exit) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %handler.pointer_overflow88) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc, %cont91) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc), align 8 | |
@__sancov_gen_.110 = private global [4 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__120__throw_out_of_rangeEPKc), align 1 | |
@__sancov_gen_.111 = private constant [8 x i64*] [i64* bitcast (void (i8*)* @_ZNSt3__120__throw_out_of_rangeEPKc to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__120__throw_out_of_rangeEPKc, %handler.type_mismatch) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__120__throw_out_of_rangeEPKc, %invoke.cont) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__120__throw_out_of_rangeEPKc, %lpad) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__120__throw_out_of_rangeEPKc), align 8 | |
@__sancov_gen_.112 = private global [1 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt12out_of_rangeC2EPKc), align 1 | |
@__sancov_gen_.113 = private constant [2 x i64*] [i64* bitcast (void (%"class.std::out_of_range"*, i8*)* @_ZNSt12out_of_rangeC2EPKc to i64*), i64* inttoptr (i64 1 to i64*)], section "__sancov_pcs", comdat($_ZNSt12out_of_rangeC2EPKc), align 8 | |
@__sancov_gen_.114 = private global [15 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__111char_traitsIcE4copyEPcPKcm), align 1 | |
@__sancov_gen_.115 = private constant [30 x i64*] [i64* bitcast (i8* (i8*, i8*, i64)* @_ZNSt3__111char_traitsIcE4copyEPcPKcm to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__111char_traitsIcE4copyEPcPKcm, %entry.cond.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__111char_traitsIcE4copyEPcPKcm, %handler.pointer_overflow) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__111char_traitsIcE4copyEPcPKcm, %cont.cond.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__111char_traitsIcE4copyEPcPKcm, %cond.false.cont3_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__111char_traitsIcE4copyEPcPKcm, %typecheck.cont3_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__111char_traitsIcE4copyEPcPKcm, %handler.function_type_mismatch) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__111char_traitsIcE4copyEPcPKcm, %cont3.cond.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__111char_traitsIcE4copyEPcPKcm, %cond.end.cleanup.done_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__111char_traitsIcE4copyEPcPKcm, %cleanup.action) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__111char_traitsIcE4copyEPcPKcm, %cleanup.done.cond.end17_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__111char_traitsIcE4copyEPcPKcm, %handler.nonnull_arg) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__111char_traitsIcE4copyEPcPKcm, %handler.nonnull_arg15) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__111char_traitsIcE4copyEPcPKcm, %cont16) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__111char_traitsIcE4copyEPcPKcm, %lpad) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__111char_traitsIcE4copyEPcPKcm), align 8 | |
@__sancov_gen_.116 = private global [4 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__zeroEv), align 1 | |
@__sancov_gen_.117 = private constant [8 x i64*] [i64* bitcast (void (%"class.std::__1::basic_string"*)* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__zeroEv to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__zeroEv, %for.cond.cleanup) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__zeroEv, %handler.pointer_overflow) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__zeroEv, %cont17.for.body_crit_edge) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__zeroEv), align 8 | |
@__sancov_gen_.118 = private global [6 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm), align 1 | |
@__sancov_gen_.119 = private constant [12 x i64*] [i64* bitcast (void (%"class.std::__1::basic_string"*, i8*, i64)* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm, %cont5) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm, %cont19) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm, %handler.pointer_overflow) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm, %cont33) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm), align 8 | |
@__sancov_gen_.120 = private global [5 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_), align 1 | |
@__sancov_gen_.121 = private constant [10 x i64*] [i64* bitcast (%"class.std::__1::basic_string"* (%"class.std::__1::basic_string"*, %"class.std::__1::basic_string"*)* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_ to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_, %cont11.i.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_), align 8 | |
@__sancov_gen_.122 = private global [22 x i8] zeroinitializer, section "__sancov_cntrs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm), align 1 | |
@__sancov_gen_.123 = private constant [44 x i64*] [i64* bitcast (%"class.std::__1::basic_string"* (%"class.std::__1::basic_string"*, i8*, i64)* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm to i64*), i64* inttoptr (i64 1 to i64*), i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %entry.cond.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %lor.lhs.false.cond.end_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %cond.false.cont4_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %typecheck.cont4_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %handler.function_type_mismatch) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %cond.end.cleanup.done_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %cleanup.action) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %cleanup.done._ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i64_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__get_long_capEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %if.then.cont37_crit_edge) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %cont11.i19.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %handler.pointer_overflow) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__set_long_sizeEm.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit.i) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %handler.pointer_overflow24) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %handler.type_mismatch26) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %cont27) to i64*), i64* null, i64* bitcast (i8* blockaddress(@_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm, %cont32) to i64*), i64* null], section "__sancov_pcs", comdat($_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm), align 8 | |
@__start___sancov_cntrs = extern_weak hidden global i8 | |
@__stop___sancov_cntrs = extern_weak hidden global i8 | |
@__start___sancov_pcs = extern_weak hidden global i64 | |
@__stop___sancov_pcs = extern_weak hidden global i64 | |
@___asan_gen_ = private constant [37 x i8] c"/tmp/RISCVAttributeParser-87fe8d.cpp\00", align 1 | |
@___asan_gen_.124 = private unnamed_addr constant [44 x i8] c"llvm::RISCVAttributeParser::displayRoutines\00", align 1 | |
@___asan_gen_.126 = private unnamed_addr constant { [64 x i8]*, i32, i32 } { [64 x i8]* @___asan_gen_.143, i32 15, i32 27 } | |
@___asan_gen_.127 = private unnamed_addr constant [8 x i8] c"strings\00", align 1 | |
@___asan_gen_.129 = private unnamed_addr constant { [64 x i8]*, i32, i32 } { [64 x i8]* @___asan_gen_.143, i32 42, i32 22 } | |
@___asan_gen_.132 = private unnamed_addr constant { [64 x i8]*, i32, i32 } { [64 x i8]* @___asan_gen_.143, i32 42, i32 35 } | |
@___asan_gen_.135 = private unnamed_addr constant { [64 x i8]*, i32, i32 } { [64 x i8]* @___asan_gen_.143, i32 42, i32 58 } | |
@___asan_gen_.138 = private unnamed_addr constant { [64 x i8]*, i32, i32 } { [64 x i8]* @___asan_gen_.143, i32 43, i32 31 } | |
@___asan_gen_.141 = private unnamed_addr constant { [64 x i8]*, i32, i32 } { [64 x i8]* @___asan_gen_.143, i32 49, i32 7 } | |
@___asan_gen_.143 = private unnamed_addr constant [64 x i8] c"external/llvm-project/llvm/lib/Support/RISCVAttributeParser.cpp\00", align 1 | |
@___asan_gen_.144 = private unnamed_addr constant { [64 x i8]*, i32, i32 } { [64 x i8]* @___asan_gen_.143, i32 49, i32 59 } | |
@___asan_gen_.145 = private unnamed_addr constant [34 x i8] c"_ZTVN4llvm20RISCVAttributeParserE\00", align 1 | |
@___asan_gen_.146 = private unnamed_addr constant [34 x i8] c"_ZTSN4llvm20RISCVAttributeParserE\00", align 1 | |
@___asan_gen_.147 = private unnamed_addr constant [34 x i8] c"_ZTIN4llvm20RISCVAttributeParserE\00", align 1 | |
@___asan_gen_.151 = private unnamed_addr constant { [77 x i8]*, i32, i32 } { [77 x i8]* @___asan_gen_.181, i32 627, i32 33 } | |
@___asan_gen_.162 = private unnamed_addr constant { [77 x i8]*, i32, i32 } { [77 x i8]* @___asan_gen_.181, i32 2936, i32 5 } | |
@___asan_gen_.165 = private unnamed_addr constant { [77 x i8]*, i32, i32 } { [77 x i8]* @___asan_gen_.181, i32 2768, i32 5 } | |
@___asan_gen_.167 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 | |
@___asan_gen_.175 = private unnamed_addr constant [79 x i8] c"/home/linuxbrew/.linuxbrew/Cellar/llvm/13.0.1_1/bin/../include/c++/v1/__string\00", align 1 | |
@___asan_gen_.176 = private unnamed_addr constant { [79 x i8]*, i32, i32 } { [79 x i8]* @___asan_gen_.175, i32 351, i32 13 } | |
@___asan_gen_.179 = private unnamed_addr constant { [77 x i8]*, i32, i32 } { [77 x i8]* @___asan_gen_.181, i32 838, i32 7 } | |
@___asan_gen_.180 = private unnamed_addr constant [17 x i8] c"<string literal>\00", align 1 | |
@___asan_gen_.181 = private unnamed_addr constant [77 x i8] c"/home/linuxbrew/.linuxbrew/Cellar/llvm/13.0.1_1/bin/../include/c++/v1/string\00", align 1 | |
@___asan_gen_.182 = private unnamed_addr constant { [77 x i8]*, i32, i32 } { [77 x i8]* @___asan_gen_.181, i32 2593, i32 5 } | |
@llvm.compiler.used = appending global [104 x i8*] [i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i32 0, i32 0), i8* bitcast ([22 x i64*]* @__sancov_gen_.41 to i8*), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.42, i32 0, i32 0), i8* bitcast ([2 x i64*]* @__sancov_gen_.43 to i8*), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i32 0, i32 0), i8* bitcast ([28 x i64*]* @__sancov_gen_.45 to i8*), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i32 0, i32 0), i8* bitcast ([18 x i64*]* @__sancov_gen_.47 to i8*), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.48, i32 0, i32 0), i8* bitcast ([12 x i64*]* @__sancov_gen_.49 to i8*), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i32 0, i32 0), i8* bitcast ([20 x i64*]* @__sancov_gen_.51 to i8*), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__sancov_gen_.52, i32 0, i32 0), i8* bitcast ([14 x i64*]* @__sancov_gen_.53 to i8*), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.54, i32 0, i32 0), i8* bitcast ([2 x i64*]* @__sancov_gen_.55 to i8*), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.56, i32 0, i32 0), i8* bitcast ([2 x i64*]* @__sancov_gen_.57 to i8*), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i32 0, i32 0), i8* bitcast ([20 x i64*]* @__sancov_gen_.59 to i8*), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.60, i32 0, i32 0), i8* bitcast ([8 x i64*]* @__sancov_gen_.61 to i8*), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.62, i32 0, i32 0), i8* bitcast ([2 x i64*]* @__sancov_gen_.63 to i8*), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.64, i32 0, i32 0), i8* bitcast ([6 x i64*]* @__sancov_gen_.65 to i8*), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.66, i32 0, i32 0), i8* bitcast ([2 x i64*]* @__sancov_gen_.67 to i8*), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.68, i32 0, i32 0), i8* bitcast ([6 x i64*]* @__sancov_gen_.69 to i8*), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.70, i32 0, i32 0), i8* bitcast ([6 x i64*]* @__sancov_gen_.71 to i8*), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.72, i32 0, i32 0), i8* bitcast ([6 x i64*]* @__sancov_gen_.73 to i8*), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.74, i32 0, i32 0), i8* bitcast ([6 x i64*]* @__sancov_gen_.75 to i8*), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i32 0, i32 0), i8* bitcast ([22 x i64*]* @__sancov_gen_.77 to i8*), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i32 0, i32 0), i8* bitcast ([22 x i64*]* @__sancov_gen_.79 to i8*), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i32 0, i32 0), i8* bitcast ([24 x i64*]* @__sancov_gen_.81 to i8*), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i32 0, i32 0), i8* bitcast ([24 x i64*]* @__sancov_gen_.83 to i8*), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.84, i32 0, i32 0), i8* bitcast ([10 x i64*]* @__sancov_gen_.85 to i8*), i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i32 0, i32 0), i8* bitcast ([56 x i64*]* @__sancov_gen_.87 to i8*), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.88, i32 0, i32 0), i8* bitcast ([2 x i64*]* @__sancov_gen_.89 to i8*), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.90, i32 0, i32 0), i8* bitcast ([6 x i64*]* @__sancov_gen_.91 to i8*), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.92, i32 0, i32 0), i8* bitcast ([2 x i64*]* @__sancov_gen_.93 to i8*), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.94, i32 0, i32 0), i8* bitcast ([10 x i64*]* @__sancov_gen_.95 to i8*), i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i32 0, i32 0), i8* bitcast ([56 x i64*]* @__sancov_gen_.97 to i8*), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.98, i32 0, i32 0), i8* bitcast ([2 x i64*]* @__sancov_gen_.99 to i8*), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.100, i32 0, i32 0), i8* bitcast ([6 x i64*]* @__sancov_gen_.101 to i8*), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.102, i32 0, i32 0), i8* bitcast ([2 x i64*]* @__sancov_gen_.103 to i8*), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i32 0, i32 0), i8* bitcast ([18 x i64*]* @__sancov_gen_.105 to i8*), i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i32 0, i32 0), i8* bitcast ([70 x i64*]* @__sancov_gen_.107 to i8*), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i32 0, i32 0), i8* bitcast ([58 x i64*]* @__sancov_gen_.109 to i8*), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.110, i32 0, i32 0), i8* bitcast ([8 x i64*]* @__sancov_gen_.111 to i8*), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.112, i32 0, i32 0), i8* bitcast ([2 x i64*]* @__sancov_gen_.113 to i8*), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i32 0, i32 0), i8* bitcast ([30 x i64*]* @__sancov_gen_.115 to i8*), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.116, i32 0, i32 0), i8* bitcast ([8 x i64*]* @__sancov_gen_.117 to i8*), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.118, i32 0, i32 0), i8* bitcast ([12 x i64*]* @__sancov_gen_.119 to i8*), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.120, i32 0, i32 0), i8* bitcast ([10 x i64*]* @__sancov_gen_.121 to i8*), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i32 0, i32 0), i8* bitcast ([44 x i64*]* @__sancov_gen_.123 to i8*), i8* bitcast ({ [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"], [48 x i8] }* @_ZN4llvm20RISCVAttributeParser15displayRoutinesE to i8*), i8* bitcast ({ [2 x i8*], [16 x i8] }* @_ZZN4llvm20RISCVAttributeParser15unalignedAccessEjE7strings to i8*), i8* getelementptr inbounds ({ [20 x i8], [44 x i8] }, { [20 x i8], [44 x i8] }* @.str, i32 0, i32 0, i32 0), i8* getelementptr inbounds ({ [17 x i8], [47 x i8] }, { [17 x i8], [47 x i8] }* @.str.1, i32 0, i32 0, i32 0), i8* getelementptr inbounds ({ [17 x i8], [47 x i8] }, { [17 x i8], [47 x i8] }* @.str.2, i32 0, i32 0, i32 0), i8* getelementptr inbounds ({ [20 x i8], [44 x i8] }, { [20 x i8], [44 x i8] }* @.str.3, i32 0, i32 0, i32 0), i8* getelementptr inbounds ({ [7 x i8], [25 x i8] }, { [7 x i8], [25 x i8] }* @.str.4, i32 0, i32 0, i32 0), i8* bitcast ({ { [5 x i8*] }, [56 x i8] }* @_ZTVN4llvm20RISCVAttributeParserE to i8*), i8* getelementptr inbounds ({ [30 x i8], [34 x i8] }, { [30 x i8], [34 x i8] }* @_ZTSN4llvm20RISCVAttributeParserE, i32 0, i32 0, i32 0), i8* bitcast ({ { i8*, i8*, i8* }, [40 x i8] }* @_ZTIN4llvm20RISCVAttributeParserE to i8*), i8* getelementptr inbounds ({ [13 x i8], [19 x i8] }, { [13 x i8], [19 x i8] }* @.str.13, i32 0, i32 0, i32 0), i8* getelementptr inbounds ({ [77 x i8], [51 x i8] }, { [77 x i8], [51 x i8] }* @.str.29, i32 0, i32 0, i32 0), i8* getelementptr inbounds ({ [15 x i8], [17 x i8] }, { [15 x i8], [17 x i8] }* @.str.30, i32 0, i32 0, i32 0), i8* getelementptr inbounds ({ [32 x i8], [32 x i8] }, { [32 x i8], [32 x i8] }* @.str.31, i32 0, i32 0, i32 0), i8* getelementptr inbounds ({ [27 x i8], [37 x i8] }, { [27 x i8], [37 x i8] }* @.str.32, i32 0, i32 0, i32 0), i8* getelementptr inbounds ({ [79 x i8], [49 x i8] }, { [79 x i8], [49 x i8] }* @.str.36, i32 0, i32 0, i32 0), i8* getelementptr inbounds ({ [32 x i8], [32 x i8] }, { [32 x i8], [32 x i8] }* @.str.37, i32 0, i32 0, i32 0), i8* getelementptr inbounds ({ [35 x i8], [61 x i8] }, { [35 x i8], [61 x i8] }* @.str.38, i32 0, i32 0, i32 0), i8* getelementptr inbounds ({ [43 x i8], [53 x i8] }, { [43 x i8], [53 x i8] }* @.str.39, i32 0, i32 0, i32 0), i8* getelementptr inbounds ({ [32 x i8], [32 x i8] }, { [32 x i8], [32 x i8] }* @.str.40, i32 0, i32 0, i32 0)], section "llvm.metadata" | |
@131 = internal global [25 x { i64, i64, i64, i64, i64, i64, i64, i64 }] [{ i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"], [48 x i8] }* @_ZN4llvm20RISCVAttributeParser15displayRoutinesE to i64), i64 144, i64 192, i64 ptrtoint ([44 x i8]* @___asan_gen_.124 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 ptrtoint ({ [64 x i8]*, i32, i32 }* @___asan_gen_.126 to i64), i64 0 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ [2 x i8*], [16 x i8] }* @_ZZN4llvm20RISCVAttributeParser15unalignedAccessEjE7strings to i64), i64 16, i64 32, i64 ptrtoint ([8 x i8]* @___asan_gen_.127 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 ptrtoint ({ [64 x i8]*, i32, i32 }* @___asan_gen_.129 to i64), i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ [20 x i8], [44 x i8] }* @.str to i64), i64 20, i64 64, i64 ptrtoint ([17 x i8]* @___asan_gen_.180 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 ptrtoint ({ [64 x i8]*, i32, i32 }* @___asan_gen_.132 to i64), i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ [17 x i8], [47 x i8] }* @.str.1 to i64), i64 17, i64 64, i64 ptrtoint ([17 x i8]* @___asan_gen_.180 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 ptrtoint ({ [64 x i8]*, i32, i32 }* @___asan_gen_.135 to i64), i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ [17 x i8], [47 x i8] }* @.str.2 to i64), i64 17, i64 64, i64 ptrtoint ([17 x i8]* @___asan_gen_.180 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 ptrtoint ({ [64 x i8]*, i32, i32 }* @___asan_gen_.138 to i64), i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ [20 x i8], [44 x i8] }* @.str.3 to i64), i64 20, i64 64, i64 ptrtoint ([17 x i8]* @___asan_gen_.180 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 ptrtoint ({ [64 x i8]*, i32, i32 }* @___asan_gen_.141 to i64), i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ [7 x i8], [25 x i8] }* @.str.4 to i64), i64 7, i64 32, i64 ptrtoint ([17 x i8]* @___asan_gen_.180 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 ptrtoint ({ [64 x i8]*, i32, i32 }* @___asan_gen_.144 to i64), i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ { [5 x i8*] }, [56 x i8] }* @_ZTVN4llvm20RISCVAttributeParserE to i64), i64 40, i64 96, i64 ptrtoint ([34 x i8]* @___asan_gen_.145 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 0, i64 0 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ [30 x i8], [34 x i8] }* @_ZTSN4llvm20RISCVAttributeParserE to i64), i64 30, i64 64, i64 ptrtoint ([34 x i8]* @___asan_gen_.146 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 0, i64 0 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ { i8*, i8*, i8* }, [40 x i8] }* @_ZTIN4llvm20RISCVAttributeParserE to i64), i64 24, i64 64, i64 ptrtoint ([34 x i8]* @___asan_gen_.147 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 0, i64 0 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ i8*, [24 x i8] }* @6 to i64), i64 8, i64 32, i64 ptrtoint ([1 x i8]* @___asan_gen_.167 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 0, i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ [13 x i8], [19 x i8] }* @.str.13 to i64), i64 13, i64 32, i64 ptrtoint ([17 x i8]* @___asan_gen_.180 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 ptrtoint ({ [77 x i8]*, i32, i32 }* @___asan_gen_.151 to i64), i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ i8*, [24 x i8] }* @20 to i64), i64 8, i64 32, i64 ptrtoint ([1 x i8]* @___asan_gen_.167 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 0, i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ i8*, [24 x i8] }* @24 to i64), i64 8, i64 32, i64 ptrtoint ([1 x i8]* @___asan_gen_.167 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 0, i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ [77 x i8], [51 x i8] }* @.str.29 to i64), i64 77, i64 128, i64 ptrtoint ([17 x i8]* @___asan_gen_.180 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 ptrtoint ({ [77 x i8]*, i32, i32 }* @___asan_gen_.162 to i64), i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ [15 x i8], [17 x i8] }* @.str.30 to i64), i64 15, i64 32, i64 ptrtoint ([17 x i8]* @___asan_gen_.180 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 ptrtoint ({ [77 x i8]*, i32, i32 }* @___asan_gen_.162 to i64), i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ [32 x i8], [32 x i8] }* @.str.31 to i64), i64 32, i64 64, i64 ptrtoint ([17 x i8]* @___asan_gen_.180 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 ptrtoint ({ [77 x i8]*, i32, i32 }* @___asan_gen_.162 to i64), i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ [27 x i8], [37 x i8] }* @.str.32 to i64), i64 27, i64 64, i64 ptrtoint ([17 x i8]* @___asan_gen_.180 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 ptrtoint ({ [77 x i8]*, i32, i32 }* @___asan_gen_.165 to i64), i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ i8*, [24 x i8] }* @102 to i64), i64 8, i64 32, i64 ptrtoint ([1 x i8]* @___asan_gen_.167 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 0, i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ i8*, [24 x i8] }* @115 to i64), i64 8, i64 32, i64 ptrtoint ([1 x i8]* @___asan_gen_.167 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 0, i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ [79 x i8], [49 x i8] }* @.str.36 to i64), i64 79, i64 128, i64 ptrtoint ([17 x i8]* @___asan_gen_.180 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 ptrtoint ({ [79 x i8]*, i32, i32 }* @___asan_gen_.176 to i64), i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ [32 x i8], [32 x i8] }* @.str.37 to i64), i64 32, i64 64, i64 ptrtoint ([17 x i8]* @___asan_gen_.180 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 ptrtoint ({ [79 x i8]*, i32, i32 }* @___asan_gen_.176 to i64), i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ [35 x i8], [61 x i8] }* @.str.38 to i64), i64 35, i64 96, i64 ptrtoint ([17 x i8]* @___asan_gen_.180 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 ptrtoint ({ [79 x i8]*, i32, i32 }* @___asan_gen_.176 to i64), i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ [43 x i8], [53 x i8] }* @.str.39 to i64), i64 43, i64 96, i64 ptrtoint ([17 x i8]* @___asan_gen_.180 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 ptrtoint ({ [77 x i8]*, i32, i32 }* @___asan_gen_.179 to i64), i64 -1 }, { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ [32 x i8], [32 x i8] }* @.str.40 to i64), i64 32, i64 64, i64 ptrtoint ([17 x i8]* @___asan_gen_.180 to i64), i64 ptrtoint ([37 x i8]* @___asan_gen_ to i64), i64 0, i64 ptrtoint ({ [77 x i8]*, i32, i32 }* @___asan_gen_.182 to i64), i64 -1 }] | |
@llvm.used = appending global [3 x i8*] [i8* bitcast (void ()* @sancov.module_ctor_8bit_counters to i8*), i8* bitcast (void ()* @asan.module_ctor to i8*), i8* bitcast (void ()* @asan.module_dtor to i8*)], section "llvm.metadata" | |
@llvm.global_ctors = appending global [2 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 2, void ()* @sancov.module_ctor_8bit_counters, i8* bitcast (void ()* @sancov.module_ctor_8bit_counters to i8*) }, { i32, void ()*, i8* } { i32 1, void ()* @asan.module_ctor, i8* null }] | |
@llvm.global_dtors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 1, void ()* @asan.module_dtor, i8* null }] | |
@__asan_option_detect_stack_use_after_return = external global i32 | |
@___asan_gen_.183 = private unnamed_addr constant [92 x i8] c"4 32 24 14 description:48 96 24 10 ref.tmp:49 160 24 12 ref.tmp14:49 224 24 12 ref.tmp19:49\00", align 1 | |
@___asan_gen_.184 = private unnamed_addr constant [58 x i8] c"3 32 1 9 ref.tmp.i 48 1 10 ref.tmp4.i 64 21 10 Buffer:297\00", align 1 | |
@___asan_gen_.185 = private unnamed_addr constant [65 x i8] c"3 32 1 11 ref.tmp:837 48 1 12 ref.tmp4:837 64 32 12 ref.tmp9:838\00", align 1 | |
@___asan_gen_.186 = private unnamed_addr constant [24 x i8] c"1 32 32 12 ref.tmp:2768\00", align 1 | |
@___asan_gen_.187 = private unnamed_addr constant [46 x i8] c"2 32 8 12 ref.tmp:2281 64 8 14 ref.tmp16:2281\00", align 1 | |
@___asan_gen_.188 = private unnamed_addr constant [23 x i8] c"1 32 32 11 ref.tmp:351\00", align 1 | |
@___asan_gen_.189 = private unnamed_addr constant [24 x i8] c"1 32 32 12 ref.tmp:2593\00", align 1 | |
declare void @_ZN4llvm18ELFAttributeParser15stringAttributeEj(%"class.llvm::Error"* sret(%"class.llvm::Error") align 8, %"class.llvm::ELFAttributeParser"* nonnull align 8 dereferenceable(168), i32) #0 | |
declare void @_ZN4llvm18ELFAttributeParser16integerAttributeEj(%"class.llvm::Error"* sret(%"class.llvm::Error") align 8, %"class.llvm::ELFAttributeParser"* nonnull align 8 dereferenceable(168), i32) #0 | |
; Function Attrs: optforfuzzing sanitize_address uwtable | |
define void @_ZN4llvm20RISCVAttributeParser10stackAlignEj(%"class.llvm::Error"* noalias sret(%"class.llvm::Error") align 8 %agg.result, %"class.llvm::RISCVAttributeParser"* nonnull align 8 dereferenceable(168) %this, i32 %tag) #1 comdat align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%asan_local_stack_base = alloca i64, align 8 | |
%0 = load i32, i32* @__asan_option_detect_stack_use_after_return, align 4 | |
%1 = icmp ne i32 %0, 0 | |
br i1 %1, label %2, label %4 | |
2: ; preds = %entry | |
%3 = call i64 @__asan_stack_malloc_3(i64 288) | |
br label %4 | |
4: ; preds = %2, %entry | |
%5 = phi i64 [ 0, %entry ], [ %3, %2 ] | |
%6 = icmp eq i64 %5, 0 | |
br i1 %6, label %7, label %9 | |
7: ; preds = %4 | |
%MyAlloca = alloca i8, i64 288, align 32 | |
%8 = ptrtoint i8* %MyAlloca to i64 | |
br label %9 | |
9: ; preds = %7, %4 | |
%10 = phi i64 [ %5, %4 ], [ %8, %7 ] | |
store i64 %10, i64* %asan_local_stack_base, align 8 | |
%11 = add i64 %10, 32 | |
%12 = inttoptr i64 %11 to %"class.std::__1::basic_string"* | |
%13 = add i64 %10, 96 | |
%14 = inttoptr i64 %13 to %"class.std::__1::basic_string"* | |
%15 = add i64 %10, 160 | |
%16 = inttoptr i64 %15 to %"class.std::__1::basic_string"* | |
%17 = add i64 %10, 224 | |
%18 = inttoptr i64 %17 to %"class.std::__1::basic_string"* | |
%19 = inttoptr i64 %10 to i64* | |
store i64 1102416563, i64* %19, align 8 | |
%20 = add i64 %10, 8 | |
%21 = inttoptr i64 %20 to i64* | |
store i64 ptrtoint ([92 x i8]* @___asan_gen_.183 to i64), i64* %21, align 8 | |
%22 = add i64 %10, 16 | |
%23 = inttoptr i64 %22 to i64* | |
store i64 ptrtoint (void (%"class.llvm::Error"*, %"class.llvm::RISCVAttributeParser"*, i32)* @_ZN4llvm20RISCVAttributeParser10stackAlignEj to i64), i64* %23, align 8 | |
%24 = lshr i64 %10, 3 | |
%25 = add i64 %24, 2147450880 | |
%26 = add i64 %25, 0 | |
%27 = inttoptr i64 %26 to i64* | |
store i64 -938726774212005391, i64* %27, align 1 | |
%28 = add i64 %25, 8 | |
%29 = inttoptr i64 %28 to i64* | |
store i64 -938726774195162382, i64* %29, align 1 | |
%30 = add i64 %25, 16 | |
%31 = inttoptr i64 %30 to i64* | |
store i64 -938726774195162382, i64* %31, align 1 | |
%32 = add i64 %25, 24 | |
%33 = inttoptr i64 %32 to i64* | |
store i64 -866669180157234446, i64* %33, align 1 | |
%34 = add i64 %25, 32 | |
%35 = inttoptr i64 %34 to i32* | |
store i32 -202116109, i32* %35, align 1 | |
%36 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 0), align 1, !nosanitize !0 | |
%37 = add i8 %36, 1 | |
store i8 %37, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 0), align 1, !nosanitize !0 | |
%38 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%39 = ptrtoint i8* %38 to i64 | |
%40 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%41 = icmp ult i64 %39, %40 | |
br i1 %41, label %42, label %43 | |
42: ; preds = %9 | |
store i64 %39, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %43 | |
43: ; preds = %42, %9 | |
%44 = getelementptr inbounds %"class.llvm::RISCVAttributeParser", %"class.llvm::RISCVAttributeParser"* %this, i64 0, i32 0 | |
%de = getelementptr inbounds %"class.llvm::RISCVAttributeParser", %"class.llvm::RISCVAttributeParser"* %this, i64 0, i32 0, i32 6 | |
%Offset.i = getelementptr inbounds %"class.llvm::RISCVAttributeParser", %"class.llvm::RISCVAttributeParser"* %this, i64 0, i32 0, i32 7, i32 0 | |
%Err.i = getelementptr inbounds %"class.llvm::RISCVAttributeParser", %"class.llvm::RISCVAttributeParser"* %this, i64 0, i32 0, i32 7, i32 1 | |
%call.i = call i64 @_ZNK4llvm13DataExtractor10getULEB128EPmPNS_5ErrorE(%"class.llvm::DataExtractor"* nonnull align 8 dereferenceable(18) %de, i64* nonnull %Offset.i, %"class.llvm::Error"* nonnull %Err.i) #19 | |
%45 = bitcast %"class.std::__1::basic_string"* %12 to i8* | |
%46 = add i64 %25, 4 | |
%47 = inttoptr i64 %46 to i16* | |
store i16 0, i16* %47, align 1 | |
%48 = add i64 %25, 6 | |
%49 = inttoptr i64 %48 to i8* | |
store i8 0, i8* %49, align 1 | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %45) #20 | |
%50 = bitcast %"class.std::__1::basic_string"* %14 to i8* | |
%51 = add i64 %25, 12 | |
%52 = inttoptr i64 %51 to i16* | |
store i16 0, i16* %52, align 1 | |
%53 = add i64 %25, 14 | |
%54 = inttoptr i64 %53 to i8* | |
store i8 0, i8* %54, align 1 | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %50) #20 | |
%55 = bitcast %"class.std::__1::basic_string"* %16 to i8* | |
%56 = add i64 %25, 20 | |
%57 = inttoptr i64 %56 to i16* | |
store i16 0, i16* %57, align 1 | |
%58 = add i64 %25, 22 | |
%59 = inttoptr i64 %58 to i8* | |
store i8 0, i8* %59, align 1 | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %55) #20 | |
call void @_ZN4llvm6utostrEmb(%"class.std::__1::basic_string"* nonnull sret(%"class.std::__1::basic_string") align 8 %16, i64 %call.i, i1 zeroext false) #19 | |
%call10.i85 = invoke nonnull align 8 dereferenceable(24) %"class.std::__1::basic_string"* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %16, i64 0, i8* getelementptr inbounds ({ [20 x i8], [44 x i8] }, { [20 x i8], [44 x i8] }* @.str.3, i32 0, i32 0, i64 0), i64 19) #19 | |
to label %_ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_OS9_.exit unwind label %lpad | |
_ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_OS9_.exit: ; preds = %43 | |
call void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %14, %"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %call10.i85) #21 | |
%60 = bitcast %"class.std::__1::basic_string"* %18 to i8* | |
%61 = add i64 %25, 28 | |
%62 = inttoptr i64 %61 to i16* | |
store i16 0, i16* %62, align 1 | |
%63 = add i64 %25, 30 | |
%64 = inttoptr i64 %63 to i8* | |
store i8 0, i8* %64, align 1 | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %60) #20 | |
invoke void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IDnEEPKc(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %18, i8* getelementptr inbounds ({ [7 x i8], [25 x i8] }, { [7 x i8], [25 x i8] }* @.str.4, i32 0, i32 0, i64 0)) #19 | |
to label %cont2.i75 unwind label %lpad22 | |
cont2.i75: ; preds = %_ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_OS9_.exit | |
%call.i7477 = invoke nonnull align 8 dereferenceable(24) %"class.std::__1::basic_string"* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %14, %"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %18) #19 | |
to label %_ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEOS9_SA_.exit unwind label %lpad26 | |
_ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEOS9_SA_.exit: ; preds = %cont2.i75 | |
call void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %12, %"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %call.i7477) #21 | |
call void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %18) #21 | |
%65 = add i64 %25, 28 | |
%66 = inttoptr i64 %65 to i16* | |
store i16 -1800, i16* %66, align 1 | |
%67 = add i64 %25, 30 | |
%68 = inttoptr i64 %67 to i8* | |
store i8 -8, i8* %68, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %60) #20 | |
call void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %14) #21 | |
call void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %16) #21 | |
%69 = add i64 %25, 20 | |
%70 = inttoptr i64 %69 to i16* | |
store i16 -1800, i16* %70, align 1 | |
%71 = add i64 %25, 22 | |
%72 = inttoptr i64 %71 to i8* | |
store i8 -8, i8* %72, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %55) #20 | |
%73 = add i64 %25, 12 | |
%74 = inttoptr i64 %73 to i16* | |
store i16 -1800, i16* %74, align 1 | |
%75 = add i64 %25, 14 | |
%76 = inttoptr i64 %75 to i8* | |
store i8 -8, i8* %76, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %50) #20 | |
%conv = trunc i64 %call.i to i32 | |
%77 = ptrtoint i8* %45 to i64 | |
%78 = lshr i64 %77, 3 | |
%79 = add i64 %78, 2147450880 | |
%80 = inttoptr i64 %79 to i8* | |
%81 = load i8, i8* %80, align 1 | |
%82 = icmp ne i8 %81, 0 | |
br i1 %82, label %83, label %88, !prof !1 | |
83: ; preds = %_ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEOS9_SA_.exit | |
%84 = and i64 %77, 7 | |
%85 = trunc i64 %84 to i8 | |
%86 = icmp sge i8 %85, %81 | |
br i1 %86, label %87, label %88 | |
87: ; preds = %83 | |
call void @__asan_report_load1(i64 %77) #22 | |
unreachable | |
88: ; preds = %83, %_ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEOS9_SA_.exit | |
%89 = load i8, i8* %45, align 8, !tbaa !2 | |
%90 = and i8 %89, 1 | |
call void @__sanitizer_cov_trace_const_cmp1(i8 0, i8 %90) | |
%tobool.i.not.i = icmp eq i8 %90, 0 | |
br i1 %tobool.i.not.i, label %cont11.i.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i: ; preds = %88 | |
%91 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 1), align 1, !nosanitize !0 | |
%92 = add i8 %91, 1 | |
store i8 %92, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 1), align 1, !nosanitize !0 | |
%__data_.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %12, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 | |
%93 = ptrtoint i8** %__data_.i.i to i64 | |
%94 = lshr i64 %93, 3 | |
%95 = add i64 %94, 2147450880 | |
%96 = inttoptr i64 %95 to i8* | |
%97 = load i8, i8* %96, align 1 | |
%98 = icmp ne i8 %97, 0 | |
br i1 %98, label %99, label %100 | |
99: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
call void @__asan_report_load8(i64 %93) #22 | |
unreachable | |
100: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
%101 = load i8*, i8** %__data_.i.i, align 8, !tbaa !2 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i.i | |
cont11.i.i: ; preds = %88 | |
%102 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 2), align 1, !nosanitize !0 | |
%103 = add i8 %102, 1 | |
store i8 %103, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 2), align 1, !nosanitize !0 | |
%__s.i.i = bitcast %"class.std::__1::basic_string"* %12 to %"struct.std::__1::basic_string<char>::__short"* | |
%arrayidx.i.i = getelementptr inbounds %"struct.std::__1::basic_string<char>::__short", %"struct.std::__1::basic_string<char>::__short"* %__s.i.i, i64 0, i32 1, i64 0 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i.i | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i.i: ; preds = %cont11.i.i, %100 | |
%cond.i.i92 = phi i8* [ %101, %100 ], [ %arrayidx.i.i, %cont11.i.i ] | |
br i1 %tobool.i.not.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i.i | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i.i | |
%104 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 3), align 1, !nosanitize !0 | |
%105 = add i8 %104, 1 | |
store i8 %105, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 3), align 1, !nosanitize !0 | |
%__size_.i.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %12, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 | |
%106 = ptrtoint i64* %__size_.i.i.i to i64 | |
%107 = lshr i64 %106, 3 | |
%108 = add i64 %107, 2147450880 | |
%109 = inttoptr i64 %108 to i8* | |
%110 = load i8, i8* %109, align 1 | |
%111 = icmp ne i8 %110, 0 | |
br i1 %111, label %112, label %113 | |
112: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i.i | |
call void @__asan_report_load8(i64 %106) #22 | |
unreachable | |
113: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i.i | |
%114 = load i64, i64* %__size_.i.i.i, align 8, !tbaa !2 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6lengthEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i.i | |
%115 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 4), align 1, !nosanitize !0 | |
%116 = add i8 %115, 1 | |
store i8 %116, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 4), align 1, !nosanitize !0 | |
%117 = lshr i8 %89, 1 | |
%conv17.i.i.i = zext i8 %117 to i64 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6lengthEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6lengthEv.exit: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i.i, %113 | |
%cond.i.i = phi i64 [ %114, %113 ], [ %conv17.i.i.i, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i.i ] | |
invoke void @_ZN4llvm18ELFAttributeParser14printAttributeEjjNS_9StringRefE(%"class.llvm::ELFAttributeParser"* nonnull align 8 dereferenceable(168) %44, i32 %tag, i32 %conv, i8* %cond.i.i92, i64 %cond.i.i) #19 | |
to label %invoke.cont42 unwind label %lpad40 | |
invoke.cont42: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6lengthEv.exit | |
%.not = icmp eq %"class.llvm::Error"* %agg.result, null, !nosanitize !0 | |
br i1 %.not, label %handler.type_mismatch50, label %cont51, !prof !5, !nosanitize !0 | |
handler.type_mismatch50: ; preds = %invoke.cont42 | |
%118 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 5), align 1, !nosanitize !0 | |
%119 = add i8 %118, 1 | |
store i8 %119, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 5), align 1, !nosanitize !0 | |
%120 = ptrtoint %"class.llvm::Error"* %agg.result to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [25 x i8]*, i32, i32 }, { i16, i16, [14 x i8] }*, i8, i8 }* @2 to i8*), i64 %120) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont51: ; preds = %invoke.cont42 | |
%121 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 6), align 1, !nosanitize !0 | |
%122 = add i8 %121, 1 | |
store i8 %122, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 6), align 1, !nosanitize !0 | |
%Payload.i = getelementptr inbounds %"class.llvm::Error", %"class.llvm::Error"* %agg.result, i64 0, i32 0 | |
%123 = ptrtoint %"class.llvm::ErrorInfoBase"** %Payload.i to i64 | |
%124 = lshr i64 %123, 3 | |
%125 = add i64 %124, 2147450880 | |
%126 = inttoptr i64 %125 to i8* | |
%127 = load i8, i8* %126, align 1 | |
%128 = icmp ne i8 %127, 0 | |
br i1 %128, label %129, label %130 | |
129: ; preds = %cont51 | |
call void @__asan_report_store8(i64 %123) #22 | |
unreachable | |
130: ; preds = %cont51 | |
store %"class.llvm::ErrorInfoBase"* null, %"class.llvm::ErrorInfoBase"** %Payload.i, align 8, !tbaa !6 | |
call void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %12) #21 | |
%131 = add i64 %25, 4 | |
%132 = inttoptr i64 %131 to i16* | |
store i16 -1800, i16* %132, align 1 | |
%133 = add i64 %25, 6 | |
%134 = inttoptr i64 %133 to i8* | |
store i8 -8, i8* %134, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %45) #20 | |
store i64 1172321806, i64* %19, align 8 | |
%135 = icmp ne i64 %5, 0 | |
br i1 %135, label %136, label %142 | |
136: ; preds = %130 | |
%137 = add i64 %25, 0 | |
call void @__asan_set_shadow_f5(i64 %137, i64 64) | |
%138 = add i64 %5, 504 | |
%139 = inttoptr i64 %138 to i64* | |
%140 = load i64, i64* %139, align 8 | |
%141 = inttoptr i64 %140 to i8* | |
store i8 0, i8* %141, align 1 | |
br label %153 | |
142: ; preds = %130 | |
%143 = add i64 %25, 0 | |
%144 = inttoptr i64 %143 to i64* | |
store i64 0, i64* %144, align 1 | |
%145 = add i64 %25, 8 | |
%146 = inttoptr i64 %145 to i64* | |
store i64 0, i64* %146, align 1 | |
%147 = add i64 %25, 16 | |
%148 = inttoptr i64 %147 to i64* | |
store i64 0, i64* %148, align 1 | |
%149 = add i64 %25, 24 | |
%150 = inttoptr i64 %149 to i64* | |
store i64 0, i64* %150, align 1 | |
%151 = add i64 %25, 32 | |
%152 = inttoptr i64 %151 to i32* | |
store i32 0, i32* %152, align 1 | |
br label %153 | |
153: ; preds = %142, %136 | |
ret void | |
lpad: ; preds = %43 | |
%154 = landingpad { i8*, i32 } | |
cleanup | |
%155 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 7), align 1, !nosanitize !0 | |
%156 = add i8 %155, 1 | |
store i8 %156, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 7), align 1, !nosanitize !0 | |
br label %ehcleanup29 | |
lpad22: ; preds = %_ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_OS9_.exit | |
%157 = landingpad { i8*, i32 } | |
cleanup | |
%158 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 8), align 1, !nosanitize !0 | |
%159 = add i8 %158, 1 | |
store i8 %159, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 8), align 1, !nosanitize !0 | |
br label %ehcleanup | |
lpad26: ; preds = %cont2.i75 | |
%160 = landingpad { i8*, i32 } | |
cleanup | |
%161 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 9), align 1, !nosanitize !0 | |
%162 = add i8 %161, 1 | |
store i8 %162, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 9), align 1, !nosanitize !0 | |
call void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %18) #21 | |
br label %ehcleanup | |
ehcleanup: ; preds = %lpad26, %lpad22 | |
%.pn = phi { i8*, i32 } [ %160, %lpad26 ], [ %157, %lpad22 ] | |
%163 = add i64 %25, 28 | |
%164 = inttoptr i64 %163 to i16* | |
store i16 -1800, i16* %164, align 1 | |
%165 = add i64 %25, 30 | |
%166 = inttoptr i64 %165 to i8* | |
store i8 -8, i8* %166, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %60) #20 | |
call void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %14) #21 | |
br label %ehcleanup29 | |
ehcleanup29: ; preds = %ehcleanup, %lpad | |
%.pn.pn = phi { i8*, i32 } [ %.pn, %ehcleanup ], [ %154, %lpad ] | |
call void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %16) #21 | |
%167 = add i64 %25, 20 | |
%168 = inttoptr i64 %167 to i16* | |
store i16 -1800, i16* %168, align 1 | |
%169 = add i64 %25, 22 | |
%170 = inttoptr i64 %169 to i8* | |
store i8 -8, i8* %170, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %55) #20 | |
%171 = add i64 %25, 12 | |
%172 = inttoptr i64 %171 to i16* | |
store i16 -1800, i16* %172, align 1 | |
%173 = add i64 %25, 14 | |
%174 = inttoptr i64 %173 to i8* | |
store i8 -8, i8* %174, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %50) #20 | |
br label %ehcleanup57 | |
lpad40: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6lengthEv.exit | |
%175 = landingpad { i8*, i32 } | |
cleanup | |
%176 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 10), align 1, !nosanitize !0 | |
%177 = add i8 %176, 1 | |
store i8 %177, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_, i64 0, i64 10), align 1, !nosanitize !0 | |
call void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %12) #21 | |
br label %ehcleanup57 | |
ehcleanup57: ; preds = %lpad40, %ehcleanup29 | |
%.pn65.pn.pn = phi { i8*, i32 } [ %175, %lpad40 ], [ %.pn.pn, %ehcleanup29 ] | |
%178 = add i64 %25, 4 | |
%179 = inttoptr i64 %178 to i16* | |
store i16 -1800, i16* %179, align 1 | |
%180 = add i64 %25, 6 | |
%181 = inttoptr i64 %180 to i8* | |
store i8 -8, i8* %181, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %45) #20 | |
store i64 1172321806, i64* %19, align 8 | |
%182 = icmp ne i64 %5, 0 | |
br i1 %182, label %183, label %189 | |
183: ; preds = %ehcleanup57 | |
%184 = add i64 %25, 0 | |
call void @__asan_set_shadow_f5(i64 %184, i64 64) | |
%185 = add i64 %5, 504 | |
%186 = inttoptr i64 %185 to i64* | |
%187 = load i64, i64* %186, align 8 | |
%188 = inttoptr i64 %187 to i8* | |
store i8 0, i8* %188, align 1 | |
br label %200 | |
189: ; preds = %ehcleanup57 | |
%190 = add i64 %25, 0 | |
%191 = inttoptr i64 %190 to i64* | |
store i64 0, i64* %191, align 1 | |
%192 = add i64 %25, 8 | |
%193 = inttoptr i64 %192 to i64* | |
store i64 0, i64* %193, align 1 | |
%194 = add i64 %25, 16 | |
%195 = inttoptr i64 %194 to i64* | |
store i64 0, i64* %195, align 1 | |
%196 = add i64 %25, 24 | |
%197 = inttoptr i64 %196 to i64* | |
store i64 0, i64* %197, align 1 | |
%198 = add i64 %25, 32 | |
%199 = inttoptr i64 %198 to i32* | |
store i32 0, i32* %199, align 1 | |
br label %200 | |
200: ; preds = %189, %183 | |
resume { i8*, i32 } %.pn65.pn.pn | |
} | |
; Function Attrs: optforfuzzing sanitize_address uwtable | |
define void @_ZN4llvm20RISCVAttributeParser15unalignedAccessEj(%"class.llvm::Error"* noalias sret(%"class.llvm::Error") align 8 %agg.result, %"class.llvm::RISCVAttributeParser"* nonnull align 8 dereferenceable(168) %this, i32 %tag) #1 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.42, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.42, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = getelementptr inbounds %"class.llvm::RISCVAttributeParser", %"class.llvm::RISCVAttributeParser"* %this, i64 0, i32 0 | |
call void @_ZN4llvm18ELFAttributeParser20parseStringAttributeEPKcjNS_8ArrayRefIS2_EE(%"class.llvm::Error"* sret(%"class.llvm::Error") align 8 %agg.result, %"class.llvm::ELFAttributeParser"* nonnull align 8 dereferenceable(168) %8, i8* getelementptr inbounds ({ [17 x i8], [47 x i8] }, { [17 x i8], [47 x i8] }* @.str.2, i32 0, i32 0, i64 0), i32 %tag, i8** getelementptr inbounds ({ [2 x i8*], [16 x i8] }, { [2 x i8*], [16 x i8] }* @_ZZN4llvm20RISCVAttributeParser15unalignedAccessEjE7strings, i32 0, i32 0, i64 0), i64 2) #19 | |
ret void | |
} | |
; Function Attrs: noreturn nounwind uwtable | |
declare void @__ubsan_handle_type_mismatch_v1_abort(i8*, i64) local_unnamed_addr #2 | |
declare void @_ZN4llvm18ELFAttributeParser20parseStringAttributeEPKcjNS_8ArrayRefIS2_EE(%"class.llvm::Error"* sret(%"class.llvm::Error") align 8, %"class.llvm::ELFAttributeParser"* nonnull align 8 dereferenceable(168), i8*, i32, i8**, i64) local_unnamed_addr #0 | |
; Function Attrs: argmemonly nofree nosync nounwind willreturn | |
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #3 | |
; Function Attrs: inlinehint optforfuzzing sanitize_address uwtable | |
define linkonce_odr void @_ZN4llvm6utostrEmb(%"class.std::__1::basic_string"* noalias sret(%"class.std::__1::basic_string") align 8 %agg.result, i64 %X, i1 zeroext %isNeg) #4 comdat prologue <{ i32, i32 }> <{ i32 846595819, i32 trunc (i64 sub (i64 ptrtoint ({ i8*, [24 x i8] }* @6 to i64), i64 ptrtoint (void (%"class.std::__1::basic_string"*, i64, i1)* @_ZN4llvm6utostrEmb to i64)) to i32) }> { | |
entry: | |
%asan_local_stack_base = alloca i64, align 8 | |
%0 = load i32, i32* @__asan_option_detect_stack_use_after_return, align 4 | |
%1 = icmp ne i32 %0, 0 | |
br i1 %1, label %2, label %4 | |
2: ; preds = %entry | |
%3 = call i64 @__asan_stack_malloc_1(i64 128) | |
br label %4 | |
4: ; preds = %2, %entry | |
%5 = phi i64 [ 0, %entry ], [ %3, %2 ] | |
%6 = icmp eq i64 %5, 0 | |
br i1 %6, label %7, label %9 | |
7: ; preds = %4 | |
%MyAlloca = alloca i8, i64 128, align 32 | |
%8 = ptrtoint i8* %MyAlloca to i64 | |
br label %9 | |
9: ; preds = %7, %4 | |
%10 = phi i64 [ %5, %4 ], [ %8, %7 ] | |
store i64 %10, i64* %asan_local_stack_base, align 8 | |
%11 = add i64 %10, 32 | |
%12 = inttoptr i64 %11 to %"struct.std::__1::__default_init_tag"* | |
%13 = add i64 %10, 48 | |
%14 = inttoptr i64 %13 to %"struct.std::__1::__default_init_tag"* | |
%15 = add i64 %10, 64 | |
%16 = inttoptr i64 %15 to [21 x i8]* | |
%17 = inttoptr i64 %10 to i64* | |
store i64 1102416563, i64* %17, align 8 | |
%18 = add i64 %10, 8 | |
%19 = inttoptr i64 %18 to i64* | |
store i64 ptrtoint ([58 x i8]* @___asan_gen_.184 to i64), i64* %19, align 8 | |
%20 = add i64 %10, 16 | |
%21 = inttoptr i64 %20 to i64* | |
store i64 ptrtoint (void (%"class.std::__1::basic_string"*, i64, i1)* @_ZN4llvm6utostrEmb to i64), i64* %21, align 8 | |
%22 = lshr i64 %10, 3 | |
%23 = add i64 %22, 2147450880 | |
%24 = add i64 %23, 0 | |
%25 = inttoptr i64 %24 to i64* | |
store i64 -938733371281772047, i64* %25, align 1 | |
%26 = add i64 %23, 8 | |
%27 = inttoptr i64 %26 to i64* | |
store i64 -868082074056591112, i64* %27, align 1 | |
%28 = load i8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 0), align 1, !nosanitize !0 | |
%29 = add i8 %28, 1 | |
store i8 %29, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 0), align 1, !nosanitize !0 | |
%30 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%31 = ptrtoint i8* %30 to i64 | |
%32 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%33 = icmp ult i64 %31, %32 | |
br i1 %33, label %34, label %35 | |
34: ; preds = %9 | |
store i64 %31, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %35 | |
35: ; preds = %34, %9 | |
%36 = getelementptr inbounds [21 x i8], [21 x i8]* %16, i64 0, i64 0 | |
%37 = add i64 %23, 8 | |
%38 = inttoptr i64 %37 to i16* | |
store i16 0, i16* %38, align 1 | |
%39 = add i64 %23, 10 | |
%40 = inttoptr i64 %39 to i8* | |
store i8 5, i8* %40, align 1 | |
call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %36) #20 | |
%41 = ptrtoint [21 x i8]* %16 to i64, !nosanitize !0 | |
%.not.i = icmp ugt [21 x i8]* %16, inttoptr (i64 -22 to [21 x i8]*) | |
br i1 %.not.i, label %handler.pointer_overflow.i, label %_ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit, !prof !5, !nosanitize !0 | |
handler.pointer_overflow.i: ; preds = %35 | |
%42 = load i8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 1), align 1, !nosanitize !0 | |
%43 = add i8 %42, 1 | |
store i8 %43, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 1), align 1, !nosanitize !0 | |
%44 = add i64 %41, 21, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [9 x i8]*, i32, i32 } }* @10 to i8*), i64 %41, i64 %44) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
_ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit: ; preds = %35 | |
%add.ptr.i = getelementptr inbounds [21 x i8], [21 x i8]* %16, i64 0, i64 21 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %X) | |
%cmp = icmp eq i64 %X, 0 | |
br i1 %cmp, label %if.then, label %_ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit.if.end_crit_edge | |
_ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit.if.end_crit_edge: ; preds = %_ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit | |
%45 = load i8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 2), align 1, !nosanitize !0 | |
%46 = add i8 %45, 1 | |
store i8 %46, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 2), align 1, !nosanitize !0 | |
br label %if.end | |
if.then: ; preds = %_ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit | |
%47 = load i8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 3), align 1, !nosanitize !0 | |
%48 = add i8 %47, 1 | |
store i8 %48, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 3), align 1, !nosanitize !0 | |
%incdec.ptr = getelementptr inbounds [21 x i8], [21 x i8]* %16, i64 0, i64 20 | |
%49 = ptrtoint i8* %incdec.ptr to i64 | |
%50 = lshr i64 %49, 3 | |
%51 = add i64 %50, 2147450880 | |
%52 = inttoptr i64 %51 to i8* | |
%53 = load i8, i8* %52, align 1 | |
%54 = icmp ne i8 %53, 0 | |
br i1 %54, label %55, label %60, !prof !1 | |
55: ; preds = %if.then | |
%56 = and i64 %49, 7 | |
%57 = trunc i64 %56 to i8 | |
%58 = icmp sge i8 %57, %53 | |
br i1 %58, label %59, label %60 | |
59: ; preds = %55 | |
call void @__asan_report_store1(i64 %49) #22 | |
unreachable | |
60: ; preds = %55, %if.then | |
store i8 48, i8* %incdec.ptr, align 4, !tbaa !2 | |
br label %if.end | |
if.end: ; preds = %60, %_ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit.if.end_crit_edge | |
%BufPtr.0 = phi i8* [ %incdec.ptr, %60 ], [ %add.ptr.i, %_ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit.if.end_crit_edge ] | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %X) | |
%tobool.not54 = icmp eq i64 %X, 0 | |
br i1 %tobool.not54, label %if.end.cont14_crit_edge, label %if.end.while.body_crit_edge | |
if.end.while.body_crit_edge: ; preds = %if.end | |
br label %while.body | |
if.end.cont14_crit_edge: ; preds = %if.end | |
%61 = load i8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 4), align 1, !nosanitize !0 | |
%62 = add i8 %61, 1 | |
store i8 %62, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 4), align 1, !nosanitize !0 | |
br label %cont14 | |
while.body: ; preds = %cont11.while.body_crit_edge, %if.end.while.body_crit_edge | |
%BufPtr.156 = phi i8* [ %incdec.ptr7, %cont11.while.body_crit_edge ], [ %BufPtr.0, %if.end.while.body_crit_edge ] | |
%X.addr.055 = phi i64 [ %div, %cont11.while.body_crit_edge ], [ %X, %if.end.while.body_crit_edge ] | |
%incdec.ptr7 = getelementptr inbounds i8, i8* %BufPtr.156, i64 -1 | |
%.not45 = icmp eq i8* %BufPtr.156, inttoptr (i64 1 to i8*) | |
br i1 %.not45, label %handler.pointer_overflow8, label %cont11, !prof !5, !nosanitize !0 | |
handler.pointer_overflow8: ; preds = %while.body | |
%63 = load i8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 5), align 1, !nosanitize !0 | |
%64 = add i8 %63, 1 | |
store i8 %64, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 5), align 1, !nosanitize !0 | |
%65 = ptrtoint i8* %BufPtr.156 to i64, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [15 x i8]*, i32, i32 } }* @7 to i8*), i64 %65, i64 0) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont11: ; preds = %while.body | |
%rem = urem i64 %X.addr.055, 10 | |
%conv = trunc i64 %rem to i8 | |
%add = or i8 %conv, 48 | |
%66 = ptrtoint i8* %incdec.ptr7 to i64 | |
%67 = lshr i64 %66, 3 | |
%68 = add i64 %67, 2147450880 | |
%69 = inttoptr i64 %68 to i8* | |
%70 = load i8, i8* %69, align 1 | |
%71 = icmp ne i8 %70, 0 | |
br i1 %71, label %72, label %77, !prof !1 | |
72: ; preds = %cont11 | |
%73 = and i64 %66, 7 | |
%74 = trunc i64 %73 to i8 | |
%75 = icmp sge i8 %74, %70 | |
br i1 %75, label %76, label %77 | |
76: ; preds = %72 | |
call void @__asan_report_store1(i64 %66) #22 | |
unreachable | |
77: ; preds = %72, %cont11 | |
store i8 %add, i8* %incdec.ptr7, align 1, !tbaa !2 | |
%div = udiv i64 %X.addr.055, 10 | |
%78 = icmp ult i64 %X.addr.055, 10 | |
br i1 %78, label %cont11.cont14_crit_edge, label %cont11.while.body_crit_edge, !llvm.loop !9 | |
cont11.while.body_crit_edge: ; preds = %77 | |
%79 = load i8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 6), align 1, !nosanitize !0 | |
%80 = add i8 %79, 1 | |
store i8 %80, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 6), align 1, !nosanitize !0 | |
br label %while.body | |
cont11.cont14_crit_edge: ; preds = %77 | |
%81 = load i8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 7), align 1, !nosanitize !0 | |
%82 = add i8 %81, 1 | |
store i8 %82, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 7), align 1, !nosanitize !0 | |
br label %cont14 | |
cont14: ; preds = %cont11.cont14_crit_edge, %if.end.cont14_crit_edge | |
%BufPtr.1.lcssa = phi i8* [ %BufPtr.0, %if.end.cont14_crit_edge ], [ %incdec.ptr7, %cont11.cont14_crit_edge ] | |
br i1 %isNeg, label %if.then16, label %cont14._ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit44_crit_edge | |
cont14._ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit44_crit_edge: ; preds = %cont14 | |
%83 = load i8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 8), align 1, !nosanitize !0 | |
%84 = add i8 %83, 1 | |
store i8 %84, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 8), align 1, !nosanitize !0 | |
br label %_ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit44 | |
if.then16: ; preds = %cont14 | |
%incdec.ptr17 = getelementptr inbounds i8, i8* %BufPtr.1.lcssa, i64 -1 | |
%85 = ptrtoint i8* %BufPtr.1.lcssa to i64, !nosanitize !0 | |
%86 = add i64 %85, -1, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %86) | |
%.not46 = icmp eq i64 %86, 0, !nosanitize !0 | |
br i1 %.not46, label %handler.pointer_overflow18, label %cont21, !prof !5, !nosanitize !0 | |
handler.pointer_overflow18: ; preds = %if.then16 | |
%87 = load i8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 9), align 1, !nosanitize !0 | |
%88 = add i8 %87, 1 | |
store i8 %88, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 9), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [15 x i8]*, i32, i32 } }* @8 to i8*), i64 %85, i64 %86) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont21: ; preds = %if.then16 | |
%89 = load i8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 10), align 1, !nosanitize !0 | |
%90 = add i8 %89, 1 | |
store i8 %90, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 10), align 1, !nosanitize !0 | |
%91 = ptrtoint i8* %incdec.ptr17 to i64 | |
%92 = lshr i64 %91, 3 | |
%93 = add i64 %92, 2147450880 | |
%94 = inttoptr i64 %93 to i8* | |
%95 = load i8, i8* %94, align 1 | |
%96 = icmp ne i8 %95, 0 | |
br i1 %96, label %97, label %102, !prof !1 | |
97: ; preds = %cont21 | |
%98 = and i64 %91, 7 | |
%99 = trunc i64 %98 to i8 | |
%100 = icmp sge i8 %99, %95 | |
br i1 %100, label %101, label %102 | |
101: ; preds = %97 | |
call void @__asan_report_store1(i64 %91) #22 | |
unreachable | |
102: ; preds = %97, %cont21 | |
store i8 45, i8* %incdec.ptr17, align 1, !tbaa !2 | |
br label %_ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit44 | |
_ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit44: ; preds = %102, %cont14._ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit44_crit_edge | |
%BufPtr.2 = phi i8* [ %incdec.ptr17, %102 ], [ %BufPtr.1.lcssa, %cont14._ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit44_crit_edge ] | |
%.not = icmp eq %"class.std::__1::basic_string"* %agg.result, null, !nosanitize !0 | |
br i1 %.not, label %handler.type_mismatch26, label %cont27, !prof !5, !nosanitize !0 | |
handler.type_mismatch26: ; preds = %_ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit44 | |
%103 = load i8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 11), align 1, !nosanitize !0 | |
%104 = add i8 %103, 1 | |
store i8 %104, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 11), align 1, !nosanitize !0 | |
%105 = ptrtoint %"class.std::__1::basic_string"* %agg.result to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [15 x i8]*, i32, i32 }, { i16, i16, [14 x i8] }*, i8, i8 }* @9 to i8*), i64 %105) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont27: ; preds = %_ZNSt3__13endIcLm21EEEPT_RAT0__S1_.exit44 | |
%__r_.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %agg.result, i64 0, i32 0 | |
%106 = getelementptr inbounds %"struct.std::__1::__default_init_tag", %"struct.std::__1::__default_init_tag"* %12, i64 0, i32 0 | |
%107 = add i64 %23, 4 | |
%108 = inttoptr i64 %107 to i8* | |
store i8 1, i8* %108, align 1 | |
call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %106) #20 | |
%109 = getelementptr inbounds %"struct.std::__1::__default_init_tag", %"struct.std::__1::__default_init_tag"* %14, i64 0, i32 0 | |
%110 = add i64 %23, 6 | |
%111 = inttoptr i64 %110 to i8* | |
store i8 1, i8* %111, align 1 | |
call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %109) #20 | |
call void @_ZNSt3__117__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_EC2INS_18__default_init_tagESA_EEOT_OT0_(%"class.std::__1::__compressed_pair.42"* nonnull align 8 dereferenceable(24) %__r_.i, %"struct.std::__1::__default_init_tag"* nonnull align 1 dereferenceable(1) %12, %"struct.std::__1::__default_init_tag"* nonnull align 1 dereferenceable(1) %14) #19 | |
%112 = add i64 %23, 6 | |
%113 = inttoptr i64 %112 to i8* | |
store i8 -8, i8* %113, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %109) #20 | |
%114 = add i64 %23, 4 | |
%115 = inttoptr i64 %114 to i8* | |
store i8 -8, i8* %115, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %106) #20 | |
call void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9_MetaBaseIXsr27__is_cpp17_forward_iteratorIT_EE5valueEE13_EnableIfImplIvEES9_S9_(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %agg.result, i8* %BufPtr.2, i8* nonnull %add.ptr.i) #19 | |
%call.i = call %"class.std::__1::__libcpp_db"* @_ZNSt3__18__get_dbEv() #19 | |
%116 = icmp ne %"class.std::__1::__libcpp_db"* %call.i, null, !nosanitize !0 | |
%117 = ptrtoint %"class.std::__1::__libcpp_db"* %call.i to i64, !nosanitize !0 | |
%118 = and i64 %117, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %118) | |
%119 = icmp eq i64 %118, 0, !nosanitize !0 | |
%120 = and i1 %119, %116, !nosanitize !0 | |
br i1 %120, label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IPcvEET_S8_.exit, label %handler.type_mismatch9.i, !prof !12, !nosanitize !0 | |
handler.type_mismatch9.i: ; preds = %cont27 | |
%121 = load i8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 12), align 1, !nosanitize !0 | |
%122 = add i8 %121, 1 | |
store i8 %122, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 12), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 }* @12 to i8*), i64 %117) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IPcvEET_S8_.exit: ; preds = %cont27 | |
%123 = load i8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 13), align 1, !nosanitize !0 | |
%124 = add i8 %123, 1 | |
store i8 %124, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__sancov_gen_.44, i64 0, i64 13), align 1, !nosanitize !0 | |
%125 = bitcast %"class.std::__1::basic_string"* %agg.result to i8*, !nosanitize !0 | |
call void @_ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E(%"class.std::__1::__libcpp_db"* nonnull align 8 dereferenceable(48) %call.i, i8* nonnull %125, %"struct.std::__1::__c_node"* (i8*, i8*, %"struct.std::__1::__c_node"*)* nonnull @_ZNSt3__111__libcpp_db15__create_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEPNS_8__c_nodeEPvSA_S9_) #19 | |
%126 = add i64 %23, 8 | |
%127 = inttoptr i64 %126 to i16* | |
store i16 -1800, i16* %127, align 1 | |
%128 = add i64 %23, 10 | |
%129 = inttoptr i64 %128 to i8* | |
store i8 -8, i8* %129, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %36) #20 | |
store i64 1172321806, i64* %17, align 8 | |
%130 = icmp ne i64 %5, 0 | |
br i1 %130, label %131, label %140 | |
131: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IPcvEET_S8_.exit | |
%132 = add i64 %23, 0 | |
%133 = inttoptr i64 %132 to i64* | |
store i64 -723401728380766731, i64* %133, align 1 | |
%134 = add i64 %23, 8 | |
%135 = inttoptr i64 %134 to i64* | |
store i64 -723401728380766731, i64* %135, align 1 | |
%136 = add i64 %5, 120 | |
%137 = inttoptr i64 %136 to i64* | |
%138 = load i64, i64* %137, align 8 | |
%139 = inttoptr i64 %138 to i8* | |
store i8 0, i8* %139, align 1 | |
br label %145 | |
140: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IPcvEET_S8_.exit | |
%141 = add i64 %23, 0 | |
%142 = inttoptr i64 %141 to i64* | |
store i64 0, i64* %142, align 1 | |
%143 = add i64 %23, 8 | |
%144 = inttoptr i64 %143 to i64* | |
store i64 0, i64* %144, align 1 | |
br label %145 | |
145: ; preds = %140, %131 | |
ret void | |
} | |
declare i32 @__gxx_personality_v0(...) | |
; Function Attrs: optforfuzzing sanitize_address uwtable | |
define linkonce_odr void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IDnEEPKc(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this, i8* %__s) unnamed_addr #1 comdat align 2 { | |
entry: | |
%asan_local_stack_base = alloca i64, align 8 | |
%0 = load i32, i32* @__asan_option_detect_stack_use_after_return, align 4 | |
%1 = icmp ne i32 %0, 0 | |
br i1 %1, label %2, label %4 | |
2: ; preds = %entry | |
%3 = call i64 @__asan_stack_malloc_1(i64 128) | |
br label %4 | |
4: ; preds = %2, %entry | |
%5 = phi i64 [ 0, %entry ], [ %3, %2 ] | |
%6 = icmp eq i64 %5, 0 | |
br i1 %6, label %7, label %9 | |
7: ; preds = %4 | |
%MyAlloca = alloca i8, i64 128, align 32 | |
%8 = ptrtoint i8* %MyAlloca to i64 | |
br label %9 | |
9: ; preds = %7, %4 | |
%10 = phi i64 [ %5, %4 ], [ %8, %7 ] | |
store i64 %10, i64* %asan_local_stack_base, align 8 | |
%11 = add i64 %10, 32 | |
%12 = inttoptr i64 %11 to %"struct.std::__1::__default_init_tag"* | |
%13 = add i64 %10, 48 | |
%14 = inttoptr i64 %13 to %"struct.std::__1::__default_init_tag"* | |
%15 = add i64 %10, 64 | |
%16 = inttoptr i64 %15 to %"struct.std::__1::__libcpp_debug_info"* | |
%17 = inttoptr i64 %10 to i64* | |
store i64 1102416563, i64* %17, align 8 | |
%18 = add i64 %10, 8 | |
%19 = inttoptr i64 %18 to i64* | |
store i64 ptrtoint ([65 x i8]* @___asan_gen_.185 to i64), i64* %19, align 8 | |
%20 = add i64 %10, 16 | |
%21 = inttoptr i64 %20 to i64* | |
store i64 ptrtoint (void (%"class.std::__1::basic_string"*, i8*)* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IDnEEPKc to i64), i64* %21, align 8 | |
%22 = lshr i64 %10, 3 | |
%23 = add i64 %22, 2147450880 | |
%24 = add i64 %23, 0 | |
%25 = inttoptr i64 %24 to i64* | |
store i64 -938733371281772047, i64* %25, align 1 | |
%26 = add i64 %23, 8 | |
%27 = inttoptr i64 %26 to i64* | |
store i64 -868082073972705032, i64* %27, align 1 | |
%28 = load i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i64 0, i64 0), align 1, !nosanitize !0 | |
%29 = add i8 %28, 1 | |
store i8 %29, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i64 0, i64 0), align 1, !nosanitize !0 | |
%30 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%31 = ptrtoint i8* %30 to i64 | |
%32 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%33 = icmp ult i64 %31, %32 | |
br i1 %33, label %34, label %35 | |
34: ; preds = %9 | |
store i64 %31, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %35 | |
35: ; preds = %34, %9 | |
%__r_ = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0 | |
%36 = getelementptr inbounds %"struct.std::__1::__default_init_tag", %"struct.std::__1::__default_init_tag"* %12, i64 0, i32 0 | |
%37 = add i64 %23, 4 | |
%38 = inttoptr i64 %37 to i8* | |
store i8 1, i8* %38, align 1 | |
call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %36) #20 | |
%39 = getelementptr inbounds %"struct.std::__1::__default_init_tag", %"struct.std::__1::__default_init_tag"* %14, i64 0, i32 0 | |
%40 = add i64 %23, 6 | |
%41 = inttoptr i64 %40 to i8* | |
store i8 1, i8* %41, align 1 | |
call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %39) #20 | |
call void @_ZNSt3__117__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_EC2INS_18__default_init_tagESA_EEOT_OT0_(%"class.std::__1::__compressed_pair.42"* nonnull align 8 dereferenceable(24) %__r_, %"struct.std::__1::__default_init_tag"* nonnull align 1 dereferenceable(1) %12, %"struct.std::__1::__default_init_tag"* nonnull align 1 dereferenceable(1) %14) #19 | |
%42 = add i64 %23, 6 | |
%43 = inttoptr i64 %42 to i8* | |
store i8 -8, i8* %43, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %39) #20 | |
%44 = add i64 %23, 4 | |
%45 = inttoptr i64 %44 to i8* | |
store i8 -8, i8* %45, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %36) #20 | |
%cmp.not = icmp eq i8* %__s, null | |
br i1 %cmp.not, label %cond.false, label %entry.cond.end_crit_edge | |
entry.cond.end_crit_edge: ; preds = %35 | |
%46 = load i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i64 0, i64 1), align 1, !nosanitize !0 | |
%47 = add i8 %46, 1 | |
store i8 %47, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i64 0, i64 1), align 1, !nosanitize !0 | |
br label %cond.end | |
cond.false: ; preds = %35 | |
%48 = load i8, i8* inttoptr (i64 add (i64 lshr (i64 ptrtoint (void (%"struct.std::__1::__libcpp_debug_info"*)** @_ZNSt3__123__libcpp_debug_functionE to i64), i64 3), i64 2147450880) to i8*), align 1 | |
%49 = icmp ne i8 %48, 0 | |
br i1 %49, label %50, label %51 | |
50: ; preds = %cond.false | |
call void @__asan_report_load8(i64 ptrtoint (void (%"struct.std::__1::__libcpp_debug_info"*)** @_ZNSt3__123__libcpp_debug_functionE to i64)) #22 | |
unreachable | |
51: ; preds = %cond.false | |
%52 = load void (%"struct.std::__1::__libcpp_debug_info"*)*, void (%"struct.std::__1::__libcpp_debug_info"*)** @_ZNSt3__123__libcpp_debug_functionE, align 8, !tbaa !13 | |
%53 = bitcast void (%"struct.std::__1::__libcpp_debug_info"*)* %52 to i32* | |
%54 = load i32, i32* %53, align 4, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp4(i32 846595819, i32 %54) | |
%55 = icmp eq i32 %54, 846595819, !nosanitize !0 | |
br i1 %55, label %typecheck, label %cond.false.cont8_crit_edge, !nosanitize !0 | |
cond.false.cont8_crit_edge: ; preds = %51 | |
%56 = load i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i64 0, i64 2), align 1, !nosanitize !0 | |
%57 = add i8 %56, 1 | |
store i8 %57, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i64 0, i64 2), align 1, !nosanitize !0 | |
br label %cont8 | |
typecheck: ; preds = %51 | |
%58 = bitcast void (%"struct.std::__1::__libcpp_debug_info"*)* %52 to <{ i32, i32 }>*, !nosanitize !0 | |
%59 = getelementptr <{ i32, i32 }>, <{ i32, i32 }>* %58, i64 0, i32 1, !nosanitize !0 | |
%60 = load i32, i32* %59, align 8, !nosanitize !0 | |
%61 = sext i32 %60 to i64, !nosanitize !0 | |
%func_addr.int = ptrtoint void (%"struct.std::__1::__libcpp_debug_info"*)* %52 to i64, !nosanitize !0 | |
%global_addr.int = add i64 %61, %func_addr.int, !nosanitize !0 | |
%global_addr = inttoptr i64 %global_addr.int to i8**, !nosanitize !0 | |
%decoded_addr = load i8*, i8** %global_addr, align 8, !nosanitize !0 | |
%62 = icmp eq i8* %decoded_addr, bitcast ({ i8*, i8* }* @_ZTIFvRKNSt3__119__libcpp_debug_infoEE to i8*), !nosanitize !0 | |
br i1 %62, label %typecheck.cont8_crit_edge, label %handler.function_type_mismatch, !prof !12, !nosanitize !0 | |
typecheck.cont8_crit_edge: ; preds = %typecheck | |
%63 = load i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i64 0, i64 3), align 1, !nosanitize !0 | |
%64 = add i8 %63, 1 | |
store i8 %64, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i64 0, i64 3), align 1, !nosanitize !0 | |
br label %cont8 | |
handler.function_type_mismatch: ; preds = %typecheck | |
%65 = load i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i64 0, i64 4), align 1, !nosanitize !0 | |
%66 = add i8 %65, 1 | |
store i8 %66, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i64 0, i64 4), align 1, !nosanitize !0 | |
%67 = ptrtoint i8* %decoded_addr to i64, !nosanitize !0 | |
call void @__ubsan_handle_function_type_mismatch_v1_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 }, { i16, i16, [45 x i8] }* }* @123 to i8*), i64 %func_addr.int, i64 %67, i64 ptrtoint ({ i8*, i8* }* @_ZTIFvRKNSt3__119__libcpp_debug_infoEE to i64)) #20, !nosanitize !0 | |
br label %cont8, !nosanitize !0 | |
cont8: ; preds = %handler.function_type_mismatch, %typecheck.cont8_crit_edge, %cond.false.cont8_crit_edge | |
%68 = bitcast %"struct.std::__1::__libcpp_debug_info"* %16 to i8* | |
%69 = add i64 %23, 8 | |
%70 = inttoptr i64 %69 to i32* | |
store i32 0, i32* %70, align 1 | |
call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %68) #20 | |
%__file_.i = getelementptr inbounds %"struct.std::__1::__libcpp_debug_info", %"struct.std::__1::__libcpp_debug_info"* %16, i64 0, i32 0 | |
%71 = ptrtoint i8** %__file_.i to i64 | |
%72 = lshr i64 %71, 3 | |
%73 = add i64 %72, 2147450880 | |
%74 = inttoptr i64 %73 to i8* | |
%75 = load i8, i8* %74, align 1 | |
%76 = icmp ne i8 %75, 0 | |
br i1 %76, label %77, label %78 | |
77: ; preds = %cont8 | |
call void @__asan_report_store8(i64 %71) #22 | |
unreachable | |
78: ; preds = %cont8 | |
store i8* getelementptr inbounds ({ [77 x i8], [51 x i8] }, { [77 x i8], [51 x i8] }* @.str.29, i32 0, i32 0, i64 0), i8** %__file_.i, align 8, !tbaa !14 | |
%__line_.i = getelementptr inbounds %"struct.std::__1::__libcpp_debug_info", %"struct.std::__1::__libcpp_debug_info"* %16, i64 0, i32 1 | |
%79 = ptrtoint i32* %__line_.i to i64 | |
%80 = lshr i64 %79, 3 | |
%81 = add i64 %80, 2147450880 | |
%82 = inttoptr i64 %81 to i8* | |
%83 = load i8, i8* %82, align 1 | |
%84 = icmp ne i8 %83, 0 | |
br i1 %84, label %85, label %91, !prof !1 | |
85: ; preds = %78 | |
%86 = and i64 %79, 7 | |
%87 = add i64 %86, 3 | |
%88 = trunc i64 %87 to i8 | |
%89 = icmp sge i8 %88, %83 | |
br i1 %89, label %90, label %91 | |
90: ; preds = %85 | |
call void @__asan_report_store4(i64 %79) #22 | |
unreachable | |
91: ; preds = %85, %78 | |
store i32 838, i32* %__line_.i, align 8, !tbaa !17 | |
%__pred_.i = getelementptr inbounds %"struct.std::__1::__libcpp_debug_info", %"struct.std::__1::__libcpp_debug_info"* %16, i64 0, i32 2 | |
%92 = ptrtoint i8** %__pred_.i to i64 | |
%93 = lshr i64 %92, 3 | |
%94 = add i64 %93, 2147450880 | |
%95 = inttoptr i64 %94 to i8* | |
%96 = load i8, i8* %95, align 1 | |
%97 = icmp ne i8 %96, 0 | |
br i1 %97, label %98, label %99 | |
98: ; preds = %91 | |
call void @__asan_report_store8(i64 %92) #22 | |
unreachable | |
99: ; preds = %91 | |
store i8* getelementptr inbounds ({ [15 x i8], [17 x i8] }, { [15 x i8], [17 x i8] }* @.str.30, i32 0, i32 0, i64 0), i8** %__pred_.i, align 8, !tbaa !18 | |
%__msg_.i = getelementptr inbounds %"struct.std::__1::__libcpp_debug_info", %"struct.std::__1::__libcpp_debug_info"* %16, i64 0, i32 3 | |
%100 = ptrtoint i8** %__msg_.i to i64 | |
%101 = lshr i64 %100, 3 | |
%102 = add i64 %101, 2147450880 | |
%103 = inttoptr i64 %102 to i8* | |
%104 = load i8, i8* %103, align 1 | |
%105 = icmp ne i8 %104, 0 | |
br i1 %105, label %106, label %107 | |
106: ; preds = %99 | |
call void @__asan_report_store8(i64 %100) #22 | |
unreachable | |
107: ; preds = %99 | |
store i8* getelementptr inbounds ({ [43 x i8], [53 x i8] }, { [43 x i8], [53 x i8] }* @.str.39, i32 0, i32 0, i64 0), i8** %__msg_.i, align 8, !tbaa !19 | |
%108 = ptrtoint void (%"struct.std::__1::__libcpp_debug_info"*)* %52 to i64 | |
call void @__sanitizer_cov_trace_pc_indir(i64 %108) | |
call void %52(%"struct.std::__1::__libcpp_debug_info"* nonnull align 8 dereferenceable(32) %16) #19 | |
br label %cond.end | |
cond.end: ; preds = %107, %entry.cond.end_crit_edge | |
br i1 %cmp.not, label %cleanup.action, label %cond.end.cont15_crit_edge | |
cond.end.cont15_crit_edge: ; preds = %cond.end | |
%109 = load i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i64 0, i64 5), align 1, !nosanitize !0 | |
%110 = add i8 %109, 1 | |
store i8 %110, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i64 0, i64 5), align 1, !nosanitize !0 | |
br label %cont15 | |
cleanup.action: ; preds = %cond.end | |
%111 = load i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i64 0, i64 6), align 1, !nosanitize !0 | |
%112 = add i8 %111, 1 | |
store i8 %112, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i64 0, i64 6), align 1, !nosanitize !0 | |
%113 = bitcast %"struct.std::__1::__libcpp_debug_info"* %16 to i8* | |
%114 = add i64 %23, 8 | |
%115 = inttoptr i64 %114 to i32* | |
store i32 -117901064, i32* %115, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %113) #20 | |
br label %cont15 | |
cont15: ; preds = %cleanup.action, %cond.end.cont15_crit_edge | |
%call.i = call i64 @strlen(i8* noundef nonnull dereferenceable(1) %__s) #24 | |
call void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this, i8* %__s, i64 %call.i) #19 | |
%call16 = call %"class.std::__1::__libcpp_db"* @_ZNSt3__18__get_dbEv() #19 | |
%116 = icmp ne %"class.std::__1::__libcpp_db"* %call16, null, !nosanitize !0 | |
%117 = ptrtoint %"class.std::__1::__libcpp_db"* %call16 to i64, !nosanitize !0 | |
%118 = and i64 %117, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %118) | |
%119 = icmp eq i64 %118, 0, !nosanitize !0 | |
%120 = and i1 %119, %116, !nosanitize !0 | |
br i1 %120, label %_ZNSt3__111__libcpp_db10__insert_cINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEvPT_.exit, label %handler.type_mismatch17, !prof !12, !nosanitize !0 | |
handler.type_mismatch17: ; preds = %cont15 | |
%121 = load i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i64 0, i64 7), align 1, !nosanitize !0 | |
%122 = add i8 %121, 1 | |
store i8 %122, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i64 0, i64 7), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 }* @124 to i8*), i64 %117) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
_ZNSt3__111__libcpp_db10__insert_cINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEvPT_.exit: ; preds = %cont15 | |
%123 = load i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i64 0, i64 8), align 1, !nosanitize !0 | |
%124 = add i8 %123, 1 | |
store i8 %124, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.46, i64 0, i64 8), align 1, !nosanitize !0 | |
%125 = bitcast %"class.std::__1::basic_string"* %this to i8*, !nosanitize !0 | |
call void @_ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E(%"class.std::__1::__libcpp_db"* nonnull align 8 dereferenceable(48) %call16, i8* nonnull %125, %"struct.std::__1::__c_node"* (i8*, i8*, %"struct.std::__1::__c_node"*)* nonnull @_ZNSt3__111__libcpp_db15__create_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEPNS_8__c_nodeEPvSA_S9_) #19 | |
store i64 1172321806, i64* %17, align 8 | |
%126 = icmp ne i64 %5, 0 | |
br i1 %126, label %127, label %136 | |
127: ; preds = %_ZNSt3__111__libcpp_db10__insert_cINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEvPT_.exit | |
%128 = add i64 %23, 0 | |
%129 = inttoptr i64 %128 to i64* | |
store i64 -723401728380766731, i64* %129, align 1 | |
%130 = add i64 %23, 8 | |
%131 = inttoptr i64 %130 to i64* | |
store i64 -723401728380766731, i64* %131, align 1 | |
%132 = add i64 %5, 120 | |
%133 = inttoptr i64 %132 to i64* | |
%134 = load i64, i64* %133, align 8 | |
%135 = inttoptr i64 %134 to i8* | |
store i8 0, i8* %135, align 1 | |
br label %141 | |
136: ; preds = %_ZNSt3__111__libcpp_db10__insert_cINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEvPT_.exit | |
%137 = add i64 %23, 0 | |
%138 = inttoptr i64 %137 to i64* | |
store i64 0, i64* %138, align 1 | |
%139 = add i64 %23, 8 | |
%140 = inttoptr i64 %139 to i64* | |
store i64 0, i64* %140, align 1 | |
br label %141 | |
141: ; preds = %136, %127 | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this) unnamed_addr #5 comdat align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.48, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.48, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%call = invoke %"class.std::__1::__libcpp_db"* @_ZNSt3__18__get_dbEv() #19 | |
to label %invoke.cont unwind label %terminate.lpad | |
invoke.cont: ; preds = %7 | |
%8 = icmp ne %"class.std::__1::__libcpp_db"* %call, null, !nosanitize !0 | |
%9 = ptrtoint %"class.std::__1::__libcpp_db"* %call to i64, !nosanitize !0 | |
%10 = and i64 %9, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %10) | |
%11 = icmp eq i64 %10, 0, !nosanitize !0 | |
%12 = and i1 %11, %8, !nosanitize !0 | |
br i1 %12, label %cont3, label %handler.type_mismatch2, !prof !12, !nosanitize !0 | |
handler.type_mismatch2: ; preds = %invoke.cont | |
%13 = load i8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.48, i64 0, i64 1), align 1, !nosanitize !0 | |
%14 = add i8 %13, 1 | |
store i8 %14, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.48, i64 0, i64 1), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 }* @89 to i8*), i64 %9) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont3: ; preds = %invoke.cont | |
%15 = load i8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.48, i64 0, i64 2), align 1, !nosanitize !0 | |
%16 = add i8 %15, 1 | |
store i8 %16, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.48, i64 0, i64 2), align 1, !nosanitize !0 | |
%17 = bitcast %"class.std::__1::basic_string"* %this to i8* | |
invoke void @_ZNSt3__111__libcpp_db9__erase_cEPv(%"class.std::__1::__libcpp_db"* nonnull align 8 dereferenceable(48) %call, i8* nonnull %17) #19 | |
to label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit unwind label %terminate.lpad | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit: ; preds = %cont3 | |
%18 = ptrtoint i8* %17 to i64 | |
%19 = lshr i64 %18, 3 | |
%20 = add i64 %19, 2147450880 | |
%21 = inttoptr i64 %20 to i8* | |
%22 = load i8, i8* %21, align 1 | |
%23 = icmp ne i8 %22, 0 | |
br i1 %23, label %24, label %29, !prof !1 | |
24: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit | |
%25 = and i64 %18, 7 | |
%26 = trunc i64 %25 to i8 | |
%27 = icmp sge i8 %26, %22 | |
br i1 %27, label %28, label %29 | |
28: ; preds = %24 | |
call void @__asan_report_load1(i64 %18) #22 | |
unreachable | |
29: ; preds = %24, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit | |
%30 = load i8, i8* %17, align 8, !tbaa !2 | |
%31 = and i8 %30, 1 | |
call void @__sanitizer_cov_trace_const_cmp1(i8 0, i8 %31) | |
%tobool.i.not = icmp eq i8 %31, 0 | |
br i1 %tobool.i.not, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.if.end_crit_edge, label %cont11.i | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.if.end_crit_edge: ; preds = %29 | |
%32 = load i8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.48, i64 0, i64 3), align 1, !nosanitize !0 | |
%33 = add i8 %32, 1 | |
store i8 %33, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.48, i64 0, i64 3), align 1, !nosanitize !0 | |
br label %if.end | |
cont11.i: ; preds = %29 | |
%34 = load i8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.48, i64 0, i64 4), align 1, !nosanitize !0 | |
%35 = add i8 %34, 1 | |
store i8 %35, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.48, i64 0, i64 4), align 1, !nosanitize !0 | |
%__data_.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 | |
%36 = ptrtoint i8** %__data_.i to i64 | |
%37 = lshr i64 %36, 3 | |
%38 = add i64 %37, 2147450880 | |
%39 = inttoptr i64 %38 to i8* | |
%40 = load i8, i8* %39, align 1 | |
%41 = icmp ne i8 %40, 0 | |
br i1 %41, label %42, label %43 | |
42: ; preds = %cont11.i | |
call void @__asan_report_load8(i64 %36) #22 | |
unreachable | |
43: ; preds = %cont11.i | |
%44 = load i8*, i8** %__data_.i, align 8, !tbaa !2 | |
call void @_ZdlPv(i8* %44) #25 | |
br label %if.end | |
if.end: ; preds = %43, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.if.end_crit_edge | |
ret void | |
terminate.lpad: ; preds = %cont3, %7 | |
%45 = landingpad { i8*, i32 } | |
catch i8* null | |
%46 = load i8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.48, i64 0, i64 5), align 1, !nosanitize !0 | |
%47 = add i8 %46, 1 | |
store i8 %47, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.48, i64 0, i64 5), align 1, !nosanitize !0 | |
%48 = extractvalue { i8*, i32 } %45, 0 | |
call void @__asan_handle_no_return() | |
call void @__clang_call_terminate(i8* %48) #23 | |
unreachable | |
} | |
; Function Attrs: argmemonly nofree nosync nounwind willreturn | |
declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) #3 | |
declare void @_ZN4llvm18ELFAttributeParser14printAttributeEjjNS_9StringRefE(%"class.llvm::ELFAttributeParser"* nonnull align 8 dereferenceable(168), i32, i32, i8*, i64) local_unnamed_addr #0 | |
; Function Attrs: optforfuzzing sanitize_address uwtable | |
define void @_ZN4llvm20RISCVAttributeParser7handlerEmRb(%"class.llvm::Error"* noalias sret(%"class.llvm::Error") align 8 %agg.result, %"class.llvm::RISCVAttributeParser"* nonnull align 8 dereferenceable(168) %this, i64 %tag, i8* nocapture nonnull align 1 dereferenceable(1) %handled) unnamed_addr #1 comdat align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = ptrtoint i8* %handled to i64 | |
%9 = lshr i64 %8, 3 | |
%10 = add i64 %9, 2147450880 | |
%11 = inttoptr i64 %10 to i8* | |
%12 = load i8, i8* %11, align 1 | |
%13 = icmp ne i8 %12, 0 | |
br i1 %13, label %14, label %19, !prof !1 | |
14: ; preds = %7 | |
%15 = and i64 %8, 7 | |
%16 = trunc i64 %15 to i8 | |
%17 = icmp sge i8 %16, %12 | |
br i1 %17, label %18, label %19 | |
18: ; preds = %14 | |
call void @__asan_report_store1(i64 %8) #22 | |
unreachable | |
19: ; preds = %14, %7 | |
store i8 0, i8* %handled, align 1, !tbaa !20 | |
br label %for.body | |
for.body: ; preds = %for.inc.for.body_crit_edge, %19 | |
%AHI.087 = phi i32 [ 0, %19 ], [ %inc, %for.inc.for.body_crit_edge ] | |
%20 = zext i32 %AHI.087 to i64, !nosanitize !0 | |
%21 = mul nuw nsw i64 %20, 24 | |
%22 = add i64 %21, ptrtoint ({ [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"], [48 x i8] }* @_ZN4llvm20RISCVAttributeParser15displayRoutinesE to i64), !nosanitize !0 | |
call void @__sanitizer_cov_trace_cmp8(i64 %22, i64 ptrtoint ({ [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"], [48 x i8] }* @_ZN4llvm20RISCVAttributeParser15displayRoutinesE to i64)) | |
%.not53 = icmp ult i64 %22, ptrtoint ({ [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"], [48 x i8] }* @_ZN4llvm20RISCVAttributeParser15displayRoutinesE to i64), !nosanitize !0 | |
br i1 %.not53, label %handler.pointer_overflow, label %cont9, !prof !5, !nosanitize !0 | |
handler.pointer_overflow: ; preds = %for.body | |
%23 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 1), align 1, !nosanitize !0 | |
%24 = add i8 %23, 1 | |
store i8 %24, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 1), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [25 x i8]*, i32, i32 } }* @3 to i8*), i64 ptrtoint ({ [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"], [48 x i8] }* @_ZN4llvm20RISCVAttributeParser15displayRoutinesE to i64), i64 %22) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont9: ; preds = %for.body | |
%attribute = getelementptr inbounds [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"], [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"]* getelementptr inbounds ({ [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"], [48 x i8] }, { [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"], [48 x i8] }* @_ZN4llvm20RISCVAttributeParser15displayRoutinesE, i32 0, i32 0), i64 0, i64 %20, i32 0 | |
%25 = ptrtoint i32* %attribute to i64 | |
%26 = lshr i64 %25, 3 | |
%27 = add i64 %26, 2147450880 | |
%28 = inttoptr i64 %27 to i8* | |
%29 = load i8, i8* %28, align 1 | |
%30 = icmp ne i8 %29, 0 | |
br i1 %30, label %31, label %37, !prof !1 | |
31: ; preds = %cont9 | |
%32 = and i64 %25, 7 | |
%33 = add i64 %32, 3 | |
%34 = trunc i64 %33 to i8 | |
%35 = icmp sge i8 %34, %29 | |
br i1 %35, label %36, label %37 | |
36: ; preds = %31 | |
call void @__asan_report_load4(i64 %25) #22 | |
unreachable | |
37: ; preds = %31, %cont9 | |
%38 = load i32, i32* %attribute, align 8, !tbaa !22 | |
%conv10 = zext i32 %38 to i64 | |
call void @__sanitizer_cov_trace_cmp8(i64 %conv10, i64 %tag) | |
%cmp11 = icmp eq i64 %conv10, %tag | |
br i1 %cmp11, label %if.then, label %for.inc | |
if.then: ; preds = %37 | |
%39 = zext i32 %AHI.087 to i64, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %22) | |
%.not52.le = icmp eq i64 %22, 0, !nosanitize !0 | |
br i1 %.not52.le, label %handler.pointer_overflow18, label %cont23, !prof !5, !nosanitize !0 | |
handler.pointer_overflow18: ; preds = %if.then | |
%40 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 2), align 1, !nosanitize !0 | |
%41 = add i8 %40, 1 | |
store i8 %41, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 2), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [25 x i8]*, i32, i32 } }* @4 to i8*), i64 ptrtoint ({ [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"], [48 x i8] }* @_ZN4llvm20RISCVAttributeParser15displayRoutinesE to i64), i64 0) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont23: ; preds = %if.then | |
%42 = bitcast %"class.llvm::RISCVAttributeParser"* %this to i8*, !nosanitize !0 | |
%.elt54 = getelementptr inbounds [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"], [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"]* getelementptr inbounds ({ [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"], [48 x i8] }, { [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"], [48 x i8] }* @_ZN4llvm20RISCVAttributeParser15displayRoutinesE, i32 0, i32 0), i64 0, i64 %39, i32 1, i32 1 | |
%43 = ptrtoint i64* %.elt54 to i64 | |
%44 = lshr i64 %43, 3 | |
%45 = add i64 %44, 2147450880 | |
%46 = inttoptr i64 %45 to i8* | |
%47 = load i8, i8* %46, align 1 | |
%48 = icmp ne i8 %47, 0 | |
br i1 %48, label %49, label %50 | |
49: ; preds = %cont23 | |
call void @__asan_report_load8(i64 %43) #22 | |
unreachable | |
50: ; preds = %cont23 | |
%.unpack55 = load i64, i64* %.elt54, align 8, !tbaa !25 | |
%51 = getelementptr inbounds i8, i8* %42, i64 %.unpack55 | |
%this.adjusted = bitcast i8* %51 to %"class.llvm::RISCVAttributeParser"* | |
%.elt = getelementptr inbounds [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"], [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"]* getelementptr inbounds ({ [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"], [48 x i8] }, { [6 x %"struct.llvm::RISCVAttributeParser::DisplayHandler"], [48 x i8] }* @_ZN4llvm20RISCVAttributeParser15displayRoutinesE, i32 0, i32 0), i64 0, i64 %39, i32 1, i32 0 | |
%52 = ptrtoint i64* %.elt to i64 | |
%53 = lshr i64 %52, 3 | |
%54 = add i64 %53, 2147450880 | |
%55 = inttoptr i64 %54 to i8* | |
%56 = load i8, i8* %55, align 1 | |
%57 = icmp ne i8 %56, 0 | |
br i1 %57, label %58, label %59 | |
58: ; preds = %50 | |
call void @__asan_report_load8(i64 %52) #22 | |
unreachable | |
59: ; preds = %50 | |
%.unpack = load i64, i64* %.elt, align 8, !tbaa !25 | |
%memptr.nonvirtualfn = inttoptr i64 %.unpack to void (%"class.llvm::Error"*, %"class.llvm::RISCVAttributeParser"*, i32)* | |
%conv24 = trunc i64 %tag to i32 | |
%60 = ptrtoint void (%"class.llvm::Error"*, %"class.llvm::RISCVAttributeParser"*, i32)* %memptr.nonvirtualfn to i64 | |
call void @__sanitizer_cov_trace_pc_indir(i64 %60) | |
call void %memptr.nonvirtualfn(%"class.llvm::Error"* sret(%"class.llvm::Error") align 8 %agg.result, %"class.llvm::RISCVAttributeParser"* nonnull align 8 dereferenceable(168) %this.adjusted, i32 %conv24) #19 | |
%Payload.i.i = getelementptr inbounds %"class.llvm::Error", %"class.llvm::Error"* %agg.result, i64 0, i32 0 | |
%61 = ptrtoint %"class.llvm::ErrorInfoBase"** %Payload.i.i to i64 | |
%62 = lshr i64 %61, 3 | |
%63 = add i64 %62, 2147450880 | |
%64 = inttoptr i64 %63 to i8* | |
%65 = load i8, i8* %64, align 1 | |
%66 = icmp ne i8 %65, 0 | |
br i1 %66, label %67, label %68 | |
67: ; preds = %59 | |
call void @__asan_report_load8(i64 %61) #22 | |
unreachable | |
68: ; preds = %59 | |
%69 = load %"class.llvm::ErrorInfoBase"*, %"class.llvm::ErrorInfoBase"** %Payload.i.i, align 8, !tbaa !6 | |
%cmp9.i.not = icmp eq %"class.llvm::ErrorInfoBase"* %69, null | |
br i1 %cmp9.i.not, label %cleanup.cont, label %cont23.cleanup30_crit_edge | |
cont23.cleanup30_crit_edge: ; preds = %68 | |
%70 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 3), align 1, !nosanitize !0 | |
%71 = add i8 %70, 1 | |
store i8 %71, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 3), align 1, !nosanitize !0 | |
br label %cleanup30 | |
cleanup.cont: ; preds = %68 | |
%72 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 4), align 1, !nosanitize !0 | |
%73 = add i8 %72, 1 | |
store i8 %73, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 4), align 1, !nosanitize !0 | |
%74 = ptrtoint i8* %handled to i64 | |
%75 = lshr i64 %74, 3 | |
%76 = add i64 %75, 2147450880 | |
%77 = inttoptr i64 %76 to i8* | |
%78 = load i8, i8* %77, align 1 | |
%79 = icmp ne i8 %78, 0 | |
br i1 %79, label %80, label %85, !prof !1 | |
80: ; preds = %cleanup.cont | |
%81 = and i64 %74, 7 | |
%82 = trunc i64 %81 to i8 | |
%83 = icmp sge i8 %82, %78 | |
br i1 %83, label %84, label %85 | |
84: ; preds = %80 | |
call void @__asan_report_store1(i64 %74) #22 | |
unreachable | |
85: ; preds = %80, %cleanup.cont | |
store i8 1, i8* %handled, align 1, !tbaa !20 | |
br label %cleanup30 | |
for.inc: ; preds = %37 | |
%inc = add nuw nsw i32 %AHI.087, 1 | |
%cmp.not = icmp eq i32 %inc, 6 | |
br i1 %cmp.not, label %for.inc.cleanup30_crit_edge, label %for.inc.for.body_crit_edge, !llvm.loop !26 | |
for.inc.for.body_crit_edge: ; preds = %for.inc | |
%86 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 5), align 1, !nosanitize !0 | |
%87 = add i8 %86, 1 | |
store i8 %87, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 5), align 1, !nosanitize !0 | |
br label %for.body | |
for.inc.cleanup30_crit_edge: ; preds = %for.inc | |
%88 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 6), align 1, !nosanitize !0 | |
%89 = add i8 %88, 1 | |
store i8 %89, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 6), align 1, !nosanitize !0 | |
br label %cleanup30 | |
cleanup30: ; preds = %for.inc.cleanup30_crit_edge, %85, %cont23.cleanup30_crit_edge | |
%switch = phi i1 [ false, %cont23.cleanup30_crit_edge ], [ true, %85 ], [ true, %for.inc.cleanup30_crit_edge ] | |
br i1 %switch, label %for.end, label %cleanup30.return_crit_edge | |
cleanup30.return_crit_edge: ; preds = %cleanup30 | |
%90 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 7), align 1, !nosanitize !0 | |
%91 = add i8 %90, 1 | |
store i8 %91, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 7), align 1, !nosanitize !0 | |
br label %return | |
for.end: ; preds = %cleanup30 | |
%.not = icmp eq %"class.llvm::Error"* %agg.result, null, !nosanitize !0 | |
br i1 %.not, label %handler.type_mismatch37, label %cont38, !prof !5, !nosanitize !0 | |
handler.type_mismatch37: ; preds = %for.end | |
%92 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 8), align 1, !nosanitize !0 | |
%93 = add i8 %92, 1 | |
store i8 %93, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 8), align 1, !nosanitize !0 | |
%94 = ptrtoint %"class.llvm::Error"* %agg.result to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [25 x i8]*, i32, i32 }, { i16, i16, [14 x i8] }*, i8, i8 }* @5 to i8*), i64 %94) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont38: ; preds = %for.end | |
%95 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 9), align 1, !nosanitize !0 | |
%96 = add i8 %95, 1 | |
store i8 %96, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.50, i64 0, i64 9), align 1, !nosanitize !0 | |
%Payload.i = getelementptr inbounds %"class.llvm::Error", %"class.llvm::Error"* %agg.result, i64 0, i32 0 | |
%97 = ptrtoint %"class.llvm::ErrorInfoBase"** %Payload.i to i64 | |
%98 = lshr i64 %97, 3 | |
%99 = add i64 %98, 2147450880 | |
%100 = inttoptr i64 %99 to i8* | |
%101 = load i8, i8* %100, align 1 | |
%102 = icmp ne i8 %101, 0 | |
br i1 %102, label %103, label %104 | |
103: ; preds = %cont38 | |
call void @__asan_report_store8(i64 %97) #22 | |
unreachable | |
104: ; preds = %cont38 | |
store %"class.llvm::ErrorInfoBase"* null, %"class.llvm::ErrorInfoBase"** %Payload.i, align 8, !tbaa !6 | |
br label %return | |
return: ; preds = %104, %cleanup30.return_crit_edge | |
ret void | |
} | |
; Function Attrs: noreturn nounwind uwtable | |
declare void @__ubsan_handle_pointer_overflow_abort(i8*, i64, i64) local_unnamed_addr #2 | |
; Function Attrs: nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr void @_ZN4llvm18ELFAttributeParserD2Ev(%"class.llvm::ELFAttributeParser"* nonnull align 8 dereferenceable(168) %this) unnamed_addr #6 comdat align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__sancov_gen_.52, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__sancov_gen_.52, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = getelementptr inbounds %"class.llvm::ELFAttributeParser", %"class.llvm::ELFAttributeParser"* %this, i64 0, i32 0 | |
%9 = ptrtoint i32 (...)*** %8 to i64 | |
%10 = lshr i64 %9, 3 | |
%11 = add i64 %10, 2147450880 | |
%12 = inttoptr i64 %11 to i8* | |
%13 = load i8, i8* %12, align 1 | |
%14 = icmp ne i8 %13, 0 | |
br i1 %14, label %15, label %16 | |
15: ; preds = %7 | |
call void @__asan_report_store8(i64 %9) #22 | |
unreachable | |
16: ; preds = %7 | |
store i32 (...)** bitcast (i8** getelementptr inbounds ({ [5 x i8*] }, { [5 x i8*] }* @_ZTVN4llvm18ELFAttributeParserE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %8, align 8, !tbaa !27 | |
%Payload.i.i.i.i = getelementptr inbounds %"class.llvm::ELFAttributeParser", %"class.llvm::ELFAttributeParser"* %this, i64 0, i32 7, i32 1, i32 0 | |
%17 = ptrtoint %"class.llvm::ErrorInfoBase"** %Payload.i.i.i.i to i64 | |
%18 = lshr i64 %17, 3 | |
%19 = add i64 %18, 2147450880 | |
%20 = inttoptr i64 %19 to i8* | |
%21 = load i8, i8* %20, align 1 | |
%22 = icmp ne i8 %21, 0 | |
br i1 %22, label %23, label %24 | |
23: ; preds = %16 | |
call void @__asan_report_load8(i64 %17) #22 | |
unreachable | |
24: ; preds = %16 | |
%25 = load %"class.llvm::ErrorInfoBase"*, %"class.llvm::ErrorInfoBase"** %Payload.i.i.i.i, align 8, !tbaa !6, !noalias !29 | |
store %"class.llvm::ErrorInfoBase"* null, %"class.llvm::ErrorInfoBase"** %Payload.i.i.i.i, align 8, !tbaa !6, !noalias !29 | |
%isnull.i = icmp eq %"class.llvm::ErrorInfoBase"* %25, null | |
br i1 %isnull.i, label %entry._ZN4llvm5ErrorD2Ev.exit_crit_edge, label %delete.notnull.i | |
entry._ZN4llvm5ErrorD2Ev.exit_crit_edge: ; preds = %24 | |
%26 = load i8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__sancov_gen_.52, i64 0, i64 1), align 1, !nosanitize !0 | |
%27 = add i8 %26, 1 | |
store i8 %27, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__sancov_gen_.52, i64 0, i64 1), align 1, !nosanitize !0 | |
br label %_ZN4llvm5ErrorD2Ev.exit | |
delete.notnull.i: ; preds = %24 | |
%28 = ptrtoint %"class.llvm::ErrorInfoBase"* %25 to i64, !nosanitize !0 | |
%29 = and i64 %28, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %29) | |
%30 = icmp eq i64 %29, 0, !nosanitize !0 | |
br i1 %30, label %cont7.i, label %handler.type_mismatch6.i, !prof !12, !nosanitize !0 | |
handler.type_mismatch6.i: ; preds = %delete.notnull.i | |
%31 = load i8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__sancov_gen_.52, i64 0, i64 2), align 1, !nosanitize !0 | |
%32 = add i8 %31, 1 | |
store i8 %32, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__sancov_gen_.52, i64 0, i64 2), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [8 x i8]*, i32, i32 }, { i16, i16, [22 x i8] }*, i8, i8 }* @45 to i8*), i64 %28) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont7.i: ; preds = %delete.notnull.i | |
%33 = load i8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__sancov_gen_.52, i64 0, i64 3), align 1, !nosanitize !0 | |
%34 = add i8 %33, 1 | |
store i8 %34, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__sancov_gen_.52, i64 0, i64 3), align 1, !nosanitize !0 | |
%35 = bitcast %"class.llvm::ErrorInfoBase"* %25 to void (%"class.llvm::ErrorInfoBase"*)*** | |
%36 = ptrtoint void (%"class.llvm::ErrorInfoBase"*)*** %35 to i64 | |
%37 = lshr i64 %36, 3 | |
%38 = add i64 %37, 2147450880 | |
%39 = inttoptr i64 %38 to i8* | |
%40 = load i8, i8* %39, align 1 | |
%41 = icmp ne i8 %40, 0 | |
br i1 %41, label %42, label %43 | |
42: ; preds = %cont7.i | |
call void @__asan_report_load8(i64 %36) #22 | |
unreachable | |
43: ; preds = %cont7.i | |
%vtable.i = load void (%"class.llvm::ErrorInfoBase"*)**, void (%"class.llvm::ErrorInfoBase"*)*** %35, align 8, !tbaa !27 | |
%vfn.i = getelementptr inbounds void (%"class.llvm::ErrorInfoBase"*)*, void (%"class.llvm::ErrorInfoBase"*)** %vtable.i, i64 1 | |
%44 = ptrtoint void (%"class.llvm::ErrorInfoBase"*)** %vfn.i to i64 | |
%45 = lshr i64 %44, 3 | |
%46 = add i64 %45, 2147450880 | |
%47 = inttoptr i64 %46 to i8* | |
%48 = load i8, i8* %47, align 1 | |
%49 = icmp ne i8 %48, 0 | |
br i1 %49, label %50, label %51 | |
50: ; preds = %43 | |
call void @__asan_report_load8(i64 %44) #22 | |
unreachable | |
51: ; preds = %43 | |
%52 = load void (%"class.llvm::ErrorInfoBase"*)*, void (%"class.llvm::ErrorInfoBase"*)** %vfn.i, align 8 | |
%53 = ptrtoint void (%"class.llvm::ErrorInfoBase"*)* %52 to i64 | |
call void @__sanitizer_cov_trace_pc_indir(i64 %53) | |
call void %52(%"class.llvm::ErrorInfoBase"* nonnull align 8 dereferenceable(8) %25) #21 | |
br label %_ZN4llvm5ErrorD2Ev.exit | |
_ZN4llvm5ErrorD2Ev.exit: ; preds = %51, %entry._ZN4llvm5ErrorD2Ev.exit_crit_edge | |
%54 = ptrtoint %"class.llvm::ErrorInfoBase"** %Payload.i.i.i.i to i64 | |
%55 = lshr i64 %54, 3 | |
%56 = add i64 %55, 2147450880 | |
%57 = inttoptr i64 %56 to i8* | |
%58 = load i8, i8* %57, align 1 | |
%59 = icmp ne i8 %58, 0 | |
br i1 %59, label %60, label %61 | |
60: ; preds = %_ZN4llvm5ErrorD2Ev.exit | |
call void @__asan_report_load8(i64 %54) #22 | |
unreachable | |
61: ; preds = %_ZN4llvm5ErrorD2Ev.exit | |
%62 = load %"class.llvm::ErrorInfoBase"*, %"class.llvm::ErrorInfoBase"** %Payload.i.i.i.i, align 8, !tbaa !6 | |
%isnull.i.i = icmp eq %"class.llvm::ErrorInfoBase"* %62, null | |
br i1 %isnull.i.i, label %_ZN4llvm5ErrorD2Ev.exit._ZN4llvm13DataExtractor6CursorD2Ev.exit_crit_edge, label %delete.notnull.i.i | |
_ZN4llvm5ErrorD2Ev.exit._ZN4llvm13DataExtractor6CursorD2Ev.exit_crit_edge: ; preds = %61 | |
%63 = load i8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__sancov_gen_.52, i64 0, i64 4), align 1, !nosanitize !0 | |
%64 = add i8 %63, 1 | |
store i8 %64, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__sancov_gen_.52, i64 0, i64 4), align 1, !nosanitize !0 | |
br label %_ZN4llvm13DataExtractor6CursorD2Ev.exit | |
delete.notnull.i.i: ; preds = %61 | |
%65 = ptrtoint %"class.llvm::ErrorInfoBase"* %62 to i64, !nosanitize !0 | |
%66 = and i64 %65, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %66) | |
%67 = icmp eq i64 %66, 0, !nosanitize !0 | |
br i1 %67, label %cont7.i.i, label %handler.type_mismatch6.i.i, !prof !12, !nosanitize !0 | |
handler.type_mismatch6.i.i: ; preds = %delete.notnull.i.i | |
%68 = load i8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__sancov_gen_.52, i64 0, i64 5), align 1, !nosanitize !0 | |
%69 = add i8 %68, 1 | |
store i8 %69, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__sancov_gen_.52, i64 0, i64 5), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [8 x i8]*, i32, i32 }, { i16, i16, [22 x i8] }*, i8, i8 }* @45 to i8*), i64 %65) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont7.i.i: ; preds = %delete.notnull.i.i | |
%70 = load i8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__sancov_gen_.52, i64 0, i64 6), align 1, !nosanitize !0 | |
%71 = add i8 %70, 1 | |
store i8 %71, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__sancov_gen_.52, i64 0, i64 6), align 1, !nosanitize !0 | |
%72 = bitcast %"class.llvm::ErrorInfoBase"* %62 to void (%"class.llvm::ErrorInfoBase"*)*** | |
%73 = ptrtoint void (%"class.llvm::ErrorInfoBase"*)*** %72 to i64 | |
%74 = lshr i64 %73, 3 | |
%75 = add i64 %74, 2147450880 | |
%76 = inttoptr i64 %75 to i8* | |
%77 = load i8, i8* %76, align 1 | |
%78 = icmp ne i8 %77, 0 | |
br i1 %78, label %79, label %80 | |
79: ; preds = %cont7.i.i | |
call void @__asan_report_load8(i64 %73) #22 | |
unreachable | |
80: ; preds = %cont7.i.i | |
%vtable.i.i = load void (%"class.llvm::ErrorInfoBase"*)**, void (%"class.llvm::ErrorInfoBase"*)*** %72, align 8, !tbaa !27 | |
%vfn.i.i = getelementptr inbounds void (%"class.llvm::ErrorInfoBase"*)*, void (%"class.llvm::ErrorInfoBase"*)** %vtable.i.i, i64 1 | |
%81 = ptrtoint void (%"class.llvm::ErrorInfoBase"*)** %vfn.i.i to i64 | |
%82 = lshr i64 %81, 3 | |
%83 = add i64 %82, 2147450880 | |
%84 = inttoptr i64 %83 to i8* | |
%85 = load i8, i8* %84, align 1 | |
%86 = icmp ne i8 %85, 0 | |
br i1 %86, label %87, label %88 | |
87: ; preds = %80 | |
call void @__asan_report_load8(i64 %81) #22 | |
unreachable | |
88: ; preds = %80 | |
%89 = load void (%"class.llvm::ErrorInfoBase"*)*, void (%"class.llvm::ErrorInfoBase"*)** %vfn.i.i, align 8 | |
%90 = ptrtoint void (%"class.llvm::ErrorInfoBase"*)* %89 to i64 | |
call void @__sanitizer_cov_trace_pc_indir(i64 %90) | |
call void %89(%"class.llvm::ErrorInfoBase"* nonnull align 8 dereferenceable(8) %62) #21 | |
br label %_ZN4llvm13DataExtractor6CursorD2Ev.exit | |
_ZN4llvm13DataExtractor6CursorD2Ev.exit: ; preds = %88, %_ZN4llvm5ErrorD2Ev.exit._ZN4llvm13DataExtractor6CursorD2Ev.exit_crit_edge | |
%__table_.i = getelementptr inbounds %"class.llvm::ELFAttributeParser", %"class.llvm::ELFAttributeParser"* %this, i64 0, i32 3, i32 0 | |
call void @_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEED2Ev(%"class.std::__1::__hash_table.16"* nonnull align 8 dereferenceable(36) %__table_.i) #21 | |
%__table_.i21 = getelementptr inbounds %"class.llvm::ELFAttributeParser", %"class.llvm::ELFAttributeParser"* %this, i64 0, i32 2, i32 0 | |
call void @_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEED2Ev(%"class.std::__1::__hash_table"* nonnull align 8 dereferenceable(36) %__table_.i21) #21 | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr void @_ZN4llvm20RISCVAttributeParserD0Ev(%"class.llvm::RISCVAttributeParser"* nonnull align 8 dereferenceable(168) %this) unnamed_addr #5 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.54, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.54, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = getelementptr inbounds %"class.llvm::RISCVAttributeParser", %"class.llvm::RISCVAttributeParser"* %this, i64 0, i32 0 | |
call void @_ZN4llvm18ELFAttributeParserD2Ev(%"class.llvm::ELFAttributeParser"* nonnull align 8 dereferenceable(168) %8) #21 | |
%9 = bitcast %"class.llvm::RISCVAttributeParser"* %this to i8* | |
call void @_ZdlPv(i8* %9) #25 | |
ret void | |
} | |
declare i64 @_ZNK4llvm13DataExtractor10getULEB128EPmPNS_5ErrorE(%"class.llvm::DataExtractor"* nonnull align 8 dereferenceable(18), i64*, %"class.llvm::Error"*) local_unnamed_addr #0 | |
; Function Attrs: optforfuzzing sanitize_address uwtable | |
define linkonce_odr void @_ZNSt3__117__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_EC2INS_18__default_init_tagESA_EEOT_OT0_(%"class.std::__1::__compressed_pair.42"* nonnull align 8 dereferenceable(24) %this, %"struct.std::__1::__default_init_tag"* nonnull align 1 dereferenceable(1) %__t1, %"struct.std::__1::__default_init_tag"* nonnull align 1 dereferenceable(1) %__t2) unnamed_addr #1 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.56, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.56, i64 0, i64 0), align 1, !nosanitize !0 | |
ret void | |
} | |
; Function Attrs: inlinehint mustprogress optforfuzzing sanitize_address uwtable | |
define linkonce_odr void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9_MetaBaseIXsr27__is_cpp17_forward_iteratorIT_EE5valueEE13_EnableIfImplIvEES9_S9_(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this, i8* %__first, i8* %__last) local_unnamed_addr #7 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%sub.ptr.lhs.cast.i.i = ptrtoint i8* %__last to i64 | |
%sub.ptr.rhs.cast.i.i = ptrtoint i8* %__first to i64 | |
%sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i | |
%8 = bitcast %"class.std::__1::basic_string"* %this to i8*, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 -17, i64 %sub.ptr.sub.i.i) | |
%cmp = icmp ugt i64 %sub.ptr.sub.i.i, -17 | |
br i1 %cmp, label %cont6, label %if.end | |
cont6: ; preds = %7 | |
%9 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 1), align 1, !nosanitize !0 | |
%10 = add i8 %9, 1 | |
store i8 %10, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 1), align 1, !nosanitize !0 | |
call void @__asan_handle_no_return() #20, !nosanitize !0 | |
call void @_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE20__throw_length_errorEv(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this) #19 | |
call void @__ubsan_handle_builtin_unreachable(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @13 to i8*)) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
if.end: ; preds = %7 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 23, i64 %sub.ptr.sub.i.i) | |
%cmp8 = icmp ult i64 %sub.ptr.sub.i.i, 23 | |
br i1 %cmp8, label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit, label %cont20 | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit: ; preds = %if.end | |
%11 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 2), align 1, !nosanitize !0 | |
%12 = add i8 %11, 1 | |
store i8 %12, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 2), align 1, !nosanitize !0 | |
%__s.tr.i = trunc i64 %sub.ptr.sub.i.i to i8 | |
%conv.i = shl i8 %__s.tr.i, 1 | |
%13 = ptrtoint i8* %8 to i64 | |
%14 = lshr i64 %13, 3 | |
%15 = add i64 %14, 2147450880 | |
%16 = inttoptr i64 %15 to i8* | |
%17 = load i8, i8* %16, align 1 | |
%18 = icmp ne i8 %17, 0 | |
br i1 %18, label %19, label %24, !prof !1 | |
19: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit | |
%20 = and i64 %13, 7 | |
%21 = trunc i64 %20 to i8 | |
%22 = icmp sge i8 %21, %17 | |
br i1 %22, label %23, label %24 | |
23: ; preds = %19 | |
call void @__asan_report_store1(i64 %13) #22 | |
unreachable | |
24: ; preds = %19, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit | |
store i8 %conv.i, i8* %8, align 8, !tbaa !2 | |
%__s.i = bitcast %"class.std::__1::basic_string"* %this to %"struct.std::__1::basic_string<char>::__short"* | |
%arrayidx.i = getelementptr inbounds %"struct.std::__1::basic_string<char>::__short", %"struct.std::__1::basic_string<char>::__short"* %__s.i, i64 0, i32 1, i64 0 | |
br label %if.end29 | |
cont20: ; preds = %if.end | |
%25 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 3), align 1, !nosanitize !0 | |
%26 = add i8 %25, 1 | |
store i8 %26, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 3), align 1, !nosanitize !0 | |
%add.i.i = add i64 %sub.ptr.sub.i.i, 16 | |
%and.i.i = and i64 %add.i.i, -16 | |
%call.i6.i.i.i = call nonnull i8* @_Znwm(i64 %and.i.i) #26 | |
%__data_.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 | |
%27 = ptrtoint i8** %__data_.i to i64 | |
%28 = lshr i64 %27, 3 | |
%29 = add i64 %28, 2147450880 | |
%30 = inttoptr i64 %29 to i8* | |
%31 = load i8, i8* %30, align 1 | |
%32 = icmp ne i8 %31, 0 | |
br i1 %32, label %33, label %34 | |
33: ; preds = %cont20 | |
call void @__asan_report_store8(i64 %27) #22 | |
unreachable | |
34: ; preds = %cont20 | |
store i8* %call.i6.i.i.i, i8** %__data_.i, align 8, !tbaa !2 | |
%__cap_.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 | |
%or.i = or i64 %and.i.i, 1 | |
%35 = ptrtoint i64* %__cap_.i to i64 | |
%36 = lshr i64 %35, 3 | |
%37 = add i64 %36, 2147450880 | |
%38 = inttoptr i64 %37 to i8* | |
%39 = load i8, i8* %38, align 1 | |
%40 = icmp ne i8 %39, 0 | |
br i1 %40, label %41, label %42 | |
41: ; preds = %34 | |
call void @__asan_report_store8(i64 %35) #22 | |
unreachable | |
42: ; preds = %34 | |
store i64 %or.i, i64* %__cap_.i, align 8, !tbaa !2 | |
%__size_.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 | |
%43 = ptrtoint i64* %__size_.i to i64 | |
%44 = lshr i64 %43, 3 | |
%45 = add i64 %44, 2147450880 | |
%46 = inttoptr i64 %45 to i8* | |
%47 = load i8, i8* %46, align 1 | |
%48 = icmp ne i8 %47, 0 | |
br i1 %48, label %49, label %50 | |
49: ; preds = %42 | |
call void @__asan_report_store8(i64 %43) #22 | |
unreachable | |
50: ; preds = %42 | |
store i64 %sub.ptr.sub.i.i, i64* %__size_.i, align 8, !tbaa !2 | |
br label %if.end29 | |
if.end29: ; preds = %50, %24 | |
%__p.0 = phi i8* [ %call.i6.i.i.i, %50 ], [ %arrayidx.i, %24 ] | |
%cmp30.not107 = icmp eq i8* %__first, %__last | |
br i1 %cmp30.not107, label %if.end29.cont40_crit_edge, label %if.end29.cont32_crit_edge | |
if.end29.cont32_crit_edge: ; preds = %if.end29 | |
br label %cont32 | |
if.end29.cont40_crit_edge: ; preds = %if.end29 | |
%51 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 4), align 1, !nosanitize !0 | |
%52 = add i8 %51, 1 | |
store i8 %52, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 4), align 1, !nosanitize !0 | |
br label %cont40 | |
cont32: ; preds = %cont38.cont32_crit_edge, %if.end29.cont32_crit_edge | |
%__first.addr.0109 = phi i8* [ %incdec.ptr, %cont38.cont32_crit_edge ], [ %__first, %if.end29.cont32_crit_edge ] | |
%__p.1108 = phi i8* [ %incdec.ptr36, %cont38.cont32_crit_edge ], [ %__p.0, %if.end29.cont32_crit_edge ] | |
%.not = icmp eq i8* %__first.addr.0109, null, !nosanitize !0 | |
br i1 %.not, label %handler.type_mismatch33, label %cont34, !prof !5, !nosanitize !0 | |
handler.type_mismatch33: ; preds = %cont32 | |
%53 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 5), align 1, !nosanitize !0 | |
%54 = add i8 %53, 1 | |
store i8 %54, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 5), align 1, !nosanitize !0 | |
%55 = ptrtoint i8* %__first.addr.0109 to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 }, { i16, i16, [61 x i8] }*, i8, i8 }* @15 to i8*), i64 %55) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont34: ; preds = %cont32 | |
%56 = ptrtoint i8* %__first.addr.0109 to i64 | |
%57 = lshr i64 %56, 3 | |
%58 = add i64 %57, 2147450880 | |
%59 = inttoptr i64 %58 to i8* | |
%60 = load i8, i8* %59, align 1 | |
%61 = icmp ne i8 %60, 0 | |
br i1 %61, label %62, label %67, !prof !1 | |
62: ; preds = %cont34 | |
%63 = and i64 %56, 7 | |
%64 = trunc i64 %63 to i8 | |
%65 = icmp sge i8 %64, %60 | |
br i1 %65, label %66, label %67 | |
66: ; preds = %62 | |
call void @__asan_report_load1(i64 %56) #22 | |
unreachable | |
67: ; preds = %62, %cont34 | |
%68 = load i8, i8* %__first.addr.0109, align 1, !tbaa !2 | |
%69 = ptrtoint i8* %__p.1108 to i64 | |
%70 = lshr i64 %69, 3 | |
%71 = add i64 %70, 2147450880 | |
%72 = inttoptr i64 %71 to i8* | |
%73 = load i8, i8* %72, align 1 | |
%74 = icmp ne i8 %73, 0 | |
br i1 %74, label %75, label %80, !prof !1 | |
75: ; preds = %67 | |
%76 = and i64 %69, 7 | |
%77 = trunc i64 %76 to i8 | |
%78 = icmp sge i8 %77, %73 | |
br i1 %78, label %79, label %80 | |
79: ; preds = %75 | |
call void @__asan_report_store1(i64 %69) #22 | |
unreachable | |
80: ; preds = %75, %67 | |
store i8 %68, i8* %__p.1108, align 1, !tbaa !2 | |
%incdec.ptr = getelementptr inbounds i8, i8* %__first.addr.0109, i64 1 | |
%.not61 = icmp eq i8* %__first.addr.0109, inttoptr (i64 -1 to i8*) | |
br i1 %.not61, label %handler.pointer_overflow, label %cont35, !prof !5, !nosanitize !0 | |
handler.pointer_overflow: ; preds = %80 | |
%81 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 6), align 1, !nosanitize !0 | |
%82 = add i8 %81, 1 | |
store i8 %82, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 6), align 1, !nosanitize !0 | |
%83 = ptrtoint i8* %__first.addr.0109 to i64, !nosanitize !0 | |
%84 = add i64 %83, 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @16 to i8*), i64 %83, i64 %84) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont35: ; preds = %80 | |
%.not62 = icmp eq i8* %__p.1108, inttoptr (i64 -1 to i8*) | |
br i1 %.not62, label %handler.pointer_overflow37, label %cont38, !prof !5, !nosanitize !0 | |
handler.pointer_overflow37: ; preds = %cont35 | |
%85 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 7), align 1, !nosanitize !0 | |
%86 = add i8 %85, 1 | |
store i8 %86, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 7), align 1, !nosanitize !0 | |
%87 = ptrtoint i8* %__p.1108 to i64, !nosanitize !0 | |
%88 = add i64 %87, 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @17 to i8*), i64 %87, i64 %88) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont38: ; preds = %cont35 | |
%incdec.ptr36 = getelementptr inbounds i8, i8* %__p.1108, i64 1 | |
%cmp30.not = icmp eq i8* %incdec.ptr, %__last | |
br i1 %cmp30.not, label %cont38.cont40_crit_edge, label %cont38.cont32_crit_edge, !llvm.loop !32 | |
cont38.cont32_crit_edge: ; preds = %cont38 | |
%89 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 8), align 1, !nosanitize !0 | |
%90 = add i8 %89, 1 | |
store i8 %90, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 8), align 1, !nosanitize !0 | |
br label %cont32 | |
cont38.cont40_crit_edge: ; preds = %cont38 | |
%91 = load i8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 9), align 1, !nosanitize !0 | |
%92 = add i8 %91, 1 | |
store i8 %92, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @__sancov_gen_.58, i64 0, i64 9), align 1, !nosanitize !0 | |
br label %cont40 | |
cont40: ; preds = %cont38.cont40_crit_edge, %if.end29.cont40_crit_edge | |
%__p.1.lcssa = phi i8* [ %__p.0, %if.end29.cont40_crit_edge ], [ %incdec.ptr36, %cont38.cont40_crit_edge ] | |
%93 = ptrtoint i8* %__p.1.lcssa to i64 | |
%94 = lshr i64 %93, 3 | |
%95 = add i64 %94, 2147450880 | |
%96 = inttoptr i64 %95 to i8* | |
%97 = load i8, i8* %96, align 1 | |
%98 = icmp ne i8 %97, 0 | |
br i1 %98, label %99, label %104, !prof !1 | |
99: ; preds = %cont40 | |
%100 = and i64 %93, 7 | |
%101 = trunc i64 %100 to i8 | |
%102 = icmp sge i8 %101, %97 | |
br i1 %102, label %103, label %104 | |
103: ; preds = %99 | |
call void @__asan_report_store1(i64 %93) #22 | |
unreachable | |
104: ; preds = %99, %cont40 | |
store i8 0, i8* %__p.1.lcssa, align 1, !tbaa !2 | |
ret void | |
} | |
declare %"class.std::__1::__libcpp_db"* @_ZNSt3__18__get_dbEv() local_unnamed_addr #0 | |
; Function Attrs: mustprogress optforfuzzing sanitize_address uwtable | |
define linkonce_odr hidden void @_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE20__throw_length_errorEv(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this) local_unnamed_addr #8 comdat align 2 { | |
entry: | |
%0 = bitcast %"class.std::__1::basic_string"* %this to %"class.std::__1::__basic_string_common"* | |
call void @__asan_handle_no_return() #20, !nosanitize !0 | |
call void @_ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv(%"class.std::__1::__basic_string_common"* nonnull align 1 dereferenceable(1) %0) #19 | |
call void @__ubsan_handle_builtin_unreachable(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @18 to i8*)) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
} | |
declare void @__asan_handle_no_return() local_unnamed_addr | |
; Function Attrs: noreturn nounwind uwtable | |
declare void @__ubsan_handle_builtin_unreachable(i8*) local_unnamed_addr #2 | |
; Function Attrs: mustprogress optforfuzzing sanitize_address uwtable | |
define linkonce_odr void @_ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv(%"class.std::__1::__basic_string_common"* nonnull align 1 dereferenceable(1) %this) local_unnamed_addr #8 comdat align 2 { | |
entry: | |
call void @__asan_handle_no_return() #20, !nosanitize !0 | |
call void @_ZNSt3__120__throw_length_errorEPKc(i8* getelementptr inbounds ({ [13 x i8], [19 x i8] }, { [13 x i8], [19 x i8] }* @.str.13, i32 0, i32 0, i64 0)) #19 | |
call void @__ubsan_handle_builtin_unreachable(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @19 to i8*)) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
} | |
; Function Attrs: inlinehint mustprogress optforfuzzing sanitize_address uwtable | |
define linkonce_odr hidden void @_ZNSt3__120__throw_length_errorEPKc(i8* %__msg) #7 comdat prologue <{ i32, i32 }> <{ i32 846595819, i32 trunc (i64 sub (i64 ptrtoint ({ i8*, [24 x i8] }* @20 to i64), i64 ptrtoint (void (i8*)* @_ZNSt3__120__throw_length_errorEPKc to i64)) to i32) }> personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.60, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.60, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%exception = call i8* @__cxa_allocate_exception(i64 16) #20 | |
%8 = icmp ne i8* %exception, null | |
%9 = ptrtoint i8* %exception to i64 | |
%10 = and i64 %9, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %10) | |
%11 = icmp eq i64 %10, 0, !nosanitize !0 | |
%12 = and i1 %8, %11, !nosanitize !0 | |
br i1 %12, label %cont, label %handler.type_mismatch, !prof !12, !nosanitize !0 | |
handler.type_mismatch: ; preds = %7 | |
%13 = load i8, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.60, i64 0, i64 1), align 1, !nosanitize !0 | |
%14 = add i8 %13, 1 | |
store i8 %14, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.60, i64 0, i64 1), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [10 x i8]*, i32, i32 }, { i16, i16, [20 x i8] }*, i8, i8 }* @22 to i8*), i64 %9) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont: ; preds = %7 | |
%15 = bitcast i8* %exception to %"class.std::length_error"* | |
invoke void @_ZNSt12length_errorC2EPKc(%"class.std::length_error"* nonnull align 8 dereferenceable(16) %15, i8* %__msg) #19 | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %cont | |
%16 = load i8, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.60, i64 0, i64 2), align 1, !nosanitize !0 | |
%17 = add i8 %16, 1 | |
store i8 %17, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.60, i64 0, i64 2), align 1, !nosanitize !0 | |
call void @__asan_handle_no_return() | |
call void @__cxa_throw(i8* nonnull %exception, i8* bitcast (i8** @_ZTISt12length_error to i8*), i8* bitcast (void (%"class.std::length_error"*)* @_ZNSt12length_errorD1Ev to i8*)) #27 | |
unreachable | |
lpad: ; preds = %cont | |
%18 = landingpad { i8*, i32 } | |
cleanup | |
%19 = load i8, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.60, i64 0, i64 3), align 1, !nosanitize !0 | |
%20 = add i8 %19, 1 | |
store i8 %20, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.60, i64 0, i64 3), align 1, !nosanitize !0 | |
call void @__cxa_free_exception(i8* nonnull %exception) #20 | |
resume { i8*, i32 } %18 | |
} | |
declare i8* @__cxa_allocate_exception(i64) local_unnamed_addr | |
; Function Attrs: optforfuzzing sanitize_address uwtable | |
define linkonce_odr hidden void @_ZNSt12length_errorC2EPKc(%"class.std::length_error"* nonnull align 8 dereferenceable(16) %this, i8* %__s) unnamed_addr #1 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.62, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.62, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = getelementptr inbounds %"class.std::length_error", %"class.std::length_error"* %this, i64 0, i32 0 | |
call void @_ZNSt11logic_errorC2EPKc(%"class.std::logic_error"* nonnull align 8 dereferenceable(16) %8, i8* %__s) #19 | |
%9 = getelementptr inbounds %"class.std::length_error", %"class.std::length_error"* %this, i64 0, i32 0, i32 0, i32 0 | |
%10 = ptrtoint i32 (...)*** %9 to i64 | |
%11 = lshr i64 %10, 3 | |
%12 = add i64 %11, 2147450880 | |
%13 = inttoptr i64 %12 to i8* | |
%14 = load i8, i8* %13, align 1 | |
%15 = icmp ne i8 %14, 0 | |
br i1 %15, label %16, label %17 | |
16: ; preds = %7 | |
call void @__asan_report_store8(i64 %10) #22 | |
unreachable | |
17: ; preds = %7 | |
store i32 (...)** bitcast (i8** getelementptr inbounds ({ [5 x i8*] }, { [5 x i8*] }* @_ZTVSt12length_error, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %9, align 8, !tbaa !27 | |
ret void | |
} | |
declare void @__cxa_free_exception(i8*) local_unnamed_addr | |
; Function Attrs: nounwind | |
declare void @_ZNSt12length_errorD1Ev(%"class.std::length_error"* nonnull align 8 dereferenceable(16)) unnamed_addr #9 | |
declare void @__cxa_throw(i8*, i8*, i8*) local_unnamed_addr | |
declare void @_ZNSt11logic_errorC2EPKc(%"class.std::logic_error"* nonnull align 8 dereferenceable(16), i8*) unnamed_addr #0 | |
; Function Attrs: nobuiltin allocsize(0) | |
declare nonnull i8* @_Znwm(i64) local_unnamed_addr #10 | |
declare void @_ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E(%"class.std::__1::__libcpp_db"* nonnull align 8 dereferenceable(48), i8*, %"struct.std::__1::__c_node"* (i8*, i8*, %"struct.std::__1::__c_node"*)*) local_unnamed_addr #0 | |
; Function Attrs: optforfuzzing sanitize_address uwtable | |
define linkonce_odr hidden %"struct.std::__1::__c_node"* @_ZNSt3__111__libcpp_db15__create_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEPNS_8__c_nodeEPvSA_S9_(i8* %__mem, i8* %__c, %"struct.std::__1::__c_node"* %__next) #1 comdat align 2 prologue <{ i32, i32 }> <{ i32 846595819, i32 trunc (i64 sub (i64 ptrtoint ({ i8*, [24 x i8] }* @24 to i64), i64 ptrtoint (%"struct.std::__1::__c_node"* (i8*, i8*, %"struct.std::__1::__c_node"*)* @_ZNSt3__111__libcpp_db15__create_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEPNS_8__c_nodeEPvSA_S9_ to i64)) to i32) }> { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.64, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.64, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = icmp ne i8* %__mem, null | |
%9 = ptrtoint i8* %__mem to i64 | |
%10 = and i64 %9, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %10) | |
%11 = icmp eq i64 %10, 0, !nosanitize !0 | |
%12 = and i1 %8, %11, !nosanitize !0 | |
br i1 %12, label %cont, label %handler.type_mismatch, !prof !12, !nosanitize !0 | |
handler.type_mismatch: ; preds = %7 | |
%13 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.64, i64 0, i64 1), align 1, !nosanitize !0 | |
%14 = add i8 %13, 1 | |
store i8 %14, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.64, i64 0, i64 1), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [8 x i8]*, i32, i32 }, { i16, i16, [23 x i8] }*, i8, i8 }* @26 to i8*), i64 %9) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont: ; preds = %7 | |
%15 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.64, i64 0, i64 2), align 1, !nosanitize !0 | |
%16 = add i8 %15, 1 | |
store i8 %16, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.64, i64 0, i64 2), align 1, !nosanitize !0 | |
%17 = bitcast i8* %__mem to i32 (...)*** | |
%18 = ptrtoint i32 (...)*** %17 to i64 | |
%19 = lshr i64 %18, 3 | |
%20 = add i64 %19, 2147450880 | |
%21 = inttoptr i64 %20 to i8* | |
%22 = load i8, i8* %21, align 1 | |
%23 = icmp ne i8 %22, 0 | |
br i1 %23, label %24, label %25 | |
24: ; preds = %cont | |
call void @__asan_report_store8(i64 %18) #22 | |
unreachable | |
25: ; preds = %cont | |
store i32 (...)** bitcast (i8** getelementptr inbounds ({ [8 x i8*] }, { [8 x i8*] }* @_ZTVNSt3__18__c_nodeE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %17, align 8, !tbaa !27 | |
%__c_.i.i = getelementptr inbounds i8, i8* %__mem, i64 8 | |
%26 = bitcast i8* %__c_.i.i to i8** | |
%27 = ptrtoint i8** %26 to i64 | |
%28 = lshr i64 %27, 3 | |
%29 = add i64 %28, 2147450880 | |
%30 = inttoptr i64 %29 to i8* | |
%31 = load i8, i8* %30, align 1 | |
%32 = icmp ne i8 %31, 0 | |
br i1 %32, label %33, label %34 | |
33: ; preds = %25 | |
call void @__asan_report_store8(i64 %27) #22 | |
unreachable | |
34: ; preds = %25 | |
store i8* %__c, i8** %26, align 8, !tbaa !33 | |
%__next_.i.i = getelementptr inbounds i8, i8* %__mem, i64 16 | |
%35 = bitcast i8* %__next_.i.i to %"struct.std::__1::__c_node"** | |
%36 = ptrtoint %"struct.std::__1::__c_node"** %35 to i64 | |
%37 = lshr i64 %36, 3 | |
%38 = add i64 %37, 2147450880 | |
%39 = inttoptr i64 %38 to i8* | |
%40 = load i8, i8* %39, align 1 | |
%41 = icmp ne i8 %40, 0 | |
br i1 %41, label %42, label %43 | |
42: ; preds = %34 | |
call void @__asan_report_store8(i64 %36) #22 | |
unreachable | |
43: ; preds = %34 | |
store %"struct.std::__1::__c_node"* %__next, %"struct.std::__1::__c_node"** %35, align 8, !tbaa !35 | |
%beg_.i.i = getelementptr inbounds i8, i8* %__mem, i64 24 | |
%44 = call i8* @__asan_memset(i8* %beg_.i.i, i32 0, i64 24) | |
store i32 (...)** bitcast (i8** getelementptr inbounds ({ [8 x i8*] }, { [8 x i8*] }* @_ZTVNSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %17, align 8, !tbaa !27 | |
%45 = bitcast i8* %__mem to %"struct.std::__1::__c_node"* | |
ret %"struct.std::__1::__c_node"* %45 | |
} | |
; Function Attrs: nounwind | |
declare void @_ZNSt3__18__c_nodeD2Ev(%"struct.std::__1::__c_node"* nonnull align 8 dereferenceable(48)) unnamed_addr #9 | |
; Function Attrs: inlinehint nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr void @_ZNSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEED0Ev(%"struct.std::__1::_C_node"* nonnull align 8 dereferenceable(48) %this) unnamed_addr #5 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.66, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.66, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = getelementptr inbounds %"struct.std::__1::_C_node", %"struct.std::__1::_C_node"* %this, i64 0, i32 0 | |
call void @_ZNSt3__18__c_nodeD2Ev(%"struct.std::__1::__c_node"* nonnull align 8 dereferenceable(48) %8) #21 | |
%9 = bitcast %"struct.std::__1::_C_node"* %this to i8* | |
call void @_ZdlPv(i8* %9) #25 | |
ret void | |
} | |
; Function Attrs: inlinehint mustprogress optforfuzzing sanitize_address uwtable | |
define linkonce_odr zeroext i1 @_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE17__dereferenceableEPKv(%"struct.std::__1::_C_node"* nonnull align 8 dereferenceable(48) %this, i8* %__i) unnamed_addr #7 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.68, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.68, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%__c_ = getelementptr inbounds %"struct.std::__1::_C_node", %"struct.std::__1::_C_node"* %this, i64 0, i32 0, i32 1 | |
%8 = ptrtoint i8** %__c_ to i64 | |
%9 = lshr i64 %8, 3 | |
%10 = add i64 %9, 2147450880 | |
%11 = inttoptr i64 %10 to i8* | |
%12 = load i8, i8* %11, align 1 | |
%13 = icmp ne i8 %12, 0 | |
br i1 %13, label %14, label %15 | |
14: ; preds = %7 | |
call void @__asan_report_load8(i64 %8) #22 | |
unreachable | |
15: ; preds = %7 | |
%16 = load i8*, i8** %__c_, align 8, !tbaa !33 | |
%17 = icmp ne i8* %16, null | |
%18 = ptrtoint i8* %16 to i64 | |
%19 = and i64 %18, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %19) | |
%20 = icmp eq i64 %19, 0, !nosanitize !0 | |
%21 = and i1 %17, %20, !nosanitize !0 | |
br i1 %21, label %cont9, label %handler.type_mismatch8, !prof !12, !nosanitize !0 | |
handler.type_mismatch8: ; preds = %15 | |
%22 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.68, i64 0, i64 1), align 1, !nosanitize !0 | |
%23 = add i8 %22, 1 | |
store i8 %23, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.68, i64 0, i64 1), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [8 x i8]*, i32, i32 }, { i16, i16, [14 x i8] }*, i8, i8 }* @29 to i8*), i64 %18) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont9: ; preds = %15 | |
%24 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.68, i64 0, i64 2), align 1, !nosanitize !0 | |
%25 = add i8 %24, 1 | |
store i8 %25, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.68, i64 0, i64 2), align 1, !nosanitize !0 | |
%26 = bitcast i8* %16 to %"class.std::__1::basic_string"* | |
%27 = bitcast i8* %__i to %"class.std::__1::__wrap_iter"* | |
%call = call zeroext i1 @_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__dereferenceableEPKNS_11__wrap_iterIPKcEE(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %26, %"class.std::__1::__wrap_iter"* %27) #19 | |
ret i1 %call | |
} | |
; Function Attrs: inlinehint mustprogress optforfuzzing sanitize_address uwtable | |
define linkonce_odr zeroext i1 @_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE15__decrementableEPKv(%"struct.std::__1::_C_node"* nonnull align 8 dereferenceable(48) %this, i8* %__i) unnamed_addr #7 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.70, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.70, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%__c_ = getelementptr inbounds %"struct.std::__1::_C_node", %"struct.std::__1::_C_node"* %this, i64 0, i32 0, i32 1 | |
%8 = ptrtoint i8** %__c_ to i64 | |
%9 = lshr i64 %8, 3 | |
%10 = add i64 %9, 2147450880 | |
%11 = inttoptr i64 %10 to i8* | |
%12 = load i8, i8* %11, align 1 | |
%13 = icmp ne i8 %12, 0 | |
br i1 %13, label %14, label %15 | |
14: ; preds = %7 | |
call void @__asan_report_load8(i64 %8) #22 | |
unreachable | |
15: ; preds = %7 | |
%16 = load i8*, i8** %__c_, align 8, !tbaa !33 | |
%17 = icmp ne i8* %16, null | |
%18 = ptrtoint i8* %16 to i64 | |
%19 = and i64 %18, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %19) | |
%20 = icmp eq i64 %19, 0, !nosanitize !0 | |
%21 = and i1 %17, %20, !nosanitize !0 | |
br i1 %21, label %cont9, label %handler.type_mismatch8, !prof !12, !nosanitize !0 | |
handler.type_mismatch8: ; preds = %15 | |
%22 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.70, i64 0, i64 1), align 1, !nosanitize !0 | |
%23 = add i8 %22, 1 | |
store i8 %23, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.70, i64 0, i64 1), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [8 x i8]*, i32, i32 }, { i16, i16, [14 x i8] }*, i8, i8 }* @33 to i8*), i64 %18) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont9: ; preds = %15 | |
%24 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.70, i64 0, i64 2), align 1, !nosanitize !0 | |
%25 = add i8 %24, 1 | |
store i8 %25, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.70, i64 0, i64 2), align 1, !nosanitize !0 | |
%26 = bitcast i8* %16 to %"class.std::__1::basic_string"* | |
%27 = bitcast i8* %__i to %"class.std::__1::__wrap_iter"* | |
%call = call zeroext i1 @_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__decrementableEPKNS_11__wrap_iterIPKcEE(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %26, %"class.std::__1::__wrap_iter"* %27) #19 | |
ret i1 %call | |
} | |
; Function Attrs: inlinehint mustprogress optforfuzzing sanitize_address uwtable | |
define linkonce_odr zeroext i1 @_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE9__addableEPKvl(%"struct.std::__1::_C_node"* nonnull align 8 dereferenceable(48) %this, i8* %__i, i64 %__n) unnamed_addr #7 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.72, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.72, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%__c_ = getelementptr inbounds %"struct.std::__1::_C_node", %"struct.std::__1::_C_node"* %this, i64 0, i32 0, i32 1 | |
%8 = ptrtoint i8** %__c_ to i64 | |
%9 = lshr i64 %8, 3 | |
%10 = add i64 %9, 2147450880 | |
%11 = inttoptr i64 %10 to i8* | |
%12 = load i8, i8* %11, align 1 | |
%13 = icmp ne i8 %12, 0 | |
br i1 %13, label %14, label %15 | |
14: ; preds = %7 | |
call void @__asan_report_load8(i64 %8) #22 | |
unreachable | |
15: ; preds = %7 | |
%16 = load i8*, i8** %__c_, align 8, !tbaa !33 | |
%17 = icmp ne i8* %16, null | |
%18 = ptrtoint i8* %16 to i64 | |
%19 = and i64 %18, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %19) | |
%20 = icmp eq i64 %19, 0, !nosanitize !0 | |
%21 = and i1 %17, %20, !nosanitize !0 | |
br i1 %21, label %cont9, label %handler.type_mismatch8, !prof !12, !nosanitize !0 | |
handler.type_mismatch8: ; preds = %15 | |
%22 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.72, i64 0, i64 1), align 1, !nosanitize !0 | |
%23 = add i8 %22, 1 | |
store i8 %23, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.72, i64 0, i64 1), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [8 x i8]*, i32, i32 }, { i16, i16, [14 x i8] }*, i8, i8 }* @36 to i8*), i64 %18) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont9: ; preds = %15 | |
%24 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.72, i64 0, i64 2), align 1, !nosanitize !0 | |
%25 = add i8 %24, 1 | |
store i8 %25, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.72, i64 0, i64 2), align 1, !nosanitize !0 | |
%26 = bitcast i8* %16 to %"class.std::__1::basic_string"* | |
%27 = bitcast i8* %__i to %"class.std::__1::__wrap_iter"* | |
%call = call zeroext i1 @_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__addableEPKNS_11__wrap_iterIPKcEEl(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %26, %"class.std::__1::__wrap_iter"* %27, i64 %__n) #19 | |
ret i1 %call | |
} | |
; Function Attrs: inlinehint mustprogress optforfuzzing sanitize_address uwtable | |
define linkonce_odr zeroext i1 @_ZNKSt3__17_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE15__subscriptableEPKvl(%"struct.std::__1::_C_node"* nonnull align 8 dereferenceable(48) %this, i8* %__i, i64 %__n) unnamed_addr #7 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.74, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.74, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%__c_ = getelementptr inbounds %"struct.std::__1::_C_node", %"struct.std::__1::_C_node"* %this, i64 0, i32 0, i32 1 | |
%8 = ptrtoint i8** %__c_ to i64 | |
%9 = lshr i64 %8, 3 | |
%10 = add i64 %9, 2147450880 | |
%11 = inttoptr i64 %10 to i8* | |
%12 = load i8, i8* %11, align 1 | |
%13 = icmp ne i8 %12, 0 | |
br i1 %13, label %14, label %15 | |
14: ; preds = %7 | |
call void @__asan_report_load8(i64 %8) #22 | |
unreachable | |
15: ; preds = %7 | |
%16 = load i8*, i8** %__c_, align 8, !tbaa !33 | |
%17 = icmp ne i8* %16, null | |
%18 = ptrtoint i8* %16 to i64 | |
%19 = and i64 %18, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %19) | |
%20 = icmp eq i64 %19, 0, !nosanitize !0 | |
%21 = and i1 %17, %20, !nosanitize !0 | |
br i1 %21, label %cont9, label %handler.type_mismatch8, !prof !12, !nosanitize !0 | |
handler.type_mismatch8: ; preds = %15 | |
%22 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.74, i64 0, i64 1), align 1, !nosanitize !0 | |
%23 = add i8 %22, 1 | |
store i8 %23, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.74, i64 0, i64 1), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [8 x i8]*, i32, i32 }, { i16, i16, [14 x i8] }*, i8, i8 }* @40 to i8*), i64 %18) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont9: ; preds = %15 | |
%24 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.74, i64 0, i64 2), align 1, !nosanitize !0 | |
%25 = add i8 %24, 1 | |
store i8 %25, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.74, i64 0, i64 2), align 1, !nosanitize !0 | |
%26 = bitcast i8* %16 to %"class.std::__1::basic_string"* | |
%27 = bitcast i8* %__i to %"class.std::__1::__wrap_iter"* | |
%call = call zeroext i1 @_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__subscriptableEPKNS_11__wrap_iterIPKcEEl(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %26, %"class.std::__1::__wrap_iter"* %27, i64 %__n) #19 | |
ret i1 %call | |
} | |
declare void @__cxa_pure_virtual() unnamed_addr | |
; Function Attrs: nobuiltin nounwind | |
declare void @_ZdlPv(i8*) local_unnamed_addr #11 | |
; Function Attrs: mustprogress nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr zeroext i1 @_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__dereferenceableEPKNS_11__wrap_iterIPKcEE(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this, %"class.std::__1::__wrap_iter"* %__i) local_unnamed_addr #12 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = bitcast %"class.std::__1::basic_string"* %this to i8*, !nosanitize !0 | |
%9 = ptrtoint i8* %8 to i64 | |
%10 = lshr i64 %9, 3 | |
%11 = add i64 %10, 2147450880 | |
%12 = inttoptr i64 %11 to i8* | |
%13 = load i8, i8* %12, align 1 | |
%14 = icmp ne i8 %13, 0 | |
br i1 %14, label %15, label %20, !prof !1 | |
15: ; preds = %7 | |
%16 = and i64 %9, 7 | |
%17 = trunc i64 %16 to i8 | |
%18 = icmp sge i8 %17, %13 | |
br i1 %18, label %19, label %20 | |
19: ; preds = %15 | |
call void @__asan_report_load1(i64 %9) #22 | |
unreachable | |
20: ; preds = %15, %7 | |
%21 = load i8, i8* %8, align 8, !tbaa !2 | |
%22 = and i8 %21, 1 | |
call void @__sanitizer_cov_trace_const_cmp1(i8 0, i8 %22) | |
%tobool.i.not.i = icmp eq i8 %22, 0 | |
br i1 %tobool.i.not.i, label %cont11.i.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i: ; preds = %20 | |
%23 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 1), align 1, !nosanitize !0 | |
%24 = add i8 %23, 1 | |
store i8 %24, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 1), align 1, !nosanitize !0 | |
%__data_.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 | |
%25 = ptrtoint i8** %__data_.i.i to i64 | |
%26 = lshr i64 %25, 3 | |
%27 = add i64 %26, 2147450880 | |
%28 = inttoptr i64 %27 to i8* | |
%29 = load i8, i8* %28, align 1 | |
%30 = icmp ne i8 %29, 0 | |
br i1 %30, label %31, label %32 | |
31: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
call void @__asan_report_load8(i64 %25) #22 | |
unreachable | |
32: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
%33 = load i8*, i8** %__data_.i.i, align 8, !tbaa !2 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit | |
cont11.i.i: ; preds = %20 | |
%34 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 2), align 1, !nosanitize !0 | |
%35 = add i8 %34, 1 | |
store i8 %35, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 2), align 1, !nosanitize !0 | |
%__s.i.i = bitcast %"class.std::__1::basic_string"* %this to %"struct.std::__1::basic_string<char>::__short"* | |
%arrayidx.i.i = getelementptr inbounds %"struct.std::__1::basic_string<char>::__short", %"struct.std::__1::basic_string<char>::__short"* %__s.i.i, i64 0, i32 1, i64 0 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit: ; preds = %cont11.i.i, %32 | |
%cond.i.i = phi i8* [ %33, %32 ], [ %arrayidx.i.i, %cont11.i.i ] | |
%36 = icmp ne %"class.std::__1::__wrap_iter"* %__i, null, !nosanitize !0 | |
%37 = ptrtoint %"class.std::__1::__wrap_iter"* %__i to i64, !nosanitize !0 | |
%38 = and i64 %37, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %38) | |
%39 = icmp eq i64 %38, 0, !nosanitize !0 | |
%40 = and i1 %39, %36, !nosanitize !0 | |
br i1 %40, label %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit, label %handler.type_mismatch4, !prof !12, !nosanitize !0 | |
handler.type_mismatch4: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit | |
%41 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 3), align 1, !nosanitize !0 | |
%42 = add i8 %41, 1 | |
store i8 %42, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 3), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 }, { i16, i16, [33 x i8] }*, i8, i8 }* @31 to i8*), i64 %37) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit | |
%__i.i = getelementptr inbounds %"class.std::__1::__wrap_iter", %"class.std::__1::__wrap_iter"* %__i, i64 0, i32 0 | |
%43 = ptrtoint i8** %__i.i to i64 | |
%44 = lshr i64 %43, 3 | |
%45 = add i64 %44, 2147450880 | |
%46 = inttoptr i64 %45 to i8* | |
%47 = load i8, i8* %46, align 1 | |
%48 = icmp ne i8 %47, 0 | |
br i1 %48, label %49, label %50 | |
49: ; preds = %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit | |
call void @__asan_report_load8(i64 %43) #22 | |
unreachable | |
50: ; preds = %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit | |
%51 = load i8*, i8** %__i.i, align 8, !tbaa !36 | |
%cmp.not = icmp ugt i8* %cond.i.i, %51 | |
br i1 %cmp.not, label %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit.land.end_crit_edge, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i29 | |
_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit.land.end_crit_edge: ; preds = %50 | |
%52 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 4), align 1, !nosanitize !0 | |
%53 = add i8 %52, 1 | |
store i8 %53, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 4), align 1, !nosanitize !0 | |
br label %land.end | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i29: ; preds = %50 | |
br i1 %tobool.i.not.i, label %cont11.i.i37, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i33 | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i33: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i29 | |
%54 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 5), align 1, !nosanitize !0 | |
%55 = add i8 %54, 1 | |
store i8 %55, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 5), align 1, !nosanitize !0 | |
%__data_.i.i30 = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 | |
%56 = ptrtoint i8** %__data_.i.i30 to i64 | |
%57 = lshr i64 %56, 3 | |
%58 = add i64 %57, 2147450880 | |
%59 = inttoptr i64 %58 to i8* | |
%60 = load i8, i8* %59, align 1 | |
%61 = icmp ne i8 %60, 0 | |
br i1 %61, label %62, label %63 | |
62: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i33 | |
call void @__asan_report_load8(i64 %56) #22 | |
unreachable | |
63: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i33 | |
%64 = load i8*, i8** %__data_.i.i30, align 8, !tbaa !2 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i45 | |
cont11.i.i37: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i29 | |
%65 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 6), align 1, !nosanitize !0 | |
%66 = add i8 %65, 1 | |
store i8 %66, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 6), align 1, !nosanitize !0 | |
%__s.i.i34 = bitcast %"class.std::__1::basic_string"* %this to %"struct.std::__1::basic_string<char>::__short"* | |
%arrayidx.i.i35 = getelementptr inbounds %"struct.std::__1::basic_string<char>::__short", %"struct.std::__1::basic_string<char>::__short"* %__s.i.i34, i64 0, i32 1, i64 0 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i45 | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i45: ; preds = %cont11.i.i37, %63 | |
%cond.i.i39 = phi i8* [ %64, %63 ], [ %arrayidx.i.i35, %cont11.i.i37 ] | |
br i1 %tobool.i.not.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i45 | |
%67 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 7), align 1, !nosanitize !0 | |
%68 = add i8 %67, 1 | |
store i8 %68, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 7), align 1, !nosanitize !0 | |
%__size_.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 | |
%69 = ptrtoint i64* %__size_.i.i to i64 | |
%70 = lshr i64 %69, 3 | |
%71 = add i64 %70, 2147450880 | |
%72 = inttoptr i64 %71 to i8* | |
%73 = load i8, i8* %72, align 1 | |
%74 = icmp ne i8 %73, 0 | |
br i1 %74, label %75, label %76 | |
75: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
call void @__asan_report_load8(i64 %69) #22 | |
unreachable | |
76: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
%77 = load i64, i64* %__size_.i.i, align 8, !tbaa !2 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i45 | |
%78 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 8), align 1, !nosanitize !0 | |
%79 = add i8 %78, 1 | |
store i8 %79, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 8), align 1, !nosanitize !0 | |
%80 = lshr i8 %21, 1 | |
%conv17.i.i = zext i8 %80 to i64 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i, %76 | |
%cond.i = phi i64 [ %77, %76 ], [ %conv17.i.i, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i ] | |
%81 = ptrtoint i8* %cond.i.i39 to i64, !nosanitize !0 | |
%82 = add i64 %cond.i, %81, !nosanitize !0 | |
%83 = icmp eq i8* %cond.i.i39, null, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %82) | |
%84 = icmp ne i64 %82, 0, !nosanitize !0 | |
%85 = xor i1 %83, %84 | |
call void @__sanitizer_cov_trace_cmp8(i64 %82, i64 %81) | |
%86 = icmp uge i64 %82, %81, !nosanitize !0 | |
%87 = and i1 %86, %85, !nosanitize !0 | |
br i1 %87, label %cont18, label %handler.pointer_overflow, !prof !12, !nosanitize !0 | |
handler.pointer_overflow: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
%88 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 9), align 1, !nosanitize !0 | |
%89 = add i8 %88, 1 | |
store i8 %89, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 9), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @32 to i8*), i64 %81, i64 %82) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont18: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
%90 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 10), align 1, !nosanitize !0 | |
%91 = add i8 %90, 1 | |
store i8 %91, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.76, i64 0, i64 10), align 1, !nosanitize !0 | |
%add.ptr = getelementptr inbounds i8, i8* %cond.i.i39, i64 %cond.i | |
%cmp19 = icmp ult i8* %51, %add.ptr | |
br label %land.end | |
land.end: ; preds = %cont18, %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit.land.end_crit_edge | |
%92 = phi i1 [ false, %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit.land.end_crit_edge ], [ %cmp19, %cont18 ] | |
ret i1 %92 | |
} | |
; Function Attrs: mustprogress nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr zeroext i1 @_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__decrementableEPKNS_11__wrap_iterIPKcEE(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this, %"class.std::__1::__wrap_iter"* %__i) local_unnamed_addr #12 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = bitcast %"class.std::__1::basic_string"* %this to i8*, !nosanitize !0 | |
%9 = ptrtoint i8* %8 to i64 | |
%10 = lshr i64 %9, 3 | |
%11 = add i64 %10, 2147450880 | |
%12 = inttoptr i64 %11 to i8* | |
%13 = load i8, i8* %12, align 1 | |
%14 = icmp ne i8 %13, 0 | |
br i1 %14, label %15, label %20, !prof !1 | |
15: ; preds = %7 | |
%16 = and i64 %9, 7 | |
%17 = trunc i64 %16 to i8 | |
%18 = icmp sge i8 %17, %13 | |
br i1 %18, label %19, label %20 | |
19: ; preds = %15 | |
call void @__asan_report_load1(i64 %9) #22 | |
unreachable | |
20: ; preds = %15, %7 | |
%21 = load i8, i8* %8, align 8, !tbaa !2 | |
%22 = and i8 %21, 1 | |
call void @__sanitizer_cov_trace_const_cmp1(i8 0, i8 %22) | |
%tobool.i.not.i = icmp eq i8 %22, 0 | |
br i1 %tobool.i.not.i, label %cont11.i.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i: ; preds = %20 | |
%23 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 1), align 1, !nosanitize !0 | |
%24 = add i8 %23, 1 | |
store i8 %24, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 1), align 1, !nosanitize !0 | |
%__data_.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 | |
%25 = ptrtoint i8** %__data_.i.i to i64 | |
%26 = lshr i64 %25, 3 | |
%27 = add i64 %26, 2147450880 | |
%28 = inttoptr i64 %27 to i8* | |
%29 = load i8, i8* %28, align 1 | |
%30 = icmp ne i8 %29, 0 | |
br i1 %30, label %31, label %32 | |
31: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
call void @__asan_report_load8(i64 %25) #22 | |
unreachable | |
32: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
%33 = load i8*, i8** %__data_.i.i, align 8, !tbaa !2 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit | |
cont11.i.i: ; preds = %20 | |
%34 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 2), align 1, !nosanitize !0 | |
%35 = add i8 %34, 1 | |
store i8 %35, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 2), align 1, !nosanitize !0 | |
%__s.i.i = bitcast %"class.std::__1::basic_string"* %this to %"struct.std::__1::basic_string<char>::__short"* | |
%arrayidx.i.i = getelementptr inbounds %"struct.std::__1::basic_string<char>::__short", %"struct.std::__1::basic_string<char>::__short"* %__s.i.i, i64 0, i32 1, i64 0 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit: ; preds = %cont11.i.i, %32 | |
%cond.i.i = phi i8* [ %33, %32 ], [ %arrayidx.i.i, %cont11.i.i ] | |
%36 = icmp ne %"class.std::__1::__wrap_iter"* %__i, null, !nosanitize !0 | |
%37 = ptrtoint %"class.std::__1::__wrap_iter"* %__i to i64, !nosanitize !0 | |
%38 = and i64 %37, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %38) | |
%39 = icmp eq i64 %38, 0, !nosanitize !0 | |
%40 = and i1 %39, %36, !nosanitize !0 | |
br i1 %40, label %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit, label %handler.type_mismatch4, !prof !12, !nosanitize !0 | |
handler.type_mismatch4: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit | |
%41 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 3), align 1, !nosanitize !0 | |
%42 = add i8 %41, 1 | |
store i8 %42, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 3), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 }, { i16, i16, [33 x i8] }*, i8, i8 }* @34 to i8*), i64 %37) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit | |
%__i.i = getelementptr inbounds %"class.std::__1::__wrap_iter", %"class.std::__1::__wrap_iter"* %__i, i64 0, i32 0 | |
%43 = ptrtoint i8** %__i.i to i64 | |
%44 = lshr i64 %43, 3 | |
%45 = add i64 %44, 2147450880 | |
%46 = inttoptr i64 %45 to i8* | |
%47 = load i8, i8* %46, align 1 | |
%48 = icmp ne i8 %47, 0 | |
br i1 %48, label %49, label %50 | |
49: ; preds = %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit | |
call void @__asan_report_load8(i64 %43) #22 | |
unreachable | |
50: ; preds = %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit | |
%51 = load i8*, i8** %__i.i, align 8, !tbaa !36 | |
%cmp = icmp ult i8* %cond.i.i, %51 | |
br i1 %cmp, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i29, label %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit.land.end_crit_edge | |
_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit.land.end_crit_edge: ; preds = %50 | |
%52 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 4), align 1, !nosanitize !0 | |
%53 = add i8 %52, 1 | |
store i8 %53, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 4), align 1, !nosanitize !0 | |
br label %land.end | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i29: ; preds = %50 | |
br i1 %tobool.i.not.i, label %cont11.i.i37, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i33 | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i33: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i29 | |
%54 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 5), align 1, !nosanitize !0 | |
%55 = add i8 %54, 1 | |
store i8 %55, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 5), align 1, !nosanitize !0 | |
%__data_.i.i30 = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 | |
%56 = ptrtoint i8** %__data_.i.i30 to i64 | |
%57 = lshr i64 %56, 3 | |
%58 = add i64 %57, 2147450880 | |
%59 = inttoptr i64 %58 to i8* | |
%60 = load i8, i8* %59, align 1 | |
%61 = icmp ne i8 %60, 0 | |
br i1 %61, label %62, label %63 | |
62: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i33 | |
call void @__asan_report_load8(i64 %56) #22 | |
unreachable | |
63: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i33 | |
%64 = load i8*, i8** %__data_.i.i30, align 8, !tbaa !2 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i45 | |
cont11.i.i37: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i29 | |
%65 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 6), align 1, !nosanitize !0 | |
%66 = add i8 %65, 1 | |
store i8 %66, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 6), align 1, !nosanitize !0 | |
%__s.i.i34 = bitcast %"class.std::__1::basic_string"* %this to %"struct.std::__1::basic_string<char>::__short"* | |
%arrayidx.i.i35 = getelementptr inbounds %"struct.std::__1::basic_string<char>::__short", %"struct.std::__1::basic_string<char>::__short"* %__s.i.i34, i64 0, i32 1, i64 0 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i45 | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i45: ; preds = %cont11.i.i37, %63 | |
%cond.i.i39 = phi i8* [ %64, %63 ], [ %arrayidx.i.i35, %cont11.i.i37 ] | |
br i1 %tobool.i.not.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i45 | |
%67 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 7), align 1, !nosanitize !0 | |
%68 = add i8 %67, 1 | |
store i8 %68, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 7), align 1, !nosanitize !0 | |
%__size_.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 | |
%69 = ptrtoint i64* %__size_.i.i to i64 | |
%70 = lshr i64 %69, 3 | |
%71 = add i64 %70, 2147450880 | |
%72 = inttoptr i64 %71 to i8* | |
%73 = load i8, i8* %72, align 1 | |
%74 = icmp ne i8 %73, 0 | |
br i1 %74, label %75, label %76 | |
75: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
call void @__asan_report_load8(i64 %69) #22 | |
unreachable | |
76: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
%77 = load i64, i64* %__size_.i.i, align 8, !tbaa !2 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i45 | |
%78 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 8), align 1, !nosanitize !0 | |
%79 = add i8 %78, 1 | |
store i8 %79, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 8), align 1, !nosanitize !0 | |
%80 = lshr i8 %21, 1 | |
%conv17.i.i = zext i8 %80 to i64 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i, %76 | |
%cond.i = phi i64 [ %77, %76 ], [ %conv17.i.i, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i ] | |
%81 = ptrtoint i8* %cond.i.i39 to i64, !nosanitize !0 | |
%82 = add i64 %cond.i, %81, !nosanitize !0 | |
%83 = icmp eq i8* %cond.i.i39, null, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %82) | |
%84 = icmp ne i64 %82, 0, !nosanitize !0 | |
%85 = xor i1 %83, %84 | |
call void @__sanitizer_cov_trace_cmp8(i64 %82, i64 %81) | |
%86 = icmp uge i64 %82, %81, !nosanitize !0 | |
%87 = and i1 %86, %85, !nosanitize !0 | |
br i1 %87, label %cont18, label %handler.pointer_overflow, !prof !12, !nosanitize !0 | |
handler.pointer_overflow: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
%88 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 9), align 1, !nosanitize !0 | |
%89 = add i8 %88, 1 | |
store i8 %89, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 9), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @35 to i8*), i64 %81, i64 %82) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont18: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
%90 = load i8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 10), align 1, !nosanitize !0 | |
%91 = add i8 %90, 1 | |
store i8 %91, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__sancov_gen_.78, i64 0, i64 10), align 1, !nosanitize !0 | |
%add.ptr = getelementptr inbounds i8, i8* %cond.i.i39, i64 %cond.i | |
%cmp19 = icmp ule i8* %51, %add.ptr | |
br label %land.end | |
land.end: ; preds = %cont18, %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit.land.end_crit_edge | |
%92 = phi i1 [ false, %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit.land.end_crit_edge ], [ %cmp19, %cont18 ] | |
ret i1 %92 | |
} | |
; Function Attrs: mustprogress nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr zeroext i1 @_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__addableEPKNS_11__wrap_iterIPKcEEl(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this, %"class.std::__1::__wrap_iter"* %__i, i64 %__n) local_unnamed_addr #12 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = icmp ne %"class.std::__1::__wrap_iter"* %__i, null, !nosanitize !0 | |
%9 = ptrtoint %"class.std::__1::__wrap_iter"* %__i to i64, !nosanitize !0 | |
%10 = and i64 %9, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %10) | |
%11 = icmp eq i64 %10, 0, !nosanitize !0 | |
%12 = and i1 %11, %8, !nosanitize !0 | |
br i1 %12, label %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit, label %handler.type_mismatch2, !prof !12, !nosanitize !0 | |
handler.type_mismatch2: ; preds = %7 | |
%13 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 1), align 1, !nosanitize !0 | |
%14 = add i8 %13, 1 | |
store i8 %14, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 1), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 }, { i16, i16, [33 x i8] }*, i8, i8 }* @37 to i8*), i64 %9) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit: ; preds = %7 | |
%__i.i = getelementptr inbounds %"class.std::__1::__wrap_iter", %"class.std::__1::__wrap_iter"* %__i, i64 0, i32 0 | |
%15 = ptrtoint i8** %__i.i to i64 | |
%16 = lshr i64 %15, 3 | |
%17 = add i64 %16, 2147450880 | |
%18 = inttoptr i64 %17 to i8* | |
%19 = load i8, i8* %18, align 1 | |
%20 = icmp ne i8 %19, 0 | |
br i1 %20, label %21, label %22 | |
21: ; preds = %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit | |
call void @__asan_report_load8(i64 %15) #22 | |
unreachable | |
22: ; preds = %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit | |
%23 = load i8*, i8** %__i.i, align 8, !tbaa !36 | |
%add.ptr = getelementptr inbounds i8, i8* %23, i64 %__n | |
%24 = ptrtoint i8* %23 to i64, !nosanitize !0 | |
%25 = add i64 %24, %__n, !nosanitize !0 | |
%26 = icmp eq i8* %23, null, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %25) | |
%27 = icmp ne i64 %25, 0, !nosanitize !0 | |
%28 = xor i1 %26, %27 | |
call void @__sanitizer_cov_trace_cmp8(i64 %25, i64 %24) | |
%29 = icmp uge i64 %25, %24, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 -1, i64 %__n) | |
%30 = icmp sgt i64 %__n, -1 | |
call void @__sanitizer_cov_trace_cmp8(i64 %25, i64 %24) | |
%31 = icmp ult i64 %25, %24, !nosanitize !0 | |
%32 = select i1 %30, i1 %29, i1 %31, !nosanitize !0 | |
%33 = and i1 %28, %32, !nosanitize !0 | |
br i1 %33, label %cont5, label %handler.pointer_overflow, !prof !12, !nosanitize !0 | |
handler.pointer_overflow: ; preds = %22 | |
%34 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 2), align 1, !nosanitize !0 | |
%35 = add i8 %34, 1 | |
store i8 %35, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 2), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @38 to i8*), i64 %24, i64 %25) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont5: ; preds = %22 | |
%36 = bitcast %"class.std::__1::basic_string"* %this to i8*, !nosanitize !0 | |
%37 = ptrtoint i8* %36 to i64 | |
%38 = lshr i64 %37, 3 | |
%39 = add i64 %38, 2147450880 | |
%40 = inttoptr i64 %39 to i8* | |
%41 = load i8, i8* %40, align 1 | |
%42 = icmp ne i8 %41, 0 | |
br i1 %42, label %43, label %48, !prof !1 | |
43: ; preds = %cont5 | |
%44 = and i64 %37, 7 | |
%45 = trunc i64 %44 to i8 | |
%46 = icmp sge i8 %45, %41 | |
br i1 %46, label %47, label %48 | |
47: ; preds = %43 | |
call void @__asan_report_load1(i64 %37) #22 | |
unreachable | |
48: ; preds = %43, %cont5 | |
%49 = load i8, i8* %36, align 8, !tbaa !2 | |
%50 = and i8 %49, 1 | |
call void @__sanitizer_cov_trace_const_cmp1(i8 0, i8 %50) | |
%tobool.i.not.i = icmp eq i8 %50, 0 | |
br i1 %tobool.i.not.i, label %cont11.i.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i: ; preds = %48 | |
%51 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 3), align 1, !nosanitize !0 | |
%52 = add i8 %51, 1 | |
store i8 %52, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 3), align 1, !nosanitize !0 | |
%__data_.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 | |
%53 = ptrtoint i8** %__data_.i.i to i64 | |
%54 = lshr i64 %53, 3 | |
%55 = add i64 %54, 2147450880 | |
%56 = inttoptr i64 %55 to i8* | |
%57 = load i8, i8* %56, align 1 | |
%58 = icmp ne i8 %57, 0 | |
br i1 %58, label %59, label %60 | |
59: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
call void @__asan_report_load8(i64 %53) #22 | |
unreachable | |
60: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
%61 = load i8*, i8** %__data_.i.i, align 8, !tbaa !2 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit | |
cont11.i.i: ; preds = %48 | |
%62 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 4), align 1, !nosanitize !0 | |
%63 = add i8 %62, 1 | |
store i8 %63, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 4), align 1, !nosanitize !0 | |
%__s.i.i = bitcast %"class.std::__1::basic_string"* %this to %"struct.std::__1::basic_string<char>::__short"* | |
%arrayidx.i.i = getelementptr inbounds %"struct.std::__1::basic_string<char>::__short", %"struct.std::__1::basic_string<char>::__short"* %__s.i.i, i64 0, i32 1, i64 0 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit: ; preds = %cont11.i.i, %60 | |
%cond.i.i = phi i8* [ %61, %60 ], [ %arrayidx.i.i, %cont11.i.i ] | |
%cmp.not = icmp ugt i8* %cond.i.i, %add.ptr | |
br i1 %cmp.not, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit.land.end_crit_edge, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i26 | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit.land.end_crit_edge: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit | |
%64 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 5), align 1, !nosanitize !0 | |
%65 = add i8 %64, 1 | |
store i8 %65, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 5), align 1, !nosanitize !0 | |
br label %land.end | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i26: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit | |
br i1 %tobool.i.not.i, label %cont11.i.i34, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i30 | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i30: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i26 | |
%66 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 6), align 1, !nosanitize !0 | |
%67 = add i8 %66, 1 | |
store i8 %67, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 6), align 1, !nosanitize !0 | |
%__data_.i.i27 = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 | |
%68 = ptrtoint i8** %__data_.i.i27 to i64 | |
%69 = lshr i64 %68, 3 | |
%70 = add i64 %69, 2147450880 | |
%71 = inttoptr i64 %70 to i8* | |
%72 = load i8, i8* %71, align 1 | |
%73 = icmp ne i8 %72, 0 | |
br i1 %73, label %74, label %75 | |
74: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i30 | |
call void @__asan_report_load8(i64 %68) #22 | |
unreachable | |
75: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i30 | |
%76 = load i8*, i8** %__data_.i.i27, align 8, !tbaa !2 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i42 | |
cont11.i.i34: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i26 | |
%77 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 7), align 1, !nosanitize !0 | |
%78 = add i8 %77, 1 | |
store i8 %78, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 7), align 1, !nosanitize !0 | |
%__s.i.i31 = bitcast %"class.std::__1::basic_string"* %this to %"struct.std::__1::basic_string<char>::__short"* | |
%arrayidx.i.i32 = getelementptr inbounds %"struct.std::__1::basic_string<char>::__short", %"struct.std::__1::basic_string<char>::__short"* %__s.i.i31, i64 0, i32 1, i64 0 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i42 | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i42: ; preds = %cont11.i.i34, %75 | |
%cond.i.i36 = phi i8* [ %76, %75 ], [ %arrayidx.i.i32, %cont11.i.i34 ] | |
br i1 %tobool.i.not.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i42 | |
%79 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 8), align 1, !nosanitize !0 | |
%80 = add i8 %79, 1 | |
store i8 %80, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 8), align 1, !nosanitize !0 | |
%__size_.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 | |
%81 = ptrtoint i64* %__size_.i.i to i64 | |
%82 = lshr i64 %81, 3 | |
%83 = add i64 %82, 2147450880 | |
%84 = inttoptr i64 %83 to i8* | |
%85 = load i8, i8* %84, align 1 | |
%86 = icmp ne i8 %85, 0 | |
br i1 %86, label %87, label %88 | |
87: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
call void @__asan_report_load8(i64 %81) #22 | |
unreachable | |
88: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
%89 = load i64, i64* %__size_.i.i, align 8, !tbaa !2 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i42 | |
%90 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 9), align 1, !nosanitize !0 | |
%91 = add i8 %90, 1 | |
store i8 %91, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 9), align 1, !nosanitize !0 | |
%92 = lshr i8 %49, 1 | |
%conv17.i.i = zext i8 %92 to i64 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i, %88 | |
%cond.i = phi i64 [ %89, %88 ], [ %conv17.i.i, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i ] | |
%93 = ptrtoint i8* %cond.i.i36 to i64, !nosanitize !0 | |
%94 = add i64 %cond.i, %93, !nosanitize !0 | |
%95 = icmp eq i8* %cond.i.i36, null, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %94) | |
%96 = icmp ne i64 %94, 0, !nosanitize !0 | |
%97 = xor i1 %95, %96 | |
call void @__sanitizer_cov_trace_cmp8(i64 %94, i64 %93) | |
%98 = icmp uge i64 %94, %93, !nosanitize !0 | |
%99 = and i1 %98, %97, !nosanitize !0 | |
br i1 %99, label %cont17, label %handler.pointer_overflow16, !prof !12, !nosanitize !0 | |
handler.pointer_overflow16: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
%100 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 10), align 1, !nosanitize !0 | |
%101 = add i8 %100, 1 | |
store i8 %101, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 10), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @39 to i8*), i64 %93, i64 %94) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont17: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
%102 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 11), align 1, !nosanitize !0 | |
%103 = add i8 %102, 1 | |
store i8 %103, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.80, i64 0, i64 11), align 1, !nosanitize !0 | |
%add.ptr15 = getelementptr inbounds i8, i8* %cond.i.i36, i64 %cond.i | |
%cmp18 = icmp ule i8* %add.ptr, %add.ptr15 | |
br label %land.end | |
land.end: ; preds = %cont17, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit.land.end_crit_edge | |
%104 = phi i1 [ false, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit.land.end_crit_edge ], [ %cmp18, %cont17 ] | |
ret i1 %104 | |
} | |
; Function Attrs: mustprogress nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr zeroext i1 @_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__subscriptableEPKNS_11__wrap_iterIPKcEEl(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this, %"class.std::__1::__wrap_iter"* %__i, i64 %__n) local_unnamed_addr #12 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = icmp ne %"class.std::__1::__wrap_iter"* %__i, null, !nosanitize !0 | |
%9 = ptrtoint %"class.std::__1::__wrap_iter"* %__i to i64, !nosanitize !0 | |
%10 = and i64 %9, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %10) | |
%11 = icmp eq i64 %10, 0, !nosanitize !0 | |
%12 = and i1 %11, %8, !nosanitize !0 | |
br i1 %12, label %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit, label %handler.type_mismatch2, !prof !12, !nosanitize !0 | |
handler.type_mismatch2: ; preds = %7 | |
%13 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 1), align 1, !nosanitize !0 | |
%14 = add i8 %13, 1 | |
store i8 %14, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 1), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 }, { i16, i16, [33 x i8] }*, i8, i8 }* @41 to i8*), i64 %9) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit: ; preds = %7 | |
%__i.i = getelementptr inbounds %"class.std::__1::__wrap_iter", %"class.std::__1::__wrap_iter"* %__i, i64 0, i32 0 | |
%15 = ptrtoint i8** %__i.i to i64 | |
%16 = lshr i64 %15, 3 | |
%17 = add i64 %16, 2147450880 | |
%18 = inttoptr i64 %17 to i8* | |
%19 = load i8, i8* %18, align 1 | |
%20 = icmp ne i8 %19, 0 | |
br i1 %20, label %21, label %22 | |
21: ; preds = %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit | |
call void @__asan_report_load8(i64 %15) #22 | |
unreachable | |
22: ; preds = %_ZNKSt3__111__wrap_iterIPKcE4baseEv.exit | |
%23 = load i8*, i8** %__i.i, align 8, !tbaa !36 | |
%add.ptr = getelementptr inbounds i8, i8* %23, i64 %__n | |
%24 = ptrtoint i8* %23 to i64, !nosanitize !0 | |
%25 = add i64 %24, %__n, !nosanitize !0 | |
%26 = icmp eq i8* %23, null, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %25) | |
%27 = icmp ne i64 %25, 0, !nosanitize !0 | |
%28 = xor i1 %26, %27 | |
call void @__sanitizer_cov_trace_cmp8(i64 %25, i64 %24) | |
%29 = icmp uge i64 %25, %24, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 -1, i64 %__n) | |
%30 = icmp sgt i64 %__n, -1 | |
call void @__sanitizer_cov_trace_cmp8(i64 %25, i64 %24) | |
%31 = icmp ult i64 %25, %24, !nosanitize !0 | |
%32 = select i1 %30, i1 %29, i1 %31, !nosanitize !0 | |
%33 = and i1 %28, %32, !nosanitize !0 | |
br i1 %33, label %cont5, label %handler.pointer_overflow, !prof !12, !nosanitize !0 | |
handler.pointer_overflow: ; preds = %22 | |
%34 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 2), align 1, !nosanitize !0 | |
%35 = add i8 %34, 1 | |
store i8 %35, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 2), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @42 to i8*), i64 %24, i64 %25) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont5: ; preds = %22 | |
%36 = bitcast %"class.std::__1::basic_string"* %this to i8*, !nosanitize !0 | |
%37 = ptrtoint i8* %36 to i64 | |
%38 = lshr i64 %37, 3 | |
%39 = add i64 %38, 2147450880 | |
%40 = inttoptr i64 %39 to i8* | |
%41 = load i8, i8* %40, align 1 | |
%42 = icmp ne i8 %41, 0 | |
br i1 %42, label %43, label %48, !prof !1 | |
43: ; preds = %cont5 | |
%44 = and i64 %37, 7 | |
%45 = trunc i64 %44 to i8 | |
%46 = icmp sge i8 %45, %41 | |
br i1 %46, label %47, label %48 | |
47: ; preds = %43 | |
call void @__asan_report_load1(i64 %37) #22 | |
unreachable | |
48: ; preds = %43, %cont5 | |
%49 = load i8, i8* %36, align 8, !tbaa !2 | |
%50 = and i8 %49, 1 | |
call void @__sanitizer_cov_trace_const_cmp1(i8 0, i8 %50) | |
%tobool.i.not.i = icmp eq i8 %50, 0 | |
br i1 %tobool.i.not.i, label %cont11.i.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i: ; preds = %48 | |
%51 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 3), align 1, !nosanitize !0 | |
%52 = add i8 %51, 1 | |
store i8 %52, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 3), align 1, !nosanitize !0 | |
%__data_.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 | |
%53 = ptrtoint i8** %__data_.i.i to i64 | |
%54 = lshr i64 %53, 3 | |
%55 = add i64 %54, 2147450880 | |
%56 = inttoptr i64 %55 to i8* | |
%57 = load i8, i8* %56, align 1 | |
%58 = icmp ne i8 %57, 0 | |
br i1 %58, label %59, label %60 | |
59: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
call void @__asan_report_load8(i64 %53) #22 | |
unreachable | |
60: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
%61 = load i8*, i8** %__data_.i.i, align 8, !tbaa !2 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit | |
cont11.i.i: ; preds = %48 | |
%62 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 4), align 1, !nosanitize !0 | |
%63 = add i8 %62, 1 | |
store i8 %63, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 4), align 1, !nosanitize !0 | |
%__s.i.i = bitcast %"class.std::__1::basic_string"* %this to %"struct.std::__1::basic_string<char>::__short"* | |
%arrayidx.i.i = getelementptr inbounds %"struct.std::__1::basic_string<char>::__short", %"struct.std::__1::basic_string<char>::__short"* %__s.i.i, i64 0, i32 1, i64 0 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit: ; preds = %cont11.i.i, %60 | |
%cond.i.i = phi i8* [ %61, %60 ], [ %arrayidx.i.i, %cont11.i.i ] | |
%cmp.not = icmp ugt i8* %cond.i.i, %add.ptr | |
br i1 %cmp.not, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit.land.end_crit_edge, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i26 | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit.land.end_crit_edge: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit | |
%64 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 5), align 1, !nosanitize !0 | |
%65 = add i8 %64, 1 | |
store i8 %65, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 5), align 1, !nosanitize !0 | |
br label %land.end | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i26: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit | |
br i1 %tobool.i.not.i, label %cont11.i.i34, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i30 | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i30: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i26 | |
%66 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 6), align 1, !nosanitize !0 | |
%67 = add i8 %66, 1 | |
store i8 %67, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 6), align 1, !nosanitize !0 | |
%__data_.i.i27 = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 | |
%68 = ptrtoint i8** %__data_.i.i27 to i64 | |
%69 = lshr i64 %68, 3 | |
%70 = add i64 %69, 2147450880 | |
%71 = inttoptr i64 %70 to i8* | |
%72 = load i8, i8* %71, align 1 | |
%73 = icmp ne i8 %72, 0 | |
br i1 %73, label %74, label %75 | |
74: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i30 | |
call void @__asan_report_load8(i64 %68) #22 | |
unreachable | |
75: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i30 | |
%76 = load i8*, i8** %__data_.i.i27, align 8, !tbaa !2 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i42 | |
cont11.i.i34: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i26 | |
%77 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 7), align 1, !nosanitize !0 | |
%78 = add i8 %77, 1 | |
store i8 %78, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 7), align 1, !nosanitize !0 | |
%__s.i.i31 = bitcast %"class.std::__1::basic_string"* %this to %"struct.std::__1::basic_string<char>::__short"* | |
%arrayidx.i.i32 = getelementptr inbounds %"struct.std::__1::basic_string<char>::__short", %"struct.std::__1::basic_string<char>::__short"* %__s.i.i31, i64 0, i32 1, i64 0 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i42 | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i42: ; preds = %cont11.i.i34, %75 | |
%cond.i.i36 = phi i8* [ %76, %75 ], [ %arrayidx.i.i32, %cont11.i.i34 ] | |
br i1 %tobool.i.not.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i42 | |
%79 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 8), align 1, !nosanitize !0 | |
%80 = add i8 %79, 1 | |
store i8 %80, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 8), align 1, !nosanitize !0 | |
%__size_.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 | |
%81 = ptrtoint i64* %__size_.i.i to i64 | |
%82 = lshr i64 %81, 3 | |
%83 = add i64 %82, 2147450880 | |
%84 = inttoptr i64 %83 to i8* | |
%85 = load i8, i8* %84, align 1 | |
%86 = icmp ne i8 %85, 0 | |
br i1 %86, label %87, label %88 | |
87: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
call void @__asan_report_load8(i64 %81) #22 | |
unreachable | |
88: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
%89 = load i64, i64* %__size_.i.i, align 8, !tbaa !2 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i42 | |
%90 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 9), align 1, !nosanitize !0 | |
%91 = add i8 %90, 1 | |
store i8 %91, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 9), align 1, !nosanitize !0 | |
%92 = lshr i8 %49, 1 | |
%conv17.i.i = zext i8 %92 to i64 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i, %88 | |
%cond.i = phi i64 [ %89, %88 ], [ %conv17.i.i, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i ] | |
%93 = ptrtoint i8* %cond.i.i36 to i64, !nosanitize !0 | |
%94 = add i64 %cond.i, %93, !nosanitize !0 | |
%95 = icmp eq i8* %cond.i.i36, null, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %94) | |
%96 = icmp ne i64 %94, 0, !nosanitize !0 | |
%97 = xor i1 %95, %96 | |
call void @__sanitizer_cov_trace_cmp8(i64 %94, i64 %93) | |
%98 = icmp uge i64 %94, %93, !nosanitize !0 | |
%99 = and i1 %98, %97, !nosanitize !0 | |
br i1 %99, label %cont17, label %handler.pointer_overflow16, !prof !12, !nosanitize !0 | |
handler.pointer_overflow16: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
%100 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 10), align 1, !nosanitize !0 | |
%101 = add i8 %100, 1 | |
store i8 %101, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 10), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @43 to i8*), i64 %93, i64 %94) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont17: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
%102 = load i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 11), align 1, !nosanitize !0 | |
%103 = add i8 %102, 1 | |
store i8 %103, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @__sancov_gen_.82, i64 0, i64 11), align 1, !nosanitize !0 | |
%add.ptr15 = getelementptr inbounds i8, i8* %cond.i.i36, i64 %cond.i | |
%cmp18 = icmp ult i8* %add.ptr, %add.ptr15 | |
br label %land.end | |
land.end: ; preds = %cont17, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit.land.end_crit_edge | |
%104 = phi i1 [ false, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit.land.end_crit_edge ], [ %cmp18, %cont17 ] | |
ret i1 %104 | |
} | |
; Function Attrs: noinline noreturn nounwind | |
define linkonce_odr hidden void @__clang_call_terminate(i8* %0) local_unnamed_addr #13 comdat { | |
%2 = call i8* @__cxa_begin_catch(i8* %0) #20 | |
call void @_ZSt9terminatev() #23 | |
unreachable | |
} | |
declare i8* @__cxa_begin_catch(i8*) local_unnamed_addr | |
declare void @_ZSt9terminatev() local_unnamed_addr | |
; Function Attrs: nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr void @_ZN4llvm18ELFAttributeParserD0Ev(%"class.llvm::ELFAttributeParser"* nonnull align 8 dereferenceable(168) %this) unnamed_addr #6 comdat align 2 { | |
entry: | |
call void @__asan_handle_no_return() | |
call void @llvm.trap() #23 | |
unreachable | |
} | |
; Function Attrs: nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr void @_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEED2Ev(%"class.std::__1::__hash_table.16"* nonnull align 8 dereferenceable(36) %this) unnamed_addr #6 comdat align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.84, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.84, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = bitcast %"class.std::__1::__hash_table.16"* %this to i8*, !nosanitize !0 | |
%__next_ = getelementptr inbounds %"class.std::__1::__hash_table.16", %"class.std::__1::__hash_table.16"* %this, i64 0, i32 1, i32 0, i32 0, i32 0 | |
%9 = ptrtoint %"struct.std::__1::__hash_node_base.20"** %__next_ to i64 | |
%10 = lshr i64 %9, 3 | |
%11 = add i64 %10, 2147450880 | |
%12 = inttoptr i64 %11 to i8* | |
%13 = load i8, i8* %12, align 1 | |
%14 = icmp ne i8 %13, 0 | |
br i1 %14, label %15, label %16 | |
15: ; preds = %7 | |
call void @__asan_report_load8(i64 %9) #22 | |
unreachable | |
16: ; preds = %7 | |
%17 = load %"struct.std::__1::__hash_node_base.20"*, %"struct.std::__1::__hash_node_base.20"** %__next_, align 8, !tbaa !38 | |
call void @_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE(%"class.std::__1::__hash_table.16"* nonnull align 8 dereferenceable(36) %this, %"struct.std::__1::__hash_node_base.20"* %17) #21 | |
%call12 = invoke %"class.std::__1::__libcpp_db"* @_ZNSt3__18__get_dbEv() #19 | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %16 | |
%18 = icmp ne %"class.std::__1::__libcpp_db"* %call12, null, !nosanitize !0 | |
%19 = ptrtoint %"class.std::__1::__libcpp_db"* %call12 to i64, !nosanitize !0 | |
%20 = and i64 %19, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %20) | |
%21 = icmp eq i64 %20, 0, !nosanitize !0 | |
%22 = and i1 %21, %18, !nosanitize !0 | |
br i1 %22, label %cont14, label %handler.type_mismatch13, !prof !12, !nosanitize !0 | |
handler.type_mismatch13: ; preds = %invoke.cont | |
%23 = load i8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.84, i64 0, i64 1), align 1, !nosanitize !0 | |
%24 = add i8 %23, 1 | |
store i8 %24, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.84, i64 0, i64 1), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 }* @46 to i8*), i64 %19) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont14: ; preds = %invoke.cont | |
%25 = load i8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.84, i64 0, i64 2), align 1, !nosanitize !0 | |
%26 = add i8 %25, 1 | |
store i8 %26, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.84, i64 0, i64 2), align 1, !nosanitize !0 | |
invoke void @_ZNSt3__111__libcpp_db9__erase_cEPv(%"class.std::__1::__libcpp_db"* nonnull align 8 dereferenceable(48) %call12, i8* nonnull %8) #19 | |
to label %_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorISB_EEEEED2Ev.exit unwind label %lpad | |
_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorISB_EEEEED2Ev.exit: ; preds = %cont14 | |
%27 = load i8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.84, i64 0, i64 3), align 1, !nosanitize !0 | |
%28 = add i8 %27, 1 | |
store i8 %28, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.84, i64 0, i64 3), align 1, !nosanitize !0 | |
%__bucket_list_ = getelementptr inbounds %"class.std::__1::__hash_table.16", %"class.std::__1::__hash_table.16"* %this, i64 0, i32 0 | |
call void @_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorISB_EEEEE5resetEDn(%"class.std::__1::unique_ptr.17"* nonnull align 8 dereferenceable(16) %__bucket_list_, i8* null) #21 | |
ret void | |
lpad: ; preds = %cont14, %16 | |
%29 = landingpad { i8*, i32 } | |
catch i8* null | |
%30 = load i8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.84, i64 0, i64 4), align 1, !nosanitize !0 | |
%31 = add i8 %30, 1 | |
store i8 %31, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.84, i64 0, i64 4), align 1, !nosanitize !0 | |
%32 = extractvalue { i8*, i32 } %29, 0 | |
%__bucket_list_16 = getelementptr inbounds %"class.std::__1::__hash_table.16", %"class.std::__1::__hash_table.16"* %this, i64 0, i32 0 | |
call void @_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorISB_EEEEED2Ev(%"class.std::__1::unique_ptr.17"* nonnull align 8 dereferenceable(16) %__bucket_list_16) #21 | |
call void @__asan_handle_no_return() | |
call void @__clang_call_terminate(i8* %32) #23 | |
unreachable | |
} | |
; Function Attrs: mustprogress nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr void @_ZNSt3__112__hash_tableINS_17__hash_value_typeIjN4llvm9StringRefEEENS_22__unordered_map_hasherIjS4_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS4_S9_S7_Lb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE(%"class.std::__1::__hash_table.16"* nonnull align 8 dereferenceable(36) %this, %"struct.std::__1::__hash_node_base.20"* %__np) local_unnamed_addr #12 comdat align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = bitcast %"class.std::__1::__hash_table.16"* %this to i8*, !nosanitize !0 | |
%cmp.not260 = icmp eq %"struct.std::__1::__hash_node_base.20"* %__np, null | |
br i1 %cmp.not260, label %entry.while.end_crit_edge, label %entry.while.body_crit_edge | |
entry.while.body_crit_edge: ; preds = %7 | |
br label %while.body | |
entry.while.end_crit_edge: ; preds = %7 | |
%9 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 1), align 1, !nosanitize !0 | |
%10 = add i8 %9, 1 | |
store i8 %10, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 1), align 1, !nosanitize !0 | |
br label %while.end | |
while.body: ; preds = %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEE10deallocateERS9_PS8_m.exit.while.body_crit_edge, %entry.while.body_crit_edge | |
%__np.addr.0261 = phi %"struct.std::__1::__hash_node_base.20"* [ %25, %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEE10deallocateERS9_PS8_m.exit.while.body_crit_edge ], [ %__np, %entry.while.body_crit_edge ] | |
%11 = ptrtoint %"struct.std::__1::__hash_node_base.20"* %__np.addr.0261 to i64, !nosanitize !0 | |
%12 = and i64 %11, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %12) | |
%13 = icmp eq i64 %12, 0, !nosanitize !0 | |
br i1 %13, label %cont9, label %handler.type_mismatch6, !prof !12, !nosanitize !0 | |
handler.type_mismatch6: ; preds = %while.body | |
%14 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 2), align 1, !nosanitize !0 | |
%15 = add i8 %14, 1 | |
store i8 %15, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 2), align 1, !nosanitize !0 | |
%16 = ptrtoint %"struct.std::__1::__hash_node_base.20"* %__np.addr.0261 to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [107 x i8] }*, i8, i8 }* @48 to i8*), i64 %16) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont9: ; preds = %while.body | |
%__next_ = getelementptr inbounds %"struct.std::__1::__hash_node_base.20", %"struct.std::__1::__hash_node_base.20"* %__np.addr.0261, i64 0, i32 0 | |
%17 = ptrtoint %"struct.std::__1::__hash_node_base.20"** %__next_ to i64 | |
%18 = lshr i64 %17, 3 | |
%19 = add i64 %18, 2147450880 | |
%20 = inttoptr i64 %19 to i8* | |
%21 = load i8, i8* %20, align 1 | |
%22 = icmp ne i8 %21, 0 | |
br i1 %22, label %23, label %24 | |
23: ; preds = %cont9 | |
call void @__asan_report_load8(i64 %17) #22 | |
unreachable | |
24: ; preds = %cont9 | |
%25 = load %"struct.std::__1::__hash_node_base.20"*, %"struct.std::__1::__hash_node_base.20"** %__next_, align 8, !tbaa !38 | |
%call10 = invoke %"class.std::__1::__libcpp_db"* @_ZNSt3__18__get_dbEv() #19 | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %24 | |
%26 = icmp ne %"class.std::__1::__libcpp_db"* %call10, null, !nosanitize !0 | |
%27 = ptrtoint %"class.std::__1::__libcpp_db"* %call10 to i64, !nosanitize !0 | |
%28 = and i64 %27, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %28) | |
%29 = icmp eq i64 %28, 0, !nosanitize !0 | |
%30 = and i1 %29, %26, !nosanitize !0 | |
br i1 %30, label %cont12, label %handler.type_mismatch11, !prof !12, !nosanitize !0 | |
handler.type_mismatch11: ; preds = %invoke.cont | |
%31 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 3), align 1, !nosanitize !0 | |
%32 = add i8 %31, 1 | |
store i8 %32, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 3), align 1, !nosanitize !0 | |
%33 = ptrtoint %"class.std::__1::__libcpp_db"* %call10 to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 }* @49 to i8*), i64 %33) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont12: ; preds = %invoke.cont | |
%34 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 4), align 1, !nosanitize !0 | |
%35 = add i8 %34, 1 | |
store i8 %35, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 4), align 1, !nosanitize !0 | |
%call14 = invoke %"struct.std::__1::__c_node"* @_ZNKSt3__111__libcpp_db17__find_c_and_lockEPv(%"class.std::__1::__libcpp_db"* nonnull align 8 dereferenceable(48) %call10, i8* nonnull %8) #19 | |
to label %invoke.cont13 unwind label %lpad | |
invoke.cont13: ; preds = %cont12 | |
%36 = icmp ne %"struct.std::__1::__c_node"* %call14, null, !nosanitize !0 | |
%37 = ptrtoint %"struct.std::__1::__c_node"* %call14 to i64, !nosanitize !0 | |
%38 = and i64 %37, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %38) | |
%39 = icmp eq i64 %38, 0, !nosanitize !0 | |
%40 = and i1 %39, %36, !nosanitize !0 | |
br i1 %40, label %cont16, label %handler.type_mismatch15, !prof !12, !nosanitize !0 | |
handler.type_mismatch15: ; preds = %invoke.cont13 | |
%41 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 5), align 1, !nosanitize !0 | |
%42 = add i8 %41, 1 | |
store i8 %42, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 5), align 1, !nosanitize !0 | |
%43 = ptrtoint %"struct.std::__1::__c_node"* %call14 to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [16 x i8] }*, i8, i8 }* @50 to i8*), i64 %43) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont16: ; preds = %invoke.cont13 | |
%end_ = getelementptr inbounds %"struct.std::__1::__c_node", %"struct.std::__1::__c_node"* %call14, i64 0, i32 4 | |
%44 = ptrtoint %"struct.std::__1::__i_node"*** %end_ to i64, !nosanitize !0 | |
%45 = and i64 %44, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %45) | |
%46 = icmp eq i64 %45, 0, !nosanitize !0 | |
br i1 %46, label %cont18, label %handler.type_mismatch17, !prof !12, !nosanitize !0 | |
handler.type_mismatch17: ; preds = %cont16 | |
%47 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 6), align 1, !nosanitize !0 | |
%48 = add i8 %47, 1 | |
store i8 %48, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 6), align 1, !nosanitize !0 | |
%49 = ptrtoint %"struct.std::__1::__i_node"*** %end_ to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 }* @52 to i8*), i64 %49) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont18: ; preds = %cont16 | |
%beg_ = getelementptr inbounds %"struct.std::__1::__c_node", %"struct.std::__1::__c_node"* %call14, i64 0, i32 3 | |
%50 = ptrtoint %"struct.std::__1::__i_node"*** %beg_ to i64, !nosanitize !0 | |
%51 = and i64 %50, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %51) | |
%52 = icmp eq i64 %51, 0, !nosanitize !0 | |
br i1 %52, label %cont22.preheader, label %cont18.handler.type_mismatch21_crit_edge, !prof !12, !nosanitize !0 | |
cont18.handler.type_mismatch21_crit_edge: ; preds = %cont18 | |
%53 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 7), align 1, !nosanitize !0 | |
%54 = add i8 %53, 1 | |
store i8 %54, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 7), align 1, !nosanitize !0 | |
br label %handler.type_mismatch21 | |
cont22.preheader: ; preds = %cont18 | |
%55 = ptrtoint %"struct.std::__1::__i_node"*** %end_ to i64 | |
%56 = lshr i64 %55, 3 | |
%57 = add i64 %56, 2147450880 | |
%58 = inttoptr i64 %57 to i8* | |
%59 = load i8, i8* %58, align 1 | |
%60 = icmp ne i8 %59, 0 | |
br i1 %60, label %61, label %62 | |
61: ; preds = %cont22.preheader | |
call void @__asan_report_load8(i64 %55) #22 | |
unreachable | |
62: ; preds = %cont22.preheader | |
%63 = load %"struct.std::__1::__i_node"**, %"struct.std::__1::__i_node"*** %end_, align 8, !tbaa !40 | |
br label %cont22 | |
handler.type_mismatch21: ; preds = %if.end60.handler.type_mismatch21_crit_edge, %cont18.handler.type_mismatch21_crit_edge | |
%64 = ptrtoint %"struct.std::__1::__i_node"*** %beg_ to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 }* @53 to i8*), i64 %64) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont22: ; preds = %if.end60.cont22_crit_edge, %62 | |
%__p.0254 = phi %"struct.std::__1::__i_node"** [ %incdec.ptr, %if.end60.cont22_crit_edge ], [ %63, %62 ] | |
%65 = ptrtoint %"struct.std::__1::__i_node"*** %beg_ to i64 | |
%66 = lshr i64 %65, 3 | |
%67 = add i64 %66, 2147450880 | |
%68 = inttoptr i64 %67 to i8* | |
%69 = load i8, i8* %68, align 1 | |
%70 = icmp ne i8 %69, 0 | |
br i1 %70, label %71, label %72 | |
71: ; preds = %cont22 | |
call void @__asan_report_load8(i64 %65) #22 | |
unreachable | |
72: ; preds = %cont22 | |
%73 = load %"struct.std::__1::__i_node"**, %"struct.std::__1::__i_node"*** %beg_, align 8, !tbaa !41 | |
%cmp23.not = icmp eq %"struct.std::__1::__i_node"** %__p.0254, %73 | |
br i1 %cmp23.not, label %for.cond.cleanup, label %for.body | |
for.cond.cleanup: ; preds = %72 | |
%74 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 8), align 1, !nosanitize !0 | |
%75 = add i8 %74, 1 | |
store i8 %75, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 8), align 1, !nosanitize !0 | |
%call62 = invoke %"class.std::__1::__libcpp_db"* @_ZNSt3__18__get_dbEv() #19 | |
to label %invoke.cont61 unwind label %lpad | |
lpad: ; preds = %cont64, %for.cond.cleanup, %cont12, %24 | |
%76 = landingpad { i8*, i32 } | |
catch i8* null | |
%77 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 9), align 1, !nosanitize !0 | |
%78 = add i8 %77, 1 | |
store i8 %78, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 9), align 1, !nosanitize !0 | |
%exn.slot.0 = extractvalue { i8*, i32 } %76, 0 | |
call void @__asan_handle_no_return() | |
call void @__clang_call_terminate(i8* %exn.slot.0) #23 | |
unreachable | |
for.body: ; preds = %72 | |
%incdec.ptr = getelementptr inbounds %"struct.std::__1::__i_node"*, %"struct.std::__1::__i_node"** %__p.0254, i64 -1 | |
%79 = ptrtoint %"struct.std::__1::__i_node"** %__p.0254 to i64, !nosanitize !0 | |
%80 = add i64 %79, -8, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %80) | |
%81 = icmp ne i64 %80, 0, !nosanitize !0 | |
%82 = icmp ugt %"struct.std::__1::__i_node"** %__p.0254, inttoptr (i64 7 to %"struct.std::__1::__i_node"**) | |
%83 = and i1 %82, %81 | |
br i1 %83, label %cont24, label %handler.pointer_overflow, !prof !12, !nosanitize !0 | |
handler.pointer_overflow: ; preds = %for.body | |
%84 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 10), align 1, !nosanitize !0 | |
%85 = add i8 %84, 1 | |
store i8 %85, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 10), align 1, !nosanitize !0 | |
%86 = ptrtoint %"struct.std::__1::__i_node"** %__p.0254 to i64, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 } }* @54 to i8*), i64 %86, i64 %80) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont24: ; preds = %for.body | |
%87 = bitcast %"struct.std::__1::__i_node"** %incdec.ptr to i8*, !nosanitize !0 | |
%88 = ptrtoint %"struct.std::__1::__i_node"** %incdec.ptr to i64, !nosanitize !0 | |
%89 = and i64 %88, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %89) | |
%90 = icmp eq i64 %89, 0, !nosanitize !0 | |
br i1 %90, label %cont26, label %handler.type_mismatch25, !prof !12, !nosanitize !0 | |
handler.type_mismatch25: ; preds = %cont24 | |
%91 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 11), align 1, !nosanitize !0 | |
%92 = add i8 %91, 1 | |
store i8 %92, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 11), align 1, !nosanitize !0 | |
%93 = ptrtoint %"struct.std::__1::__i_node"** %incdec.ptr to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [18 x i8] }*, i8, i8 }* @56 to i8*), i64 %93) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont26: ; preds = %cont24 | |
%94 = ptrtoint %"struct.std::__1::__i_node"** %incdec.ptr to i64 | |
%95 = lshr i64 %94, 3 | |
%96 = add i64 %95, 2147450880 | |
%97 = inttoptr i64 %96 to i8* | |
%98 = load i8, i8* %97, align 1 | |
%99 = icmp ne i8 %98, 0 | |
br i1 %99, label %100, label %101 | |
100: ; preds = %cont26 | |
call void @__asan_report_load8(i64 %94) #22 | |
unreachable | |
101: ; preds = %cont26 | |
%102 = load %"struct.std::__1::__i_node"*, %"struct.std::__1::__i_node"** %incdec.ptr, align 8, !tbaa !13 | |
%103 = icmp ne %"struct.std::__1::__i_node"* %102, null, !nosanitize !0 | |
%104 = ptrtoint %"struct.std::__1::__i_node"* %102 to i64, !nosanitize !0 | |
%105 = and i64 %104, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %105) | |
%106 = icmp eq i64 %105, 0, !nosanitize !0 | |
%107 = and i1 %106, %103, !nosanitize !0 | |
br i1 %107, label %cont30, label %handler.type_mismatch27, !prof !12, !nosanitize !0 | |
handler.type_mismatch27: ; preds = %101 | |
%108 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 12), align 1, !nosanitize !0 | |
%109 = add i8 %108, 1 | |
store i8 %109, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 12), align 1, !nosanitize !0 | |
%110 = ptrtoint %"struct.std::__1::__i_node"* %102 to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [16 x i8] }*, i8, i8 }* @58 to i8*), i64 %110) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont30: ; preds = %101 | |
%__i_ = getelementptr inbounds %"struct.std::__1::__i_node", %"struct.std::__1::__i_node"* %102, i64 0, i32 0 | |
%111 = ptrtoint i8** %__i_ to i64 | |
%112 = lshr i64 %111, 3 | |
%113 = add i64 %112, 2147450880 | |
%114 = inttoptr i64 %113 to i8* | |
%115 = load i8, i8* %114, align 1 | |
%116 = icmp ne i8 %115, 0 | |
br i1 %116, label %117, label %118 | |
117: ; preds = %cont30 | |
call void @__asan_report_load8(i64 %111) #22 | |
unreachable | |
118: ; preds = %cont30 | |
%119 = load i8*, i8** %__i_, align 8, !tbaa !42 | |
%120 = icmp ne i8* %119, null | |
%121 = ptrtoint i8* %119 to i64 | |
%122 = and i64 %121, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %122) | |
%123 = icmp eq i64 %122, 0, !nosanitize !0 | |
%124 = and i1 %120, %123, !nosanitize !0 | |
br i1 %124, label %cont34, label %handler.type_mismatch31, !prof !12, !nosanitize !0 | |
handler.type_mismatch31: ; preds = %118 | |
%125 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 13), align 1, !nosanitize !0 | |
%126 = add i8 %125, 1 | |
store i8 %126, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 13), align 1, !nosanitize !0 | |
%127 = ptrtoint i8* %119 to i64 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [578 x i8] }*, i8, i8 }* @60 to i8*), i64 %127) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont34: ; preds = %118 | |
%__node_ = bitcast i8* %119 to %"struct.std::__1::__hash_node_base.20"** | |
%128 = ptrtoint %"struct.std::__1::__hash_node_base.20"** %__node_ to i64 | |
%129 = lshr i64 %128, 3 | |
%130 = add i64 %129, 2147450880 | |
%131 = inttoptr i64 %130 to i8* | |
%132 = load i8, i8* %131, align 1 | |
%133 = icmp ne i8 %132, 0 | |
br i1 %133, label %134, label %135 | |
134: ; preds = %cont34 | |
call void @__asan_report_load8(i64 %128) #22 | |
unreachable | |
135: ; preds = %cont34 | |
%136 = load %"struct.std::__1::__hash_node_base.20"*, %"struct.std::__1::__hash_node_base.20"** %__node_, align 8, !tbaa !44 | |
%cmp35 = icmp eq %"struct.std::__1::__hash_node_base.20"* %136, %__np.addr.0261 | |
br i1 %cmp35, label %cont39, label %cont34.if.end60_crit_edge | |
cont34.if.end60_crit_edge: ; preds = %135 | |
%137 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 14), align 1, !nosanitize !0 | |
%138 = add i8 %137, 1 | |
store i8 %138, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 14), align 1, !nosanitize !0 | |
br label %if.end60 | |
cont39: ; preds = %135 | |
%__c_ = getelementptr inbounds %"struct.std::__1::__i_node", %"struct.std::__1::__i_node"* %102, i64 0, i32 2 | |
%139 = ptrtoint %"struct.std::__1::__c_node"** %__c_ to i64, !nosanitize !0 | |
%140 = and i64 %139, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %140) | |
%141 = icmp eq i64 %140, 0, !nosanitize !0 | |
br i1 %141, label %cont41, label %handler.type_mismatch40, !prof !12, !nosanitize !0 | |
handler.type_mismatch40: ; preds = %cont39 | |
%142 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 15), align 1, !nosanitize !0 | |
%143 = add i8 %142, 1 | |
store i8 %143, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 15), align 1, !nosanitize !0 | |
%144 = ptrtoint %"struct.std::__1::__c_node"** %__c_ to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [18 x i8] }*, i8, i8 }* @61 to i8*), i64 %144) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont41: ; preds = %cont39 | |
%145 = ptrtoint %"struct.std::__1::__c_node"** %__c_ to i64 | |
%146 = lshr i64 %145, 3 | |
%147 = add i64 %146, 2147450880 | |
%148 = inttoptr i64 %147 to i8* | |
%149 = load i8, i8* %148, align 1 | |
%150 = icmp ne i8 %149, 0 | |
br i1 %150, label %151, label %152 | |
151: ; preds = %cont41 | |
call void @__asan_report_store8(i64 %145) #22 | |
unreachable | |
152: ; preds = %cont41 | |
store %"struct.std::__1::__c_node"* null, %"struct.std::__1::__c_node"** %__c_, align 8, !tbaa !46 | |
%153 = ptrtoint %"struct.std::__1::__i_node"*** %end_ to i64 | |
%154 = lshr i64 %153, 3 | |
%155 = add i64 %154, 2147450880 | |
%156 = inttoptr i64 %155 to i8* | |
%157 = load i8, i8* %156, align 1 | |
%158 = icmp ne i8 %157, 0 | |
br i1 %158, label %159, label %160 | |
159: ; preds = %152 | |
call void @__asan_report_load8(i64 %153) #22 | |
unreachable | |
160: ; preds = %152 | |
%161 = load %"struct.std::__1::__i_node"**, %"struct.std::__1::__i_node"*** %end_, align 8, !tbaa !40 | |
%incdec.ptr45 = getelementptr inbounds %"struct.std::__1::__i_node"*, %"struct.std::__1::__i_node"** %161, i64 -1 | |
%162 = ptrtoint %"struct.std::__1::__i_node"** %161 to i64, !nosanitize !0 | |
%163 = add i64 %162, -8, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %163) | |
%164 = icmp ne i64 %163, 0, !nosanitize !0 | |
%165 = icmp ugt %"struct.std::__1::__i_node"** %161, inttoptr (i64 7 to %"struct.std::__1::__i_node"**) | |
%166 = and i1 %165, %164 | |
br i1 %166, label %cont47, label %handler.pointer_overflow46, !prof !12, !nosanitize !0 | |
handler.pointer_overflow46: ; preds = %160 | |
%167 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 16), align 1, !nosanitize !0 | |
%168 = add i8 %167, 1 | |
store i8 %168, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 16), align 1, !nosanitize !0 | |
%169 = ptrtoint %"struct.std::__1::__i_node"** %161 to i64, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 } }* @62 to i8*), i64 %169, i64 %163) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont47: ; preds = %160 | |
%170 = ptrtoint %"struct.std::__1::__i_node"*** %end_ to i64 | |
%171 = lshr i64 %170, 3 | |
%172 = add i64 %171, 2147450880 | |
%173 = inttoptr i64 %172 to i8* | |
%174 = load i8, i8* %173, align 1 | |
%175 = icmp ne i8 %174, 0 | |
br i1 %175, label %176, label %177 | |
176: ; preds = %cont47 | |
call void @__asan_report_store8(i64 %170) #22 | |
unreachable | |
177: ; preds = %cont47 | |
store %"struct.std::__1::__i_node"** %incdec.ptr45, %"struct.std::__1::__i_node"*** %end_, align 8, !tbaa !40 | |
%cmp48.not = icmp eq %"struct.std::__1::__i_node"** %161, %__p.0254 | |
br i1 %cmp48.not, label %cont47.if.end60_crit_edge, label %if.then49 | |
cont47.if.end60_crit_edge: ; preds = %177 | |
%178 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 17), align 1, !nosanitize !0 | |
%179 = add i8 %178, 1 | |
store i8 %179, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 17), align 1, !nosanitize !0 | |
br label %if.end60 | |
if.then49: ; preds = %177 | |
%.not113 = icmp ugt %"struct.std::__1::__i_node"** %incdec.ptr, inttoptr (i64 -9 to %"struct.std::__1::__i_node"**) | |
br i1 %.not113, label %handler.pointer_overflow50, label %cont51, !prof !5, !nosanitize !0 | |
handler.pointer_overflow50: ; preds = %if.then49 | |
%180 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 18), align 1, !nosanitize !0 | |
%181 = add i8 %180, 1 | |
store i8 %181, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 18), align 1, !nosanitize !0 | |
%182 = ptrtoint %"struct.std::__1::__i_node"** %incdec.ptr to i64, !nosanitize !0 | |
%183 = add i64 %182, 8, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 } }* @63 to i8*), i64 %182, i64 %183) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont51: ; preds = %if.then49 | |
%184 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 19), align 1, !nosanitize !0 | |
%185 = add i8 %184, 1 | |
store i8 %185, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 19), align 1, !nosanitize !0 | |
%186 = bitcast %"struct.std::__1::__i_node"** %__p.0254 to i8* | |
%sub.ptr.lhs.cast = ptrtoint %"struct.std::__1::__i_node"** %incdec.ptr45 to i64 | |
%sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %88 | |
%187 = call i8* @__asan_memmove(i8* %87, i8* %186, i64 %sub.ptr.sub) | |
br label %if.end60 | |
if.end60: ; preds = %cont51, %cont47.if.end60_crit_edge, %cont34.if.end60_crit_edge | |
br i1 %52, label %if.end60.cont22_crit_edge, label %if.end60.handler.type_mismatch21_crit_edge, !prof !12, !llvm.loop !47, !nosanitize !0 | |
if.end60.handler.type_mismatch21_crit_edge: ; preds = %if.end60 | |
%188 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 20), align 1, !nosanitize !0 | |
%189 = add i8 %188, 1 | |
store i8 %189, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 20), align 1, !nosanitize !0 | |
br label %handler.type_mismatch21 | |
if.end60.cont22_crit_edge: ; preds = %if.end60 | |
%190 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 21), align 1, !nosanitize !0 | |
%191 = add i8 %190, 1 | |
store i8 %191, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 21), align 1, !nosanitize !0 | |
br label %cont22 | |
invoke.cont61: ; preds = %for.cond.cleanup | |
%192 = icmp ne %"class.std::__1::__libcpp_db"* %call62, null, !nosanitize !0 | |
%193 = ptrtoint %"class.std::__1::__libcpp_db"* %call62 to i64, !nosanitize !0 | |
%194 = and i64 %193, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %194) | |
%195 = icmp eq i64 %194, 0, !nosanitize !0 | |
%196 = and i1 %195, %192, !nosanitize !0 | |
br i1 %196, label %cont64, label %handler.type_mismatch63, !prof !12, !nosanitize !0 | |
handler.type_mismatch63: ; preds = %invoke.cont61 | |
%197 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 22), align 1, !nosanitize !0 | |
%198 = add i8 %197, 1 | |
store i8 %198, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 22), align 1, !nosanitize !0 | |
%199 = ptrtoint %"class.std::__1::__libcpp_db"* %call62 to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 }* @64 to i8*), i64 %199) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont64: ; preds = %invoke.cont61 | |
%200 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 23), align 1, !nosanitize !0 | |
%201 = add i8 %200, 1 | |
store i8 %201, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 23), align 1, !nosanitize !0 | |
invoke void @_ZNKSt3__111__libcpp_db6unlockEv(%"class.std::__1::__libcpp_db"* nonnull align 8 dereferenceable(48) %call62) #19 | |
to label %_ZNSt3__116__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEE8__upcastEv.exit unwind label %lpad | |
_ZNSt3__116__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEE8__upcastEv.exit: ; preds = %cont64 | |
%202 = bitcast %"struct.std::__1::__hash_node_base.20"* %__np.addr.0261 to i8* | |
%203 = ptrtoint %"struct.std::__1::__hash_node_base.20"* %__np.addr.0261 to i64 | |
%204 = and i64 %203, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %204) | |
%205 = icmp eq i64 %204, 0, !nosanitize !0 | |
br i1 %205, label %cont72, label %handler.type_mismatch71, !prof !12, !nosanitize !0 | |
handler.type_mismatch71: ; preds = %_ZNSt3__116__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEE8__upcastEv.exit | |
%206 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 24), align 1, !nosanitize !0 | |
%207 = add i8 %206, 1 | |
store i8 %207, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 24), align 1, !nosanitize !0 | |
%208 = ptrtoint %"struct.std::__1::__hash_node_base.20"* %__np.addr.0261 to i64 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [82 x i8] }*, i8, i8 }* @66 to i8*), i64 %208) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont72: ; preds = %_ZNSt3__116__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEE8__upcastEv.exit | |
%__value_ = getelementptr inbounds %"struct.std::__1::__hash_node_base.20", %"struct.std::__1::__hash_node_base.20"* %__np.addr.0261, i64 2 | |
%209 = ptrtoint %"struct.std::__1::__hash_node_base.20"* %__value_ to i64 | |
%210 = and i64 %209, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %210) | |
%211 = icmp eq i64 %210, 0, !nosanitize !0 | |
br i1 %211, label %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEE10deallocateERS9_PS8_m.exit, label %handler.type_mismatch73, !prof !12, !nosanitize !0 | |
handler.type_mismatch73: ; preds = %cont72 | |
%212 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 25), align 1, !nosanitize !0 | |
%213 = add i8 %212, 1 | |
store i8 %213, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 25), align 1, !nosanitize !0 | |
%214 = ptrtoint %"struct.std::__1::__hash_node_base.20"* %__value_ to i64 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [163 x i8] }*, i8, i8 }* @68 to i8*), i64 %214) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEE10deallocateERS9_PS8_m.exit: ; preds = %cont72 | |
call void @_ZdlPv(i8* %202) #25 | |
%cmp.not = icmp eq %"struct.std::__1::__hash_node_base.20"* %25, null | |
br i1 %cmp.not, label %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEE10deallocateERS9_PS8_m.exit.while.end_crit_edge, label %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEE10deallocateERS9_PS8_m.exit.while.body_crit_edge, !llvm.loop !48 | |
_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEE10deallocateERS9_PS8_m.exit.while.body_crit_edge: ; preds = %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEE10deallocateERS9_PS8_m.exit | |
%215 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 26), align 1, !nosanitize !0 | |
%216 = add i8 %215, 1 | |
store i8 %216, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 26), align 1, !nosanitize !0 | |
br label %while.body | |
_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEE10deallocateERS9_PS8_m.exit.while.end_crit_edge: ; preds = %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEE10deallocateERS9_PS8_m.exit | |
%217 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 27), align 1, !nosanitize !0 | |
%218 = add i8 %217, 1 | |
store i8 %218, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.86, i64 0, i64 27), align 1, !nosanitize !0 | |
br label %while.end | |
while.end: ; preds = %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEE10deallocateERS9_PS8_m.exit.while.end_crit_edge, %entry.while.end_crit_edge | |
ret void | |
} | |
declare void @_ZNSt3__111__libcpp_db9__erase_cEPv(%"class.std::__1::__libcpp_db"* nonnull align 8 dereferenceable(48), i8*) local_unnamed_addr #0 | |
; Function Attrs: nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr hidden void @_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorISB_EEEEED2Ev(%"class.std::__1::unique_ptr.17"* nonnull align 8 dereferenceable(16) %this) unnamed_addr #6 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.88, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.88, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
call void @_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorISB_EEEEE5resetEDn(%"class.std::__1::unique_ptr.17"* nonnull align 8 dereferenceable(16) %this, i8* null) #21 | |
ret void | |
} | |
declare %"struct.std::__1::__c_node"* @_ZNKSt3__111__libcpp_db17__find_c_and_lockEPv(%"class.std::__1::__libcpp_db"* nonnull align 8 dereferenceable(48), i8*) local_unnamed_addr #0 | |
; Function Attrs: noreturn nounwind uwtable | |
declare void @__ubsan_handle_nonnull_arg_abort(i8*) local_unnamed_addr #2 | |
declare void @_ZNKSt3__111__libcpp_db6unlockEv(%"class.std::__1::__libcpp_db"* nonnull align 8 dereferenceable(48)) local_unnamed_addr #0 | |
; Function Attrs: mustprogress nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr hidden void @_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorISB_EEEEE5resetEDn(%"class.std::__1::unique_ptr.17"* nonnull align 8 dereferenceable(16) %this, i8* %0) local_unnamed_addr #12 comdat align 2 { | |
entry: | |
%1 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.90, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = add i8 %1, 1 | |
store i8 %2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.90, i64 0, i64 0), align 1, !nosanitize !0 | |
%3 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%4 = ptrtoint i8* %3 to i64 | |
%5 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%6 = icmp ult i64 %4, %5 | |
br i1 %6, label %7, label %8 | |
7: ; preds = %entry | |
store i64 %4, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %8 | |
8: ; preds = %7, %entry | |
%__value_.i.i = getelementptr inbounds %"class.std::__1::unique_ptr.17", %"class.std::__1::unique_ptr.17"* %this, i64 0, i32 0, i32 0, i32 0 | |
%9 = ptrtoint %"struct.std::__1::__hash_node_base.20"*** %__value_.i.i to i64 | |
%10 = lshr i64 %9, 3 | |
%11 = add i64 %10, 2147450880 | |
%12 = inttoptr i64 %11 to i8* | |
%13 = load i8, i8* %12, align 1 | |
%14 = icmp ne i8 %13, 0 | |
br i1 %14, label %15, label %16 | |
15: ; preds = %8 | |
call void @__asan_report_load8(i64 %9) #22 | |
unreachable | |
16: ; preds = %8 | |
%17 = load %"struct.std::__1::__hash_node_base.20"**, %"struct.std::__1::__hash_node_base.20"*** %__value_.i.i, align 8, !tbaa !13 | |
store %"struct.std::__1::__hash_node_base.20"** null, %"struct.std::__1::__hash_node_base.20"*** %__value_.i.i, align 8, !tbaa !13 | |
%tobool.not = icmp eq %"struct.std::__1::__hash_node_base.20"** %17, null | |
br i1 %tobool.not, label %entry.if.end_crit_edge, label %cont23 | |
entry.if.end_crit_edge: ; preds = %16 | |
%18 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.90, i64 0, i64 1), align 1, !nosanitize !0 | |
%19 = add i8 %18, 1 | |
store i8 %19, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.90, i64 0, i64 1), align 1, !nosanitize !0 | |
br label %if.end | |
cont23: ; preds = %16 | |
%20 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.90, i64 0, i64 2), align 1, !nosanitize !0 | |
%21 = add i8 %20, 1 | |
store i8 %21, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.90, i64 0, i64 2), align 1, !nosanitize !0 | |
%__value_.i.i37 = getelementptr inbounds %"class.std::__1::unique_ptr.17", %"class.std::__1::unique_ptr.17"* %this, i64 0, i32 0, i32 1, i32 0 | |
call void @_ZNSt3__125__bucket_list_deallocatorINS_9allocatorIPNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEEEEclEPSC_(%"class.std::__1::__bucket_list_deallocator.22"* nonnull align 8 dereferenceable(8) %__value_.i.i37, %"struct.std::__1::__hash_node_base.20"** nonnull %17) #21 | |
br label %if.end | |
if.end: ; preds = %cont23, %entry.if.end_crit_edge | |
ret void | |
} | |
; Function Attrs: mustprogress nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr hidden void @_ZNSt3__125__bucket_list_deallocatorINS_9allocatorIPNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEEEEEclEPSC_(%"class.std::__1::__bucket_list_deallocator.22"* nonnull align 8 dereferenceable(8) %this, %"struct.std::__1::__hash_node_base.20"** %__p) local_unnamed_addr #12 comdat align 2 personality i32 (...)* @__gxx_personality_v0 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.92, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.92, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = bitcast %"struct.std::__1::__hash_node_base.20"** %__p to i8* | |
call void @_ZdlPv(i8* %8) #25 | |
ret void | |
} | |
; Function Attrs: nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr void @_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEED2Ev(%"class.std::__1::__hash_table"* nonnull align 8 dereferenceable(36) %this) unnamed_addr #6 comdat align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.94, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.94, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = bitcast %"class.std::__1::__hash_table"* %this to i8*, !nosanitize !0 | |
%__next_ = getelementptr inbounds %"class.std::__1::__hash_table", %"class.std::__1::__hash_table"* %this, i64 0, i32 1, i32 0, i32 0, i32 0 | |
%9 = ptrtoint %"struct.std::__1::__hash_node_base"** %__next_ to i64 | |
%10 = lshr i64 %9, 3 | |
%11 = add i64 %10, 2147450880 | |
%12 = inttoptr i64 %11 to i8* | |
%13 = load i8, i8* %12, align 1 | |
%14 = icmp ne i8 %13, 0 | |
br i1 %14, label %15, label %16 | |
15: ; preds = %7 | |
call void @__asan_report_load8(i64 %9) #22 | |
unreachable | |
16: ; preds = %7 | |
%17 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %__next_, align 8, !tbaa !49 | |
call void @_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE(%"class.std::__1::__hash_table"* nonnull align 8 dereferenceable(36) %this, %"struct.std::__1::__hash_node_base"* %17) #21 | |
%call12 = invoke %"class.std::__1::__libcpp_db"* @_ZNSt3__18__get_dbEv() #19 | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %16 | |
%18 = icmp ne %"class.std::__1::__libcpp_db"* %call12, null, !nosanitize !0 | |
%19 = ptrtoint %"class.std::__1::__libcpp_db"* %call12 to i64, !nosanitize !0 | |
%20 = and i64 %19, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %20) | |
%21 = icmp eq i64 %20, 0, !nosanitize !0 | |
%22 = and i1 %21, %18, !nosanitize !0 | |
br i1 %22, label %cont14, label %handler.type_mismatch13, !prof !12, !nosanitize !0 | |
handler.type_mismatch13: ; preds = %invoke.cont | |
%23 = load i8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.94, i64 0, i64 1), align 1, !nosanitize !0 | |
%24 = add i8 %23, 1 | |
store i8 %24, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.94, i64 0, i64 1), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 }* @69 to i8*), i64 %19) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont14: ; preds = %invoke.cont | |
%25 = load i8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.94, i64 0, i64 2), align 1, !nosanitize !0 | |
%26 = add i8 %25, 1 | |
store i8 %26, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.94, i64 0, i64 2), align 1, !nosanitize !0 | |
invoke void @_ZNSt3__111__libcpp_db9__erase_cEPv(%"class.std::__1::__libcpp_db"* nonnull align 8 dereferenceable(48) %call12, i8* nonnull %8) #19 | |
to label %_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorIS9_EEEEED2Ev.exit unwind label %lpad | |
_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorIS9_EEEEED2Ev.exit: ; preds = %cont14 | |
%27 = load i8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.94, i64 0, i64 3), align 1, !nosanitize !0 | |
%28 = add i8 %27, 1 | |
store i8 %28, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.94, i64 0, i64 3), align 1, !nosanitize !0 | |
%__bucket_list_ = getelementptr inbounds %"class.std::__1::__hash_table", %"class.std::__1::__hash_table"* %this, i64 0, i32 0 | |
call void @_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorIS9_EEEEE5resetEDn(%"class.std::__1::unique_ptr"* nonnull align 8 dereferenceable(16) %__bucket_list_, i8* null) #21 | |
ret void | |
lpad: ; preds = %cont14, %16 | |
%29 = landingpad { i8*, i32 } | |
catch i8* null | |
%30 = load i8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.94, i64 0, i64 4), align 1, !nosanitize !0 | |
%31 = add i8 %30, 1 | |
store i8 %31, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.94, i64 0, i64 4), align 1, !nosanitize !0 | |
%32 = extractvalue { i8*, i32 } %29, 0 | |
%__bucket_list_16 = getelementptr inbounds %"class.std::__1::__hash_table", %"class.std::__1::__hash_table"* %this, i64 0, i32 0 | |
call void @_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorIS9_EEEEED2Ev(%"class.std::__1::unique_ptr"* nonnull align 8 dereferenceable(16) %__bucket_list_16) #21 | |
call void @__asan_handle_no_return() | |
call void @__clang_call_terminate(i8* %32) #23 | |
unreachable | |
} | |
; Function Attrs: mustprogress nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr void @_ZNSt3__112__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEENS_8equal_toIjEELb1EEENS_21__unordered_map_equalIjS2_S7_S5_Lb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE(%"class.std::__1::__hash_table"* nonnull align 8 dereferenceable(36) %this, %"struct.std::__1::__hash_node_base"* %__np) local_unnamed_addr #12 comdat align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = bitcast %"class.std::__1::__hash_table"* %this to i8*, !nosanitize !0 | |
%cmp.not260 = icmp eq %"struct.std::__1::__hash_node_base"* %__np, null | |
br i1 %cmp.not260, label %entry.while.end_crit_edge, label %entry.while.body_crit_edge | |
entry.while.body_crit_edge: ; preds = %7 | |
br label %while.body | |
entry.while.end_crit_edge: ; preds = %7 | |
%9 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 1), align 1, !nosanitize !0 | |
%10 = add i8 %9, 1 | |
store i8 %10, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 1), align 1, !nosanitize !0 | |
br label %while.end | |
while.body: ; preds = %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEE10deallocateERS7_PS6_m.exit.while.body_crit_edge, %entry.while.body_crit_edge | |
%__np.addr.0261 = phi %"struct.std::__1::__hash_node_base"* [ %25, %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEE10deallocateERS7_PS6_m.exit.while.body_crit_edge ], [ %__np, %entry.while.body_crit_edge ] | |
%11 = ptrtoint %"struct.std::__1::__hash_node_base"* %__np.addr.0261 to i64, !nosanitize !0 | |
%12 = and i64 %11, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %12) | |
%13 = icmp eq i64 %12, 0, !nosanitize !0 | |
br i1 %13, label %cont9, label %handler.type_mismatch6, !prof !12, !nosanitize !0 | |
handler.type_mismatch6: ; preds = %while.body | |
%14 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 2), align 1, !nosanitize !0 | |
%15 = add i8 %14, 1 | |
store i8 %15, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 2), align 1, !nosanitize !0 | |
%16 = ptrtoint %"struct.std::__1::__hash_node_base"* %__np.addr.0261 to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [104 x i8] }*, i8, i8 }* @71 to i8*), i64 %16) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont9: ; preds = %while.body | |
%__next_ = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %__np.addr.0261, i64 0, i32 0 | |
%17 = ptrtoint %"struct.std::__1::__hash_node_base"** %__next_ to i64 | |
%18 = lshr i64 %17, 3 | |
%19 = add i64 %18, 2147450880 | |
%20 = inttoptr i64 %19 to i8* | |
%21 = load i8, i8* %20, align 1 | |
%22 = icmp ne i8 %21, 0 | |
br i1 %22, label %23, label %24 | |
23: ; preds = %cont9 | |
call void @__asan_report_load8(i64 %17) #22 | |
unreachable | |
24: ; preds = %cont9 | |
%25 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %__next_, align 8, !tbaa !49 | |
%call10 = invoke %"class.std::__1::__libcpp_db"* @_ZNSt3__18__get_dbEv() #19 | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %24 | |
%26 = icmp ne %"class.std::__1::__libcpp_db"* %call10, null, !nosanitize !0 | |
%27 = ptrtoint %"class.std::__1::__libcpp_db"* %call10 to i64, !nosanitize !0 | |
%28 = and i64 %27, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %28) | |
%29 = icmp eq i64 %28, 0, !nosanitize !0 | |
%30 = and i1 %29, %26, !nosanitize !0 | |
br i1 %30, label %cont12, label %handler.type_mismatch11, !prof !12, !nosanitize !0 | |
handler.type_mismatch11: ; preds = %invoke.cont | |
%31 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 3), align 1, !nosanitize !0 | |
%32 = add i8 %31, 1 | |
store i8 %32, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 3), align 1, !nosanitize !0 | |
%33 = ptrtoint %"class.std::__1::__libcpp_db"* %call10 to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 }* @72 to i8*), i64 %33) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont12: ; preds = %invoke.cont | |
%34 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 4), align 1, !nosanitize !0 | |
%35 = add i8 %34, 1 | |
store i8 %35, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 4), align 1, !nosanitize !0 | |
%call14 = invoke %"struct.std::__1::__c_node"* @_ZNKSt3__111__libcpp_db17__find_c_and_lockEPv(%"class.std::__1::__libcpp_db"* nonnull align 8 dereferenceable(48) %call10, i8* nonnull %8) #19 | |
to label %invoke.cont13 unwind label %lpad | |
invoke.cont13: ; preds = %cont12 | |
%36 = icmp ne %"struct.std::__1::__c_node"* %call14, null, !nosanitize !0 | |
%37 = ptrtoint %"struct.std::__1::__c_node"* %call14 to i64, !nosanitize !0 | |
%38 = and i64 %37, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %38) | |
%39 = icmp eq i64 %38, 0, !nosanitize !0 | |
%40 = and i1 %39, %36, !nosanitize !0 | |
br i1 %40, label %cont16, label %handler.type_mismatch15, !prof !12, !nosanitize !0 | |
handler.type_mismatch15: ; preds = %invoke.cont13 | |
%41 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 5), align 1, !nosanitize !0 | |
%42 = add i8 %41, 1 | |
store i8 %42, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 5), align 1, !nosanitize !0 | |
%43 = ptrtoint %"struct.std::__1::__c_node"* %call14 to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [16 x i8] }*, i8, i8 }* @73 to i8*), i64 %43) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont16: ; preds = %invoke.cont13 | |
%end_ = getelementptr inbounds %"struct.std::__1::__c_node", %"struct.std::__1::__c_node"* %call14, i64 0, i32 4 | |
%44 = ptrtoint %"struct.std::__1::__i_node"*** %end_ to i64, !nosanitize !0 | |
%45 = and i64 %44, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %45) | |
%46 = icmp eq i64 %45, 0, !nosanitize !0 | |
br i1 %46, label %cont18, label %handler.type_mismatch17, !prof !12, !nosanitize !0 | |
handler.type_mismatch17: ; preds = %cont16 | |
%47 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 6), align 1, !nosanitize !0 | |
%48 = add i8 %47, 1 | |
store i8 %48, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 6), align 1, !nosanitize !0 | |
%49 = ptrtoint %"struct.std::__1::__i_node"*** %end_ to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 }* @74 to i8*), i64 %49) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont18: ; preds = %cont16 | |
%beg_ = getelementptr inbounds %"struct.std::__1::__c_node", %"struct.std::__1::__c_node"* %call14, i64 0, i32 3 | |
%50 = ptrtoint %"struct.std::__1::__i_node"*** %beg_ to i64, !nosanitize !0 | |
%51 = and i64 %50, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %51) | |
%52 = icmp eq i64 %51, 0, !nosanitize !0 | |
br i1 %52, label %cont22.preheader, label %cont18.handler.type_mismatch21_crit_edge, !prof !12, !nosanitize !0 | |
cont18.handler.type_mismatch21_crit_edge: ; preds = %cont18 | |
%53 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 7), align 1, !nosanitize !0 | |
%54 = add i8 %53, 1 | |
store i8 %54, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 7), align 1, !nosanitize !0 | |
br label %handler.type_mismatch21 | |
cont22.preheader: ; preds = %cont18 | |
%55 = ptrtoint %"struct.std::__1::__i_node"*** %end_ to i64 | |
%56 = lshr i64 %55, 3 | |
%57 = add i64 %56, 2147450880 | |
%58 = inttoptr i64 %57 to i8* | |
%59 = load i8, i8* %58, align 1 | |
%60 = icmp ne i8 %59, 0 | |
br i1 %60, label %61, label %62 | |
61: ; preds = %cont22.preheader | |
call void @__asan_report_load8(i64 %55) #22 | |
unreachable | |
62: ; preds = %cont22.preheader | |
%63 = load %"struct.std::__1::__i_node"**, %"struct.std::__1::__i_node"*** %end_, align 8, !tbaa !40 | |
br label %cont22 | |
handler.type_mismatch21: ; preds = %if.end60.handler.type_mismatch21_crit_edge, %cont18.handler.type_mismatch21_crit_edge | |
%64 = ptrtoint %"struct.std::__1::__i_node"*** %beg_ to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 }* @75 to i8*), i64 %64) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont22: ; preds = %if.end60.cont22_crit_edge, %62 | |
%__p.0254 = phi %"struct.std::__1::__i_node"** [ %incdec.ptr, %if.end60.cont22_crit_edge ], [ %63, %62 ] | |
%65 = ptrtoint %"struct.std::__1::__i_node"*** %beg_ to i64 | |
%66 = lshr i64 %65, 3 | |
%67 = add i64 %66, 2147450880 | |
%68 = inttoptr i64 %67 to i8* | |
%69 = load i8, i8* %68, align 1 | |
%70 = icmp ne i8 %69, 0 | |
br i1 %70, label %71, label %72 | |
71: ; preds = %cont22 | |
call void @__asan_report_load8(i64 %65) #22 | |
unreachable | |
72: ; preds = %cont22 | |
%73 = load %"struct.std::__1::__i_node"**, %"struct.std::__1::__i_node"*** %beg_, align 8, !tbaa !41 | |
%cmp23.not = icmp eq %"struct.std::__1::__i_node"** %__p.0254, %73 | |
br i1 %cmp23.not, label %for.cond.cleanup, label %for.body | |
for.cond.cleanup: ; preds = %72 | |
%74 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 8), align 1, !nosanitize !0 | |
%75 = add i8 %74, 1 | |
store i8 %75, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 8), align 1, !nosanitize !0 | |
%call62 = invoke %"class.std::__1::__libcpp_db"* @_ZNSt3__18__get_dbEv() #19 | |
to label %invoke.cont61 unwind label %lpad | |
lpad: ; preds = %cont64, %for.cond.cleanup, %cont12, %24 | |
%76 = landingpad { i8*, i32 } | |
catch i8* null | |
%77 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 9), align 1, !nosanitize !0 | |
%78 = add i8 %77, 1 | |
store i8 %78, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 9), align 1, !nosanitize !0 | |
%exn.slot.0 = extractvalue { i8*, i32 } %76, 0 | |
call void @__asan_handle_no_return() | |
call void @__clang_call_terminate(i8* %exn.slot.0) #23 | |
unreachable | |
for.body: ; preds = %72 | |
%incdec.ptr = getelementptr inbounds %"struct.std::__1::__i_node"*, %"struct.std::__1::__i_node"** %__p.0254, i64 -1 | |
%79 = ptrtoint %"struct.std::__1::__i_node"** %__p.0254 to i64, !nosanitize !0 | |
%80 = add i64 %79, -8, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %80) | |
%81 = icmp ne i64 %80, 0, !nosanitize !0 | |
%82 = icmp ugt %"struct.std::__1::__i_node"** %__p.0254, inttoptr (i64 7 to %"struct.std::__1::__i_node"**) | |
%83 = and i1 %82, %81 | |
br i1 %83, label %cont24, label %handler.pointer_overflow, !prof !12, !nosanitize !0 | |
handler.pointer_overflow: ; preds = %for.body | |
%84 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 10), align 1, !nosanitize !0 | |
%85 = add i8 %84, 1 | |
store i8 %85, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 10), align 1, !nosanitize !0 | |
%86 = ptrtoint %"struct.std::__1::__i_node"** %__p.0254 to i64, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 } }* @76 to i8*), i64 %86, i64 %80) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont24: ; preds = %for.body | |
%87 = bitcast %"struct.std::__1::__i_node"** %incdec.ptr to i8*, !nosanitize !0 | |
%88 = ptrtoint %"struct.std::__1::__i_node"** %incdec.ptr to i64, !nosanitize !0 | |
%89 = and i64 %88, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %89) | |
%90 = icmp eq i64 %89, 0, !nosanitize !0 | |
br i1 %90, label %cont26, label %handler.type_mismatch25, !prof !12, !nosanitize !0 | |
handler.type_mismatch25: ; preds = %cont24 | |
%91 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 11), align 1, !nosanitize !0 | |
%92 = add i8 %91, 1 | |
store i8 %92, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 11), align 1, !nosanitize !0 | |
%93 = ptrtoint %"struct.std::__1::__i_node"** %incdec.ptr to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [18 x i8] }*, i8, i8 }* @77 to i8*), i64 %93) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont26: ; preds = %cont24 | |
%94 = ptrtoint %"struct.std::__1::__i_node"** %incdec.ptr to i64 | |
%95 = lshr i64 %94, 3 | |
%96 = add i64 %95, 2147450880 | |
%97 = inttoptr i64 %96 to i8* | |
%98 = load i8, i8* %97, align 1 | |
%99 = icmp ne i8 %98, 0 | |
br i1 %99, label %100, label %101 | |
100: ; preds = %cont26 | |
call void @__asan_report_load8(i64 %94) #22 | |
unreachable | |
101: ; preds = %cont26 | |
%102 = load %"struct.std::__1::__i_node"*, %"struct.std::__1::__i_node"** %incdec.ptr, align 8, !tbaa !13 | |
%103 = icmp ne %"struct.std::__1::__i_node"* %102, null, !nosanitize !0 | |
%104 = ptrtoint %"struct.std::__1::__i_node"* %102 to i64, !nosanitize !0 | |
%105 = and i64 %104, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %105) | |
%106 = icmp eq i64 %105, 0, !nosanitize !0 | |
%107 = and i1 %106, %103, !nosanitize !0 | |
br i1 %107, label %cont30, label %handler.type_mismatch27, !prof !12, !nosanitize !0 | |
handler.type_mismatch27: ; preds = %101 | |
%108 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 12), align 1, !nosanitize !0 | |
%109 = add i8 %108, 1 | |
store i8 %109, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 12), align 1, !nosanitize !0 | |
%110 = ptrtoint %"struct.std::__1::__i_node"* %102 to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [16 x i8] }*, i8, i8 }* @78 to i8*), i64 %110) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont30: ; preds = %101 | |
%__i_ = getelementptr inbounds %"struct.std::__1::__i_node", %"struct.std::__1::__i_node"* %102, i64 0, i32 0 | |
%111 = ptrtoint i8** %__i_ to i64 | |
%112 = lshr i64 %111, 3 | |
%113 = add i64 %112, 2147450880 | |
%114 = inttoptr i64 %113 to i8* | |
%115 = load i8, i8* %114, align 1 | |
%116 = icmp ne i8 %115, 0 | |
br i1 %116, label %117, label %118 | |
117: ; preds = %cont30 | |
call void @__asan_report_load8(i64 %111) #22 | |
unreachable | |
118: ; preds = %cont30 | |
%119 = load i8*, i8** %__i_, align 8, !tbaa !42 | |
%120 = icmp ne i8* %119, null | |
%121 = ptrtoint i8* %119 to i64 | |
%122 = and i64 %121, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %122) | |
%123 = icmp eq i64 %122, 0, !nosanitize !0 | |
%124 = and i1 %120, %123, !nosanitize !0 | |
br i1 %124, label %cont34, label %handler.type_mismatch31, !prof !12, !nosanitize !0 | |
handler.type_mismatch31: ; preds = %118 | |
%125 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 13), align 1, !nosanitize !0 | |
%126 = add i8 %125, 1 | |
store i8 %126, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 13), align 1, !nosanitize !0 | |
%127 = ptrtoint i8* %119 to i64 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [563 x i8] }*, i8, i8 }* @80 to i8*), i64 %127) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont34: ; preds = %118 | |
%__node_ = bitcast i8* %119 to %"struct.std::__1::__hash_node_base"** | |
%128 = ptrtoint %"struct.std::__1::__hash_node_base"** %__node_ to i64 | |
%129 = lshr i64 %128, 3 | |
%130 = add i64 %129, 2147450880 | |
%131 = inttoptr i64 %130 to i8* | |
%132 = load i8, i8* %131, align 1 | |
%133 = icmp ne i8 %132, 0 | |
br i1 %133, label %134, label %135 | |
134: ; preds = %cont34 | |
call void @__asan_report_load8(i64 %128) #22 | |
unreachable | |
135: ; preds = %cont34 | |
%136 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %__node_, align 8, !tbaa !51 | |
%cmp35 = icmp eq %"struct.std::__1::__hash_node_base"* %136, %__np.addr.0261 | |
br i1 %cmp35, label %cont39, label %cont34.if.end60_crit_edge | |
cont34.if.end60_crit_edge: ; preds = %135 | |
%137 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 14), align 1, !nosanitize !0 | |
%138 = add i8 %137, 1 | |
store i8 %138, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 14), align 1, !nosanitize !0 | |
br label %if.end60 | |
cont39: ; preds = %135 | |
%__c_ = getelementptr inbounds %"struct.std::__1::__i_node", %"struct.std::__1::__i_node"* %102, i64 0, i32 2 | |
%139 = ptrtoint %"struct.std::__1::__c_node"** %__c_ to i64, !nosanitize !0 | |
%140 = and i64 %139, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %140) | |
%141 = icmp eq i64 %140, 0, !nosanitize !0 | |
br i1 %141, label %cont41, label %handler.type_mismatch40, !prof !12, !nosanitize !0 | |
handler.type_mismatch40: ; preds = %cont39 | |
%142 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 15), align 1, !nosanitize !0 | |
%143 = add i8 %142, 1 | |
store i8 %143, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 15), align 1, !nosanitize !0 | |
%144 = ptrtoint %"struct.std::__1::__c_node"** %__c_ to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [18 x i8] }*, i8, i8 }* @81 to i8*), i64 %144) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont41: ; preds = %cont39 | |
%145 = ptrtoint %"struct.std::__1::__c_node"** %__c_ to i64 | |
%146 = lshr i64 %145, 3 | |
%147 = add i64 %146, 2147450880 | |
%148 = inttoptr i64 %147 to i8* | |
%149 = load i8, i8* %148, align 1 | |
%150 = icmp ne i8 %149, 0 | |
br i1 %150, label %151, label %152 | |
151: ; preds = %cont41 | |
call void @__asan_report_store8(i64 %145) #22 | |
unreachable | |
152: ; preds = %cont41 | |
store %"struct.std::__1::__c_node"* null, %"struct.std::__1::__c_node"** %__c_, align 8, !tbaa !46 | |
%153 = ptrtoint %"struct.std::__1::__i_node"*** %end_ to i64 | |
%154 = lshr i64 %153, 3 | |
%155 = add i64 %154, 2147450880 | |
%156 = inttoptr i64 %155 to i8* | |
%157 = load i8, i8* %156, align 1 | |
%158 = icmp ne i8 %157, 0 | |
br i1 %158, label %159, label %160 | |
159: ; preds = %152 | |
call void @__asan_report_load8(i64 %153) #22 | |
unreachable | |
160: ; preds = %152 | |
%161 = load %"struct.std::__1::__i_node"**, %"struct.std::__1::__i_node"*** %end_, align 8, !tbaa !40 | |
%incdec.ptr45 = getelementptr inbounds %"struct.std::__1::__i_node"*, %"struct.std::__1::__i_node"** %161, i64 -1 | |
%162 = ptrtoint %"struct.std::__1::__i_node"** %161 to i64, !nosanitize !0 | |
%163 = add i64 %162, -8, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %163) | |
%164 = icmp ne i64 %163, 0, !nosanitize !0 | |
%165 = icmp ugt %"struct.std::__1::__i_node"** %161, inttoptr (i64 7 to %"struct.std::__1::__i_node"**) | |
%166 = and i1 %165, %164 | |
br i1 %166, label %cont47, label %handler.pointer_overflow46, !prof !12, !nosanitize !0 | |
handler.pointer_overflow46: ; preds = %160 | |
%167 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 16), align 1, !nosanitize !0 | |
%168 = add i8 %167, 1 | |
store i8 %168, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 16), align 1, !nosanitize !0 | |
%169 = ptrtoint %"struct.std::__1::__i_node"** %161 to i64, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 } }* @82 to i8*), i64 %169, i64 %163) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont47: ; preds = %160 | |
%170 = ptrtoint %"struct.std::__1::__i_node"*** %end_ to i64 | |
%171 = lshr i64 %170, 3 | |
%172 = add i64 %171, 2147450880 | |
%173 = inttoptr i64 %172 to i8* | |
%174 = load i8, i8* %173, align 1 | |
%175 = icmp ne i8 %174, 0 | |
br i1 %175, label %176, label %177 | |
176: ; preds = %cont47 | |
call void @__asan_report_store8(i64 %170) #22 | |
unreachable | |
177: ; preds = %cont47 | |
store %"struct.std::__1::__i_node"** %incdec.ptr45, %"struct.std::__1::__i_node"*** %end_, align 8, !tbaa !40 | |
%cmp48.not = icmp eq %"struct.std::__1::__i_node"** %161, %__p.0254 | |
br i1 %cmp48.not, label %cont47.if.end60_crit_edge, label %if.then49 | |
cont47.if.end60_crit_edge: ; preds = %177 | |
%178 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 17), align 1, !nosanitize !0 | |
%179 = add i8 %178, 1 | |
store i8 %179, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 17), align 1, !nosanitize !0 | |
br label %if.end60 | |
if.then49: ; preds = %177 | |
%.not113 = icmp ugt %"struct.std::__1::__i_node"** %incdec.ptr, inttoptr (i64 -9 to %"struct.std::__1::__i_node"**) | |
br i1 %.not113, label %handler.pointer_overflow50, label %cont51, !prof !5, !nosanitize !0 | |
handler.pointer_overflow50: ; preds = %if.then49 | |
%180 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 18), align 1, !nosanitize !0 | |
%181 = add i8 %180, 1 | |
store i8 %181, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 18), align 1, !nosanitize !0 | |
%182 = ptrtoint %"struct.std::__1::__i_node"** %incdec.ptr to i64, !nosanitize !0 | |
%183 = add i64 %182, 8, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 } }* @83 to i8*), i64 %182, i64 %183) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont51: ; preds = %if.then49 | |
%184 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 19), align 1, !nosanitize !0 | |
%185 = add i8 %184, 1 | |
store i8 %185, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 19), align 1, !nosanitize !0 | |
%186 = bitcast %"struct.std::__1::__i_node"** %__p.0254 to i8* | |
%sub.ptr.lhs.cast = ptrtoint %"struct.std::__1::__i_node"** %incdec.ptr45 to i64 | |
%sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %88 | |
%187 = call i8* @__asan_memmove(i8* %87, i8* %186, i64 %sub.ptr.sub) | |
br label %if.end60 | |
if.end60: ; preds = %cont51, %cont47.if.end60_crit_edge, %cont34.if.end60_crit_edge | |
br i1 %52, label %if.end60.cont22_crit_edge, label %if.end60.handler.type_mismatch21_crit_edge, !prof !12, !llvm.loop !53, !nosanitize !0 | |
if.end60.handler.type_mismatch21_crit_edge: ; preds = %if.end60 | |
%188 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 20), align 1, !nosanitize !0 | |
%189 = add i8 %188, 1 | |
store i8 %189, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 20), align 1, !nosanitize !0 | |
br label %handler.type_mismatch21 | |
if.end60.cont22_crit_edge: ; preds = %if.end60 | |
%190 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 21), align 1, !nosanitize !0 | |
%191 = add i8 %190, 1 | |
store i8 %191, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 21), align 1, !nosanitize !0 | |
br label %cont22 | |
invoke.cont61: ; preds = %for.cond.cleanup | |
%192 = icmp ne %"class.std::__1::__libcpp_db"* %call62, null, !nosanitize !0 | |
%193 = ptrtoint %"class.std::__1::__libcpp_db"* %call62 to i64, !nosanitize !0 | |
%194 = and i64 %193, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %194) | |
%195 = icmp eq i64 %194, 0, !nosanitize !0 | |
%196 = and i1 %195, %192, !nosanitize !0 | |
br i1 %196, label %cont64, label %handler.type_mismatch63, !prof !12, !nosanitize !0 | |
handler.type_mismatch63: ; preds = %invoke.cont61 | |
%197 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 22), align 1, !nosanitize !0 | |
%198 = add i8 %197, 1 | |
store i8 %198, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 22), align 1, !nosanitize !0 | |
%199 = ptrtoint %"class.std::__1::__libcpp_db"* %call62 to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 }* @84 to i8*), i64 %199) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont64: ; preds = %invoke.cont61 | |
%200 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 23), align 1, !nosanitize !0 | |
%201 = add i8 %200, 1 | |
store i8 %201, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 23), align 1, !nosanitize !0 | |
invoke void @_ZNKSt3__111__libcpp_db6unlockEv(%"class.std::__1::__libcpp_db"* nonnull align 8 dereferenceable(48) %call62) #19 | |
to label %_ZNSt3__116__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEE8__upcastEv.exit unwind label %lpad | |
_ZNSt3__116__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEE8__upcastEv.exit: ; preds = %cont64 | |
%202 = bitcast %"struct.std::__1::__hash_node_base"* %__np.addr.0261 to i8* | |
%203 = ptrtoint %"struct.std::__1::__hash_node_base"* %__np.addr.0261 to i64 | |
%204 = and i64 %203, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %204) | |
%205 = icmp eq i64 %204, 0, !nosanitize !0 | |
br i1 %205, label %cont72, label %handler.type_mismatch71, !prof !12, !nosanitize !0 | |
handler.type_mismatch71: ; preds = %_ZNSt3__116__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEE8__upcastEv.exit | |
%206 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 24), align 1, !nosanitize !0 | |
%207 = add i8 %206, 1 | |
store i8 %207, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 24), align 1, !nosanitize !0 | |
%208 = ptrtoint %"struct.std::__1::__hash_node_base"* %__np.addr.0261 to i64 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [79 x i8] }*, i8, i8 }* @86 to i8*), i64 %208) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont72: ; preds = %_ZNSt3__116__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEE8__upcastEv.exit | |
%__value_ = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %__np.addr.0261, i64 2 | |
%209 = ptrtoint %"struct.std::__1::__hash_node_base"* %__value_ to i64 | |
%210 = and i64 %209, 3, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %210) | |
%211 = icmp eq i64 %210, 0, !nosanitize !0 | |
br i1 %211, label %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEE10deallocateERS7_PS6_m.exit, label %handler.type_mismatch73, !prof !12, !nosanitize !0 | |
handler.type_mismatch73: ; preds = %cont72 | |
%212 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 25), align 1, !nosanitize !0 | |
%213 = add i8 %212, 1 | |
store i8 %213, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 25), align 1, !nosanitize !0 | |
%214 = ptrtoint %"struct.std::__1::__hash_node_base"* %__value_ to i64 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [13 x i8]*, i32, i32 }, { i16, i16, [157 x i8] }*, i8, i8 }* @88 to i8*), i64 %214) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEE10deallocateERS7_PS6_m.exit: ; preds = %cont72 | |
call void @_ZdlPv(i8* %202) #25 | |
%cmp.not = icmp eq %"struct.std::__1::__hash_node_base"* %25, null | |
br i1 %cmp.not, label %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEE10deallocateERS7_PS6_m.exit.while.end_crit_edge, label %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEE10deallocateERS7_PS6_m.exit.while.body_crit_edge, !llvm.loop !54 | |
_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEE10deallocateERS7_PS6_m.exit.while.body_crit_edge: ; preds = %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEE10deallocateERS7_PS6_m.exit | |
%215 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 26), align 1, !nosanitize !0 | |
%216 = add i8 %215, 1 | |
store i8 %216, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 26), align 1, !nosanitize !0 | |
br label %while.body | |
_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEE10deallocateERS7_PS6_m.exit.while.end_crit_edge: ; preds = %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEE10deallocateERS7_PS6_m.exit | |
%217 = load i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 27), align 1, !nosanitize !0 | |
%218 = add i8 %217, 1 | |
store i8 %218, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__sancov_gen_.96, i64 0, i64 27), align 1, !nosanitize !0 | |
br label %while.end | |
while.end: ; preds = %_ZNSt3__116allocator_traitsINS_9allocatorINS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEE10deallocateERS7_PS6_m.exit.while.end_crit_edge, %entry.while.end_crit_edge | |
ret void | |
} | |
; Function Attrs: nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr hidden void @_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorIS9_EEEEED2Ev(%"class.std::__1::unique_ptr"* nonnull align 8 dereferenceable(16) %this) unnamed_addr #6 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.98, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.98, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
call void @_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorIS9_EEEEE5resetEDn(%"class.std::__1::unique_ptr"* nonnull align 8 dereferenceable(16) %this, i8* null) #21 | |
ret void | |
} | |
; Function Attrs: mustprogress nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr hidden void @_ZNSt3__110unique_ptrIA_PNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEENS_25__bucket_list_deallocatorINS_9allocatorIS9_EEEEE5resetEDn(%"class.std::__1::unique_ptr"* nonnull align 8 dereferenceable(16) %this, i8* %0) local_unnamed_addr #12 comdat align 2 { | |
entry: | |
%1 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.100, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = add i8 %1, 1 | |
store i8 %2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.100, i64 0, i64 0), align 1, !nosanitize !0 | |
%3 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%4 = ptrtoint i8* %3 to i64 | |
%5 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%6 = icmp ult i64 %4, %5 | |
br i1 %6, label %7, label %8 | |
7: ; preds = %entry | |
store i64 %4, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %8 | |
8: ; preds = %7, %entry | |
%__value_.i.i = getelementptr inbounds %"class.std::__1::unique_ptr", %"class.std::__1::unique_ptr"* %this, i64 0, i32 0, i32 0, i32 0 | |
%9 = ptrtoint %"struct.std::__1::__hash_node_base"*** %__value_.i.i to i64 | |
%10 = lshr i64 %9, 3 | |
%11 = add i64 %10, 2147450880 | |
%12 = inttoptr i64 %11 to i8* | |
%13 = load i8, i8* %12, align 1 | |
%14 = icmp ne i8 %13, 0 | |
br i1 %14, label %15, label %16 | |
15: ; preds = %8 | |
call void @__asan_report_load8(i64 %9) #22 | |
unreachable | |
16: ; preds = %8 | |
%17 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %__value_.i.i, align 8, !tbaa !13 | |
store %"struct.std::__1::__hash_node_base"** null, %"struct.std::__1::__hash_node_base"*** %__value_.i.i, align 8, !tbaa !13 | |
%tobool.not = icmp eq %"struct.std::__1::__hash_node_base"** %17, null | |
br i1 %tobool.not, label %entry.if.end_crit_edge, label %cont23 | |
entry.if.end_crit_edge: ; preds = %16 | |
%18 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.100, i64 0, i64 1), align 1, !nosanitize !0 | |
%19 = add i8 %18, 1 | |
store i8 %19, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.100, i64 0, i64 1), align 1, !nosanitize !0 | |
br label %if.end | |
cont23: ; preds = %16 | |
%20 = load i8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.100, i64 0, i64 2), align 1, !nosanitize !0 | |
%21 = add i8 %20, 1 | |
store i8 %21, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__sancov_gen_.100, i64 0, i64 2), align 1, !nosanitize !0 | |
%__value_.i.i37 = getelementptr inbounds %"class.std::__1::unique_ptr", %"class.std::__1::unique_ptr"* %this, i64 0, i32 0, i32 1, i32 0 | |
call void @_ZNSt3__125__bucket_list_deallocatorINS_9allocatorIPNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEEEEclEPSA_(%"class.std::__1::__bucket_list_deallocator"* nonnull align 8 dereferenceable(8) %__value_.i.i37, %"struct.std::__1::__hash_node_base"** nonnull %17) #21 | |
br label %if.end | |
if.end: ; preds = %cont23, %entry.if.end_crit_edge | |
ret void | |
} | |
; Function Attrs: mustprogress nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr hidden void @_ZNSt3__125__bucket_list_deallocatorINS_9allocatorIPNS_16__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEEEEEclEPSA_(%"class.std::__1::__bucket_list_deallocator"* nonnull align 8 dereferenceable(8) %this, %"struct.std::__1::__hash_node_base"** %__p) local_unnamed_addr #12 comdat align 2 personality i32 (...)* @__gxx_personality_v0 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.102, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.102, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = bitcast %"struct.std::__1::__hash_node_base"** %__p to i8* | |
call void @_ZdlPv(i8* %8) #25 | |
ret void | |
} | |
; Function Attrs: cold noreturn nounwind | |
declare void @llvm.trap() #14 | |
; Function Attrs: inlinehint nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr hidden void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this, %"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %__str) unnamed_addr #5 comdat align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = bitcast %"class.std::__1::basic_string"* %__str to i8*, !nosanitize !0 | |
%9 = bitcast %"class.std::__1::basic_string"* %__str to i8*, !nosanitize !0 | |
%10 = bitcast %"class.std::__1::basic_string"* %this to i8* | |
%11 = call i8* @__asan_memcpy(i8* %10, i8* %9, i64 24) | |
call void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__zeroEv(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %__str) #21 | |
%call7 = invoke %"class.std::__1::__libcpp_db"* @_ZNSt3__18__get_dbEv() #19 | |
to label %invoke.cont unwind label %terminate.lpad | |
invoke.cont: ; preds = %7 | |
%12 = icmp ne %"class.std::__1::__libcpp_db"* %call7, null, !nosanitize !0 | |
%13 = ptrtoint %"class.std::__1::__libcpp_db"* %call7 to i64, !nosanitize !0 | |
%14 = and i64 %13, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %14) | |
%15 = icmp eq i64 %14, 0, !nosanitize !0 | |
%16 = and i1 %15, %12, !nosanitize !0 | |
br i1 %16, label %cont3.i, label %handler.type_mismatch8, !prof !12, !nosanitize !0 | |
handler.type_mismatch8: ; preds = %invoke.cont | |
%17 = load i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i64 0, i64 1), align 1, !nosanitize !0 | |
%18 = add i8 %17, 1 | |
store i8 %18, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i64 0, i64 1), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 }* @120 to i8*), i64 %13) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont3.i: ; preds = %invoke.cont | |
%19 = load i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i64 0, i64 2), align 1, !nosanitize !0 | |
%20 = add i8 %19, 1 | |
store i8 %20, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i64 0, i64 2), align 1, !nosanitize !0 | |
invoke void @_ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E(%"class.std::__1::__libcpp_db"* nonnull align 8 dereferenceable(48) %call7, i8* nonnull %10, %"struct.std::__1::__c_node"* (i8*, i8*, %"struct.std::__1::__c_node"*)* nonnull @_ZNSt3__111__libcpp_db15__create_C_nodeINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEPNS_8__c_nodeEPvSA_S9_) #19 | |
to label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit unwind label %terminate.lpad | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit: ; preds = %cont3.i | |
%21 = ptrtoint i8* %10 to i64 | |
%22 = lshr i64 %21, 3 | |
%23 = add i64 %22, 2147450880 | |
%24 = inttoptr i64 %23 to i8* | |
%25 = load i8, i8* %24, align 1 | |
%26 = icmp ne i8 %25, 0 | |
br i1 %26, label %27, label %32, !prof !1 | |
27: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit | |
%28 = and i64 %21, 7 | |
%29 = trunc i64 %28 to i8 | |
%30 = icmp sge i8 %29, %25 | |
br i1 %30, label %31, label %32 | |
31: ; preds = %27 | |
call void @__asan_report_load1(i64 %21) #22 | |
unreachable | |
32: ; preds = %27, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit | |
%33 = load i8, i8* %10, align 8, !tbaa !2 | |
%34 = and i8 %33, 1 | |
call void @__sanitizer_cov_trace_const_cmp1(i8 0, i8 %34) | |
%tobool.i.not = icmp eq i8 %34, 0 | |
br i1 %tobool.i.not, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.if.end_crit_edge, label %if.then | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.if.end_crit_edge: ; preds = %32 | |
%35 = load i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i64 0, i64 3), align 1, !nosanitize !0 | |
%36 = add i8 %35, 1 | |
store i8 %36, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i64 0, i64 3), align 1, !nosanitize !0 | |
br label %if.end | |
if.then: ; preds = %32 | |
%37 = load i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i64 0, i64 4), align 1, !nosanitize !0 | |
%38 = add i8 %37, 1 | |
store i8 %38, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i64 0, i64 4), align 1, !nosanitize !0 | |
%call15 = invoke %"class.std::__1::__libcpp_db"* @_ZNSt3__18__get_dbEv() #19 | |
to label %invoke.cont14 unwind label %terminate.lpad | |
invoke.cont14: ; preds = %if.then | |
%39 = icmp ne %"class.std::__1::__libcpp_db"* %call15, null, !nosanitize !0 | |
%40 = ptrtoint %"class.std::__1::__libcpp_db"* %call15 to i64, !nosanitize !0 | |
%41 = and i64 %40, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %41) | |
%42 = icmp eq i64 %41, 0, !nosanitize !0 | |
%43 = and i1 %42, %39, !nosanitize !0 | |
br i1 %43, label %cont17, label %handler.type_mismatch16, !prof !12, !nosanitize !0 | |
handler.type_mismatch16: ; preds = %invoke.cont14 | |
%44 = load i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i64 0, i64 5), align 1, !nosanitize !0 | |
%45 = add i8 %44, 1 | |
store i8 %45, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i64 0, i64 5), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 }* @121 to i8*), i64 %40) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont17: ; preds = %invoke.cont14 | |
%46 = load i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i64 0, i64 6), align 1, !nosanitize !0 | |
%47 = add i8 %46, 1 | |
store i8 %47, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i64 0, i64 6), align 1, !nosanitize !0 | |
invoke void @_ZNSt3__111__libcpp_db4swapEPvS1_(%"class.std::__1::__libcpp_db"* nonnull align 8 dereferenceable(48) %call15, i8* nonnull %10, i8* nonnull %8) #19 | |
to label %cont17.if.end_crit_edge unwind label %terminate.lpad | |
cont17.if.end_crit_edge: ; preds = %cont17 | |
%48 = load i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i64 0, i64 7), align 1, !nosanitize !0 | |
%49 = add i8 %48, 1 | |
store i8 %49, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i64 0, i64 7), align 1, !nosanitize !0 | |
br label %if.end | |
if.end: ; preds = %cont17.if.end_crit_edge, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.if.end_crit_edge | |
ret void | |
terminate.lpad: ; preds = %cont17, %if.then, %cont3.i, %7 | |
%50 = landingpad { i8*, i32 } | |
catch i8* null | |
%51 = load i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i64 0, i64 8), align 1, !nosanitize !0 | |
%52 = add i8 %51, 1 | |
store i8 %52, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__sancov_gen_.104, i64 0, i64 8), align 1, !nosanitize !0 | |
%53 = extractvalue { i8*, i32 } %50, 0 | |
call void @__asan_handle_no_return() | |
call void @__clang_call_terminate(i8* %53) #23 | |
unreachable | |
} | |
; Function Attrs: uwtable | |
declare void @__ubsan_handle_function_type_mismatch_v1_abort(i8*, i64, i64, i64) local_unnamed_addr #15 | |
; Function Attrs: optforfuzzing sanitize_address uwtable | |
define linkonce_odr nonnull align 8 dereferenceable(24) %"class.std::__1::basic_string"* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this, i64 %__pos, i8* %__s, i64 %__n) local_unnamed_addr #1 comdat align 2 { | |
entry: | |
%asan_local_stack_base = alloca i64, align 8 | |
%0 = load i32, i32* @__asan_option_detect_stack_use_after_return, align 4 | |
%1 = icmp ne i32 %0, 0 | |
br i1 %1, label %2, label %4 | |
2: ; preds = %entry | |
%3 = call i64 @__asan_stack_malloc_1(i64 96) | |
br label %4 | |
4: ; preds = %2, %entry | |
%5 = phi i64 [ 0, %entry ], [ %3, %2 ] | |
%6 = icmp eq i64 %5, 0 | |
br i1 %6, label %7, label %9 | |
7: ; preds = %4 | |
%MyAlloca = alloca i8, i64 96, align 32 | |
%8 = ptrtoint i8* %MyAlloca to i64 | |
br label %9 | |
9: ; preds = %7, %4 | |
%10 = phi i64 [ %5, %4 ], [ %8, %7 ] | |
store i64 %10, i64* %asan_local_stack_base, align 8 | |
%11 = add i64 %10, 32 | |
%12 = inttoptr i64 %11 to %"struct.std::__1::__libcpp_debug_info"* | |
%13 = inttoptr i64 %10 to i64* | |
store i64 1102416563, i64* %13, align 8 | |
%14 = add i64 %10, 8 | |
%15 = inttoptr i64 %14 to i64* | |
store i64 ptrtoint ([24 x i8]* @___asan_gen_.186 to i64), i64* %15, align 8 | |
%16 = add i64 %10, 16 | |
%17 = inttoptr i64 %16 to i64* | |
store i64 ptrtoint (%"class.std::__1::basic_string"* (%"class.std::__1::basic_string"*, i64, i8*, i64)* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm to i64), i64* %17, align 8 | |
%18 = lshr i64 %10, 3 | |
%19 = add i64 %18, 2147450880 | |
%20 = add i64 %19, 0 | |
%21 = inttoptr i64 %20 to i64* | |
store i64 -506381209984437775, i64* %21, align 1 | |
%22 = add i64 %19, 8 | |
%23 = inttoptr i64 %22 to i32* | |
store i32 -202116109, i32* %23, align 1 | |
%24 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 0), align 1, !nosanitize !0 | |
%25 = add i8 %24, 1 | |
store i8 %25, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 0), align 1, !nosanitize !0 | |
%26 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%27 = ptrtoint i8* %26 to i64 | |
%28 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%29 = icmp ult i64 %27, %28 | |
br i1 %29, label %30, label %31 | |
30: ; preds = %9 | |
store i64 %27, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %31 | |
31: ; preds = %30, %9 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %__n) | |
%cmp = icmp eq i64 %__n, 0 | |
br i1 %cmp, label %entry.cond.end_crit_edge, label %lor.lhs.false | |
entry.cond.end_crit_edge: ; preds = %31 | |
%32 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 1), align 1, !nosanitize !0 | |
%33 = add i8 %32, 1 | |
store i8 %33, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 1), align 1, !nosanitize !0 | |
br label %cond.end | |
lor.lhs.false: ; preds = %31 | |
%cmp2.not = icmp eq i8* %__s, null | |
br i1 %cmp2.not, label %cond.false, label %lor.lhs.false.cond.end_crit_edge | |
lor.lhs.false.cond.end_crit_edge: ; preds = %lor.lhs.false | |
%34 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 2), align 1, !nosanitize !0 | |
%35 = add i8 %34, 1 | |
store i8 %35, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 2), align 1, !nosanitize !0 | |
br label %cond.end | |
cond.false: ; preds = %lor.lhs.false | |
%36 = load i8, i8* inttoptr (i64 add (i64 lshr (i64 ptrtoint (void (%"struct.std::__1::__libcpp_debug_info"*)** @_ZNSt3__123__libcpp_debug_functionE to i64), i64 3), i64 2147450880) to i8*), align 1 | |
%37 = icmp ne i8 %36, 0 | |
br i1 %37, label %38, label %39 | |
38: ; preds = %cond.false | |
call void @__asan_report_load8(i64 ptrtoint (void (%"struct.std::__1::__libcpp_debug_info"*)** @_ZNSt3__123__libcpp_debug_functionE to i64)) #22 | |
unreachable | |
39: ; preds = %cond.false | |
%40 = load void (%"struct.std::__1::__libcpp_debug_info"*)*, void (%"struct.std::__1::__libcpp_debug_info"*)** @_ZNSt3__123__libcpp_debug_functionE, align 8, !tbaa !13 | |
%41 = bitcast void (%"struct.std::__1::__libcpp_debug_info"*)* %40 to i32* | |
%42 = load i32, i32* %41, align 4, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp4(i32 846595819, i32 %42) | |
%43 = icmp eq i32 %42, 846595819, !nosanitize !0 | |
br i1 %43, label %typecheck, label %cond.false.cont4_crit_edge, !nosanitize !0 | |
cond.false.cont4_crit_edge: ; preds = %39 | |
%44 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 3), align 1, !nosanitize !0 | |
%45 = add i8 %44, 1 | |
store i8 %45, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 3), align 1, !nosanitize !0 | |
br label %cont4 | |
typecheck: ; preds = %39 | |
%46 = bitcast void (%"struct.std::__1::__libcpp_debug_info"*)* %40 to <{ i32, i32 }>*, !nosanitize !0 | |
%47 = getelementptr <{ i32, i32 }>, <{ i32, i32 }>* %46, i64 0, i32 1, !nosanitize !0 | |
%48 = load i32, i32* %47, align 8, !nosanitize !0 | |
%49 = sext i32 %48 to i64, !nosanitize !0 | |
%func_addr.int = ptrtoint void (%"struct.std::__1::__libcpp_debug_info"*)* %40 to i64, !nosanitize !0 | |
%global_addr.int = add i64 %49, %func_addr.int, !nosanitize !0 | |
%global_addr = inttoptr i64 %global_addr.int to i8**, !nosanitize !0 | |
%decoded_addr = load i8*, i8** %global_addr, align 8, !nosanitize !0 | |
%50 = icmp eq i8* %decoded_addr, bitcast ({ i8*, i8* }* @_ZTIFvRKNSt3__119__libcpp_debug_infoEE to i8*), !nosanitize !0 | |
br i1 %50, label %typecheck.cont4_crit_edge, label %handler.function_type_mismatch, !prof !12, !nosanitize !0 | |
typecheck.cont4_crit_edge: ; preds = %typecheck | |
%51 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 4), align 1, !nosanitize !0 | |
%52 = add i8 %51, 1 | |
store i8 %52, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 4), align 1, !nosanitize !0 | |
br label %cont4 | |
handler.function_type_mismatch: ; preds = %typecheck | |
%53 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 5), align 1, !nosanitize !0 | |
%54 = add i8 %53, 1 | |
store i8 %54, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 5), align 1, !nosanitize !0 | |
%55 = ptrtoint i8* %decoded_addr to i64, !nosanitize !0 | |
call void @__ubsan_handle_function_type_mismatch_v1_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 }, { i16, i16, [45 x i8] }* }* @91 to i8*), i64 %func_addr.int, i64 %55, i64 ptrtoint ({ i8*, i8* }* @_ZTIFvRKNSt3__119__libcpp_debug_infoEE to i64)) #20, !nosanitize !0 | |
br label %cont4, !nosanitize !0 | |
cont4: ; preds = %handler.function_type_mismatch, %typecheck.cont4_crit_edge, %cond.false.cont4_crit_edge | |
%56 = bitcast %"struct.std::__1::__libcpp_debug_info"* %12 to i8* | |
%57 = add i64 %19, 4 | |
%58 = inttoptr i64 %57 to i32* | |
store i32 0, i32* %58, align 1 | |
call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %56) #20 | |
%__file_.i = getelementptr inbounds %"struct.std::__1::__libcpp_debug_info", %"struct.std::__1::__libcpp_debug_info"* %12, i64 0, i32 0 | |
%59 = ptrtoint i8** %__file_.i to i64 | |
%60 = lshr i64 %59, 3 | |
%61 = add i64 %60, 2147450880 | |
%62 = inttoptr i64 %61 to i8* | |
%63 = load i8, i8* %62, align 1 | |
%64 = icmp ne i8 %63, 0 | |
br i1 %64, label %65, label %66 | |
65: ; preds = %cont4 | |
call void @__asan_report_store8(i64 %59) #22 | |
unreachable | |
66: ; preds = %cont4 | |
store i8* getelementptr inbounds ({ [77 x i8], [51 x i8] }, { [77 x i8], [51 x i8] }* @.str.29, i32 0, i32 0, i64 0), i8** %__file_.i, align 8, !tbaa !14 | |
%__line_.i = getelementptr inbounds %"struct.std::__1::__libcpp_debug_info", %"struct.std::__1::__libcpp_debug_info"* %12, i64 0, i32 1 | |
%67 = ptrtoint i32* %__line_.i to i64 | |
%68 = lshr i64 %67, 3 | |
%69 = add i64 %68, 2147450880 | |
%70 = inttoptr i64 %69 to i8* | |
%71 = load i8, i8* %70, align 1 | |
%72 = icmp ne i8 %71, 0 | |
br i1 %72, label %73, label %79, !prof !1 | |
73: ; preds = %66 | |
%74 = and i64 %67, 7 | |
%75 = add i64 %74, 3 | |
%76 = trunc i64 %75 to i8 | |
%77 = icmp sge i8 %76, %71 | |
br i1 %77, label %78, label %79 | |
78: ; preds = %73 | |
call void @__asan_report_store4(i64 %67) #22 | |
unreachable | |
79: ; preds = %73, %66 | |
store i32 2768, i32* %__line_.i, align 8, !tbaa !17 | |
%__pred_.i = getelementptr inbounds %"struct.std::__1::__libcpp_debug_info", %"struct.std::__1::__libcpp_debug_info"* %12, i64 0, i32 2 | |
%80 = ptrtoint i8** %__pred_.i to i64 | |
%81 = lshr i64 %80, 3 | |
%82 = add i64 %81, 2147450880 | |
%83 = inttoptr i64 %82 to i8* | |
%84 = load i8, i8* %83, align 1 | |
%85 = icmp ne i8 %84, 0 | |
br i1 %85, label %86, label %87 | |
86: ; preds = %79 | |
call void @__asan_report_store8(i64 %80) #22 | |
unreachable | |
87: ; preds = %79 | |
store i8* getelementptr inbounds ({ [27 x i8], [37 x i8] }, { [27 x i8], [37 x i8] }* @.str.32, i32 0, i32 0, i64 0), i8** %__pred_.i, align 8, !tbaa !18 | |
%__msg_.i = getelementptr inbounds %"struct.std::__1::__libcpp_debug_info", %"struct.std::__1::__libcpp_debug_info"* %12, i64 0, i32 3 | |
%88 = ptrtoint i8** %__msg_.i to i64 | |
%89 = lshr i64 %88, 3 | |
%90 = add i64 %89, 2147450880 | |
%91 = inttoptr i64 %90 to i8* | |
%92 = load i8, i8* %91, align 1 | |
%93 = icmp ne i8 %92, 0 | |
br i1 %93, label %94, label %95 | |
94: ; preds = %87 | |
call void @__asan_report_store8(i64 %88) #22 | |
unreachable | |
95: ; preds = %87 | |
store i8* getelementptr inbounds ({ [32 x i8], [32 x i8] }, { [32 x i8], [32 x i8] }* @.str.31, i32 0, i32 0, i64 0), i8** %__msg_.i, align 8, !tbaa !19 | |
%96 = ptrtoint void (%"struct.std::__1::__libcpp_debug_info"*)* %40 to i64 | |
call void @__sanitizer_cov_trace_pc_indir(i64 %96) | |
call void %40(%"struct.std::__1::__libcpp_debug_info"* nonnull align 8 dereferenceable(32) %12) #19 | |
br label %cond.end | |
cond.end: ; preds = %95, %lor.lhs.false.cond.end_crit_edge, %entry.cond.end_crit_edge | |
%cleanup.cond.0 = phi i1 [ false, %entry.cond.end_crit_edge ], [ false, %lor.lhs.false.cond.end_crit_edge ], [ true, %95 ] | |
br i1 %cleanup.cond.0, label %cleanup.action, label %cond.end.cleanup.done_crit_edge | |
cond.end.cleanup.done_crit_edge: ; preds = %cond.end | |
%97 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 6), align 1, !nosanitize !0 | |
%98 = add i8 %97, 1 | |
store i8 %98, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 6), align 1, !nosanitize !0 | |
br label %cleanup.done | |
cleanup.action: ; preds = %cond.end | |
%99 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 7), align 1, !nosanitize !0 | |
%100 = add i8 %99, 1 | |
store i8 %100, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 7), align 1, !nosanitize !0 | |
%101 = bitcast %"struct.std::__1::__libcpp_debug_info"* %12 to i8* | |
%102 = add i64 %19, 4 | |
%103 = inttoptr i64 %102 to i32* | |
store i32 -117901064, i32* %103, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %101) #20 | |
br label %cleanup.done | |
cleanup.done: ; preds = %cleanup.action, %cond.end.cleanup.done_crit_edge | |
%104 = bitcast %"class.std::__1::basic_string"* %this to i8*, !nosanitize !0 | |
%105 = ptrtoint i8* %104 to i64 | |
%106 = lshr i64 %105, 3 | |
%107 = add i64 %106, 2147450880 | |
%108 = inttoptr i64 %107 to i8* | |
%109 = load i8, i8* %108, align 1 | |
%110 = icmp ne i8 %109, 0 | |
br i1 %110, label %111, label %116, !prof !1 | |
111: ; preds = %cleanup.done | |
%112 = and i64 %105, 7 | |
%113 = trunc i64 %112 to i8 | |
%114 = icmp sge i8 %113, %109 | |
br i1 %114, label %115, label %116 | |
115: ; preds = %111 | |
call void @__asan_report_load1(i64 %105) #22 | |
unreachable | |
116: ; preds = %111, %cleanup.done | |
%117 = load i8, i8* %104, align 8, !tbaa !2 | |
%118 = and i8 %117, 1 | |
call void @__sanitizer_cov_trace_const_cmp1(i8 0, i8 %118) | |
%tobool.i.not.i = icmp eq i8 %118, 0 | |
br i1 %tobool.i.not.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i: ; preds = %116 | |
%119 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 8), align 1, !nosanitize !0 | |
%120 = add i8 %119, 1 | |
store i8 %120, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 8), align 1, !nosanitize !0 | |
%__size_.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 | |
%121 = ptrtoint i64* %__size_.i.i to i64 | |
%122 = lshr i64 %121, 3 | |
%123 = add i64 %122, 2147450880 | |
%124 = inttoptr i64 %123 to i8* | |
%125 = load i8, i8* %124, align 1 | |
%126 = icmp ne i8 %125, 0 | |
br i1 %126, label %127, label %128 | |
127: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
call void @__asan_report_load8(i64 %121) #22 | |
unreachable | |
128: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
%129 = load i64, i64* %__size_.i.i, align 8, !tbaa !2 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i: ; preds = %116 | |
%130 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 9), align 1, !nosanitize !0 | |
%131 = add i8 %130, 1 | |
store i8 %131, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 9), align 1, !nosanitize !0 | |
%132 = lshr i8 %117, 1 | |
%conv17.i.i = zext i8 %132 to i64 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i, %128 | |
%cond.i = phi i64 [ %129, %128 ], [ %conv17.i.i, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i ] | |
call void @__sanitizer_cov_trace_cmp8(i64 %cond.i, i64 %__pos) | |
%cmp11 = icmp ult i64 %cond.i, %__pos | |
br i1 %cmp11, label %cont13, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i118 | |
cont13: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
%133 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 10), align 1, !nosanitize !0 | |
%134 = add i8 %133, 1 | |
store i8 %134, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 10), align 1, !nosanitize !0 | |
call void @__asan_handle_no_return() #20, !nosanitize !0 | |
call void @_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE20__throw_out_of_rangeEv(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this) #19 | |
call void @__ubsan_handle_builtin_unreachable(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @92 to i8*)) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i118: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
br i1 %tobool.i.not.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i118._ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8capacityEv.exit_crit_edge, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__get_long_capEv.exit.i | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i118._ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8capacityEv.exit_crit_edge: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i118 | |
%135 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 11), align 1, !nosanitize !0 | |
%136 = add i8 %135, 1 | |
store i8 %136, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 11), align 1, !nosanitize !0 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8capacityEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__get_long_capEv.exit.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i118 | |
%137 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 12), align 1, !nosanitize !0 | |
%138 = add i8 %137, 1 | |
store i8 %138, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 12), align 1, !nosanitize !0 | |
%__cap_.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 | |
%139 = ptrtoint i64* %__cap_.i.i to i64 | |
%140 = lshr i64 %139, 3 | |
%141 = add i64 %140, 2147450880 | |
%142 = inttoptr i64 %141 to i8* | |
%143 = load i8, i8* %142, align 1 | |
%144 = icmp ne i8 %143, 0 | |
br i1 %144, label %145, label %146 | |
145: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__get_long_capEv.exit.i | |
call void @__asan_report_load8(i64 %139) #22 | |
unreachable | |
146: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__get_long_capEv.exit.i | |
%147 = load i64, i64* %__cap_.i.i, align 8, !tbaa !2 | |
%and.i.i = and i64 %147, -2 | |
%phi.bo.i = add i64 %and.i.i, -1 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8capacityEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8capacityEv.exit: ; preds = %146, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i118._ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8capacityEv.exit_crit_edge | |
%cond.i119 = phi i64 [ %phi.bo.i, %146 ], [ 22, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i118._ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8capacityEv.exit_crit_edge ] | |
%sub = sub i64 %cond.i119, %cond.i | |
call void @__sanitizer_cov_trace_cmp8(i64 %sub, i64 %__n) | |
%cmp18.not = icmp ult i64 %sub, %__n | |
br i1 %cmp18.not, label %cont65, label %if.then19 | |
if.then19: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8capacityEv.exit | |
br i1 %cmp, label %if.then19.cont70_crit_edge, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i124 | |
if.then19.cont70_crit_edge: ; preds = %if.then19 | |
%148 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 13), align 1, !nosanitize !0 | |
%149 = add i8 %148, 1 | |
store i8 %149, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 13), align 1, !nosanitize !0 | |
br label %cont70 | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i124: ; preds = %if.then19 | |
br i1 %tobool.i.not.i, label %cont11.i19.i, label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i124 | |
%150 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 14), align 1, !nosanitize !0 | |
%151 = add i8 %150, 1 | |
store i8 %151, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 14), align 1, !nosanitize !0 | |
%__data_.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 | |
%152 = ptrtoint i8** %__data_.i.i to i64 | |
%153 = lshr i64 %152, 3 | |
%154 = add i64 %153, 2147450880 | |
%155 = inttoptr i64 %154 to i8* | |
%156 = load i8, i8* %155, align 1 | |
%157 = icmp ne i8 %156, 0 | |
br i1 %157, label %158, label %159 | |
158: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
call void @__asan_report_load8(i64 %152) #22 | |
unreachable | |
159: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
%160 = load i8*, i8** %__data_.i.i, align 8, !tbaa !2 | |
br label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit | |
cont11.i19.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i124 | |
%161 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 15), align 1, !nosanitize !0 | |
%162 = add i8 %161, 1 | |
store i8 %162, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 15), align 1, !nosanitize !0 | |
%__s.i.i = bitcast %"class.std::__1::basic_string"* %this to %"struct.std::__1::basic_string<char>::__short"* | |
%arrayidx.i.i = getelementptr inbounds %"struct.std::__1::basic_string<char>::__short", %"struct.std::__1::basic_string<char>::__short"* %__s.i.i, i64 0, i32 1, i64 0 | |
br label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit: ; preds = %cont11.i19.i, %159 | |
%cond.i127 = phi i8* [ %160, %159 ], [ %arrayidx.i.i, %cont11.i19.i ] | |
%sub25 = sub i64 %cond.i, %__pos | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %sub25) | |
%cmp26.not = icmp eq i64 %sub25, 0 | |
br i1 %cmp26.not, label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit.if.end49_crit_edge, label %if.then27 | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit.if.end49_crit_edge: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit | |
%163 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 16), align 1, !nosanitize !0 | |
%164 = add i8 %163, 1 | |
store i8 %164, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 16), align 1, !nosanitize !0 | |
br label %if.end49 | |
if.then27: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit | |
%add.ptr = getelementptr inbounds i8, i8* %cond.i127, i64 %__pos | |
%165 = ptrtoint i8* %cond.i127 to i64, !nosanitize !0 | |
%166 = add i64 %165, %__pos, !nosanitize !0 | |
%167 = icmp ne i8* %cond.i127, null, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %166) | |
%168 = icmp eq i64 %166, 0, !nosanitize !0 | |
%169 = xor i1 %167, %168 | |
call void @__sanitizer_cov_trace_cmp8(i64 %166, i64 %165) | |
%170 = icmp uge i64 %166, %165, !nosanitize !0 | |
%171 = and i1 %170, %169, !nosanitize !0 | |
br i1 %171, label %cont28, label %handler.pointer_overflow, !prof !12, !nosanitize !0 | |
handler.pointer_overflow: ; preds = %if.then27 | |
%172 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 17), align 1, !nosanitize !0 | |
%173 = add i8 %172, 1 | |
store i8 %173, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 17), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @93 to i8*), i64 %165, i64 %166) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont28: ; preds = %if.then27 | |
%cmp29.not = icmp ugt i8* %add.ptr, %__s | |
br i1 %cmp29.not, label %cont28.cont41_crit_edge, label %land.lhs.true | |
cont28.cont41_crit_edge: ; preds = %cont28 | |
%174 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 18), align 1, !nosanitize !0 | |
%175 = add i8 %174, 1 | |
store i8 %175, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 18), align 1, !nosanitize !0 | |
br label %cont41 | |
land.lhs.true: ; preds = %cont28 | |
%176 = add i64 %cond.i, %165, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %176) | |
%177 = icmp eq i64 %176, 0, !nosanitize !0 | |
%178 = xor i1 %167, %177 | |
call void @__sanitizer_cov_trace_cmp8(i64 %176, i64 %165) | |
%179 = icmp uge i64 %176, %165, !nosanitize !0 | |
%180 = and i1 %179, %178, !nosanitize !0 | |
br i1 %180, label %cont32, label %handler.pointer_overflow31, !prof !12, !nosanitize !0 | |
handler.pointer_overflow31: ; preds = %land.lhs.true | |
%181 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 19), align 1, !nosanitize !0 | |
%182 = add i8 %181, 1 | |
store i8 %182, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 19), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @94 to i8*), i64 %165, i64 %176) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont32: ; preds = %land.lhs.true | |
%add.ptr30 = getelementptr inbounds i8, i8* %cond.i127, i64 %cond.i | |
%cmp33 = icmp ugt i8* %add.ptr30, %__s | |
br i1 %cmp33, label %if.then34, label %cont32.cont41_crit_edge | |
cont32.cont41_crit_edge: ; preds = %cont32 | |
%183 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 20), align 1, !nosanitize !0 | |
%184 = add i8 %183, 1 | |
store i8 %184, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 20), align 1, !nosanitize !0 | |
br label %cont41 | |
if.then34: ; preds = %cont32 | |
%185 = ptrtoint i8* %__s to i64, !nosanitize !0 | |
%186 = add i64 %185, %__n, !nosanitize !0 | |
%187 = icmp eq i8* %__s, null, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %186) | |
%188 = icmp ne i64 %186, 0, !nosanitize !0 | |
%189 = xor i1 %187, %188 | |
call void @__sanitizer_cov_trace_cmp8(i64 %186, i64 %185) | |
%190 = icmp uge i64 %186, %185, !nosanitize !0 | |
%191 = and i1 %190, %189, !nosanitize !0 | |
br i1 %191, label %cont37, label %handler.pointer_overflow36, !prof !12, !nosanitize !0 | |
handler.pointer_overflow36: ; preds = %if.then34 | |
%192 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 21), align 1, !nosanitize !0 | |
%193 = add i8 %192, 1 | |
store i8 %193, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 21), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @95 to i8*), i64 %185, i64 %186) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont37: ; preds = %if.then34 | |
%194 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 22), align 1, !nosanitize !0 | |
%195 = add i8 %194, 1 | |
store i8 %195, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 22), align 1, !nosanitize !0 | |
%add.ptr35 = getelementptr inbounds i8, i8* %__s, i64 %__n | |
br label %cont41 | |
cont41: ; preds = %cont37, %cont32.cont41_crit_edge, %cont28.cont41_crit_edge | |
%__s.addr.0 = phi i8* [ %add.ptr35, %cont37 ], [ %__s, %cont32.cont41_crit_edge ], [ %__s, %cont28.cont41_crit_edge ] | |
%add.ptr42 = getelementptr inbounds i8, i8* %add.ptr, i64 %__n | |
%196 = ptrtoint i8* %add.ptr to i64, !nosanitize !0 | |
%197 = add i64 %196, %__n, !nosanitize !0 | |
%198 = icmp eq i8* %cond.i127, null | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %197) | |
%199 = icmp ne i64 %197, 0, !nosanitize !0 | |
%200 = xor i1 %198, %199 | |
call void @__sanitizer_cov_trace_cmp8(i64 %197, i64 %196) | |
%201 = icmp uge i64 %197, %196, !nosanitize !0 | |
%202 = and i1 %201, %200, !nosanitize !0 | |
br i1 %202, label %cont.i, label %handler.pointer_overflow43, !prof !12, !nosanitize !0 | |
handler.pointer_overflow43: ; preds = %cont41 | |
%203 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 23), align 1, !nosanitize !0 | |
%204 = add i8 %203, 1 | |
store i8 %204, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 23), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @96 to i8*), i64 %196, i64 %197) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont.i: ; preds = %cont41 | |
%.not5.i = icmp eq i8* %cond.i127, null | |
br i1 %.not5.i, label %handler.nonnull_arg1.i, label %cont2.i, !prof !5, !nosanitize !0 | |
handler.nonnull_arg1.i: ; preds = %cont.i | |
%205 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 24), align 1, !nosanitize !0 | |
%206 = add i8 %205, 1 | |
store i8 %206, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 24), align 1, !nosanitize !0 | |
call void @__ubsan_handle_nonnull_arg_abort(i8* bitcast ({ { [9 x i8]*, i32, i32 }, { [9 x i8]*, i32, i32 }, i32 }* @106 to i8*)) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont2.i: ; preds = %cont.i | |
%207 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 25), align 1, !nosanitize !0 | |
%208 = add i8 %207, 1 | |
store i8 %208, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 25), align 1, !nosanitize !0 | |
%209 = call i8* @__asan_memmove(i8* %add.ptr42, i8* %add.ptr, i64 %sub25) | |
br label %if.end49 | |
if.end49: ; preds = %cont2.i, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit.if.end49_crit_edge | |
%__s.addr.1 = phi i8* [ %__s.addr.0, %cont2.i ], [ %__s, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit.if.end49_crit_edge ] | |
%210 = ptrtoint i8* %cond.i127 to i64, !nosanitize !0 | |
%211 = add i64 %210, %__pos, !nosanitize !0 | |
%212 = icmp ne i8* %cond.i127, null, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %211) | |
%213 = icmp eq i64 %211, 0, !nosanitize !0 | |
%214 = xor i1 %212, %213 | |
call void @__sanitizer_cov_trace_cmp8(i64 %211, i64 %210) | |
%215 = icmp uge i64 %211, %210, !nosanitize !0 | |
%216 = and i1 %215, %214, !nosanitize !0 | |
br i1 %216, label %cont52, label %handler.pointer_overflow51, !prof !12, !nosanitize !0 | |
handler.pointer_overflow51: ; preds = %if.end49 | |
%217 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 26), align 1, !nosanitize !0 | |
%218 = add i8 %217, 1 | |
store i8 %218, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 26), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @97 to i8*), i64 %210, i64 %211) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont52: ; preds = %if.end49 | |
%add.ptr50 = getelementptr inbounds i8, i8* %cond.i127, i64 %__pos | |
%.not.i129 = icmp eq i8* %cond.i127, null | |
br i1 %.not.i129, label %handler.nonnull_arg.i131, label %cont.i133, !prof !5, !nosanitize !0 | |
handler.nonnull_arg.i131: ; preds = %cont52 | |
%219 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 27), align 1, !nosanitize !0 | |
%220 = add i8 %219, 1 | |
store i8 %220, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 27), align 1, !nosanitize !0 | |
call void @__ubsan_handle_nonnull_arg_abort(i8* bitcast ({ { [9 x i8]*, i32, i32 }, { [9 x i8]*, i32, i32 }, i32 }* @105 to i8*)) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont.i133: ; preds = %cont52 | |
%.not5.i132 = icmp eq i8* %__s.addr.1, null, !nosanitize !0 | |
br i1 %.not5.i132, label %handler.nonnull_arg1.i134, label %cont2.i135, !prof !5, !nosanitize !0 | |
handler.nonnull_arg1.i134: ; preds = %cont.i133 | |
%221 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 28), align 1, !nosanitize !0 | |
%222 = add i8 %221, 1 | |
store i8 %222, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 28), align 1, !nosanitize !0 | |
call void @__ubsan_handle_nonnull_arg_abort(i8* bitcast ({ { [9 x i8]*, i32, i32 }, { [9 x i8]*, i32, i32 }, i32 }* @106 to i8*)) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont2.i135: ; preds = %cont.i133 | |
%223 = call i8* @__asan_memmove(i8* %add.ptr50, i8* %__s.addr.1, i64 %__n) | |
%add = add i64 %cond.i, %__n | |
%224 = ptrtoint i8* %104 to i64 | |
%225 = lshr i64 %224, 3 | |
%226 = add i64 %225, 2147450880 | |
%227 = inttoptr i64 %226 to i8* | |
%228 = load i8, i8* %227, align 1 | |
%229 = icmp ne i8 %228, 0 | |
br i1 %229, label %230, label %235, !prof !1 | |
230: ; preds = %cont2.i135 | |
%231 = and i64 %224, 7 | |
%232 = trunc i64 %231 to i8 | |
%233 = icmp sge i8 %232, %228 | |
br i1 %233, label %234, label %235 | |
234: ; preds = %230 | |
call void @__asan_report_load1(i64 %224) #22 | |
unreachable | |
235: ; preds = %230, %cont2.i135 | |
%236 = load i8, i8* %104, align 8, !tbaa !2 | |
%237 = and i8 %236, 1 | |
call void @__sanitizer_cov_trace_const_cmp1(i8 0, i8 %237) | |
%tobool.i.not.i140 = icmp eq i8 %237, 0 | |
br i1 %tobool.i.not.i140, label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit.i, label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__set_long_sizeEm.exit.i | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__set_long_sizeEm.exit.i: ; preds = %235 | |
%238 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 29), align 1, !nosanitize !0 | |
%239 = add i8 %238, 1 | |
store i8 %239, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 29), align 1, !nosanitize !0 | |
%__size_.i.i142 = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 | |
%240 = ptrtoint i64* %__size_.i.i142 to i64 | |
%241 = lshr i64 %240, 3 | |
%242 = add i64 %241, 2147450880 | |
%243 = inttoptr i64 %242 to i8* | |
%244 = load i8, i8* %243, align 1 | |
%245 = icmp ne i8 %244, 0 | |
br i1 %245, label %246, label %247 | |
246: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__set_long_sizeEm.exit.i | |
call void @__asan_report_store8(i64 %240) #22 | |
unreachable | |
247: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__set_long_sizeEm.exit.i | |
store i64 %add, i64* %__size_.i.i142, align 8, !tbaa !2 | |
br label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__set_sizeEm.exit | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit.i: ; preds = %235 | |
%248 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 30), align 1, !nosanitize !0 | |
%249 = add i8 %248, 1 | |
store i8 %249, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 30), align 1, !nosanitize !0 | |
%__s.tr.i.i = trunc i64 %add to i8 | |
%conv.i.i = shl i8 %__s.tr.i.i, 1 | |
%250 = ptrtoint i8* %104 to i64 | |
%251 = lshr i64 %250, 3 | |
%252 = add i64 %251, 2147450880 | |
%253 = inttoptr i64 %252 to i8* | |
%254 = load i8, i8* %253, align 1 | |
%255 = icmp ne i8 %254, 0 | |
br i1 %255, label %256, label %261, !prof !1 | |
256: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit.i | |
%257 = and i64 %250, 7 | |
%258 = trunc i64 %257 to i8 | |
%259 = icmp sge i8 %258, %254 | |
br i1 %259, label %260, label %261 | |
260: ; preds = %256 | |
call void @__asan_report_store1(i64 %250) #22 | |
unreachable | |
261: ; preds = %256, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit.i | |
store i8 %conv.i.i, i8* %104, align 8, !tbaa !2 | |
br label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__set_sizeEm.exit | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__set_sizeEm.exit: ; preds = %261, %247 | |
%arrayidx = getelementptr inbounds i8, i8* %cond.i127, i64 %add | |
%262 = add i64 %add, %210, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %262) | |
%263 = icmp eq i64 %262, 0, !nosanitize !0 | |
%264 = xor i1 %212, %263 | |
call void @__sanitizer_cov_trace_cmp8(i64 %262, i64 %210) | |
%265 = icmp uge i64 %262, %210, !nosanitize !0 | |
%266 = and i1 %265, %264, !nosanitize !0 | |
br i1 %266, label %cont57, label %handler.pointer_overflow56, !prof !12, !nosanitize !0 | |
handler.pointer_overflow56: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__set_sizeEm.exit | |
%267 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 31), align 1, !nosanitize !0 | |
%268 = add i8 %267, 1 | |
store i8 %268, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 31), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @98 to i8*), i64 %210, i64 %262) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont57: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__set_sizeEm.exit | |
br i1 %212, label %cont59, label %handler.type_mismatch58, !prof !12, !nosanitize !0 | |
handler.type_mismatch58: ; preds = %cont57 | |
%269 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 32), align 1, !nosanitize !0 | |
%270 = add i8 %269, 1 | |
store i8 %270, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 32), align 1, !nosanitize !0 | |
%271 = ptrtoint i8* %arrayidx to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 }, { i16, i16, [51 x i8] }*, i8, i8 }* @99 to i8*), i64 %271) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont59: ; preds = %cont57 | |
%272 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 33), align 1, !nosanitize !0 | |
%273 = add i8 %272, 1 | |
store i8 %273, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 33), align 1, !nosanitize !0 | |
%274 = ptrtoint i8* %arrayidx to i64 | |
%275 = lshr i64 %274, 3 | |
%276 = add i64 %275, 2147450880 | |
%277 = inttoptr i64 %276 to i8* | |
%278 = load i8, i8* %277, align 1 | |
%279 = icmp ne i8 %278, 0 | |
br i1 %279, label %280, label %285, !prof !1 | |
280: ; preds = %cont59 | |
%281 = and i64 %274, 7 | |
%282 = trunc i64 %281 to i8 | |
%283 = icmp sge i8 %282, %278 | |
br i1 %283, label %284, label %285 | |
284: ; preds = %280 | |
call void @__asan_report_store1(i64 %274) #22 | |
unreachable | |
285: ; preds = %280, %cont59 | |
store i8 0, i8* %arrayidx, align 1, !tbaa !2 | |
br label %cont70 | |
cont65: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8capacityEv.exit | |
%286 = load i8, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 34), align 1, !nosanitize !0 | |
%287 = add i8 %286, 1 | |
store i8 %287, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @__sancov_gen_.106, i64 0, i64 34), align 1, !nosanitize !0 | |
%add66 = add i64 %cond.i, %__n | |
%sub67 = sub i64 %add66, %cond.i119 | |
call void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this, i64 %cond.i119, i64 %sub67, i64 %cond.i, i64 %__pos, i64 0, i64 %__n, i8* %__s) #19 | |
br label %cont70 | |
cont70: ; preds = %cont65, %285, %if.then19.cont70_crit_edge | |
store i64 1172321806, i64* %13, align 8 | |
%288 = icmp ne i64 %5, 0 | |
br i1 %288, label %289, label %298 | |
289: ; preds = %cont70 | |
%290 = add i64 %19, 0 | |
%291 = inttoptr i64 %290 to i64* | |
store i64 -723401728380766731, i64* %291, align 1 | |
%292 = add i64 %19, 8 | |
%293 = inttoptr i64 %292 to i64* | |
store i64 -723401728380766731, i64* %293, align 1 | |
%294 = add i64 %5, 120 | |
%295 = inttoptr i64 %294 to i64* | |
%296 = load i64, i64* %295, align 8 | |
%297 = inttoptr i64 %296 to i8* | |
store i8 0, i8* %297, align 1 | |
br label %303 | |
298: ; preds = %cont70 | |
%299 = add i64 %19, 0 | |
%300 = inttoptr i64 %299 to i64* | |
store i64 0, i64* %300, align 1 | |
%301 = add i64 %19, 8 | |
%302 = inttoptr i64 %301 to i32* | |
store i32 0, i32* %302, align 1 | |
br label %303 | |
303: ; preds = %298, %289 | |
ret %"class.std::__1::basic_string"* %this | |
} | |
; Function Attrs: mustprogress optforfuzzing sanitize_address uwtable | |
define linkonce_odr hidden void @_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE20__throw_out_of_rangeEv(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this) local_unnamed_addr #8 comdat align 2 { | |
entry: | |
%0 = bitcast %"class.std::__1::basic_string"* %this to %"class.std::__1::__basic_string_common"* | |
call void @__asan_handle_no_return() #20, !nosanitize !0 | |
call void @_ZNKSt3__121__basic_string_commonILb1EE20__throw_out_of_rangeEv(%"class.std::__1::__basic_string_common"* nonnull align 1 dereferenceable(1) %0) #19 | |
call void @__ubsan_handle_builtin_unreachable(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @100 to i8*)) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
} | |
; Function Attrs: mustprogress optforfuzzing sanitize_address uwtable | |
define linkonce_odr void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this, i64 %__old_cap, i64 %__delta_cap, i64 %__old_sz, i64 %__n_copy, i64 %__n_del, i64 %__n_add, i8* %__p_new_stuff) local_unnamed_addr #8 comdat align 2 personality i32 (...)* @__gxx_personality_v0 { | |
entry: | |
%asan_local_stack_base = alloca i64, align 8 | |
%0 = load i32, i32* @__asan_option_detect_stack_use_after_return, align 4 | |
%1 = icmp ne i32 %0, 0 | |
br i1 %1, label %2, label %4 | |
2: ; preds = %entry | |
%3 = call i64 @__asan_stack_malloc_1(i64 96) | |
br label %4 | |
4: ; preds = %2, %entry | |
%5 = phi i64 [ 0, %entry ], [ %3, %2 ] | |
%6 = icmp eq i64 %5, 0 | |
br i1 %6, label %7, label %9 | |
7: ; preds = %4 | |
%MyAlloca = alloca i8, i64 96, align 32 | |
%8 = ptrtoint i8* %MyAlloca to i64 | |
br label %9 | |
9: ; preds = %7, %4 | |
%10 = phi i64 [ %5, %4 ], [ %8, %7 ] | |
store i64 %10, i64* %asan_local_stack_base, align 8 | |
%11 = add i64 %10, 32 | |
%12 = inttoptr i64 %11 to i64* | |
%13 = add i64 %10, 64 | |
%14 = inttoptr i64 %13 to i64* | |
%15 = inttoptr i64 %10 to i64* | |
store i64 1102416563, i64* %15, align 8 | |
%16 = add i64 %10, 8 | |
%17 = inttoptr i64 %16 to i64* | |
store i64 ptrtoint ([46 x i8]* @___asan_gen_.187 to i64), i64* %17, align 8 | |
%18 = add i64 %10, 16 | |
%19 = inttoptr i64 %18 to i64* | |
store i64 ptrtoint (void (%"class.std::__1::basic_string"*, i64, i64, i64, i64, i64, i64, i8*)* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc to i64), i64* %19, align 8 | |
%20 = lshr i64 %10, 3 | |
%21 = add i64 %20, 2147450880 | |
%22 = add i64 %21, 0 | |
%23 = inttoptr i64 %22 to i64* | |
store i64 -940422221142035983, i64* %23, align 1 | |
%24 = add i64 %21, 8 | |
%25 = inttoptr i64 %24 to i32* | |
store i32 -202116104, i32* %25, align 1 | |
%26 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 0), align 1, !nosanitize !0 | |
%27 = add i8 %26, 1 | |
store i8 %27, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 0), align 1, !nosanitize !0 | |
%28 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%29 = ptrtoint i8* %28 to i64 | |
%30 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%31 = icmp ult i64 %29, %30 | |
br i1 %31, label %32, label %33 | |
32: ; preds = %9 | |
store i64 %29, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %33 | |
33: ; preds = %32, %9 | |
%34 = bitcast %"class.std::__1::basic_string"* %this to i8*, !nosanitize !0 | |
%sub4 = sub i64 -18, %__old_cap | |
call void @__sanitizer_cov_trace_cmp8(i64 %sub4, i64 %__delta_cap) | |
%cmp = icmp ult i64 %sub4, %__delta_cap | |
br i1 %cmp, label %cont6, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i | |
cont6: ; preds = %33 | |
%35 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 1), align 1, !nosanitize !0 | |
%36 = add i8 %35, 1 | |
store i8 %36, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 1), align 1, !nosanitize !0 | |
call void @__asan_handle_no_return() #20, !nosanitize !0 | |
call void @_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE20__throw_length_errorEv(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this) #19 | |
call void @__ubsan_handle_builtin_unreachable(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @107 to i8*)) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i: ; preds = %33 | |
%37 = ptrtoint i8* %34 to i64 | |
%38 = lshr i64 %37, 3 | |
%39 = add i64 %38, 2147450880 | |
%40 = inttoptr i64 %39 to i8* | |
%41 = load i8, i8* %40, align 1 | |
%42 = icmp ne i8 %41, 0 | |
br i1 %42, label %43, label %48, !prof !1 | |
43: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i | |
%44 = and i64 %37, 7 | |
%45 = trunc i64 %44 to i8 | |
%46 = icmp sge i8 %45, %41 | |
br i1 %46, label %47, label %48 | |
47: ; preds = %43 | |
call void @__asan_report_load1(i64 %37) #22 | |
unreachable | |
48: ; preds = %43, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i | |
%49 = load i8, i8* %34, align 8, !tbaa !2 | |
%50 = and i8 %49, 1 | |
call void @__sanitizer_cov_trace_const_cmp1(i8 0, i8 %50) | |
%tobool.i.not.i = icmp eq i8 %50, 0 | |
br i1 %tobool.i.not.i, label %cont11.i19.i, label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i: ; preds = %48 | |
%51 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 2), align 1, !nosanitize !0 | |
%52 = add i8 %51, 1 | |
store i8 %52, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 2), align 1, !nosanitize !0 | |
%__data_.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 | |
%53 = ptrtoint i8** %__data_.i.i to i64 | |
%54 = lshr i64 %53, 3 | |
%55 = add i64 %54, 2147450880 | |
%56 = inttoptr i64 %55 to i8* | |
%57 = load i8, i8* %56, align 1 | |
%58 = icmp ne i8 %57, 0 | |
br i1 %58, label %59, label %60 | |
59: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
call void @__asan_report_load8(i64 %53) #22 | |
unreachable | |
60: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
%61 = load i8*, i8** %__data_.i.i, align 8, !tbaa !2 | |
br label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit | |
cont11.i19.i: ; preds = %48 | |
%62 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 3), align 1, !nosanitize !0 | |
%63 = add i8 %62, 1 | |
store i8 %63, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 3), align 1, !nosanitize !0 | |
%__s.i.i = bitcast %"class.std::__1::basic_string"* %this to %"struct.std::__1::basic_string<char>::__short"* | |
%arrayidx.i.i = getelementptr inbounds %"struct.std::__1::basic_string<char>::__short", %"struct.std::__1::basic_string<char>::__short"* %__s.i.i, i64 0, i32 1, i64 0 | |
br label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit: ; preds = %cont11.i19.i, %60 | |
%cond.i = phi i8* [ %61, %60 ], [ %arrayidx.i.i, %cont11.i19.i ] | |
call void @__sanitizer_cov_trace_const_cmp8(i64 9223372036854775783, i64 %__old_cap) | |
%cmp13 = icmp ult i64 %__old_cap, 9223372036854775783 | |
br i1 %cmp13, label %cond.true, label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit.cond.end_crit_edge | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit.cond.end_crit_edge: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit | |
%64 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 4), align 1, !nosanitize !0 | |
%65 = add i8 %64, 1 | |
store i8 %65, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 4), align 1, !nosanitize !0 | |
br label %cond.end | |
cond.true: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit | |
%66 = bitcast i64* %12 to i8* | |
%67 = add i64 %21, 4 | |
%68 = inttoptr i64 %67 to i8* | |
store i8 0, i8* %68, align 1 | |
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %66) #20 | |
%add = add i64 %__delta_cap, %__old_cap | |
%69 = ptrtoint i64* %12 to i64 | |
%70 = lshr i64 %69, 3 | |
%71 = add i64 %70, 2147450880 | |
%72 = inttoptr i64 %71 to i8* | |
%73 = load i8, i8* %72, align 1 | |
%74 = icmp ne i8 %73, 0 | |
br i1 %74, label %75, label %76 | |
75: ; preds = %cond.true | |
call void @__asan_report_store8(i64 %69) #22 | |
unreachable | |
76: ; preds = %cond.true | |
store i64 %add, i64* %12, align 8, !tbaa !55 | |
%77 = bitcast i64* %14 to i8* | |
%78 = add i64 %21, 8 | |
%79 = inttoptr i64 %78 to i8* | |
store i8 0, i8* %79, align 1 | |
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %77) #20 | |
%mul = shl i64 %__old_cap, 1 | |
%80 = ptrtoint i64* %14 to i64 | |
%81 = lshr i64 %80, 3 | |
%82 = add i64 %81, 2147450880 | |
%83 = inttoptr i64 %82 to i8* | |
%84 = load i8, i8* %83, align 1 | |
%85 = icmp ne i8 %84, 0 | |
br i1 %85, label %86, label %87 | |
86: ; preds = %76 | |
call void @__asan_report_store8(i64 %80) #22 | |
unreachable | |
87: ; preds = %76 | |
store i64 %mul, i64* %14, align 8, !tbaa !55 | |
call void @__sanitizer_cov_trace_cmp8(i64 %add, i64 %mul) | |
%cmp.i.i.i = icmp ult i64 %add, %mul | |
br i1 %cmp.i.i.i, label %cond.true.cont22_crit_edge, label %cond.false.i.i | |
cond.true.cont22_crit_edge: ; preds = %87 | |
%88 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 5), align 1, !nosanitize !0 | |
%89 = add i8 %88, 1 | |
store i8 %89, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 5), align 1, !nosanitize !0 | |
br label %cont22 | |
cond.false.i.i: ; preds = %87 | |
%90 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 6), align 1, !nosanitize !0 | |
%91 = add i8 %90, 1 | |
store i8 %91, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 6), align 1, !nosanitize !0 | |
br label %cont22 | |
cont22: ; preds = %cond.false.i.i, %cond.true.cont22_crit_edge | |
%cond-lvalue.i.i = phi i64* [ %12, %cond.false.i.i ], [ %14, %cond.true.cont22_crit_edge ] | |
%92 = ptrtoint i64* %cond-lvalue.i.i to i64 | |
%93 = lshr i64 %92, 3 | |
%94 = add i64 %93, 2147450880 | |
%95 = inttoptr i64 %94 to i8* | |
%96 = load i8, i8* %95, align 1 | |
%97 = icmp ne i8 %96, 0 | |
br i1 %97, label %98, label %99 | |
98: ; preds = %cont22 | |
call void @__asan_report_load8(i64 %92) #22 | |
unreachable | |
99: ; preds = %cont22 | |
%100 = load i64, i64* %cond-lvalue.i.i, align 8, !tbaa !55 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 23, i64 %100) | |
%cmp.i = icmp ult i64 %100, 23 | |
br i1 %cmp.i, label %cont22.cond.end_crit_edge, label %if.end.i | |
cont22.cond.end_crit_edge: ; preds = %99 | |
%101 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 7), align 1, !nosanitize !0 | |
%102 = add i8 %101, 1 | |
store i8 %102, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 7), align 1, !nosanitize !0 | |
br label %cond.end | |
if.end.i: ; preds = %99 | |
%103 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 8), align 1, !nosanitize !0 | |
%104 = add i8 %103, 1 | |
store i8 %104, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 8), align 1, !nosanitize !0 | |
%add.i.i = add i64 %100, 16 | |
%and.i.i = and i64 %add.i.i, -16 | |
br label %cond.end | |
cond.end: ; preds = %if.end.i, %cont22.cond.end_crit_edge, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit.cond.end_crit_edge | |
%cond = phi i64 [ 23, %cont22.cond.end_crit_edge ], [ %and.i.i, %if.end.i ], [ -17, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit.cond.end_crit_edge ] | |
br i1 %cmp13, label %cleanup.action, label %cond.end.cleanup.done_crit_edge | |
cond.end.cleanup.done_crit_edge: ; preds = %cond.end | |
%105 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 9), align 1, !nosanitize !0 | |
%106 = add i8 %105, 1 | |
store i8 %106, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 9), align 1, !nosanitize !0 | |
br label %cleanup.done | |
cleanup.action: ; preds = %cond.end | |
%107 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 10), align 1, !nosanitize !0 | |
%108 = add i8 %107, 1 | |
store i8 %108, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 10), align 1, !nosanitize !0 | |
%109 = bitcast i64* %14 to i8* | |
%110 = add i64 %21, 8 | |
%111 = inttoptr i64 %110 to i8* | |
store i8 -8, i8* %111, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %109) #20 | |
br label %cleanup.done | |
cleanup.done: ; preds = %cleanup.action, %cond.end.cleanup.done_crit_edge | |
br i1 %cmp13, label %cleanup.action26, label %cleanup.done._ZNSt3__116allocator_traitsINS_9allocatorIcEEE8allocateERS2_m.exit_crit_edge | |
cleanup.done._ZNSt3__116allocator_traitsINS_9allocatorIcEEE8allocateERS2_m.exit_crit_edge: ; preds = %cleanup.done | |
%112 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 11), align 1, !nosanitize !0 | |
%113 = add i8 %112, 1 | |
store i8 %113, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 11), align 1, !nosanitize !0 | |
br label %_ZNSt3__116allocator_traitsINS_9allocatorIcEEE8allocateERS2_m.exit | |
cleanup.action26: ; preds = %cleanup.done | |
%114 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 12), align 1, !nosanitize !0 | |
%115 = add i8 %114, 1 | |
store i8 %115, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 12), align 1, !nosanitize !0 | |
%116 = bitcast i64* %12 to i8* | |
%117 = add i64 %21, 4 | |
%118 = inttoptr i64 %117 to i8* | |
store i8 -8, i8* %118, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %116) #20 | |
br label %_ZNSt3__116allocator_traitsINS_9allocatorIcEEE8allocateERS2_m.exit | |
_ZNSt3__116allocator_traitsINS_9allocatorIcEEE8allocateERS2_m.exit: ; preds = %cleanup.action26, %cleanup.done._ZNSt3__116allocator_traitsINS_9allocatorIcEEE8allocateERS2_m.exit_crit_edge | |
%call.i6.i.i.i = call nonnull i8* @_Znwm(i64 %cond) #26 | |
%call.i = call %"class.std::__1::__libcpp_db"* @_ZNSt3__18__get_dbEv() #19 | |
%119 = icmp ne %"class.std::__1::__libcpp_db"* %call.i, null, !nosanitize !0 | |
%120 = ptrtoint %"class.std::__1::__libcpp_db"* %call.i to i64, !nosanitize !0 | |
%121 = and i64 %120, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %121) | |
%122 = icmp eq i64 %121, 0, !nosanitize !0 | |
%123 = and i1 %122, %119, !nosanitize !0 | |
br i1 %123, label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE26__invalidate_all_iteratorsEv.exit, label %handler.type_mismatch2.i145, !prof !12, !nosanitize !0 | |
handler.type_mismatch2.i145: ; preds = %_ZNSt3__116allocator_traitsINS_9allocatorIcEEE8allocateERS2_m.exit | |
%124 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 13), align 1, !nosanitize !0 | |
%125 = add i8 %124, 1 | |
store i8 %125, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 13), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 }, { i16, i16, [19 x i8] }*, i8, i8 }* @114 to i8*), i64 %120) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE26__invalidate_all_iteratorsEv.exit: ; preds = %_ZNSt3__116allocator_traitsINS_9allocatorIcEEE8allocateERS2_m.exit | |
call void @_ZNSt3__111__libcpp_db16__invalidate_allEPv(%"class.std::__1::__libcpp_db"* nonnull align 8 dereferenceable(48) %call.i, i8* nonnull %34) #19 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %__n_copy) | |
%cmp37.not = icmp eq i64 %__n_copy, 0 | |
br i1 %cmp37.not, label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE26__invalidate_all_iteratorsEv.exit.if.end42_crit_edge, label %if.then38 | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE26__invalidate_all_iteratorsEv.exit.if.end42_crit_edge: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE26__invalidate_all_iteratorsEv.exit | |
%126 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 14), align 1, !nosanitize !0 | |
%127 = add i8 %126, 1 | |
store i8 %127, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 14), align 1, !nosanitize !0 | |
br label %if.end42 | |
if.then38: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE26__invalidate_all_iteratorsEv.exit | |
%128 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 15), align 1, !nosanitize !0 | |
%129 = add i8 %128, 1 | |
store i8 %129, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 15), align 1, !nosanitize !0 | |
%call41 = call i8* @_ZNSt3__111char_traitsIcE4copyEPcPKcm(i8* nonnull %call.i6.i.i.i, i8* %cond.i, i64 %__n_copy) #21 | |
br label %if.end42 | |
if.end42: ; preds = %if.then38, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE26__invalidate_all_iteratorsEv.exit.if.end42_crit_edge | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %__n_add) | |
%cmp43.not = icmp eq i64 %__n_add, 0 | |
br i1 %cmp43.not, label %if.end42.if.end48_crit_edge, label %if.then44 | |
if.end42.if.end48_crit_edge: ; preds = %if.end42 | |
%130 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 16), align 1, !nosanitize !0 | |
%131 = add i8 %130, 1 | |
store i8 %131, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 16), align 1, !nosanitize !0 | |
br label %if.end48 | |
if.then44: ; preds = %if.end42 | |
%132 = ptrtoint i8* %call.i6.i.i.i to i64, !nosanitize !0 | |
%133 = add i64 %132, %__n_copy, !nosanitize !0 | |
call void @__sanitizer_cov_trace_cmp8(i64 %133, i64 %132) | |
%.not173 = icmp ult i64 %133, %132, !nosanitize !0 | |
br i1 %.not173, label %handler.pointer_overflow, label %cont46, !prof !5, !nosanitize !0 | |
handler.pointer_overflow: ; preds = %if.then44 | |
%134 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 17), align 1, !nosanitize !0 | |
%135 = add i8 %134, 1 | |
store i8 %135, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 17), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @108 to i8*), i64 %132, i64 %133) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont46: ; preds = %if.then44 | |
%136 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 18), align 1, !nosanitize !0 | |
%137 = add i8 %136, 1 | |
store i8 %137, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 18), align 1, !nosanitize !0 | |
%add.ptr = getelementptr inbounds i8, i8* %call.i6.i.i.i, i64 %__n_copy | |
%call47 = call i8* @_ZNSt3__111char_traitsIcE4copyEPcPKcm(i8* nonnull %add.ptr, i8* %__p_new_stuff, i64 %__n_add) #21 | |
br label %if.end48 | |
if.end48: ; preds = %cont46, %if.end42.if.end48_crit_edge | |
%138 = add i64 %__n_copy, %__n_del | |
%sub50 = sub i64 %__old_sz, %138 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %sub50) | |
%cmp51.not = icmp eq i64 %sub50, 0 | |
br i1 %cmp51.not, label %if.end48.if.end68_crit_edge, label %if.then52 | |
if.end48.if.end68_crit_edge: ; preds = %if.end48 | |
%139 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 19), align 1, !nosanitize !0 | |
%140 = add i8 %139, 1 | |
store i8 %140, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 19), align 1, !nosanitize !0 | |
br label %if.end68 | |
if.then52: ; preds = %if.end48 | |
%add.ptr54 = getelementptr inbounds i8, i8* %call.i6.i.i.i, i64 %__n_copy | |
%141 = ptrtoint i8* %call.i6.i.i.i to i64, !nosanitize !0 | |
%142 = add i64 %141, %__n_copy, !nosanitize !0 | |
call void @__sanitizer_cov_trace_cmp8(i64 %142, i64 %141) | |
%.not174 = icmp ult i64 %142, %141, !nosanitize !0 | |
br i1 %.not174, label %handler.pointer_overflow55, label %cont56, !prof !5, !nosanitize !0 | |
handler.pointer_overflow55: ; preds = %if.then52 | |
%143 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 20), align 1, !nosanitize !0 | |
%144 = add i8 %143, 1 | |
store i8 %144, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 20), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @109 to i8*), i64 %141, i64 %142) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont56: ; preds = %if.then52 | |
%add.ptr57 = getelementptr inbounds i8, i8* %add.ptr54, i64 %__n_add | |
%145 = ptrtoint i8* %add.ptr54 to i64, !nosanitize !0 | |
%146 = add i64 %145, %__n_add, !nosanitize !0 | |
call void @__sanitizer_cov_trace_cmp8(i64 %146, i64 %145) | |
%.not175 = icmp ult i64 %146, %145, !nosanitize !0 | |
br i1 %.not175, label %handler.pointer_overflow58, label %cont59, !prof !5, !nosanitize !0 | |
handler.pointer_overflow58: ; preds = %cont56 | |
%147 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 21), align 1, !nosanitize !0 | |
%148 = add i8 %147, 1 | |
store i8 %148, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 21), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @110 to i8*), i64 %145, i64 %146) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont59: ; preds = %cont56 | |
%add.ptr61 = getelementptr inbounds i8, i8* %cond.i, i64 %__n_copy | |
%149 = ptrtoint i8* %cond.i to i64, !nosanitize !0 | |
%150 = add i64 %149, %__n_copy, !nosanitize !0 | |
%151 = icmp eq i8* %cond.i, null, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %150) | |
%152 = icmp ne i64 %150, 0, !nosanitize !0 | |
%153 = xor i1 %151, %152 | |
call void @__sanitizer_cov_trace_cmp8(i64 %150, i64 %149) | |
%154 = icmp uge i64 %150, %149, !nosanitize !0 | |
%155 = and i1 %154, %153, !nosanitize !0 | |
br i1 %155, label %cont63, label %handler.pointer_overflow62, !prof !12, !nosanitize !0 | |
handler.pointer_overflow62: ; preds = %cont59 | |
%156 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 22), align 1, !nosanitize !0 | |
%157 = add i8 %156, 1 | |
store i8 %157, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 22), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @111 to i8*), i64 %149, i64 %150) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont63: ; preds = %cont59 | |
%158 = ptrtoint i8* %add.ptr61 to i64, !nosanitize !0 | |
%159 = add i64 %158, %__n_del, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %159) | |
%160 = icmp ne i64 %159, 0, !nosanitize !0 | |
%161 = xor i1 %151, %160 | |
call void @__sanitizer_cov_trace_cmp8(i64 %159, i64 %158) | |
%162 = icmp uge i64 %159, %158, !nosanitize !0 | |
%163 = and i1 %162, %161, !nosanitize !0 | |
br i1 %163, label %cont66, label %handler.pointer_overflow65, !prof !12, !nosanitize !0 | |
handler.pointer_overflow65: ; preds = %cont63 | |
%164 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 23), align 1, !nosanitize !0 | |
%165 = add i8 %164, 1 | |
store i8 %165, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 23), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @112 to i8*), i64 %158, i64 %159) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont66: ; preds = %cont63 | |
%166 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 24), align 1, !nosanitize !0 | |
%167 = add i8 %166, 1 | |
store i8 %167, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 24), align 1, !nosanitize !0 | |
%add.ptr64 = getelementptr inbounds i8, i8* %add.ptr61, i64 %__n_del | |
%call67 = call i8* @_ZNSt3__111char_traitsIcE4copyEPcPKcm(i8* nonnull %add.ptr57, i8* %add.ptr64, i64 %sub50) #21 | |
br label %if.end68 | |
if.end68: ; preds = %cont66, %if.end48.if.end68_crit_edge | |
call void @__sanitizer_cov_trace_const_cmp8(i64 22, i64 %__old_cap) | |
%cmp70.not = icmp eq i64 %__old_cap, 22 | |
br i1 %cmp70.not, label %if.end68._ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__set_long_pointerEPc.exit_crit_edge, label %_ZNSt3__116allocator_traitsINS_9allocatorIcEEE10deallocateERS2_Pcm.exit | |
if.end68._ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__set_long_pointerEPc.exit_crit_edge: ; preds = %if.end68 | |
%168 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 25), align 1, !nosanitize !0 | |
%169 = add i8 %168, 1 | |
store i8 %169, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 25), align 1, !nosanitize !0 | |
br label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__set_long_pointerEPc.exit | |
_ZNSt3__116allocator_traitsINS_9allocatorIcEEE10deallocateERS2_Pcm.exit: ; preds = %if.end68 | |
%170 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 26), align 1, !nosanitize !0 | |
%171 = add i8 %170, 1 | |
store i8 %171, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 26), align 1, !nosanitize !0 | |
call void @_ZdlPv(i8* %cond.i) #25 | |
br label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__set_long_pointerEPc.exit | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__set_long_pointerEPc.exit: ; preds = %_ZNSt3__116allocator_traitsINS_9allocatorIcEEE10deallocateERS2_Pcm.exit, %if.end68._ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__set_long_pointerEPc.exit_crit_edge | |
%__data_.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 | |
%172 = ptrtoint i8** %__data_.i to i64 | |
%173 = lshr i64 %172, 3 | |
%174 = add i64 %173, 2147450880 | |
%175 = inttoptr i64 %174 to i8* | |
%176 = load i8, i8* %175, align 1 | |
%177 = icmp ne i8 %176, 0 | |
br i1 %177, label %178, label %179 | |
178: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__set_long_pointerEPc.exit | |
call void @__asan_report_store8(i64 %172) #22 | |
unreachable | |
179: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__set_long_pointerEPc.exit | |
store i8* %call.i6.i.i.i, i8** %__data_.i, align 8, !tbaa !2 | |
%__cap_.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 | |
%or.i = or i64 %cond, 1 | |
%180 = ptrtoint i64* %__cap_.i to i64 | |
%181 = lshr i64 %180, 3 | |
%182 = add i64 %181, 2147450880 | |
%183 = inttoptr i64 %182 to i8* | |
%184 = load i8, i8* %183, align 1 | |
%185 = icmp ne i8 %184, 0 | |
br i1 %185, label %186, label %187 | |
186: ; preds = %179 | |
call void @__asan_report_store8(i64 %180) #22 | |
unreachable | |
187: ; preds = %179 | |
store i64 %or.i, i64* %__cap_.i, align 8, !tbaa !2 | |
%add84 = add i64 %__n_add, %__n_copy | |
%add85 = add i64 %add84, %sub50 | |
%__size_.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 | |
%188 = ptrtoint i64* %__size_.i to i64 | |
%189 = lshr i64 %188, 3 | |
%190 = add i64 %189, 2147450880 | |
%191 = inttoptr i64 %190 to i8* | |
%192 = load i8, i8* %191, align 1 | |
%193 = icmp ne i8 %192, 0 | |
br i1 %193, label %194, label %195 | |
194: ; preds = %187 | |
call void @__asan_report_store8(i64 %188) #22 | |
unreachable | |
195: ; preds = %187 | |
store i64 %add85, i64* %__size_.i, align 8, !tbaa !2 | |
%196 = ptrtoint i8* %call.i6.i.i.i to i64, !nosanitize !0 | |
%197 = add i64 %add85, %196, !nosanitize !0 | |
call void @__sanitizer_cov_trace_cmp8(i64 %197, i64 %196) | |
%.not176 = icmp ult i64 %197, %196, !nosanitize !0 | |
br i1 %.not176, label %handler.pointer_overflow88, label %cont91, !prof !5, !nosanitize !0 | |
handler.pointer_overflow88: ; preds = %195 | |
%198 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 27), align 1, !nosanitize !0 | |
%199 = add i8 %198, 1 | |
store i8 %199, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 27), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @113 to i8*), i64 %196, i64 %197) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont91: ; preds = %195 | |
%200 = load i8, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 28), align 1, !nosanitize !0 | |
%201 = add i8 %200, 1 | |
store i8 %201, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @__sancov_gen_.108, i64 0, i64 28), align 1, !nosanitize !0 | |
%arrayidx = getelementptr inbounds i8, i8* %call.i6.i.i.i, i64 %add85 | |
%202 = ptrtoint i8* %arrayidx to i64 | |
%203 = lshr i64 %202, 3 | |
%204 = add i64 %203, 2147450880 | |
%205 = inttoptr i64 %204 to i8* | |
%206 = load i8, i8* %205, align 1 | |
%207 = icmp ne i8 %206, 0 | |
br i1 %207, label %208, label %213, !prof !1 | |
208: ; preds = %cont91 | |
%209 = and i64 %202, 7 | |
%210 = trunc i64 %209 to i8 | |
%211 = icmp sge i8 %210, %206 | |
br i1 %211, label %212, label %213 | |
212: ; preds = %208 | |
call void @__asan_report_store1(i64 %202) #22 | |
unreachable | |
213: ; preds = %208, %cont91 | |
store i8 0, i8* %arrayidx, align 1, !tbaa !2 | |
store i64 1172321806, i64* %15, align 8 | |
%214 = icmp ne i64 %5, 0 | |
br i1 %214, label %215, label %224 | |
215: ; preds = %213 | |
%216 = add i64 %21, 0 | |
%217 = inttoptr i64 %216 to i64* | |
store i64 -723401728380766731, i64* %217, align 1 | |
%218 = add i64 %21, 8 | |
%219 = inttoptr i64 %218 to i64* | |
store i64 -723401728380766731, i64* %219, align 1 | |
%220 = add i64 %5, 120 | |
%221 = inttoptr i64 %220 to i64* | |
%222 = load i64, i64* %221, align 8 | |
%223 = inttoptr i64 %222 to i8* | |
store i8 0, i8* %223, align 1 | |
br label %229 | |
224: ; preds = %213 | |
%225 = add i64 %21, 0 | |
%226 = inttoptr i64 %225 to i64* | |
store i64 0, i64* %226, align 1 | |
%227 = add i64 %21, 8 | |
%228 = inttoptr i64 %227 to i32* | |
store i32 0, i32* %228, align 1 | |
br label %229 | |
229: ; preds = %224, %215 | |
ret void | |
} | |
; Function Attrs: mustprogress optforfuzzing sanitize_address uwtable | |
define linkonce_odr void @_ZNKSt3__121__basic_string_commonILb1EE20__throw_out_of_rangeEv(%"class.std::__1::__basic_string_common"* nonnull align 1 dereferenceable(1) %this) local_unnamed_addr #8 comdat align 2 { | |
entry: | |
call void @__asan_handle_no_return() #20, !nosanitize !0 | |
call void @_ZNSt3__120__throw_out_of_rangeEPKc(i8* getelementptr inbounds ({ [13 x i8], [19 x i8] }, { [13 x i8], [19 x i8] }* @.str.13, i32 0, i32 0, i64 0)) #19 | |
call void @__ubsan_handle_builtin_unreachable(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @101 to i8*)) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
} | |
; Function Attrs: inlinehint mustprogress optforfuzzing sanitize_address uwtable | |
define linkonce_odr hidden void @_ZNSt3__120__throw_out_of_rangeEPKc(i8* %__msg) #7 comdat prologue <{ i32, i32 }> <{ i32 846595819, i32 trunc (i64 sub (i64 ptrtoint ({ i8*, [24 x i8] }* @102 to i64), i64 ptrtoint (void (i8*)* @_ZNSt3__120__throw_out_of_rangeEPKc to i64)) to i32) }> personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.110, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.110, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%exception = call i8* @__cxa_allocate_exception(i64 16) #20 | |
%8 = icmp ne i8* %exception, null | |
%9 = ptrtoint i8* %exception to i64 | |
%10 = and i64 %9, 7, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %10) | |
%11 = icmp eq i64 %10, 0, !nosanitize !0 | |
%12 = and i1 %8, %11, !nosanitize !0 | |
br i1 %12, label %cont, label %handler.type_mismatch, !prof !12, !nosanitize !0 | |
handler.type_mismatch: ; preds = %7 | |
%13 = load i8, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.110, i64 0, i64 1), align 1, !nosanitize !0 | |
%14 = add i8 %13, 1 | |
store i8 %14, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.110, i64 0, i64 1), align 1, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [10 x i8]*, i32, i32 }, { i16, i16, [20 x i8] }*, i8, i8 }* @104 to i8*), i64 %9) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont: ; preds = %7 | |
%15 = bitcast i8* %exception to %"class.std::out_of_range"* | |
invoke void @_ZNSt12out_of_rangeC2EPKc(%"class.std::out_of_range"* nonnull align 8 dereferenceable(16) %15, i8* %__msg) #19 | |
to label %invoke.cont unwind label %lpad | |
invoke.cont: ; preds = %cont | |
%16 = load i8, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.110, i64 0, i64 2), align 1, !nosanitize !0 | |
%17 = add i8 %16, 1 | |
store i8 %17, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.110, i64 0, i64 2), align 1, !nosanitize !0 | |
call void @__asan_handle_no_return() | |
call void @__cxa_throw(i8* nonnull %exception, i8* bitcast (i8** @_ZTISt12out_of_range to i8*), i8* bitcast (void (%"class.std::out_of_range"*)* @_ZNSt12out_of_rangeD1Ev to i8*)) #27 | |
unreachable | |
lpad: ; preds = %cont | |
%18 = landingpad { i8*, i32 } | |
cleanup | |
%19 = load i8, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.110, i64 0, i64 3), align 1, !nosanitize !0 | |
%20 = add i8 %19, 1 | |
store i8 %20, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.110, i64 0, i64 3), align 1, !nosanitize !0 | |
call void @__cxa_free_exception(i8* nonnull %exception) #20 | |
resume { i8*, i32 } %18 | |
} | |
; Function Attrs: optforfuzzing sanitize_address uwtable | |
define linkonce_odr hidden void @_ZNSt12out_of_rangeC2EPKc(%"class.std::out_of_range"* nonnull align 8 dereferenceable(16) %this, i8* %__s) unnamed_addr #1 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.112, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @__sancov_gen_.112, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = getelementptr inbounds %"class.std::out_of_range", %"class.std::out_of_range"* %this, i64 0, i32 0 | |
call void @_ZNSt11logic_errorC2EPKc(%"class.std::logic_error"* nonnull align 8 dereferenceable(16) %8, i8* %__s) #19 | |
%9 = getelementptr inbounds %"class.std::out_of_range", %"class.std::out_of_range"* %this, i64 0, i32 0, i32 0, i32 0 | |
%10 = ptrtoint i32 (...)*** %9 to i64 | |
%11 = lshr i64 %10, 3 | |
%12 = add i64 %11, 2147450880 | |
%13 = inttoptr i64 %12 to i8* | |
%14 = load i8, i8* %13, align 1 | |
%15 = icmp ne i8 %14, 0 | |
br i1 %15, label %16, label %17 | |
16: ; preds = %7 | |
call void @__asan_report_store8(i64 %10) #22 | |
unreachable | |
17: ; preds = %7 | |
store i32 (...)** bitcast (i8** getelementptr inbounds ({ [5 x i8*] }, { [5 x i8*] }* @_ZTVSt12out_of_range, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %9, align 8, !tbaa !27 | |
ret void | |
} | |
; Function Attrs: nounwind | |
declare void @_ZNSt12out_of_rangeD1Ev(%"class.std::out_of_range"* nonnull align 8 dereferenceable(16)) unnamed_addr #9 | |
; Function Attrs: inlinehint nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr i8* @_ZNSt3__111char_traitsIcE4copyEPcPKcm(i8* %__s1, i8* %__s2, i64 %__n) #5 comdat align 2 prologue <{ i32, i32 }> <{ i32 846595819, i32 trunc (i64 sub (i64 ptrtoint ({ i8*, [24 x i8] }* @115 to i64), i64 ptrtoint (i8* (i8*, i8*, i64)* @_ZNSt3__111char_traitsIcE4copyEPcPKcm to i64)) to i32) }> personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
entry: | |
%asan_local_stack_base = alloca i64, align 8 | |
%0 = load i32, i32* @__asan_option_detect_stack_use_after_return, align 4 | |
%1 = icmp ne i32 %0, 0 | |
br i1 %1, label %2, label %4 | |
2: ; preds = %entry | |
%3 = call i64 @__asan_stack_malloc_1(i64 96) | |
br label %4 | |
4: ; preds = %2, %entry | |
%5 = phi i64 [ 0, %entry ], [ %3, %2 ] | |
%6 = icmp eq i64 %5, 0 | |
br i1 %6, label %7, label %9 | |
7: ; preds = %4 | |
%MyAlloca = alloca i8, i64 96, align 32 | |
%8 = ptrtoint i8* %MyAlloca to i64 | |
br label %9 | |
9: ; preds = %7, %4 | |
%10 = phi i64 [ %5, %4 ], [ %8, %7 ] | |
store i64 %10, i64* %asan_local_stack_base, align 8 | |
%11 = add i64 %10, 32 | |
%12 = inttoptr i64 %11 to %"struct.std::__1::__libcpp_debug_info"* | |
%13 = inttoptr i64 %10 to i64* | |
store i64 1102416563, i64* %13, align 8 | |
%14 = add i64 %10, 8 | |
%15 = inttoptr i64 %14 to i64* | |
store i64 ptrtoint ([23 x i8]* @___asan_gen_.188 to i64), i64* %15, align 8 | |
%16 = add i64 %10, 16 | |
%17 = inttoptr i64 %16 to i64* | |
store i64 ptrtoint (i8* (i8*, i8*, i64)* @_ZNSt3__111char_traitsIcE4copyEPcPKcm to i64), i64* %17, align 8 | |
%18 = lshr i64 %10, 3 | |
%19 = add i64 %18, 2147450880 | |
%20 = add i64 %19, 0 | |
%21 = inttoptr i64 %20 to i64* | |
store i64 -506381209984437775, i64* %21, align 1 | |
%22 = add i64 %19, 8 | |
%23 = inttoptr i64 %22 to i32* | |
store i32 -202116109, i32* %23, align 1 | |
%24 = load i8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 0), align 1, !nosanitize !0 | |
%25 = add i8 %24, 1 | |
store i8 %25, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 0), align 1, !nosanitize !0 | |
%26 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%27 = ptrtoint i8* %26 to i64 | |
%28 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%29 = icmp ult i64 %27, %28 | |
br i1 %29, label %30, label %31 | |
30: ; preds = %9 | |
store i64 %27, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %31 | |
31: ; preds = %30, %9 | |
%cmp = icmp ult i8* %__s2, %__s1 | |
br i1 %cmp, label %entry.cond.end_crit_edge, label %lor.lhs.false | |
entry.cond.end_crit_edge: ; preds = %31 | |
%32 = load i8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 1), align 1, !nosanitize !0 | |
%33 = add i8 %32, 1 | |
store i8 %33, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 1), align 1, !nosanitize !0 | |
br label %cond.end | |
lor.lhs.false: ; preds = %31 | |
%34 = ptrtoint i8* %__s1 to i64, !nosanitize !0 | |
%35 = add i64 %34, %__n, !nosanitize !0 | |
%36 = icmp eq i8* %__s1, null, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %35) | |
%37 = icmp ne i64 %35, 0, !nosanitize !0 | |
%38 = xor i1 %36, %37 | |
call void @__sanitizer_cov_trace_cmp8(i64 %35, i64 %34) | |
%39 = icmp uge i64 %35, %34, !nosanitize !0 | |
%40 = and i1 %39, %38, !nosanitize !0 | |
br i1 %40, label %cont, label %handler.pointer_overflow, !prof !12, !nosanitize !0 | |
handler.pointer_overflow: ; preds = %lor.lhs.false | |
%41 = load i8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 2), align 1, !nosanitize !0 | |
%42 = add i8 %41, 1 | |
store i8 %42, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 2), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [9 x i8]*, i32, i32 } }* @116 to i8*), i64 %34, i64 %35) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont: ; preds = %lor.lhs.false | |
%add.ptr = getelementptr inbounds i8, i8* %__s1, i64 %__n | |
%cmp1.not = icmp ugt i8* %add.ptr, %__s2 | |
br i1 %cmp1.not, label %cond.false, label %cont.cond.end_crit_edge | |
cont.cond.end_crit_edge: ; preds = %cont | |
%43 = load i8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 3), align 1, !nosanitize !0 | |
%44 = add i8 %43, 1 | |
store i8 %44, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 3), align 1, !nosanitize !0 | |
br label %cond.end | |
cond.false: ; preds = %cont | |
%45 = load i8, i8* inttoptr (i64 add (i64 lshr (i64 ptrtoint (void (%"struct.std::__1::__libcpp_debug_info"*)** @_ZNSt3__123__libcpp_debug_functionE to i64), i64 3), i64 2147450880) to i8*), align 1 | |
%46 = icmp ne i8 %45, 0 | |
br i1 %46, label %47, label %48 | |
47: ; preds = %cond.false | |
call void @__asan_report_load8(i64 ptrtoint (void (%"struct.std::__1::__libcpp_debug_info"*)** @_ZNSt3__123__libcpp_debug_functionE to i64)) #22 | |
unreachable | |
48: ; preds = %cond.false | |
%49 = load void (%"struct.std::__1::__libcpp_debug_info"*)*, void (%"struct.std::__1::__libcpp_debug_info"*)** @_ZNSt3__123__libcpp_debug_functionE, align 8, !tbaa !13 | |
%50 = bitcast void (%"struct.std::__1::__libcpp_debug_info"*)* %49 to i32* | |
%51 = load i32, i32* %50, align 4, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp4(i32 846595819, i32 %51) | |
%52 = icmp eq i32 %51, 846595819, !nosanitize !0 | |
br i1 %52, label %typecheck, label %cond.false.cont3_crit_edge, !nosanitize !0 | |
cond.false.cont3_crit_edge: ; preds = %48 | |
%53 = load i8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 4), align 1, !nosanitize !0 | |
%54 = add i8 %53, 1 | |
store i8 %54, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 4), align 1, !nosanitize !0 | |
br label %cont3 | |
typecheck: ; preds = %48 | |
%55 = bitcast void (%"struct.std::__1::__libcpp_debug_info"*)* %49 to <{ i32, i32 }>*, !nosanitize !0 | |
%56 = getelementptr <{ i32, i32 }>, <{ i32, i32 }>* %55, i64 0, i32 1, !nosanitize !0 | |
%57 = load i32, i32* %56, align 8, !nosanitize !0 | |
%58 = sext i32 %57 to i64, !nosanitize !0 | |
%func_addr.int = ptrtoint void (%"struct.std::__1::__libcpp_debug_info"*)* %49 to i64, !nosanitize !0 | |
%global_addr.int = add i64 %58, %func_addr.int, !nosanitize !0 | |
%global_addr = inttoptr i64 %global_addr.int to i8**, !nosanitize !0 | |
%decoded_addr = load i8*, i8** %global_addr, align 8, !nosanitize !0 | |
%59 = icmp eq i8* %decoded_addr, bitcast ({ i8*, i8* }* @_ZTIFvRKNSt3__119__libcpp_debug_infoEE to i8*), !nosanitize !0 | |
br i1 %59, label %typecheck.cont3_crit_edge, label %handler.function_type_mismatch, !prof !12, !nosanitize !0 | |
typecheck.cont3_crit_edge: ; preds = %typecheck | |
%60 = load i8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 5), align 1, !nosanitize !0 | |
%61 = add i8 %60, 1 | |
store i8 %61, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 5), align 1, !nosanitize !0 | |
br label %cont3 | |
handler.function_type_mismatch: ; preds = %typecheck | |
%62 = load i8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 6), align 1, !nosanitize !0 | |
%63 = add i8 %62, 1 | |
store i8 %63, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 6), align 1, !nosanitize !0 | |
%64 = ptrtoint i8* %decoded_addr to i64, !nosanitize !0 | |
call void @__ubsan_handle_function_type_mismatch_v1_abort(i8* bitcast ({ { [9 x i8]*, i32, i32 }, { i16, i16, [45 x i8] }* }* @117 to i8*), i64 %func_addr.int, i64 %64, i64 ptrtoint ({ i8*, i8* }* @_ZTIFvRKNSt3__119__libcpp_debug_infoEE to i64)) #20, !nosanitize !0 | |
br label %cont3, !nosanitize !0 | |
cont3: ; preds = %handler.function_type_mismatch, %typecheck.cont3_crit_edge, %cond.false.cont3_crit_edge | |
%65 = bitcast %"struct.std::__1::__libcpp_debug_info"* %12 to i8* | |
%66 = add i64 %19, 4 | |
%67 = inttoptr i64 %66 to i32* | |
store i32 0, i32* %67, align 1 | |
call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %65) #20 | |
%__file_.i = getelementptr inbounds %"struct.std::__1::__libcpp_debug_info", %"struct.std::__1::__libcpp_debug_info"* %12, i64 0, i32 0 | |
%68 = ptrtoint i8** %__file_.i to i64 | |
%69 = lshr i64 %68, 3 | |
%70 = add i64 %69, 2147450880 | |
%71 = inttoptr i64 %70 to i8* | |
%72 = load i8, i8* %71, align 1 | |
%73 = icmp ne i8 %72, 0 | |
br i1 %73, label %74, label %75 | |
74: ; preds = %cont3 | |
call void @__asan_report_store8(i64 %68) #22 | |
unreachable | |
75: ; preds = %cont3 | |
store i8* getelementptr inbounds ({ [79 x i8], [49 x i8] }, { [79 x i8], [49 x i8] }* @.str.36, i32 0, i32 0, i64 0), i8** %__file_.i, align 8, !tbaa !14 | |
%__line_.i = getelementptr inbounds %"struct.std::__1::__libcpp_debug_info", %"struct.std::__1::__libcpp_debug_info"* %12, i64 0, i32 1 | |
%76 = ptrtoint i32* %__line_.i to i64 | |
%77 = lshr i64 %76, 3 | |
%78 = add i64 %77, 2147450880 | |
%79 = inttoptr i64 %78 to i8* | |
%80 = load i8, i8* %79, align 1 | |
%81 = icmp ne i8 %80, 0 | |
br i1 %81, label %82, label %88, !prof !1 | |
82: ; preds = %75 | |
%83 = and i64 %76, 7 | |
%84 = add i64 %83, 3 | |
%85 = trunc i64 %84 to i8 | |
%86 = icmp sge i8 %85, %80 | |
br i1 %86, label %87, label %88 | |
87: ; preds = %82 | |
call void @__asan_report_store4(i64 %76) #22 | |
unreachable | |
88: ; preds = %82, %75 | |
store i32 351, i32* %__line_.i, align 8, !tbaa !17 | |
%__pred_.i = getelementptr inbounds %"struct.std::__1::__libcpp_debug_info", %"struct.std::__1::__libcpp_debug_info"* %12, i64 0, i32 2 | |
%89 = ptrtoint i8** %__pred_.i to i64 | |
%90 = lshr i64 %89, 3 | |
%91 = add i64 %90, 2147450880 | |
%92 = inttoptr i64 %91 to i8* | |
%93 = load i8, i8* %92, align 1 | |
%94 = icmp ne i8 %93, 0 | |
br i1 %94, label %95, label %96 | |
95: ; preds = %88 | |
call void @__asan_report_store8(i64 %89) #22 | |
unreachable | |
96: ; preds = %88 | |
store i8* getelementptr inbounds ({ [32 x i8], [32 x i8] }, { [32 x i8], [32 x i8] }* @.str.37, i32 0, i32 0, i64 0), i8** %__pred_.i, align 8, !tbaa !18 | |
%__msg_.i = getelementptr inbounds %"struct.std::__1::__libcpp_debug_info", %"struct.std::__1::__libcpp_debug_info"* %12, i64 0, i32 3 | |
%97 = ptrtoint i8** %__msg_.i to i64 | |
%98 = lshr i64 %97, 3 | |
%99 = add i64 %98, 2147450880 | |
%100 = inttoptr i64 %99 to i8* | |
%101 = load i8, i8* %100, align 1 | |
%102 = icmp ne i8 %101, 0 | |
br i1 %102, label %103, label %104 | |
103: ; preds = %96 | |
call void @__asan_report_store8(i64 %97) #22 | |
unreachable | |
104: ; preds = %96 | |
store i8* getelementptr inbounds ({ [35 x i8], [61 x i8] }, { [35 x i8], [61 x i8] }* @.str.38, i32 0, i32 0, i64 0), i8** %__msg_.i, align 8, !tbaa !19 | |
%105 = ptrtoint void (%"struct.std::__1::__libcpp_debug_info"*)* %49 to i64 | |
call void @__sanitizer_cov_trace_pc_indir(i64 %105) | |
invoke void %49(%"struct.std::__1::__libcpp_debug_info"* nonnull align 8 dereferenceable(32) %12) #19 | |
to label %cont3.cond.end_crit_edge unwind label %lpad | |
cont3.cond.end_crit_edge: ; preds = %104 | |
%106 = load i8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 7), align 1, !nosanitize !0 | |
%107 = add i8 %106, 1 | |
store i8 %107, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 7), align 1, !nosanitize !0 | |
br label %cond.end | |
cond.end: ; preds = %cont3.cond.end_crit_edge, %cont.cond.end_crit_edge, %entry.cond.end_crit_edge | |
%cleanup.cond.0 = phi i1 [ false, %entry.cond.end_crit_edge ], [ false, %cont.cond.end_crit_edge ], [ true, %cont3.cond.end_crit_edge ] | |
br i1 %cleanup.cond.0, label %cleanup.action, label %cond.end.cleanup.done_crit_edge | |
cond.end.cleanup.done_crit_edge: ; preds = %cond.end | |
%108 = load i8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 8), align 1, !nosanitize !0 | |
%109 = add i8 %108, 1 | |
store i8 %109, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 8), align 1, !nosanitize !0 | |
br label %cleanup.done | |
cleanup.action: ; preds = %cond.end | |
%110 = load i8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 9), align 1, !nosanitize !0 | |
%111 = add i8 %110, 1 | |
store i8 %111, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 9), align 1, !nosanitize !0 | |
%112 = bitcast %"struct.std::__1::__libcpp_debug_info"* %12 to i8* | |
%113 = add i64 %19, 4 | |
%114 = inttoptr i64 %113 to i32* | |
store i32 -117901064, i32* %114, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %112) #20 | |
br label %cleanup.done | |
cleanup.done: ; preds = %cleanup.action, %cond.end.cleanup.done_crit_edge | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %__n) | |
%cmp11 = icmp eq i64 %__n, 0 | |
br i1 %cmp11, label %cleanup.done.cond.end17_crit_edge, label %cond.false13 | |
cleanup.done.cond.end17_crit_edge: ; preds = %cleanup.done | |
%115 = load i8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 10), align 1, !nosanitize !0 | |
%116 = add i8 %115, 1 | |
store i8 %116, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 10), align 1, !nosanitize !0 | |
br label %cond.end17 | |
cond.false13: ; preds = %cleanup.done | |
%.not = icmp eq i8* %__s1, null, !nosanitize !0 | |
br i1 %.not, label %handler.nonnull_arg, label %cont14, !prof !5, !nosanitize !0 | |
handler.nonnull_arg: ; preds = %cond.false13 | |
%117 = load i8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 11), align 1, !nosanitize !0 | |
%118 = add i8 %117, 1 | |
store i8 %118, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 11), align 1, !nosanitize !0 | |
call void @__ubsan_handle_nonnull_arg_abort(i8* bitcast ({ { [9 x i8]*, i32, i32 }, { [9 x i8]*, i32, i32 }, i32 }* @118 to i8*)) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont14: ; preds = %cond.false13 | |
%.not25 = icmp eq i8* %__s2, null, !nosanitize !0 | |
br i1 %.not25, label %handler.nonnull_arg15, label %cont16, !prof !5, !nosanitize !0 | |
handler.nonnull_arg15: ; preds = %cont14 | |
%119 = load i8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 12), align 1, !nosanitize !0 | |
%120 = add i8 %119, 1 | |
store i8 %120, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 12), align 1, !nosanitize !0 | |
call void @__ubsan_handle_nonnull_arg_abort(i8* bitcast ({ { [9 x i8]*, i32, i32 }, { [9 x i8]*, i32, i32 }, i32 }* @119 to i8*)) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont16: ; preds = %cont14 | |
%121 = load i8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 13), align 1, !nosanitize !0 | |
%122 = add i8 %121, 1 | |
store i8 %122, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 13), align 1, !nosanitize !0 | |
%123 = call i8* @__asan_memcpy(i8* %__s1, i8* %__s2, i64 %__n) | |
br label %cond.end17 | |
cond.end17: ; preds = %cont16, %cleanup.done.cond.end17_crit_edge | |
store i64 1172321806, i64* %13, align 8 | |
%124 = icmp ne i64 %5, 0 | |
br i1 %124, label %125, label %134 | |
125: ; preds = %cond.end17 | |
%126 = add i64 %19, 0 | |
%127 = inttoptr i64 %126 to i64* | |
store i64 -723401728380766731, i64* %127, align 1 | |
%128 = add i64 %19, 8 | |
%129 = inttoptr i64 %128 to i64* | |
store i64 -723401728380766731, i64* %129, align 1 | |
%130 = add i64 %5, 120 | |
%131 = inttoptr i64 %130 to i64* | |
%132 = load i64, i64* %131, align 8 | |
%133 = inttoptr i64 %132 to i8* | |
store i8 0, i8* %133, align 1 | |
br label %139 | |
134: ; preds = %cond.end17 | |
%135 = add i64 %19, 0 | |
%136 = inttoptr i64 %135 to i64* | |
store i64 0, i64* %136, align 1 | |
%137 = add i64 %19, 8 | |
%138 = inttoptr i64 %137 to i32* | |
store i32 0, i32* %138, align 1 | |
br label %139 | |
139: ; preds = %134, %125 | |
ret i8* %__s1 | |
lpad: ; preds = %104 | |
%140 = landingpad { i8*, i32 } | |
catch i8* null | |
%141 = load i8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 14), align 1, !nosanitize !0 | |
%142 = add i8 %141, 1 | |
store i8 %142, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__sancov_gen_.114, i64 0, i64 14), align 1, !nosanitize !0 | |
%143 = add i64 %19, 4 | |
%144 = inttoptr i64 %143 to i32* | |
store i32 -117901064, i32* %144, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %65) #20 | |
%145 = extractvalue { i8*, i32 } %140, 0 | |
call void @__asan_handle_no_return() | |
call void @__clang_call_terminate(i8* %145) #23 | |
unreachable | |
} | |
declare void @_ZNSt3__111__libcpp_db16__invalidate_allEPv(%"class.std::__1::__libcpp_db"* nonnull align 8 dereferenceable(48), i8*) local_unnamed_addr #0 | |
; Function Attrs: argmemonly mustprogress nofree nounwind readonly willreturn | |
declare i64 @strlen(i8* nocapture) local_unnamed_addr #16 | |
; Function Attrs: mustprogress nounwind optforfuzzing sanitize_address uwtable | |
define linkonce_odr hidden void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__zeroEv(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this) local_unnamed_addr #12 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.116, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.116, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%__words = bitcast %"class.std::__1::basic_string"* %this to [3 x i64]* | |
%8 = ptrtoint %"class.std::__1::basic_string"* %this to i64 | |
br label %for.body | |
for.cond.cleanup: ; preds = %23 | |
%9 = load i8, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.116, i64 0, i64 1), align 1, !nosanitize !0 | |
%10 = add i8 %9, 1 | |
store i8 %10, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.116, i64 0, i64 1), align 1, !nosanitize !0 | |
ret void | |
for.body: ; preds = %cont17.for.body_crit_edge, %7 | |
%__i.024 = phi i32 [ 0, %7 ], [ %inc, %cont17.for.body_crit_edge ] | |
%11 = zext i32 %__i.024 to i64, !nosanitize !0 | |
%12 = shl nuw nsw i64 %11, 3 | |
%13 = add i64 %12, %8, !nosanitize !0 | |
call void @__sanitizer_cov_trace_cmp8(i64 %13, i64 %8) | |
%.not = icmp ult i64 %13, %8, !nosanitize !0 | |
br i1 %.not, label %handler.pointer_overflow, label %cont17, !prof !5, !nosanitize !0 | |
handler.pointer_overflow: ; preds = %for.body | |
%14 = load i8, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.116, i64 0, i64 2), align 1, !nosanitize !0 | |
%15 = add i8 %14, 1 | |
store i8 %15, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.116, i64 0, i64 2), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @122 to i8*), i64 %8, i64 %13) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont17: ; preds = %for.body | |
%arrayidx = getelementptr inbounds [3 x i64], [3 x i64]* %__words, i64 0, i64 %11 | |
%16 = ptrtoint i64* %arrayidx to i64 | |
%17 = lshr i64 %16, 3 | |
%18 = add i64 %17, 2147450880 | |
%19 = inttoptr i64 %18 to i8* | |
%20 = load i8, i8* %19, align 1 | |
%21 = icmp ne i8 %20, 0 | |
br i1 %21, label %22, label %23 | |
22: ; preds = %cont17 | |
call void @__asan_report_store8(i64 %16) #22 | |
unreachable | |
23: ; preds = %cont17 | |
store i64 0, i64* %arrayidx, align 8, !tbaa !55 | |
%inc = add nuw nsw i32 %__i.024, 1 | |
%exitcond.not = icmp eq i32 %inc, 3 | |
br i1 %exitcond.not, label %for.cond.cleanup, label %cont17.for.body_crit_edge, !llvm.loop !57 | |
cont17.for.body_crit_edge: ; preds = %23 | |
%24 = load i8, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.116, i64 0, i64 3), align 1, !nosanitize !0 | |
%25 = add i8 %24, 1 | |
store i8 %25, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__sancov_gen_.116, i64 0, i64 3), align 1, !nosanitize !0 | |
br label %for.body | |
} | |
declare void @_ZNSt3__111__libcpp_db4swapEPvS1_(%"class.std::__1::__libcpp_db"* nonnull align 8 dereferenceable(48), i8*, i8*) local_unnamed_addr #0 | |
; Function Attrs: inlinehint mustprogress optforfuzzing sanitize_address uwtable | |
define linkonce_odr void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this, i8* %__s, i64 %__sz) local_unnamed_addr #7 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.118, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.118, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = bitcast %"class.std::__1::basic_string"* %this to i8*, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 -17, i64 %__sz) | |
%cmp = icmp ugt i64 %__sz, -17 | |
br i1 %cmp, label %cont5, label %if.end | |
cont5: ; preds = %7 | |
%9 = load i8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.118, i64 0, i64 1), align 1, !nosanitize !0 | |
%10 = add i8 %9, 1 | |
store i8 %10, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.118, i64 0, i64 1), align 1, !nosanitize !0 | |
call void @__asan_handle_no_return() #20, !nosanitize !0 | |
call void @_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE20__throw_length_errorEv(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this) #19 | |
call void @__ubsan_handle_builtin_unreachable(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @125 to i8*)) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
if.end: ; preds = %7 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 23, i64 %__sz) | |
%cmp7 = icmp ult i64 %__sz, 23 | |
br i1 %cmp7, label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit, label %cont19 | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit: ; preds = %if.end | |
%11 = load i8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.118, i64 0, i64 2), align 1, !nosanitize !0 | |
%12 = add i8 %11, 1 | |
store i8 %12, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.118, i64 0, i64 2), align 1, !nosanitize !0 | |
%__s.tr.i = trunc i64 %__sz to i8 | |
%conv.i = shl i8 %__s.tr.i, 1 | |
%13 = ptrtoint i8* %8 to i64 | |
%14 = lshr i64 %13, 3 | |
%15 = add i64 %14, 2147450880 | |
%16 = inttoptr i64 %15 to i8* | |
%17 = load i8, i8* %16, align 1 | |
%18 = icmp ne i8 %17, 0 | |
br i1 %18, label %19, label %24, !prof !1 | |
19: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit | |
%20 = and i64 %13, 7 | |
%21 = trunc i64 %20 to i8 | |
%22 = icmp sge i8 %21, %17 | |
br i1 %22, label %23, label %24 | |
23: ; preds = %19 | |
call void @__asan_report_store1(i64 %13) #22 | |
unreachable | |
24: ; preds = %19, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit | |
store i8 %conv.i, i8* %8, align 8, !tbaa !2 | |
%__s.i = bitcast %"class.std::__1::basic_string"* %this to %"struct.std::__1::basic_string<char>::__short"* | |
%arrayidx.i = getelementptr inbounds %"struct.std::__1::basic_string<char>::__short", %"struct.std::__1::basic_string<char>::__short"* %__s.i, i64 0, i32 1, i64 0 | |
br label %if.end28 | |
cont19: ; preds = %if.end | |
%25 = load i8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.118, i64 0, i64 3), align 1, !nosanitize !0 | |
%26 = add i8 %25, 1 | |
store i8 %26, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.118, i64 0, i64 3), align 1, !nosanitize !0 | |
%add.i.i = add i64 %__sz, 16 | |
%and.i.i = and i64 %add.i.i, -16 | |
%call.i6.i.i.i = call nonnull i8* @_Znwm(i64 %and.i.i) #26 | |
%__data_.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 | |
%27 = ptrtoint i8** %__data_.i to i64 | |
%28 = lshr i64 %27, 3 | |
%29 = add i64 %28, 2147450880 | |
%30 = inttoptr i64 %29 to i8* | |
%31 = load i8, i8* %30, align 1 | |
%32 = icmp ne i8 %31, 0 | |
br i1 %32, label %33, label %34 | |
33: ; preds = %cont19 | |
call void @__asan_report_store8(i64 %27) #22 | |
unreachable | |
34: ; preds = %cont19 | |
store i8* %call.i6.i.i.i, i8** %__data_.i, align 8, !tbaa !2 | |
%__cap_.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 | |
%or.i = or i64 %and.i.i, 1 | |
%35 = ptrtoint i64* %__cap_.i to i64 | |
%36 = lshr i64 %35, 3 | |
%37 = add i64 %36, 2147450880 | |
%38 = inttoptr i64 %37 to i8* | |
%39 = load i8, i8* %38, align 1 | |
%40 = icmp ne i8 %39, 0 | |
br i1 %40, label %41, label %42 | |
41: ; preds = %34 | |
call void @__asan_report_store8(i64 %35) #22 | |
unreachable | |
42: ; preds = %34 | |
store i64 %or.i, i64* %__cap_.i, align 8, !tbaa !2 | |
%__size_.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 | |
%43 = ptrtoint i64* %__size_.i to i64 | |
%44 = lshr i64 %43, 3 | |
%45 = add i64 %44, 2147450880 | |
%46 = inttoptr i64 %45 to i8* | |
%47 = load i8, i8* %46, align 1 | |
%48 = icmp ne i8 %47, 0 | |
br i1 %48, label %49, label %50 | |
49: ; preds = %42 | |
call void @__asan_report_store8(i64 %43) #22 | |
unreachable | |
50: ; preds = %42 | |
store i64 %__sz, i64* %__size_.i, align 8, !tbaa !2 | |
br label %if.end28 | |
if.end28: ; preds = %50, %24 | |
%__p.0 = phi i8* [ %call.i6.i.i.i, %50 ], [ %arrayidx.i, %24 ] | |
%call30 = call i8* @_ZNSt3__111char_traitsIcE4copyEPcPKcm(i8* nonnull %__p.0, i8* %__s, i64 %__sz) #21 | |
%51 = ptrtoint i8* %__p.0 to i64, !nosanitize !0 | |
%52 = add i64 %51, %__sz, !nosanitize !0 | |
call void @__sanitizer_cov_trace_cmp8(i64 %52, i64 %51) | |
%.not79 = icmp ult i64 %52, %51, !nosanitize !0 | |
br i1 %.not79, label %handler.pointer_overflow, label %cont33, !prof !5, !nosanitize !0 | |
handler.pointer_overflow: ; preds = %if.end28 | |
%53 = load i8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.118, i64 0, i64 4), align 1, !nosanitize !0 | |
%54 = add i8 %53, 1 | |
store i8 %54, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.118, i64 0, i64 4), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @126 to i8*), i64 %51, i64 %52) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont33: ; preds = %if.end28 | |
%55 = load i8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.118, i64 0, i64 5), align 1, !nosanitize !0 | |
%56 = add i8 %55, 1 | |
store i8 %56, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__sancov_gen_.118, i64 0, i64 5), align 1, !nosanitize !0 | |
%arrayidx = getelementptr inbounds i8, i8* %__p.0, i64 %__sz | |
%57 = ptrtoint i8* %arrayidx to i64 | |
%58 = lshr i64 %57, 3 | |
%59 = add i64 %58, 2147450880 | |
%60 = inttoptr i64 %59 to i8* | |
%61 = load i8, i8* %60, align 1 | |
%62 = icmp ne i8 %61, 0 | |
br i1 %62, label %63, label %68, !prof !1 | |
63: ; preds = %cont33 | |
%64 = and i64 %57, 7 | |
%65 = trunc i64 %64 to i8 | |
%66 = icmp sge i8 %65, %61 | |
br i1 %66, label %67, label %68 | |
67: ; preds = %63 | |
call void @__asan_report_store1(i64 %57) #22 | |
unreachable | |
68: ; preds = %63, %cont33 | |
store i8 0, i8* %arrayidx, align 1, !tbaa !2 | |
ret void | |
} | |
; Function Attrs: inlinehint mustprogress optforfuzzing sanitize_address uwtable | |
define linkonce_odr hidden nonnull align 8 dereferenceable(24) %"class.std::__1::basic_string"* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this, %"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %__str) local_unnamed_addr #7 comdat align 2 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.120, i64 0, i64 0), align 1, !nosanitize !0 | |
%1 = add i8 %0, 1 | |
store i8 %1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.120, i64 0, i64 0), align 1, !nosanitize !0 | |
%2 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%3 = ptrtoint i8* %2 to i64 | |
%4 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%5 = icmp ult i64 %3, %4 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %entry | |
store i64 %3, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %7 | |
7: ; preds = %6, %entry | |
%8 = bitcast %"class.std::__1::basic_string"* %__str to i8*, !nosanitize !0 | |
%9 = ptrtoint i8* %8 to i64 | |
%10 = lshr i64 %9, 3 | |
%11 = add i64 %10, 2147450880 | |
%12 = inttoptr i64 %11 to i8* | |
%13 = load i8, i8* %12, align 1 | |
%14 = icmp ne i8 %13, 0 | |
br i1 %14, label %15, label %20, !prof !1 | |
15: ; preds = %7 | |
%16 = and i64 %9, 7 | |
%17 = trunc i64 %16 to i8 | |
%18 = icmp sge i8 %17, %13 | |
br i1 %18, label %19, label %20 | |
19: ; preds = %15 | |
call void @__asan_report_load1(i64 %9) #22 | |
unreachable | |
20: ; preds = %15, %7 | |
%21 = load i8, i8* %8, align 8, !tbaa !2 | |
%22 = and i8 %21, 1 | |
call void @__sanitizer_cov_trace_const_cmp1(i8 0, i8 %22) | |
%tobool.i.not.i = icmp eq i8 %22, 0 | |
br i1 %tobool.i.not.i, label %cont11.i.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i: ; preds = %20 | |
%23 = load i8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.120, i64 0, i64 1), align 1, !nosanitize !0 | |
%24 = add i8 %23, 1 | |
store i8 %24, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.120, i64 0, i64 1), align 1, !nosanitize !0 | |
%__data_.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %__str, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 | |
%25 = ptrtoint i8** %__data_.i.i to i64 | |
%26 = lshr i64 %25, 3 | |
%27 = add i64 %26, 2147450880 | |
%28 = inttoptr i64 %27 to i8* | |
%29 = load i8, i8* %28, align 1 | |
%30 = icmp ne i8 %29, 0 | |
br i1 %30, label %31, label %32 | |
31: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
call void @__asan_report_load8(i64 %25) #22 | |
unreachable | |
32: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
%33 = load i8*, i8** %__data_.i.i, align 8, !tbaa !2 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i17 | |
cont11.i.i: ; preds = %20 | |
%34 = load i8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.120, i64 0, i64 2), align 1, !nosanitize !0 | |
%35 = add i8 %34, 1 | |
store i8 %35, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.120, i64 0, i64 2), align 1, !nosanitize !0 | |
%__s.i.i = bitcast %"class.std::__1::basic_string"* %__str to %"struct.std::__1::basic_string<char>::__short"* | |
%arrayidx.i.i = getelementptr inbounds %"struct.std::__1::basic_string<char>::__short", %"struct.std::__1::basic_string<char>::__short"* %__s.i.i, i64 0, i32 1, i64 0 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i17 | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i17: ; preds = %cont11.i.i, %32 | |
%cond.i.i = phi i8* [ %33, %32 ], [ %arrayidx.i.i, %cont11.i.i ] | |
br i1 %tobool.i.not.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i17 | |
%36 = load i8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.120, i64 0, i64 3), align 1, !nosanitize !0 | |
%37 = add i8 %36, 1 | |
store i8 %37, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.120, i64 0, i64 3), align 1, !nosanitize !0 | |
%__size_.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %__str, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 | |
%38 = ptrtoint i64* %__size_.i.i to i64 | |
%39 = lshr i64 %38, 3 | |
%40 = add i64 %39, 2147450880 | |
%41 = inttoptr i64 %40 to i8* | |
%42 = load i8, i8* %41, align 1 | |
%43 = icmp ne i8 %42, 0 | |
br i1 %43, label %44, label %45 | |
44: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
call void @__asan_report_load8(i64 %38) #22 | |
unreachable | |
45: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
%46 = load i64, i64* %__size_.i.i, align 8, !tbaa !2 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i17 | |
%47 = load i8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.120, i64 0, i64 4), align 1, !nosanitize !0 | |
%48 = add i8 %47, 1 | |
store i8 %48, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @__sancov_gen_.120, i64 0, i64 4), align 1, !nosanitize !0 | |
%49 = lshr i8 %21, 1 | |
%conv17.i.i = zext i8 %49 to i64 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i, %45 | |
%cond.i = phi i64 [ %46, %45 ], [ %conv17.i.i, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i ] | |
%call9 = call nonnull align 8 dereferenceable(24) %"class.std::__1::basic_string"* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this, i8* %cond.i.i, i64 %cond.i) #19 | |
ret %"class.std::__1::basic_string"* %call9 | |
} | |
; Function Attrs: optforfuzzing sanitize_address uwtable | |
define linkonce_odr nonnull align 8 dereferenceable(24) %"class.std::__1::basic_string"* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this, i8* %__s, i64 %__n) local_unnamed_addr #1 comdat align 2 { | |
entry: | |
%asan_local_stack_base = alloca i64, align 8 | |
%0 = load i32, i32* @__asan_option_detect_stack_use_after_return, align 4 | |
%1 = icmp ne i32 %0, 0 | |
br i1 %1, label %2, label %4 | |
2: ; preds = %entry | |
%3 = call i64 @__asan_stack_malloc_1(i64 96) | |
br label %4 | |
4: ; preds = %2, %entry | |
%5 = phi i64 [ 0, %entry ], [ %3, %2 ] | |
%6 = icmp eq i64 %5, 0 | |
br i1 %6, label %7, label %9 | |
7: ; preds = %4 | |
%MyAlloca = alloca i8, i64 96, align 32 | |
%8 = ptrtoint i8* %MyAlloca to i64 | |
br label %9 | |
9: ; preds = %7, %4 | |
%10 = phi i64 [ %5, %4 ], [ %8, %7 ] | |
store i64 %10, i64* %asan_local_stack_base, align 8 | |
%11 = add i64 %10, 32 | |
%12 = inttoptr i64 %11 to %"struct.std::__1::__libcpp_debug_info"* | |
%13 = inttoptr i64 %10 to i64* | |
store i64 1102416563, i64* %13, align 8 | |
%14 = add i64 %10, 8 | |
%15 = inttoptr i64 %14 to i64* | |
store i64 ptrtoint ([24 x i8]* @___asan_gen_.189 to i64), i64* %15, align 8 | |
%16 = add i64 %10, 16 | |
%17 = inttoptr i64 %16 to i64* | |
store i64 ptrtoint (%"class.std::__1::basic_string"* (%"class.std::__1::basic_string"*, i8*, i64)* @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm to i64), i64* %17, align 8 | |
%18 = lshr i64 %10, 3 | |
%19 = add i64 %18, 2147450880 | |
%20 = add i64 %19, 0 | |
%21 = inttoptr i64 %20 to i64* | |
store i64 -506381209984437775, i64* %21, align 1 | |
%22 = add i64 %19, 8 | |
%23 = inttoptr i64 %22 to i32* | |
store i32 -202116109, i32* %23, align 1 | |
%24 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 0), align 1, !nosanitize !0 | |
%25 = add i8 %24, 1 | |
store i8 %25, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 0), align 1, !nosanitize !0 | |
%26 = call i8* @llvm.frameaddress.p0i8(i32 0) | |
%27 = ptrtoint i8* %26 to i64 | |
%28 = load i64, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
%29 = icmp ult i64 %27, %28 | |
br i1 %29, label %30, label %31 | |
30: ; preds = %9 | |
store i64 %27, i64* @__sancov_lowest_stack, align 8, !nosanitize !0 | |
br label %31 | |
31: ; preds = %30, %9 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %__n) | |
%cmp = icmp eq i64 %__n, 0 | |
br i1 %cmp, label %entry.cond.end_crit_edge, label %lor.lhs.false | |
entry.cond.end_crit_edge: ; preds = %31 | |
%32 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 1), align 1, !nosanitize !0 | |
%33 = add i8 %32, 1 | |
store i8 %33, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 1), align 1, !nosanitize !0 | |
br label %cond.end | |
lor.lhs.false: ; preds = %31 | |
%cmp2.not = icmp eq i8* %__s, null | |
br i1 %cmp2.not, label %cond.false, label %lor.lhs.false.cond.end_crit_edge | |
lor.lhs.false.cond.end_crit_edge: ; preds = %lor.lhs.false | |
%34 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 2), align 1, !nosanitize !0 | |
%35 = add i8 %34, 1 | |
store i8 %35, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 2), align 1, !nosanitize !0 | |
br label %cond.end | |
cond.false: ; preds = %lor.lhs.false | |
%36 = load i8, i8* inttoptr (i64 add (i64 lshr (i64 ptrtoint (void (%"struct.std::__1::__libcpp_debug_info"*)** @_ZNSt3__123__libcpp_debug_functionE to i64), i64 3), i64 2147450880) to i8*), align 1 | |
%37 = icmp ne i8 %36, 0 | |
br i1 %37, label %38, label %39 | |
38: ; preds = %cond.false | |
call void @__asan_report_load8(i64 ptrtoint (void (%"struct.std::__1::__libcpp_debug_info"*)** @_ZNSt3__123__libcpp_debug_functionE to i64)) #22 | |
unreachable | |
39: ; preds = %cond.false | |
%40 = load void (%"struct.std::__1::__libcpp_debug_info"*)*, void (%"struct.std::__1::__libcpp_debug_info"*)** @_ZNSt3__123__libcpp_debug_functionE, align 8, !tbaa !13 | |
%41 = bitcast void (%"struct.std::__1::__libcpp_debug_info"*)* %40 to i32* | |
%42 = load i32, i32* %41, align 4, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp4(i32 846595819, i32 %42) | |
%43 = icmp eq i32 %42, 846595819, !nosanitize !0 | |
br i1 %43, label %typecheck, label %cond.false.cont4_crit_edge, !nosanitize !0 | |
cond.false.cont4_crit_edge: ; preds = %39 | |
%44 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 3), align 1, !nosanitize !0 | |
%45 = add i8 %44, 1 | |
store i8 %45, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 3), align 1, !nosanitize !0 | |
br label %cont4 | |
typecheck: ; preds = %39 | |
%46 = bitcast void (%"struct.std::__1::__libcpp_debug_info"*)* %40 to <{ i32, i32 }>*, !nosanitize !0 | |
%47 = getelementptr <{ i32, i32 }>, <{ i32, i32 }>* %46, i64 0, i32 1, !nosanitize !0 | |
%48 = load i32, i32* %47, align 8, !nosanitize !0 | |
%49 = sext i32 %48 to i64, !nosanitize !0 | |
%func_addr.int = ptrtoint void (%"struct.std::__1::__libcpp_debug_info"*)* %40 to i64, !nosanitize !0 | |
%global_addr.int = add i64 %49, %func_addr.int, !nosanitize !0 | |
%global_addr = inttoptr i64 %global_addr.int to i8**, !nosanitize !0 | |
%decoded_addr = load i8*, i8** %global_addr, align 8, !nosanitize !0 | |
%50 = icmp eq i8* %decoded_addr, bitcast ({ i8*, i8* }* @_ZTIFvRKNSt3__119__libcpp_debug_infoEE to i8*), !nosanitize !0 | |
br i1 %50, label %typecheck.cont4_crit_edge, label %handler.function_type_mismatch, !prof !12, !nosanitize !0 | |
typecheck.cont4_crit_edge: ; preds = %typecheck | |
%51 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 4), align 1, !nosanitize !0 | |
%52 = add i8 %51, 1 | |
store i8 %52, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 4), align 1, !nosanitize !0 | |
br label %cont4 | |
handler.function_type_mismatch: ; preds = %typecheck | |
%53 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 5), align 1, !nosanitize !0 | |
%54 = add i8 %53, 1 | |
store i8 %54, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 5), align 1, !nosanitize !0 | |
%55 = ptrtoint i8* %decoded_addr to i64, !nosanitize !0 | |
call void @__ubsan_handle_function_type_mismatch_v1_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 }, { i16, i16, [45 x i8] }* }* @127 to i8*), i64 %func_addr.int, i64 %55, i64 ptrtoint ({ i8*, i8* }* @_ZTIFvRKNSt3__119__libcpp_debug_infoEE to i64)) #20, !nosanitize !0 | |
br label %cont4, !nosanitize !0 | |
cont4: ; preds = %handler.function_type_mismatch, %typecheck.cont4_crit_edge, %cond.false.cont4_crit_edge | |
%56 = bitcast %"struct.std::__1::__libcpp_debug_info"* %12 to i8* | |
%57 = add i64 %19, 4 | |
%58 = inttoptr i64 %57 to i32* | |
store i32 0, i32* %58, align 1 | |
call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %56) #20 | |
%__file_.i = getelementptr inbounds %"struct.std::__1::__libcpp_debug_info", %"struct.std::__1::__libcpp_debug_info"* %12, i64 0, i32 0 | |
%59 = ptrtoint i8** %__file_.i to i64 | |
%60 = lshr i64 %59, 3 | |
%61 = add i64 %60, 2147450880 | |
%62 = inttoptr i64 %61 to i8* | |
%63 = load i8, i8* %62, align 1 | |
%64 = icmp ne i8 %63, 0 | |
br i1 %64, label %65, label %66 | |
65: ; preds = %cont4 | |
call void @__asan_report_store8(i64 %59) #22 | |
unreachable | |
66: ; preds = %cont4 | |
store i8* getelementptr inbounds ({ [77 x i8], [51 x i8] }, { [77 x i8], [51 x i8] }* @.str.29, i32 0, i32 0, i64 0), i8** %__file_.i, align 8, !tbaa !14 | |
%__line_.i = getelementptr inbounds %"struct.std::__1::__libcpp_debug_info", %"struct.std::__1::__libcpp_debug_info"* %12, i64 0, i32 1 | |
%67 = ptrtoint i32* %__line_.i to i64 | |
%68 = lshr i64 %67, 3 | |
%69 = add i64 %68, 2147450880 | |
%70 = inttoptr i64 %69 to i8* | |
%71 = load i8, i8* %70, align 1 | |
%72 = icmp ne i8 %71, 0 | |
br i1 %72, label %73, label %79, !prof !1 | |
73: ; preds = %66 | |
%74 = and i64 %67, 7 | |
%75 = add i64 %74, 3 | |
%76 = trunc i64 %75 to i8 | |
%77 = icmp sge i8 %76, %71 | |
br i1 %77, label %78, label %79 | |
78: ; preds = %73 | |
call void @__asan_report_store4(i64 %67) #22 | |
unreachable | |
79: ; preds = %73, %66 | |
store i32 2593, i32* %__line_.i, align 8, !tbaa !17 | |
%__pred_.i = getelementptr inbounds %"struct.std::__1::__libcpp_debug_info", %"struct.std::__1::__libcpp_debug_info"* %12, i64 0, i32 2 | |
%80 = ptrtoint i8** %__pred_.i to i64 | |
%81 = lshr i64 %80, 3 | |
%82 = add i64 %81, 2147450880 | |
%83 = inttoptr i64 %82 to i8* | |
%84 = load i8, i8* %83, align 1 | |
%85 = icmp ne i8 %84, 0 | |
br i1 %85, label %86, label %87 | |
86: ; preds = %79 | |
call void @__asan_report_store8(i64 %80) #22 | |
unreachable | |
87: ; preds = %79 | |
store i8* getelementptr inbounds ({ [27 x i8], [37 x i8] }, { [27 x i8], [37 x i8] }* @.str.32, i32 0, i32 0, i64 0), i8** %__pred_.i, align 8, !tbaa !18 | |
%__msg_.i = getelementptr inbounds %"struct.std::__1::__libcpp_debug_info", %"struct.std::__1::__libcpp_debug_info"* %12, i64 0, i32 3 | |
%88 = ptrtoint i8** %__msg_.i to i64 | |
%89 = lshr i64 %88, 3 | |
%90 = add i64 %89, 2147450880 | |
%91 = inttoptr i64 %90 to i8* | |
%92 = load i8, i8* %91, align 1 | |
%93 = icmp ne i8 %92, 0 | |
br i1 %93, label %94, label %95 | |
94: ; preds = %87 | |
call void @__asan_report_store8(i64 %88) #22 | |
unreachable | |
95: ; preds = %87 | |
store i8* getelementptr inbounds ({ [32 x i8], [32 x i8] }, { [32 x i8], [32 x i8] }* @.str.40, i32 0, i32 0, i64 0), i8** %__msg_.i, align 8, !tbaa !19 | |
%96 = ptrtoint void (%"struct.std::__1::__libcpp_debug_info"*)* %40 to i64 | |
call void @__sanitizer_cov_trace_pc_indir(i64 %96) | |
call void %40(%"struct.std::__1::__libcpp_debug_info"* nonnull align 8 dereferenceable(32) %12) #19 | |
br label %cond.end | |
cond.end: ; preds = %95, %lor.lhs.false.cond.end_crit_edge, %entry.cond.end_crit_edge | |
%cleanup.cond.0 = phi i1 [ false, %entry.cond.end_crit_edge ], [ false, %lor.lhs.false.cond.end_crit_edge ], [ true, %95 ] | |
br i1 %cleanup.cond.0, label %cleanup.action, label %cond.end.cleanup.done_crit_edge | |
cond.end.cleanup.done_crit_edge: ; preds = %cond.end | |
%97 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 6), align 1, !nosanitize !0 | |
%98 = add i8 %97, 1 | |
store i8 %98, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 6), align 1, !nosanitize !0 | |
br label %cleanup.done | |
cleanup.action: ; preds = %cond.end | |
%99 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 7), align 1, !nosanitize !0 | |
%100 = add i8 %99, 1 | |
store i8 %100, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 7), align 1, !nosanitize !0 | |
%101 = bitcast %"struct.std::__1::__libcpp_debug_info"* %12 to i8* | |
%102 = add i64 %19, 4 | |
%103 = inttoptr i64 %102 to i32* | |
store i32 -117901064, i32* %103, align 1 | |
call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %101) #20 | |
br label %cleanup.done | |
cleanup.done: ; preds = %cleanup.action, %cond.end.cleanup.done_crit_edge | |
%104 = bitcast %"class.std::__1::basic_string"* %this to i8*, !nosanitize !0 | |
%105 = ptrtoint i8* %104 to i64 | |
%106 = lshr i64 %105, 3 | |
%107 = add i64 %106, 2147450880 | |
%108 = inttoptr i64 %107 to i8* | |
%109 = load i8, i8* %108, align 1 | |
%110 = icmp ne i8 %109, 0 | |
br i1 %110, label %111, label %116, !prof !1 | |
111: ; preds = %cleanup.done | |
%112 = and i64 %105, 7 | |
%113 = trunc i64 %112 to i8 | |
%114 = icmp sge i8 %113, %109 | |
br i1 %114, label %115, label %116 | |
115: ; preds = %111 | |
call void @__asan_report_load1(i64 %105) #22 | |
unreachable | |
116: ; preds = %111, %cleanup.done | |
%117 = load i8, i8* %104, align 8, !tbaa !2 | |
%118 = and i8 %117, 1 | |
call void @__sanitizer_cov_trace_const_cmp1(i8 0, i8 %118) | |
%tobool.i.not.i = icmp eq i8 %118, 0 | |
br i1 %tobool.i.not.i, label %cleanup.done._ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i64_crit_edge, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__get_long_capEv.exit.i | |
cleanup.done._ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i64_crit_edge: ; preds = %116 | |
%119 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 8), align 1, !nosanitize !0 | |
%120 = add i8 %119, 1 | |
store i8 %120, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 8), align 1, !nosanitize !0 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i64 | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__get_long_capEv.exit.i: ; preds = %116 | |
%121 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 9), align 1, !nosanitize !0 | |
%122 = add i8 %121, 1 | |
store i8 %122, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 9), align 1, !nosanitize !0 | |
%__cap_.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 | |
%123 = ptrtoint i64* %__cap_.i.i to i64 | |
%124 = lshr i64 %123, 3 | |
%125 = add i64 %124, 2147450880 | |
%126 = inttoptr i64 %125 to i8* | |
%127 = load i8, i8* %126, align 1 | |
%128 = icmp ne i8 %127, 0 | |
br i1 %128, label %129, label %130 | |
129: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__get_long_capEv.exit.i | |
call void @__asan_report_load8(i64 %123) #22 | |
unreachable | |
130: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__get_long_capEv.exit.i | |
%131 = load i64, i64* %__cap_.i.i, align 8, !tbaa !2 | |
%and.i.i = and i64 %131, -2 | |
%phi.bo.i = add i64 %and.i.i, -1 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i64 | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i64: ; preds = %130, %cleanup.done._ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i64_crit_edge | |
%cond.i = phi i64 [ %phi.bo.i, %130 ], [ 22, %cleanup.done._ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i64_crit_edge ] | |
br i1 %tobool.i.not.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i64 | |
%132 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 10), align 1, !nosanitize !0 | |
%133 = add i8 %132, 1 | |
store i8 %133, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 10), align 1, !nosanitize !0 | |
%__size_.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 | |
%134 = ptrtoint i64* %__size_.i.i to i64 | |
%135 = lshr i64 %134, 3 | |
%136 = add i64 %135, 2147450880 | |
%137 = inttoptr i64 %136 to i8* | |
%138 = load i8, i8* %137, align 1 | |
%139 = icmp ne i8 %138, 0 | |
br i1 %139, label %140, label %141 | |
140: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
call void @__asan_report_load8(i64 %134) #22 | |
unreachable | |
141: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv.exit.i | |
%142 = load i64, i64* %__size_.i.i, align 8, !tbaa !2 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i64 | |
%143 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 11), align 1, !nosanitize !0 | |
%144 = add i8 %143, 1 | |
store i8 %144, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 11), align 1, !nosanitize !0 | |
%145 = lshr i8 %117, 1 | |
%conv17.i.i = zext i8 %145 to i64 | |
br label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i, %141 | |
%cond.i65 = phi i64 [ %142, %141 ], [ %conv17.i.i, %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv.exit.i ] | |
%sub = sub i64 %cond.i, %cond.i65 | |
call void @__sanitizer_cov_trace_cmp8(i64 %sub, i64 %__n) | |
%cmp14.not = icmp ult i64 %sub, %__n | |
br i1 %cmp14.not, label %cont32, label %if.then | |
if.then: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
br i1 %cmp, label %if.then.cont37_crit_edge, label %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i70 | |
if.then.cont37_crit_edge: ; preds = %if.then | |
%146 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 12), align 1, !nosanitize !0 | |
%147 = add i8 %146, 1 | |
store i8 %147, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 12), align 1, !nosanitize !0 | |
br label %cont37 | |
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i70: ; preds = %if.then | |
br i1 %tobool.i.not.i, label %cont11.i19.i, label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i70 | |
%148 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 13), align 1, !nosanitize !0 | |
%149 = add i8 %148, 1 | |
store i8 %149, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 13), align 1, !nosanitize !0 | |
%__data_.i.i = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 | |
%150 = ptrtoint i8** %__data_.i.i to i64 | |
%151 = lshr i64 %150, 3 | |
%152 = add i64 %151, 2147450880 | |
%153 = inttoptr i64 %152 to i8* | |
%154 = load i8, i8* %153, align 1 | |
%155 = icmp ne i8 %154, 0 | |
br i1 %155, label %156, label %157 | |
156: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
call void @__asan_report_load8(i64 %150) #22 | |
unreachable | |
157: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv.exit.i | |
%158 = load i8*, i8** %__data_.i.i, align 8, !tbaa !2 | |
br label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit | |
cont11.i19.i: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv.exit.i70 | |
%159 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 14), align 1, !nosanitize !0 | |
%160 = add i8 %159, 1 | |
store i8 %160, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 14), align 1, !nosanitize !0 | |
%__s.i.i = bitcast %"class.std::__1::basic_string"* %this to %"struct.std::__1::basic_string<char>::__short"* | |
%arrayidx.i.i = getelementptr inbounds %"struct.std::__1::basic_string<char>::__short", %"struct.std::__1::basic_string<char>::__short"* %__s.i.i, i64 0, i32 1, i64 0 | |
br label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit: ; preds = %cont11.i19.i, %157 | |
%cond.i73 = phi i8* [ %158, %157 ], [ %arrayidx.i.i, %cont11.i19.i ] | |
%161 = ptrtoint i8* %cond.i73 to i64, !nosanitize !0 | |
%162 = add i64 %cond.i65, %161, !nosanitize !0 | |
%163 = icmp ne i8* %cond.i73, null, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %162) | |
%164 = icmp eq i64 %162, 0, !nosanitize !0 | |
%165 = xor i1 %163, %164 | |
call void @__sanitizer_cov_trace_cmp8(i64 %162, i64 %161) | |
%166 = icmp uge i64 %162, %161, !nosanitize !0 | |
%167 = and i1 %166, %165, !nosanitize !0 | |
br i1 %167, label %cont20, label %handler.pointer_overflow, !prof !12, !nosanitize !0 | |
handler.pointer_overflow: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit | |
%168 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 15), align 1, !nosanitize !0 | |
%169 = add i8 %168, 1 | |
store i8 %169, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 15), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @128 to i8*), i64 %161, i64 %162) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont20: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv.exit | |
%add.ptr = getelementptr inbounds i8, i8* %cond.i73, i64 %cond.i65 | |
%call21 = call i8* @_ZNSt3__111char_traitsIcE4copyEPcPKcm(i8* %add.ptr, i8* %__s, i64 %__n) #21 | |
%add = add i64 %cond.i65, %__n | |
%170 = ptrtoint i8* %104 to i64 | |
%171 = lshr i64 %170, 3 | |
%172 = add i64 %171, 2147450880 | |
%173 = inttoptr i64 %172 to i8* | |
%174 = load i8, i8* %173, align 1 | |
%175 = icmp ne i8 %174, 0 | |
br i1 %175, label %176, label %181, !prof !1 | |
176: ; preds = %cont20 | |
%177 = and i64 %170, 7 | |
%178 = trunc i64 %177 to i8 | |
%179 = icmp sge i8 %178, %174 | |
br i1 %179, label %180, label %181 | |
180: ; preds = %176 | |
call void @__asan_report_load1(i64 %170) #22 | |
unreachable | |
181: ; preds = %176, %cont20 | |
%182 = load i8, i8* %104, align 8, !tbaa !2 | |
%183 = and i8 %182, 1 | |
call void @__sanitizer_cov_trace_const_cmp1(i8 0, i8 %183) | |
%tobool.i.not.i77 = icmp eq i8 %183, 0 | |
br i1 %tobool.i.not.i77, label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit.i, label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__set_long_sizeEm.exit.i | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__set_long_sizeEm.exit.i: ; preds = %181 | |
%184 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 16), align 1, !nosanitize !0 | |
%185 = add i8 %184, 1 | |
store i8 %185, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 16), align 1, !nosanitize !0 | |
%__size_.i.i79 = getelementptr inbounds %"class.std::__1::basic_string", %"class.std::__1::basic_string"* %this, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 | |
%186 = ptrtoint i64* %__size_.i.i79 to i64 | |
%187 = lshr i64 %186, 3 | |
%188 = add i64 %187, 2147450880 | |
%189 = inttoptr i64 %188 to i8* | |
%190 = load i8, i8* %189, align 1 | |
%191 = icmp ne i8 %190, 0 | |
br i1 %191, label %192, label %193 | |
192: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__set_long_sizeEm.exit.i | |
call void @__asan_report_store8(i64 %186) #22 | |
unreachable | |
193: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__set_long_sizeEm.exit.i | |
store i64 %add, i64* %__size_.i.i79, align 8, !tbaa !2 | |
br label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__set_sizeEm.exit | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit.i: ; preds = %181 | |
%194 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 17), align 1, !nosanitize !0 | |
%195 = add i8 %194, 1 | |
store i8 %195, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 17), align 1, !nosanitize !0 | |
%__s.tr.i.i = trunc i64 %add to i8 | |
%conv.i.i = shl i8 %__s.tr.i.i, 1 | |
%196 = ptrtoint i8* %104 to i64 | |
%197 = lshr i64 %196, 3 | |
%198 = add i64 %197, 2147450880 | |
%199 = inttoptr i64 %198 to i8* | |
%200 = load i8, i8* %199, align 1 | |
%201 = icmp ne i8 %200, 0 | |
br i1 %201, label %202, label %207, !prof !1 | |
202: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit.i | |
%203 = and i64 %196, 7 | |
%204 = trunc i64 %203 to i8 | |
%205 = icmp sge i8 %204, %200 | |
br i1 %205, label %206, label %207 | |
206: ; preds = %202 | |
call void @__asan_report_store1(i64 %196) #22 | |
unreachable | |
207: ; preds = %202, %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm.exit.i | |
store i8 %conv.i.i, i8* %104, align 8, !tbaa !2 | |
br label %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__set_sizeEm.exit | |
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__set_sizeEm.exit: ; preds = %207, %193 | |
%arrayidx = getelementptr inbounds i8, i8* %cond.i73, i64 %add | |
%208 = add i64 %add, %161, !nosanitize !0 | |
call void @__sanitizer_cov_trace_const_cmp8(i64 0, i64 %208) | |
%209 = icmp eq i64 %208, 0, !nosanitize !0 | |
%210 = xor i1 %163, %209 | |
call void @__sanitizer_cov_trace_cmp8(i64 %208, i64 %161) | |
%211 = icmp uge i64 %208, %161, !nosanitize !0 | |
%212 = and i1 %211, %210, !nosanitize !0 | |
br i1 %212, label %cont25, label %handler.pointer_overflow24, !prof !12, !nosanitize !0 | |
handler.pointer_overflow24: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__set_sizeEm.exit | |
%213 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 18), align 1, !nosanitize !0 | |
%214 = add i8 %213, 1 | |
store i8 %214, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 18), align 1, !nosanitize !0 | |
call void @__ubsan_handle_pointer_overflow_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 } }* @129 to i8*), i64 %161, i64 %208) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont25: ; preds = %_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__set_sizeEm.exit | |
br i1 %163, label %cont27, label %handler.type_mismatch26, !prof !12, !nosanitize !0 | |
handler.type_mismatch26: ; preds = %cont25 | |
%215 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 19), align 1, !nosanitize !0 | |
%216 = add i8 %215, 1 | |
store i8 %216, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 19), align 1, !nosanitize !0 | |
%217 = ptrtoint i8* %arrayidx to i64, !nosanitize !0 | |
call void @__ubsan_handle_type_mismatch_v1_abort(i8* bitcast ({ { [7 x i8]*, i32, i32 }, { i16, i16, [51 x i8] }*, i8, i8 }* @130 to i8*), i64 %217) #23, !nosanitize !0 | |
unreachable, !nosanitize !0 | |
cont27: ; preds = %cont25 | |
%218 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 20), align 1, !nosanitize !0 | |
%219 = add i8 %218, 1 | |
store i8 %219, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 20), align 1, !nosanitize !0 | |
%220 = ptrtoint i8* %arrayidx to i64 | |
%221 = lshr i64 %220, 3 | |
%222 = add i64 %221, 2147450880 | |
%223 = inttoptr i64 %222 to i8* | |
%224 = load i8, i8* %223, align 1 | |
%225 = icmp ne i8 %224, 0 | |
br i1 %225, label %226, label %231, !prof !1 | |
226: ; preds = %cont27 | |
%227 = and i64 %220, 7 | |
%228 = trunc i64 %227 to i8 | |
%229 = icmp sge i8 %228, %224 | |
br i1 %229, label %230, label %231 | |
230: ; preds = %226 | |
call void @__asan_report_store1(i64 %220) #22 | |
unreachable | |
231: ; preds = %226, %cont27 | |
store i8 0, i8* %arrayidx, align 1, !tbaa !2 | |
br label %cont37 | |
cont32: ; preds = %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv.exit | |
%232 = load i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 21), align 1, !nosanitize !0 | |
%233 = add i8 %232, 1 | |
store i8 %233, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @__sancov_gen_.122, i64 0, i64 21), align 1, !nosanitize !0 | |
%add33 = add i64 %cond.i65, %__n | |
%sub34 = sub i64 %add33, %cond.i | |
call void @_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc(%"class.std::__1::basic_string"* nonnull align 8 dereferenceable(24) %this, i64 %cond.i, i64 %sub34, i64 %cond.i65, i64 %cond.i65, i64 0, i64 %__n, i8* %__s) #19 | |
br label %cont37 | |
cont37: ; preds = %cont32, %231, %if.then.cont37_crit_edge | |
store i64 1172321806, i64* %13, align 8 | |
%234 = icmp ne i64 %5, 0 | |
br i1 %234, label %235, label %244 | |
235: ; preds = %cont37 | |
%236 = add i64 %19, 0 | |
%237 = inttoptr i64 %236 to i64* | |
store i64 -723401728380766731, i64* %237, align 1 | |
%238 = add i64 %19, 8 | |
%239 = inttoptr i64 %238 to i64* | |
store i64 -723401728380766731, i64* %239, align 1 | |
%240 = add i64 %5, 120 | |
%241 = inttoptr i64 %240 to i64* | |
%242 = load i64, i64* %241, align 8 | |
%243 = inttoptr i64 %242 to i8* | |
store i8 0, i8* %243, align 1 | |
br label %249 | |
244: ; preds = %cont37 | |
%245 = add i64 %19, 0 | |
%246 = inttoptr i64 %245 to i64* | |
store i64 0, i64* %246, align 1 | |
%247 = add i64 %19, 8 | |
%248 = inttoptr i64 %247 to i32* | |
store i32 0, i32* %248, align 1 | |
br label %249 | |
249: ; preds = %244, %235 | |
ret %"class.std::__1::basic_string"* %this | |
} | |
declare void @__sanitizer_cov_trace_pc_indir(i64) | |
declare void @__sanitizer_cov_trace_cmp8(i64, i64) | |
declare void @__sanitizer_cov_trace_const_cmp1(i8 zeroext, i8 zeroext) | |
declare void @__sanitizer_cov_trace_const_cmp4(i32 zeroext, i32 zeroext) | |
declare void @__sanitizer_cov_trace_const_cmp8(i64, i64) | |
; Function Attrs: nofree nosync nounwind readnone willreturn | |
declare i8* @llvm.frameaddress.p0i8(i32 immarg) #17 | |
declare void @__sanitizer_cov_8bit_counters_init(i8*, i8*) | |
; Function Attrs: nounwind uwtable | |
define internal void @sancov.module_ctor_8bit_counters() #18 comdat { | |
call void @__sanitizer_cov_8bit_counters_init(i8* @__start___sancov_cntrs, i8* @__stop___sancov_cntrs) | |
call void @__sanitizer_cov_pcs_init(i64* @__start___sancov_pcs, i64* @__stop___sancov_pcs) | |
ret void | |
} | |
declare void @__sanitizer_cov_pcs_init(i64*, i64*) | |
declare void @__asan_register_globals(i64, i64) | |
declare void @__asan_unregister_globals(i64, i64) | |
declare void @__asan_init() | |
; Function Attrs: nounwind uwtable | |
define internal void @asan.module_ctor() #18 { | |
call void @__asan_init() | |
call void @__asan_version_mismatch_check_v8() | |
call void @__asan_register_globals(i64 ptrtoint ([25 x { i64, i64, i64, i64, i64, i64, i64, i64 }]* @131 to i64), i64 25) | |
ret void | |
} | |
declare void @__asan_version_mismatch_check_v8() | |
; Function Attrs: nounwind uwtable | |
define internal void @asan.module_dtor() #18 { | |
call void @__asan_unregister_globals(i64 ptrtoint ([25 x { i64, i64, i64, i64, i64, i64, i64, i64 }]* @131 to i64), i64 25) | |
ret void | |
} | |
declare void @__asan_report_load1(i64) | |
declare void @__asan_report_load4(i64) | |
declare void @__asan_report_load8(i64) | |
declare void @__asan_report_store1(i64) | |
declare void @__asan_report_store4(i64) | |
declare void @__asan_report_store8(i64) | |
declare i8* @__asan_memmove(i8*, i8*, i64) | |
declare i8* @__asan_memcpy(i8*, i8*, i64) | |
declare i8* @__asan_memset(i8*, i32, i64) | |
declare i64 @__asan_stack_malloc_1(i64) | |
declare i64 @__asan_stack_malloc_3(i64) | |
declare void @__asan_set_shadow_f5(i64, i64) | |
attributes #0 = { "disable-tail-calls"="true" "frame-pointer"="all" "no-builtin-bcmp" "no-builtin-memcmp" "no-builtin-strcasecmp" "no-builtin-strcmp" "no-builtin-strncasecmp" "no-builtin-strncmp" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } | |
attributes #1 = { optforfuzzing sanitize_address uwtable "disable-tail-calls"="true" "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtin-bcmp" "no-builtin-memcmp" "no-builtin-strcasecmp" "no-builtin-strcmp" "no-builtin-strncasecmp" "no-builtin-strncmp" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } | |
attributes #2 = { noreturn nounwind uwtable } | |
attributes #3 = { argmemonly nofree nosync nounwind willreturn } | |
attributes #4 = { inlinehint optforfuzzing sanitize_address uwtable "disable-tail-calls"="true" "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtin-bcmp" "no-builtin-memcmp" "no-builtin-strcasecmp" "no-builtin-strcmp" "no-builtin-strncasecmp" "no-builtin-strncmp" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } | |
attributes #5 = { inlinehint nounwind optforfuzzing sanitize_address uwtable "disable-tail-calls"="true" "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtin-bcmp" "no-builtin-memcmp" "no-builtin-strcasecmp" "no-builtin-strcmp" "no-builtin-strncasecmp" "no-builtin-strncmp" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } | |
attributes #6 = { nounwind optforfuzzing sanitize_address uwtable "disable-tail-calls"="true" "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtin-bcmp" "no-builtin-memcmp" "no-builtin-strcasecmp" "no-builtin-strcmp" "no-builtin-strncasecmp" "no-builtin-strncmp" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } | |
attributes #7 = { inlinehint mustprogress optforfuzzing sanitize_address uwtable "disable-tail-calls"="true" "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtin-bcmp" "no-builtin-memcmp" "no-builtin-strcasecmp" "no-builtin-strcmp" "no-builtin-strncasecmp" "no-builtin-strncmp" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } | |
attributes #8 = { mustprogress optforfuzzing sanitize_address uwtable "disable-tail-calls"="true" "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtin-bcmp" "no-builtin-memcmp" "no-builtin-strcasecmp" "no-builtin-strcmp" "no-builtin-strncasecmp" "no-builtin-strncmp" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } | |
attributes #9 = { nounwind "disable-tail-calls"="true" "frame-pointer"="all" "no-builtin-bcmp" "no-builtin-memcmp" "no-builtin-strcasecmp" "no-builtin-strcmp" "no-builtin-strncasecmp" "no-builtin-strncmp" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } | |
attributes #10 = { nobuiltin allocsize(0) "disable-tail-calls"="true" "frame-pointer"="all" "no-builtin-bcmp" "no-builtin-memcmp" "no-builtin-strcasecmp" "no-builtin-strcmp" "no-builtin-strncasecmp" "no-builtin-strncmp" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } | |
attributes #11 = { nobuiltin nounwind "disable-tail-calls"="true" "frame-pointer"="all" "no-builtin-bcmp" "no-builtin-memcmp" "no-builtin-strcasecmp" "no-builtin-strcmp" "no-builtin-strncasecmp" "no-builtin-strncmp" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } | |
attributes #12 = { mustprogress nounwind optforfuzzing sanitize_address uwtable "disable-tail-calls"="true" "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtin-bcmp" "no-builtin-memcmp" "no-builtin-strcasecmp" "no-builtin-strcmp" "no-builtin-strncasecmp" "no-builtin-strncmp" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } | |
attributes #13 = { noinline noreturn nounwind } | |
attributes #14 = { cold noreturn nounwind } | |
attributes #15 = { uwtable } | |
attributes #16 = { argmemonly mustprogress nofree nounwind readonly willreturn "disable-tail-calls"="true" "frame-pointer"="all" "no-builtin-bcmp" "no-builtin-memcmp" "no-builtin-strcasecmp" "no-builtin-strcmp" "no-builtin-strncasecmp" "no-builtin-strncmp" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } | |
attributes #17 = { nofree nosync nounwind readnone willreturn } | |
attributes #18 = { nounwind uwtable "frame-pointer"="all" } | |
attributes #19 = { "no-builtin-bcmp" "no-builtin-memcmp" "no-builtin-strcasecmp" "no-builtin-strcmp" "no-builtin-strncasecmp" "no-builtin-strncmp" "no-builtin-strstr" } | |
attributes #20 = { nounwind } | |
attributes #21 = { nounwind "no-builtin-bcmp" "no-builtin-memcmp" "no-builtin-strcasecmp" "no-builtin-strcmp" "no-builtin-strncasecmp" "no-builtin-strncmp" "no-builtin-strstr" } | |
attributes #22 = { nomerge } | |
attributes #23 = { noreturn nounwind } | |
attributes #24 = { nobuiltin nounwind "no-builtin-bcmp" "no-builtin-memcmp" "no-builtin-strcasecmp" "no-builtin-strcmp" "no-builtin-strncasecmp" "no-builtin-strncmp" "no-builtin-strstr" } | |
attributes #25 = { builtin nounwind "no-builtin-bcmp" "no-builtin-memcmp" "no-builtin-strcasecmp" "no-builtin-strcmp" "no-builtin-strncasecmp" "no-builtin-strncmp" "no-builtin-strstr" } | |
attributes #26 = { builtin allocsize(0) "no-builtin-bcmp" "no-builtin-memcmp" "no-builtin-strcasecmp" "no-builtin-strcmp" "no-builtin-strncasecmp" "no-builtin-strncmp" "no-builtin-strstr" } | |
attributes #27 = { noreturn } | |
!0 = !{} | |
!1 = !{!"branch_weights", i32 1, i32 100000} | |
!2 = !{!3, !3, i64 0} | |
!3 = !{!"omnipotent char", !4, i64 0} | |
!4 = !{!"Simple C++ TBAA"} | |
!5 = !{!"branch_weights", i32 1, i32 1048575} | |
!6 = !{!7, !8, i64 0} | |
!7 = !{!"_ZTSN4llvm5ErrorE", !8, i64 0} | |
!8 = !{!"any pointer", !3, i64 0} | |
!9 = distinct !{!9, !10, !11} | |
!10 = !{!"llvm.loop.mustprogress"} | |
!11 = !{!"llvm.loop.unroll.disable"} | |
!12 = !{!"branch_weights", i32 1048575, i32 1} | |
!13 = !{!8, !8, i64 0} | |
!14 = !{!15, !8, i64 0} | |
!15 = !{!"_ZTSNSt3__119__libcpp_debug_infoE", !8, i64 0, !16, i64 8, !8, i64 16, !8, i64 24} | |
!16 = !{!"int", !3, i64 0} | |
!17 = !{!15, !16, i64 8} | |
!18 = !{!15, !8, i64 16} | |
!19 = !{!15, !8, i64 24} | |
!20 = !{!21, !21, i64 0} | |
!21 = !{!"bool", !3, i64 0} | |
!22 = !{!23, !24, i64 0} | |
!23 = !{!"_ZTSN4llvm20RISCVAttributeParser14DisplayHandlerE", !24, i64 0, !3, i64 8} | |
!24 = !{!"_ZTSN4llvm10RISCVAttrs8AttrTypeE", !3, i64 0} | |
!25 = !{!23, !3, i64 8} | |
!26 = distinct !{!26, !10, !11} | |
!27 = !{!28, !28, i64 0} | |
!28 = !{!"vtable pointer", !4, i64 0} | |
!29 = !{!30} | |
!30 = distinct !{!30, !31, !"_ZN4llvm13DataExtractor6Cursor9takeErrorEv: %agg.result"} | |
!31 = distinct !{!31, !"_ZN4llvm13DataExtractor6Cursor9takeErrorEv"} | |
!32 = distinct !{!32, !10, !11} | |
!33 = !{!34, !8, i64 8} | |
!34 = !{!"_ZTSNSt3__18__c_nodeE", !8, i64 8, !8, i64 16, !8, i64 24, !8, i64 32, !8, i64 40} | |
!35 = !{!34, !8, i64 16} | |
!36 = !{!37, !8, i64 0} | |
!37 = !{!"_ZTSNSt3__111__wrap_iterIPKcEE", !8, i64 0} | |
!38 = !{!39, !8, i64 0} | |
!39 = !{!"_ZTSNSt3__116__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEE", !8, i64 0} | |
!40 = !{!34, !8, i64 32} | |
!41 = !{!34, !8, i64 24} | |
!42 = !{!43, !8, i64 0} | |
!43 = !{!"_ZTSNSt3__18__i_nodeE", !8, i64 0, !8, i64 8, !8, i64 16} | |
!44 = !{!45, !8, i64 0} | |
!45 = !{!"_ZTSNSt3__115__hash_iteratorIPNS_11__hash_nodeINS_17__hash_value_typeIjN4llvm9StringRefEEEPvEEEE", !8, i64 0} | |
!46 = !{!43, !8, i64 16} | |
!47 = distinct !{!47, !10, !11} | |
!48 = distinct !{!48, !10, !11} | |
!49 = !{!50, !8, i64 0} | |
!50 = !{!"_ZTSNSt3__116__hash_node_baseIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEE", !8, i64 0} | |
!51 = !{!52, !8, i64 0} | |
!52 = !{!"_ZTSNSt3__115__hash_iteratorIPNS_11__hash_nodeINS_17__hash_value_typeIjjEEPvEEEE", !8, i64 0} | |
!53 = distinct !{!53, !10, !11} | |
!54 = distinct !{!54, !10, !11} | |
!55 = !{!56, !56, i64 0} | |
!56 = !{!"long", !3, i64 0} | |
!57 = distinct !{!57, !10, !11} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment