Created
December 23, 2018 03:17
-
-
Save mkeeter/2523e534436d63264a3aff15b2ee4c06 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 = 'main.cpp' | |
source_filename = "main.cpp" | |
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-apple-macosx10.13.0" | |
%"class.std::__1::unordered_set" = 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.9", %"class.std::__1::__compressed_pair.11", [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.9" = type { %"struct.std::__1::__compressed_pair_elem.2" } | |
%"class.std::__1::__compressed_pair.11" = type { %"struct.std::__1::__compressed_pair_elem.12" } | |
%"struct.std::__1::__compressed_pair_elem.12" = type { float } | |
%"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* } | |
@.str = private unnamed_addr constant [25 x i8] c"%ld %ld %ld %ld %ld %ld\0A\00", align 1 | |
@.str.2 = private unnamed_addr constant [13 x i8] c"Part 1: %ld\0A\00", align 1 | |
@.str.3 = private unnamed_addr constant [13 x i8] c"Part 2: %ld\0A\00", align 1 | |
@.str.4 = private unnamed_addr constant [68 x i8] c"allocator<T>::allocate(size_t n) 'n' exceeds maximum supported size\00", align 1 | |
@_ZTISt12length_error = external constant i8* | |
@_ZTVSt12length_error = external unnamed_addr constant { [5 x i8*] }, align 8 | |
; Function Attrs: nounwind ssp uwtable | |
define void @_Z9printRegsPl(i64* nocapture readonly) local_unnamed_addr #0 { | |
%2 = load i64, i64* %0, align 8, !tbaa !3 | |
%3 = getelementptr inbounds i64, i64* %0, i64 1 | |
%4 = load i64, i64* %3, align 8, !tbaa !3 | |
%5 = getelementptr inbounds i64, i64* %0, i64 2 | |
%6 = load i64, i64* %5, align 8, !tbaa !3 | |
%7 = getelementptr inbounds i64, i64* %0, i64 3 | |
%8 = load i64, i64* %7, align 8, !tbaa !3 | |
%9 = getelementptr inbounds i64, i64* %0, i64 4 | |
%10 = load i64, i64* %9, align 8, !tbaa !3 | |
%11 = getelementptr inbounds i64, i64* %0, i64 5 | |
%12 = load i64, i64* %11, align 8, !tbaa !3 | |
%13 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str, i64 0, i64 0), i64 %2, i64 %4, i64 %6, i64 %8, i64 %10, i64 %12) | |
ret void | |
} | |
; Function Attrs: nounwind | |
declare i32 @printf(i8* nocapture readonly, ...) local_unnamed_addr #1 | |
; Function Attrs: norecurse ssp uwtable | |
define i32 @main(i32, i8** nocapture readonly) local_unnamed_addr #2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | |
%3 = alloca [6 x i64], align 16 | |
%4 = alloca %"class.std::__1::unordered_set", align 8 | |
%5 = bitcast [6 x i64]* %3 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 48, i8* nonnull %5) #11 | |
call void @llvm.memset.p0i8.i64(i8* nonnull %5, i8 0, i64 48, i32 16, i1 false) | |
%6 = icmp sgt i32 %0, 6 | |
%7 = add nsw i32 %0, -1 | |
%8 = select i1 %6, i32 6, i32 %7 | |
%9 = icmp sgt i32 %8, 0 | |
br i1 %9, label %10, label %12 | |
; <label>:10: ; preds = %2 | |
%11 = zext i32 %8 to i64 | |
br label %29 | |
; <label>:12: ; preds = %29, %2 | |
%13 = bitcast %"class.std::__1::unordered_set"* %4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 40, i8* nonnull %13) #11 | |
%14 = getelementptr inbounds %"class.std::__1::unordered_set", %"class.std::__1::unordered_set"* %4, i64 0, i32 0, i32 3, i32 0, i32 0 | |
call void @llvm.memset.p0i8.i64(i8* nonnull %13, i8 0, i64 32, i32 8, i1 false) | |
store float 1.000000e+00, float* %14, align 8, !tbaa !7 | |
%15 = getelementptr inbounds [6 x i64], [6 x i64]* %3, i64 0, i64 5 | |
store i64 0, i64* %15, align 8, !tbaa !3 | |
%16 = getelementptr inbounds [6 x i64], [6 x i64]* %3, i64 0, i64 3 | |
%17 = getelementptr inbounds [6 x i64], [6 x i64]* %3, i64 0, i64 1 | |
%18 = getelementptr inbounds [6 x i64], [6 x i64]* %3, i64 0, i64 0 | |
%19 = getelementptr inbounds [6 x i64], [6 x i64]* %3, i64 0, i64 4 | |
%20 = getelementptr inbounds %"class.std::__1::unordered_set", %"class.std::__1::unordered_set"* %4, i64 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0 | |
%21 = getelementptr inbounds %"class.std::__1::unordered_set", %"class.std::__1::unordered_set"* %4, i64 0, i32 0 | |
%22 = getelementptr inbounds %"class.std::__1::unordered_set", %"class.std::__1::unordered_set"* %4, i64 0, i32 0, i32 2, i32 0, i32 0 | |
%23 = getelementptr inbounds %"class.std::__1::unordered_set", %"class.std::__1::unordered_set"* %4, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0 | |
%24 = getelementptr inbounds %"class.std::__1::unordered_set", %"class.std::__1::unordered_set"* %4, i64 0, i32 0, i32 1, i32 0, i32 0 | |
%25 = bitcast %"struct.std::__1::__hash_node_base"* %24 to i64* | |
%26 = bitcast %"struct.std::__1::__hash_node_base"* %24 to i8** | |
%27 = load i64, i64* %18, align 16 | |
%28 = load i64, i64* %19, align 16, !tbaa !3 | |
br label %43 | |
; <label>:29: ; preds = %29, %10 | |
%30 = phi i64 [ 0, %10 ], [ %31, %29 ] | |
%31 = add nuw nsw i64 %30, 1 | |
%32 = getelementptr inbounds i8*, i8** %1, i64 %31 | |
%33 = load i8*, i8** %32, align 8, !tbaa !10 | |
%34 = tail call i32 @atoi(i8* %33) | |
%35 = sext i32 %34 to i64 | |
%36 = getelementptr inbounds [6 x i64], [6 x i64]* %3, i64 0, i64 %30 | |
store i64 %35, i64* %36, align 8, !tbaa !3 | |
%37 = icmp eq i64 %31, %11 | |
br i1 %37, label %12, label %29 | |
; <label>:38: ; preds = %213 | |
%39 = landingpad { i8*, i32 } | |
cleanup | |
%40 = zext i1 %75 to i64 | |
store i64 %73, i64* %16, align 8, !tbaa !3 | |
store i64 %74, i64* %15, align 8, !tbaa !3 | |
store i64 %40, i64* %17, align 8, !tbaa !3 | |
store i64 %72, i64* %19, align 16, !tbaa !3 | |
br label %323 | |
; <label>:41: ; preds = %150 | |
%42 = landingpad { i8*, i32 } | |
cleanup | |
br label %323 | |
; <label>:43: ; preds = %300, %12 | |
%44 = phi i64 [ %28, %12 ], [ %72, %300 ] | |
%45 = phi i64 [ 0, %12 ], [ %301, %300 ] | |
%46 = phi i64 [ 0, %12 ], [ %74, %300 ] | |
%47 = phi i64 [ -1, %12 ], [ %74, %300 ] | |
%48 = or i64 %46, 65536 | |
%49 = and i64 %46, 255 | |
%50 = mul nuw nsw i64 %49, 65899 | |
%51 = add nuw nsw i64 %50, 3486102 | |
%52 = and i64 %51, 16777215 | |
%53 = icmp slt i64 %48, 256 | |
br i1 %53, label %71, label %54 | |
; <label>:54: ; preds = %43 | |
br label %55 | |
; <label>:55: ; preds = %54, %64 | |
%56 = phi i64 [ %69, %64 ], [ %52, %54 ] | |
%57 = phi i64 [ %59, %64 ], [ %48, %54 ] | |
br label %58 | |
; <label>:58: ; preds = %58, %55 | |
%59 = phi i64 [ 0, %55 ], [ %63, %58 ] | |
%60 = shl i64 %59, 8 | |
%61 = add i64 %60, 256 | |
%62 = icmp sgt i64 %61, %57 | |
%63 = add nuw nsw i64 %59, 1 | |
br i1 %62, label %64, label %58 | |
; <label>:64: ; preds = %58 | |
%65 = and i64 %59, 255 | |
%66 = add nuw nsw i64 %56, %65 | |
%67 = and i64 %66, 16777215 | |
%68 = mul nuw nsw i64 %67, 65899 | |
%69 = and i64 %68, 16777215 | |
%70 = icmp ult i64 %59, 256 | |
br i1 %70, label %71, label %55 | |
; <label>:71: ; preds = %64, %43 | |
%72 = phi i64 [ %44, %43 ], [ 1, %64 ] | |
%73 = phi i64 [ %48, %43 ], [ %59, %64 ] | |
%74 = phi i64 [ %52, %43 ], [ %69, %64 ] | |
%75 = icmp eq i64 %74, %27 | |
%76 = icmp eq i64 %47, -1 | |
br i1 %76, label %77, label %80 | |
; <label>:77: ; preds = %71 | |
%78 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i64 %74) | |
%79 = load i64, i64* %20, align 8, !tbaa !3 | |
br label %80 | |
; <label>:80: ; preds = %77, %71 | |
%81 = phi i64 [ %79, %77 ], [ %45, %71 ] | |
%82 = icmp eq i64 %81, 0 | |
br i1 %82, label %213, label %83 | |
; <label>:83: ; preds = %80 | |
%84 = add i64 %81, -1 | |
%85 = and i64 %84, %81 | |
%86 = icmp eq i64 %85, 0 | |
br i1 %86, label %87, label %89 | |
; <label>:87: ; preds = %83 | |
%88 = and i64 %84, %74 | |
br label %93 | |
; <label>:89: ; preds = %83 | |
%90 = icmp ult i64 %74, %81 | |
br i1 %90, label %93, label %91 | |
; <label>:91: ; preds = %89 | |
%92 = urem i64 %74, %81 | |
br label %93 | |
; <label>:93: ; preds = %91, %89, %87 | |
%94 = phi i64 [ %88, %87 ], [ %92, %91 ], [ %74, %89 ] | |
%95 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %23, align 8, !tbaa !10 | |
%96 = getelementptr inbounds %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %95, i64 %94 | |
%97 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %96, align 8, !tbaa !10 | |
%98 = icmp eq %"struct.std::__1::__hash_node_base"* %97, null | |
br i1 %98, label %154, label %99 | |
; <label>:99: ; preds = %93 | |
%100 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %97, i64 0, i32 0 | |
%101 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %100, align 8, !tbaa !12 | |
%102 = icmp eq %"struct.std::__1::__hash_node_base"* %101, null | |
br i1 %102, label %154, label %103 | |
; <label>:103: ; preds = %99 | |
br i1 %86, label %105, label %104 | |
; <label>:104: ; preds = %103 | |
br label %124 | |
; <label>:105: ; preds = %103 | |
br label %106 | |
; <label>:106: ; preds = %105, %120 | |
%107 = phi %"struct.std::__1::__hash_node_base"* [ %122, %120 ], [ %101, %105 ] | |
%108 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %107, i64 1 | |
%109 = bitcast %"struct.std::__1::__hash_node_base"* %108 to i64* | |
%110 = load i64, i64* %109, align 8, !tbaa !14 | |
%111 = icmp eq i64 %110, %74 | |
br i1 %111, label %115, label %112 | |
; <label>:112: ; preds = %106 | |
%113 = and i64 %110, %84 | |
%114 = icmp eq i64 %113, %94 | |
br i1 %114, label %120, label %154 | |
; <label>:115: ; preds = %106 | |
%116 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %107, i64 2 | |
%117 = bitcast %"struct.std::__1::__hash_node_base"* %116 to i64* | |
%118 = load i64, i64* %117, align 8, !tbaa !3 | |
%119 = icmp eq i64 %118, %74 | |
br i1 %119, label %146, label %120 | |
; <label>:120: ; preds = %115, %112 | |
%121 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %107, i64 0, i32 0 | |
%122 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %121, align 8, !tbaa !12 | |
%123 = icmp eq %"struct.std::__1::__hash_node_base"* %122, null | |
br i1 %123, label %154, label %106 | |
; <label>:124: ; preds = %104, %142 | |
%125 = phi %"struct.std::__1::__hash_node_base"* [ %144, %142 ], [ %101, %104 ] | |
%126 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %125, i64 1 | |
%127 = bitcast %"struct.std::__1::__hash_node_base"* %126 to i64* | |
%128 = load i64, i64* %127, align 8, !tbaa !14 | |
%129 = icmp eq i64 %128, %74 | |
br i1 %129, label %137, label %130 | |
; <label>:130: ; preds = %124 | |
%131 = icmp ult i64 %128, %81 | |
br i1 %131, label %134, label %132 | |
; <label>:132: ; preds = %130 | |
%133 = urem i64 %128, %81 | |
br label %134 | |
; <label>:134: ; preds = %132, %130 | |
%135 = phi i64 [ %133, %132 ], [ %128, %130 ] | |
%136 = icmp eq i64 %135, %94 | |
br i1 %136, label %142, label %154 | |
; <label>:137: ; preds = %124 | |
%138 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %125, i64 2 | |
%139 = bitcast %"struct.std::__1::__hash_node_base"* %138 to i64* | |
%140 = load i64, i64* %139, align 8, !tbaa !3 | |
%141 = icmp eq i64 %140, %74 | |
br i1 %141, label %148, label %142 | |
; <label>:142: ; preds = %137, %134 | |
%143 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %125, i64 0, i32 0 | |
%144 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %143, align 8, !tbaa !12 | |
%145 = icmp eq %"struct.std::__1::__hash_node_base"* %144, null | |
br i1 %145, label %154, label %124 | |
; <label>:146: ; preds = %115 | |
%147 = zext i1 %75 to i64 | |
br label %150 | |
; <label>:148: ; preds = %137 | |
%149 = zext i1 %75 to i64 | |
br label %150 | |
; <label>:150: ; preds = %148, %146 | |
%151 = phi i64 [ %149, %148 ], [ %147, %146 ] | |
store i64 %73, i64* %16, align 8, !tbaa !3 | |
store i64 %74, i64* %15, align 8, !tbaa !3 | |
store i64 %151, i64* %17, align 8, !tbaa !3 | |
store i64 %72, i64* %19, align 16, !tbaa !3 | |
%152 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.3, i64 0, i64 0), i64 %47) | |
invoke void @exit(i32 0) #12 | |
to label %153 unwind label %41 | |
; <label>:153: ; preds = %150 | |
unreachable | |
; <label>:154: ; preds = %142, %134, %120, %112, %99, %93 | |
br i1 %86, label %155, label %157 | |
; <label>:155: ; preds = %154 | |
%156 = and i64 %84, %74 | |
br label %161 | |
; <label>:157: ; preds = %154 | |
%158 = icmp ult i64 %74, %81 | |
br i1 %158, label %161, label %159 | |
; <label>:159: ; preds = %157 | |
%160 = urem i64 %74, %81 | |
br label %161 | |
; <label>:161: ; preds = %159, %157, %155 | |
%162 = phi i64 [ %156, %155 ], [ %160, %159 ], [ %74, %157 ] | |
%163 = getelementptr inbounds %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %95, i64 %162 | |
%164 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %163, align 8, !tbaa !10 | |
%165 = icmp eq %"struct.std::__1::__hash_node_base"* %164, null | |
br i1 %165, label %213, label %166 | |
; <label>:166: ; preds = %161 | |
%167 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %164, i64 0, i32 0 | |
%168 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %167, align 8, !tbaa !12 | |
%169 = icmp eq %"struct.std::__1::__hash_node_base"* %168, null | |
br i1 %169, label %213, label %170 | |
; <label>:170: ; preds = %166 | |
br i1 %86, label %172, label %171 | |
; <label>:171: ; preds = %170 | |
br label %195 | |
; <label>:172: ; preds = %170 | |
br label %173 | |
; <label>:173: ; preds = %172, %182 | |
%174 = phi %"struct.std::__1::__hash_node_base"* [ %184, %182 ], [ %168, %172 ] | |
%175 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %174, i64 1 | |
%176 = bitcast %"struct.std::__1::__hash_node_base"* %175 to i64* | |
%177 = load i64, i64* %176, align 8, !tbaa !14 | |
%178 = icmp eq i64 %177, %74 | |
%179 = and i64 %177, %84 | |
%180 = icmp eq i64 %179, %162 | |
%181 = or i1 %178, %180 | |
br i1 %181, label %186, label %213 | |
; <label>:182: ; preds = %186 | |
%183 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %174, i64 0, i32 0 | |
%184 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %183, align 8, !tbaa !12 | |
%185 = icmp eq %"struct.std::__1::__hash_node_base"* %184, null | |
br i1 %185, label %213, label %173 | |
; <label>:186: ; preds = %173 | |
%187 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %174, i64 2 | |
%188 = bitcast %"struct.std::__1::__hash_node_base"* %187 to i64* | |
%189 = load i64, i64* %188, align 8, !tbaa !3 | |
%190 = icmp eq i64 %189, %74 | |
br i1 %190, label %300, label %182 | |
; <label>:191: ; preds = %208 | |
%192 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %196, i64 0, i32 0 | |
%193 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %192, align 8, !tbaa !12 | |
%194 = icmp eq %"struct.std::__1::__hash_node_base"* %193, null | |
br i1 %194, label %213, label %195 | |
; <label>:195: ; preds = %171, %191 | |
%196 = phi %"struct.std::__1::__hash_node_base"* [ %193, %191 ], [ %168, %171 ] | |
%197 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %196, i64 1 | |
%198 = bitcast %"struct.std::__1::__hash_node_base"* %197 to i64* | |
%199 = load i64, i64* %198, align 8, !tbaa !14 | |
%200 = icmp eq i64 %199, %74 | |
br i1 %200, label %208, label %201 | |
; <label>:201: ; preds = %195 | |
%202 = icmp ult i64 %199, %81 | |
br i1 %202, label %205, label %203 | |
; <label>:203: ; preds = %201 | |
%204 = urem i64 %199, %81 | |
br label %205 | |
; <label>:205: ; preds = %203, %201 | |
%206 = phi i64 [ %204, %203 ], [ %199, %201 ] | |
%207 = icmp eq i64 %206, %162 | |
br i1 %207, label %208, label %213 | |
; <label>:208: ; preds = %205, %195 | |
%209 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %196, i64 2 | |
%210 = bitcast %"struct.std::__1::__hash_node_base"* %209 to i64* | |
%211 = load i64, i64* %210, align 8, !tbaa !3 | |
%212 = icmp eq i64 %211, %74 | |
br i1 %212, label %300, label %191 | |
; <label>:213: ; preds = %205, %191, %182, %173, %80, %166, %161 | |
%214 = phi i64 [ %162, %161 ], [ %162, %166 ], [ undef, %80 ], [ %162, %173 ], [ %162, %182 ], [ %162, %191 ], [ %162, %205 ] | |
%215 = invoke i8* @_Znwm(i64 24) #13 | |
to label %216 unwind label %38 | |
; <label>:216: ; preds = %213 | |
%217 = getelementptr inbounds i8, i8* %215, i64 16 | |
%218 = bitcast i8* %217 to i64* | |
store i64 %74, i64* %218, align 8, !tbaa !3, !noalias !16 | |
%219 = getelementptr inbounds i8, i8* %215, i64 8 | |
%220 = bitcast i8* %219 to i64* | |
store i64 %74, i64* %220, align 8, !tbaa !14, !noalias !16 | |
%221 = bitcast i8* %215 to %"struct.std::__1::__hash_node_base"** | |
store %"struct.std::__1::__hash_node_base"* null, %"struct.std::__1::__hash_node_base"** %221, align 8, !tbaa !12, !noalias !16 | |
%222 = load i64, i64* %22, align 8, !tbaa !3 | |
%223 = add i64 %222, 1 | |
%224 = uitofp i64 %223 to float | |
%225 = uitofp i64 %81 to float | |
%226 = load float, float* %14, align 8, !tbaa !19 | |
%227 = fmul float %226, %225 | |
%228 = fcmp olt float %227, %224 | |
%229 = or i1 %82, %228 | |
br i1 %229, label %230, label %257 | |
; <label>:230: ; preds = %216 | |
%231 = shl i64 %81, 1 | |
%232 = icmp ugt i64 %81, 2 | |
br i1 %232, label %233, label %238 | |
; <label>:233: ; preds = %230 | |
%234 = add i64 %81, -1 | |
%235 = and i64 %234, %81 | |
%236 = icmp ne i64 %235, 0 | |
%237 = zext i1 %236 to i64 | |
br label %238 | |
; <label>:238: ; preds = %233, %230 | |
%239 = phi i64 [ 1, %230 ], [ %237, %233 ] | |
%240 = or i64 %239, %231 | |
%241 = fdiv float %224, %226 | |
%242 = call float @llvm.ceil.f32(float %241) #11 | |
%243 = fptoui float %242 to i64 | |
%244 = icmp ult i64 %240, %243 | |
%245 = select i1 %244, i64 %243, i64 %240 | |
invoke void @_ZNSt3__112__hash_tableIlNS_4hashIlEENS_8equal_toIlEENS_9allocatorIlEEE6rehashEm(%"class.std::__1::__hash_table"* nonnull %21, i64 %245) | |
to label %246 unwind label %297 | |
; <label>:246: ; preds = %238 | |
%247 = load i64, i64* %20, align 8, !tbaa !3 | |
%248 = add i64 %247, -1 | |
%249 = and i64 %248, %247 | |
%250 = icmp eq i64 %249, 0 | |
br i1 %250, label %251, label %253 | |
; <label>:251: ; preds = %246 | |
%252 = and i64 %248, %74 | |
br label %257 | |
; <label>:253: ; preds = %246 | |
%254 = icmp ult i64 %74, %247 | |
br i1 %254, label %257, label %255 | |
; <label>:255: ; preds = %253 | |
%256 = urem i64 %74, %247 | |
br label %257 | |
; <label>:257: ; preds = %255, %253, %251, %216 | |
%258 = phi i64 [ %214, %216 ], [ %252, %251 ], [ %256, %255 ], [ %74, %253 ] | |
%259 = phi i64 [ %81, %216 ], [ %247, %251 ], [ %247, %255 ], [ %247, %253 ] | |
%260 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %23, align 8, !tbaa !10 | |
%261 = getelementptr inbounds %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %260, i64 %258 | |
%262 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %261, align 8, !tbaa !10 | |
%263 = icmp eq %"struct.std::__1::__hash_node_base"* %262, null | |
br i1 %263, label %264, label %287 | |
; <label>:264: ; preds = %257 | |
%265 = load i64, i64* %25, align 8, !tbaa !12 | |
%266 = bitcast i8* %215 to i64* | |
store i64 %265, i64* %266, align 8, !tbaa !12 | |
store i8* %215, i8** %26, align 8, !tbaa !12 | |
store %"struct.std::__1::__hash_node_base"* %24, %"struct.std::__1::__hash_node_base"** %261, align 8, !tbaa !10 | |
%267 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %221, align 8, !tbaa !12 | |
%268 = icmp eq %"struct.std::__1::__hash_node_base"* %267, null | |
br i1 %268, label %294, label %269 | |
; <label>:269: ; preds = %264 | |
%270 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %267, i64 1 | |
%271 = bitcast %"struct.std::__1::__hash_node_base"* %270 to i64* | |
%272 = load i64, i64* %271, align 8, !tbaa !14 | |
%273 = add i64 %259, -1 | |
%274 = and i64 %273, %259 | |
%275 = icmp eq i64 %274, 0 | |
br i1 %275, label %276, label %278 | |
; <label>:276: ; preds = %269 | |
%277 = and i64 %272, %273 | |
br label %282 | |
; <label>:278: ; preds = %269 | |
%279 = icmp ult i64 %272, %259 | |
br i1 %279, label %282, label %280 | |
; <label>:280: ; preds = %278 | |
%281 = urem i64 %272, %259 | |
br label %282 | |
; <label>:282: ; preds = %280, %278, %276 | |
%283 = phi i64 [ %277, %276 ], [ %281, %280 ], [ %272, %278 ] | |
%284 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %23, align 8, !tbaa !10 | |
%285 = getelementptr inbounds %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %284, i64 %283 | |
%286 = bitcast %"struct.std::__1::__hash_node_base"** %285 to i8** | |
br label %292 | |
; <label>:287: ; preds = %257 | |
%288 = bitcast %"struct.std::__1::__hash_node_base"* %262 to i64* | |
%289 = load i64, i64* %288, align 8, !tbaa !12 | |
%290 = bitcast i8* %215 to i64* | |
store i64 %289, i64* %290, align 8, !tbaa !12 | |
%291 = bitcast %"struct.std::__1::__hash_node_base"* %262 to i8** | |
br label %292 | |
; <label>:292: ; preds = %282, %287 | |
%293 = phi i8** [ %291, %287 ], [ %286, %282 ] | |
store i8* %215, i8** %293, align 8, !tbaa !10 | |
br label %294 | |
; <label>:294: ; preds = %292, %264 | |
%295 = load i64, i64* %22, align 8, !tbaa !3 | |
%296 = add i64 %295, 1 | |
store i64 %296, i64* %22, align 8, !tbaa !3 | |
br label %300 | |
; <label>:297: ; preds = %238 | |
%298 = landingpad { i8*, i32 } | |
cleanup | |
%299 = zext i1 %75 to i64 | |
store i64 %73, i64* %16, align 8, !tbaa !3 | |
store i64 %74, i64* %15, align 8, !tbaa !3 | |
store i64 %299, i64* %17, align 8, !tbaa !3 | |
store i64 %72, i64* %19, align 16, !tbaa !3 | |
call void @_ZdlPv(i8* nonnull %215) #14 | |
br label %323 | |
; <label>:300: ; preds = %208, %186, %294 | |
%301 = phi i64 [ %259, %294 ], [ %81, %186 ], [ %81, %208 ] | |
br i1 %75, label %302, label %43 | |
; <label>:302: ; preds = %300 | |
%303 = zext i1 %75 to i64 | |
store i64 %73, i64* %16, align 8, !tbaa !3 | |
store i64 %74, i64* %15, align 8, !tbaa !3 | |
store i64 %303, i64* %17, align 8, !tbaa !3 | |
store i64 %72, i64* %19, align 16, !tbaa !3 | |
%304 = zext i1 %75 to i64 | |
%305 = getelementptr inbounds [6 x i64], [6 x i64]* %3, i64 0, i64 2 | |
store i64 29, i64* %305, align 16, !tbaa !3 | |
%306 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str, i64 0, i64 0), i64 %74, i64 %304, i64 29, i64 %73, i64 %72, i64 %74) #11 | |
%307 = getelementptr inbounds %"class.std::__1::unordered_set", %"class.std::__1::unordered_set"* %4, i64 0, i32 0, i32 1, i32 0, i32 0, i32 0 | |
%308 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %307, align 8, !tbaa !12 | |
%309 = icmp eq %"struct.std::__1::__hash_node_base"* %308, null | |
br i1 %309, label %317, label %310 | |
; <label>:310: ; preds = %302 | |
br label %311 | |
; <label>:311: ; preds = %310, %311 | |
%312 = phi %"struct.std::__1::__hash_node_base"* [ %314, %311 ], [ %308, %310 ] | |
%313 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %312, i64 0, i32 0 | |
%314 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %313, align 8, !tbaa !12 | |
%315 = bitcast %"struct.std::__1::__hash_node_base"* %312 to i8* | |
call void @_ZdlPv(i8* %315) #14 | |
%316 = icmp eq %"struct.std::__1::__hash_node_base"* %314, null | |
br i1 %316, label %317, label %311 | |
; <label>:317: ; preds = %311, %302 | |
%318 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %23, align 8, !tbaa !10 | |
store %"struct.std::__1::__hash_node_base"** null, %"struct.std::__1::__hash_node_base"*** %23, align 8, !tbaa !10 | |
%319 = icmp eq %"struct.std::__1::__hash_node_base"** %318, null | |
br i1 %319, label %322, label %320 | |
; <label>:320: ; preds = %317 | |
%321 = bitcast %"struct.std::__1::__hash_node_base"** %318 to i8* | |
call void @_ZdlPv(i8* %321) #14 | |
br label %322 | |
; <label>:322: ; preds = %317, %320 | |
call void @llvm.lifetime.end.p0i8(i64 40, i8* nonnull %13) #11 | |
call void @llvm.lifetime.end.p0i8(i64 48, i8* nonnull %5) #11 | |
ret i32 0 | |
; <label>:323: ; preds = %38, %41, %297 | |
%324 = phi { i8*, i32 } [ %298, %297 ], [ %39, %38 ], [ %42, %41 ] | |
%325 = getelementptr inbounds %"class.std::__1::unordered_set", %"class.std::__1::unordered_set"* %4, i64 0, i32 0, i32 1, i32 0, i32 0, i32 0 | |
%326 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %325, align 8, !tbaa !12 | |
%327 = icmp eq %"struct.std::__1::__hash_node_base"* %326, null | |
br i1 %327, label %335, label %328 | |
; <label>:328: ; preds = %323 | |
br label %329 | |
; <label>:329: ; preds = %328, %329 | |
%330 = phi %"struct.std::__1::__hash_node_base"* [ %332, %329 ], [ %326, %328 ] | |
%331 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %330, i64 0, i32 0 | |
%332 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %331, align 8, !tbaa !12 | |
%333 = bitcast %"struct.std::__1::__hash_node_base"* %330 to i8* | |
call void @_ZdlPv(i8* %333) #14 | |
%334 = icmp eq %"struct.std::__1::__hash_node_base"* %332, null | |
br i1 %334, label %335, label %329 | |
; <label>:335: ; preds = %329, %323 | |
%336 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %23, align 8, !tbaa !10 | |
store %"struct.std::__1::__hash_node_base"** null, %"struct.std::__1::__hash_node_base"*** %23, align 8, !tbaa !10 | |
%337 = icmp eq %"struct.std::__1::__hash_node_base"** %336, null | |
br i1 %337, label %340, label %338 | |
; <label>:338: ; preds = %335 | |
%339 = bitcast %"struct.std::__1::__hash_node_base"** %336 to i8* | |
call void @_ZdlPv(i8* %339) #14 | |
br label %340 | |
; <label>:340: ; preds = %338, %335 | |
call void @llvm.lifetime.end.p0i8(i64 40, i8* nonnull %13) #11 | |
call void @llvm.lifetime.end.p0i8(i64 48, i8* nonnull %5) #11 | |
resume { i8*, i32 } %324 | |
} | |
; Function Attrs: argmemonly nounwind | |
declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #3 | |
; Function Attrs: argmemonly nounwind | |
declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i32, i1) #3 | |
; Function Attrs: nounwind readonly | |
declare i32 @atoi(i8* nocapture) local_unnamed_addr #4 | |
; Function Attrs: argmemonly nounwind | |
declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #3 | |
declare i32 @__gxx_personality_v0(...) | |
; Function Attrs: noreturn | |
declare void @exit(i32) local_unnamed_addr #5 | |
; Function Attrs: nobuiltin nounwind | |
declare void @_ZdlPv(i8*) local_unnamed_addr #6 | |
; Function Attrs: ssp uwtable | |
define linkonce_odr void @_ZNSt3__112__hash_tableIlNS_4hashIlEENS_8equal_toIlEENS_9allocatorIlEEE6rehashEm(%"class.std::__1::__hash_table"*, i64) local_unnamed_addr #7 align 2 { | |
%3 = icmp eq i64 %1, 1 | |
br i1 %3, label %10, label %4 | |
; <label>:4: ; preds = %2 | |
%5 = add i64 %1, -1 | |
%6 = and i64 %5, %1 | |
%7 = icmp eq i64 %6, 0 | |
br i1 %7, label %10, label %8 | |
; <label>:8: ; preds = %4 | |
%9 = tail call i64 @_ZNSt3__112__next_primeEm(i64 %1) | |
br label %10 | |
; <label>:10: ; preds = %2, %4, %8 | |
%11 = phi i64 [ %1, %4 ], [ %9, %8 ], [ 2, %2 ] | |
%12 = getelementptr inbounds %"class.std::__1::__hash_table", %"class.std::__1::__hash_table"* %0, i64 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0 | |
%13 = load i64, i64* %12, align 8, !tbaa !3 | |
%14 = icmp ugt i64 %11, %13 | |
br i1 %14, label %15, label %16 | |
; <label>:15: ; preds = %10 | |
tail call void @_ZNSt3__112__hash_tableIlNS_4hashIlEENS_8equal_toIlEENS_9allocatorIlEEE8__rehashEm(%"class.std::__1::__hash_table"* nonnull %0, i64 %11) | |
br label %49 | |
; <label>:16: ; preds = %10 | |
%17 = icmp ult i64 %11, %13 | |
br i1 %17, label %18, label %49 | |
; <label>:18: ; preds = %16 | |
%19 = icmp ugt i64 %13, 2 | |
br i1 %19, label %20, label %24 | |
; <label>:20: ; preds = %18 | |
%21 = add i64 %13, -1 | |
%22 = and i64 %21, %13 | |
%23 = icmp eq i64 %22, 0 | |
br label %24 | |
; <label>:24: ; preds = %18, %20 | |
%25 = phi i1 [ false, %18 ], [ %23, %20 ] | |
%26 = getelementptr inbounds %"class.std::__1::__hash_table", %"class.std::__1::__hash_table"* %0, i64 0, i32 2, i32 0, i32 0 | |
%27 = load i64, i64* %26, align 8, !tbaa !3 | |
%28 = uitofp i64 %27 to float | |
%29 = getelementptr inbounds %"class.std::__1::__hash_table", %"class.std::__1::__hash_table"* %0, i64 0, i32 3, i32 0, i32 0 | |
%30 = load float, float* %29, align 4, !tbaa !19 | |
%31 = fdiv float %28, %30 | |
%32 = tail call float @llvm.ceil.f32(float %31) #11 | |
%33 = fptoui float %32 to i64 | |
br i1 %25, label %34, label %41 | |
; <label>:34: ; preds = %24 | |
%35 = icmp ult i64 %33, 2 | |
br i1 %35, label %43, label %36 | |
; <label>:36: ; preds = %34 | |
%37 = add i64 %33, -1 | |
%38 = tail call i64 @llvm.ctlz.i64(i64 %37, i1 true) #11, !range !20 | |
%39 = sub nsw i64 64, %38 | |
%40 = shl i64 1, %39 | |
br label %43 | |
; <label>:41: ; preds = %24 | |
%42 = tail call i64 @_ZNSt3__112__next_primeEm(i64 %33) | |
br label %43 | |
; <label>:43: ; preds = %36, %34, %41 | |
%44 = phi i64 [ %42, %41 ], [ %40, %36 ], [ %33, %34 ] | |
%45 = icmp ult i64 %11, %44 | |
%46 = select i1 %45, i64 %44, i64 %11 | |
%47 = icmp ult i64 %46, %13 | |
br i1 %47, label %48, label %49 | |
; <label>:48: ; preds = %43 | |
tail call void @_ZNSt3__112__hash_tableIlNS_4hashIlEENS_8equal_toIlEENS_9allocatorIlEEE8__rehashEm(%"class.std::__1::__hash_table"* nonnull %0, i64 %46) | |
br label %49 | |
; <label>:49: ; preds = %16, %48, %43, %15 | |
ret void | |
} | |
declare i8* @__cxa_allocate_exception(i64) local_unnamed_addr | |
declare void @__cxa_free_exception(i8*) local_unnamed_addr | |
; Function Attrs: nounwind | |
declare void @_ZNSt12length_errorD1Ev(%"class.std::length_error"*) unnamed_addr #1 | |
declare void @__cxa_throw(i8*, i8*, i8*) local_unnamed_addr | |
declare void @_ZNSt11logic_errorC2EPKc(%"class.std::logic_error"*, i8*) unnamed_addr #8 | |
; Function Attrs: nobuiltin | |
declare noalias nonnull i8* @_Znwm(i64) local_unnamed_addr #9 | |
declare i64 @_ZNSt3__112__next_primeEm(i64) local_unnamed_addr #8 | |
; Function Attrs: ssp uwtable | |
define linkonce_odr void @_ZNSt3__112__hash_tableIlNS_4hashIlEENS_8equal_toIlEENS_9allocatorIlEEE8__rehashEm(%"class.std::__1::__hash_table"*, i64) local_unnamed_addr #7 align 2 personality i32 (...)* @__gxx_personality_v0 { | |
%3 = icmp ne i64 %1, 0 | |
br i1 %3, label %4, label %17 | |
; <label>:4: ; preds = %2 | |
%5 = icmp ugt i64 %1, 2305843009213693951 | |
br i1 %5, label %6, label %13 | |
; <label>:6: ; preds = %4 | |
%7 = tail call i8* @__cxa_allocate_exception(i64 16) #11 | |
%8 = bitcast i8* %7 to %"class.std::logic_error"* | |
invoke void @_ZNSt11logic_errorC2EPKc(%"class.std::logic_error"* %8, i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.4, i64 0, i64 0)) | |
to label %9 unwind label %11 | |
; <label>:9: ; preds = %6 | |
%10 = bitcast i8* %7 to i32 (...)*** | |
store i32 (...)** bitcast (i8** getelementptr inbounds ({ [5 x i8*] }, { [5 x i8*] }* @_ZTVSt12length_error, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %10, align 8, !tbaa !21 | |
tail call void @__cxa_throw(i8* %7, i8* bitcast (i8** @_ZTISt12length_error to i8*), i8* bitcast (void (%"class.std::length_error"*)* @_ZNSt12length_errorD1Ev to i8*)) #12 | |
unreachable | |
; <label>:11: ; preds = %6 | |
%12 = landingpad { i8*, i32 } | |
cleanup | |
tail call void @__cxa_free_exception(i8* %7) #11 | |
resume { i8*, i32 } %12 | |
; <label>:13: ; preds = %4 | |
%14 = shl i64 %1, 3 | |
%15 = tail call i8* @_Znwm(i64 %14) #13 | |
%16 = bitcast i8* %15 to %"struct.std::__1::__hash_node_base"** | |
br label %17 | |
; <label>:17: ; preds = %2, %13 | |
%18 = phi %"struct.std::__1::__hash_node_base"** [ %16, %13 ], [ null, %2 ] | |
%19 = getelementptr inbounds %"class.std::__1::__hash_table", %"class.std::__1::__hash_table"* %0, i64 0, i32 0, i32 0, i32 0, i32 0 | |
%20 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %19, align 8, !tbaa !10 | |
store %"struct.std::__1::__hash_node_base"** %18, %"struct.std::__1::__hash_node_base"*** %19, align 8, !tbaa !10 | |
%21 = icmp eq %"struct.std::__1::__hash_node_base"** %20, null | |
br i1 %21, label %24, label %22 | |
; <label>:22: ; preds = %17 | |
%23 = bitcast %"struct.std::__1::__hash_node_base"** %20 to i8* | |
tail call void @_ZdlPv(i8* %23) #14 | |
br label %24 | |
; <label>:24: ; preds = %17, %22 | |
%25 = getelementptr inbounds %"class.std::__1::__hash_table", %"class.std::__1::__hash_table"* %0, i64 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0 | |
store i64 %1, i64* %25, align 8, !tbaa !3 | |
br i1 %3, label %26, label %201 | |
; <label>:26: ; preds = %24 | |
%27 = add i64 %1, -1 | |
%28 = and i64 %1, 3 | |
%29 = icmp ult i64 %27, 3 | |
br i1 %29, label %32, label %30 | |
; <label>:30: ; preds = %26 | |
%31 = sub i64 %1, %28 | |
br label %49 | |
; <label>:32: ; preds = %49, %26 | |
%33 = phi i64 [ 0, %26 ], [ %63, %49 ] | |
%34 = icmp eq i64 %28, 0 | |
br i1 %34, label %44, label %35 | |
; <label>:35: ; preds = %32 | |
br label %36 | |
; <label>:36: ; preds = %36, %35 | |
%37 = phi i64 [ %41, %36 ], [ %33, %35 ] | |
%38 = phi i64 [ %42, %36 ], [ %28, %35 ] | |
%39 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %19, align 8, !tbaa !10 | |
%40 = getelementptr inbounds %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %39, i64 %37 | |
store %"struct.std::__1::__hash_node_base"* null, %"struct.std::__1::__hash_node_base"** %40, align 8, !tbaa !10 | |
%41 = add nuw i64 %37, 1 | |
%42 = add i64 %38, -1 | |
%43 = icmp eq i64 %42, 0 | |
br i1 %43, label %44, label %36, !llvm.loop !23 | |
; <label>:44: ; preds = %36, %32 | |
%45 = getelementptr inbounds %"class.std::__1::__hash_table", %"class.std::__1::__hash_table"* %0, i64 0, i32 1, i32 0, i32 0 | |
%46 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %45, i64 0, i32 0 | |
%47 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %46, align 8, !tbaa !12 | |
%48 = icmp eq %"struct.std::__1::__hash_node_base"* %47, null | |
br i1 %48, label %201, label %66 | |
; <label>:49: ; preds = %49, %30 | |
%50 = phi i64 [ 0, %30 ], [ %63, %49 ] | |
%51 = phi i64 [ %31, %30 ], [ %64, %49 ] | |
%52 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %19, align 8, !tbaa !10 | |
%53 = getelementptr inbounds %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %52, i64 %50 | |
store %"struct.std::__1::__hash_node_base"* null, %"struct.std::__1::__hash_node_base"** %53, align 8, !tbaa !10 | |
%54 = or i64 %50, 1 | |
%55 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %19, align 8, !tbaa !10 | |
%56 = getelementptr inbounds %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %55, i64 %54 | |
store %"struct.std::__1::__hash_node_base"* null, %"struct.std::__1::__hash_node_base"** %56, align 8, !tbaa !10 | |
%57 = or i64 %50, 2 | |
%58 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %19, align 8, !tbaa !10 | |
%59 = getelementptr inbounds %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %58, i64 %57 | |
store %"struct.std::__1::__hash_node_base"* null, %"struct.std::__1::__hash_node_base"** %59, align 8, !tbaa !10 | |
%60 = or i64 %50, 3 | |
%61 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %19, align 8, !tbaa !10 | |
%62 = getelementptr inbounds %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %61, i64 %60 | |
store %"struct.std::__1::__hash_node_base"* null, %"struct.std::__1::__hash_node_base"** %62, align 8, !tbaa !10 | |
%63 = add i64 %50, 4 | |
%64 = add i64 %51, -4 | |
%65 = icmp eq i64 %64, 0 | |
br i1 %65, label %32, label %49 | |
; <label>:66: ; preds = %44 | |
%67 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %47, i64 1 | |
%68 = bitcast %"struct.std::__1::__hash_node_base"* %67 to i64* | |
%69 = load i64, i64* %68, align 8, !tbaa !14 | |
%70 = add i64 %1, -1 | |
%71 = and i64 %70, %1 | |
%72 = icmp eq i64 %71, 0 | |
br i1 %72, label %73, label %75 | |
; <label>:73: ; preds = %66 | |
%74 = and i64 %69, %70 | |
br label %79 | |
; <label>:75: ; preds = %66 | |
%76 = icmp ult i64 %69, %1 | |
br i1 %76, label %79, label %77 | |
; <label>:77: ; preds = %75 | |
%78 = urem i64 %69, %1 | |
br label %79 | |
; <label>:79: ; preds = %73, %75, %77 | |
%80 = phi i64 [ %74, %73 ], [ %78, %77 ], [ %69, %75 ] | |
%81 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %19, align 8, !tbaa !10 | |
%82 = getelementptr inbounds %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %81, i64 %80 | |
store %"struct.std::__1::__hash_node_base"* %45, %"struct.std::__1::__hash_node_base"** %82, align 8, !tbaa !10 | |
%83 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %47, i64 0, i32 0 | |
%84 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %83, align 8, !tbaa !12 | |
%85 = icmp eq %"struct.std::__1::__hash_node_base"* %84, null | |
br i1 %85, label %201, label %86 | |
; <label>:86: ; preds = %79 | |
br i1 %72, label %88, label %87 | |
; <label>:87: ; preds = %86 | |
br label %143 | |
; <label>:88: ; preds = %86 | |
br label %89 | |
; <label>:89: ; preds = %88, %133 | |
%90 = phi %"struct.std::__1::__hash_node_base"* [ %137, %133 ], [ %84, %88 ] | |
%91 = phi i64 [ %135, %133 ], [ %80, %88 ] | |
%92 = phi %"struct.std::__1::__hash_node_base"* [ %134, %133 ], [ %47, %88 ] | |
%93 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %90, i64 1 | |
%94 = bitcast %"struct.std::__1::__hash_node_base"* %93 to i64* | |
%95 = load i64, i64* %94, align 8, !tbaa !14 | |
%96 = and i64 %95, %70 | |
%97 = icmp eq i64 %96, %91 | |
br i1 %97, label %133, label %98 | |
; <label>:98: ; preds = %89 | |
%99 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %19, align 8, !tbaa !10 | |
%100 = getelementptr inbounds %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %99, i64 %96 | |
%101 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %100, align 8, !tbaa !10 | |
%102 = icmp eq %"struct.std::__1::__hash_node_base"* %101, null | |
br i1 %102, label %132, label %103 | |
; <label>:103: ; preds = %98 | |
%104 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %90, i64 0, i32 0 | |
%105 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %104, align 8, !tbaa !12 | |
%106 = icmp eq %"struct.std::__1::__hash_node_base"* %105, null | |
br i1 %106, label %118, label %139 | |
; <label>:107: ; preds = %111 | |
%108 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %112, i64 0, i32 0 | |
%109 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %108, align 8, !tbaa !12 | |
%110 = icmp eq %"struct.std::__1::__hash_node_base"* %109, null | |
br i1 %110, label %118, label %111 | |
; <label>:111: ; preds = %139, %107 | |
%112 = phi %"struct.std::__1::__hash_node_base"* [ %105, %139 ], [ %109, %107 ] | |
%113 = phi %"struct.std::__1::__hash_node_base"* [ %90, %139 ], [ %112, %107 ] | |
%114 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %112, i64 2 | |
%115 = bitcast %"struct.std::__1::__hash_node_base"* %114 to i64* | |
%116 = load i64, i64* %115, align 8, !tbaa !3 | |
%117 = icmp eq i64 %142, %116 | |
br i1 %117, label %107, label %118 | |
; <label>:118: ; preds = %111, %107, %103 | |
%119 = phi %"struct.std::__1::__hash_node_base"* [ %90, %103 ], [ %112, %107 ], [ %113, %111 ] | |
%120 = bitcast %"struct.std::__1::__hash_node_base"* %119 to i64* | |
%121 = load i64, i64* %120, align 8, !tbaa !12 | |
%122 = bitcast %"struct.std::__1::__hash_node_base"* %92 to i64* | |
store i64 %121, i64* %122, align 8, !tbaa !12 | |
%123 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %19, align 8, !tbaa !10 | |
%124 = getelementptr inbounds %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %123, i64 %96 | |
%125 = bitcast %"struct.std::__1::__hash_node_base"** %124 to i64** | |
%126 = load i64*, i64** %125, align 8, !tbaa !10 | |
%127 = load i64, i64* %126, align 8, !tbaa !12 | |
store i64 %127, i64* %120, align 8, !tbaa !12 | |
%128 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %19, align 8, !tbaa !10 | |
%129 = getelementptr inbounds %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %128, i64 %96 | |
%130 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %129, align 8, !tbaa !10 | |
%131 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %130, i64 0, i32 0 | |
store %"struct.std::__1::__hash_node_base"* %90, %"struct.std::__1::__hash_node_base"** %131, align 8, !tbaa !12 | |
br label %133 | |
; <label>:132: ; preds = %98 | |
store %"struct.std::__1::__hash_node_base"* %92, %"struct.std::__1::__hash_node_base"** %100, align 8, !tbaa !10 | |
br label %133 | |
; <label>:133: ; preds = %132, %118, %89 | |
%134 = phi %"struct.std::__1::__hash_node_base"* [ %90, %132 ], [ %92, %118 ], [ %90, %89 ] | |
%135 = phi i64 [ %96, %132 ], [ %91, %118 ], [ %91, %89 ] | |
%136 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %134, i64 0, i32 0 | |
%137 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %136, align 8, !tbaa !12 | |
%138 = icmp eq %"struct.std::__1::__hash_node_base"* %137, null | |
br i1 %138, label %201, label %89 | |
; <label>:139: ; preds = %103 | |
%140 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %90, i64 2 | |
%141 = bitcast %"struct.std::__1::__hash_node_base"* %140 to i64* | |
%142 = load i64, i64* %141, align 8, !tbaa !3 | |
br label %111 | |
; <label>:143: ; preds = %87, %195 | |
%144 = phi %"struct.std::__1::__hash_node_base"* [ %199, %195 ], [ %84, %87 ] | |
%145 = phi i64 [ %197, %195 ], [ %80, %87 ] | |
%146 = phi %"struct.std::__1::__hash_node_base"* [ %196, %195 ], [ %47, %87 ] | |
%147 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %144, i64 1 | |
%148 = bitcast %"struct.std::__1::__hash_node_base"* %147 to i64* | |
%149 = load i64, i64* %148, align 8, !tbaa !14 | |
%150 = icmp ult i64 %149, %1 | |
br i1 %150, label %153, label %151 | |
; <label>:151: ; preds = %143 | |
%152 = urem i64 %149, %1 | |
br label %153 | |
; <label>:153: ; preds = %143, %151 | |
%154 = phi i64 [ %152, %151 ], [ %149, %143 ] | |
%155 = icmp eq i64 %154, %145 | |
br i1 %155, label %195, label %156 | |
; <label>:156: ; preds = %153 | |
%157 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %19, align 8, !tbaa !10 | |
%158 = getelementptr inbounds %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %157, i64 %154 | |
%159 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %158, align 8, !tbaa !10 | |
%160 = icmp eq %"struct.std::__1::__hash_node_base"* %159, null | |
br i1 %160, label %161, label %162 | |
; <label>:161: ; preds = %156 | |
store %"struct.std::__1::__hash_node_base"* %146, %"struct.std::__1::__hash_node_base"** %158, align 8, !tbaa !10 | |
br label %195 | |
; <label>:162: ; preds = %156 | |
%163 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %144, i64 0, i32 0 | |
%164 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %163, align 8, !tbaa !12 | |
%165 = icmp eq %"struct.std::__1::__hash_node_base"* %164, null | |
br i1 %165, label %181, label %166 | |
; <label>:166: ; preds = %162 | |
%167 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %144, i64 2 | |
%168 = bitcast %"struct.std::__1::__hash_node_base"* %167 to i64* | |
%169 = load i64, i64* %168, align 8, !tbaa !3 | |
br label %174 | |
; <label>:170: ; preds = %174 | |
%171 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %175, i64 0, i32 0 | |
%172 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %171, align 8, !tbaa !12 | |
%173 = icmp eq %"struct.std::__1::__hash_node_base"* %172, null | |
br i1 %173, label %181, label %174 | |
; <label>:174: ; preds = %166, %170 | |
%175 = phi %"struct.std::__1::__hash_node_base"* [ %164, %166 ], [ %172, %170 ] | |
%176 = phi %"struct.std::__1::__hash_node_base"* [ %144, %166 ], [ %175, %170 ] | |
%177 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %175, i64 2 | |
%178 = bitcast %"struct.std::__1::__hash_node_base"* %177 to i64* | |
%179 = load i64, i64* %178, align 8, !tbaa !3 | |
%180 = icmp eq i64 %169, %179 | |
br i1 %180, label %170, label %181 | |
; <label>:181: ; preds = %174, %170, %162 | |
%182 = phi %"struct.std::__1::__hash_node_base"* [ %144, %162 ], [ %175, %170 ], [ %176, %174 ] | |
%183 = bitcast %"struct.std::__1::__hash_node_base"* %182 to i64* | |
%184 = load i64, i64* %183, align 8, !tbaa !12 | |
%185 = bitcast %"struct.std::__1::__hash_node_base"* %146 to i64* | |
store i64 %184, i64* %185, align 8, !tbaa !12 | |
%186 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %19, align 8, !tbaa !10 | |
%187 = getelementptr inbounds %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %186, i64 %154 | |
%188 = bitcast %"struct.std::__1::__hash_node_base"** %187 to i64** | |
%189 = load i64*, i64** %188, align 8, !tbaa !10 | |
%190 = load i64, i64* %189, align 8, !tbaa !12 | |
store i64 %190, i64* %183, align 8, !tbaa !12 | |
%191 = load %"struct.std::__1::__hash_node_base"**, %"struct.std::__1::__hash_node_base"*** %19, align 8, !tbaa !10 | |
%192 = getelementptr inbounds %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %191, i64 %154 | |
%193 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %192, align 8, !tbaa !10 | |
%194 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %193, i64 0, i32 0 | |
store %"struct.std::__1::__hash_node_base"* %144, %"struct.std::__1::__hash_node_base"** %194, align 8, !tbaa !12 | |
br label %195 | |
; <label>:195: ; preds = %153, %181, %161 | |
%196 = phi %"struct.std::__1::__hash_node_base"* [ %144, %161 ], [ %146, %181 ], [ %144, %153 ] | |
%197 = phi i64 [ %154, %161 ], [ %145, %181 ], [ %145, %153 ] | |
%198 = getelementptr inbounds %"struct.std::__1::__hash_node_base", %"struct.std::__1::__hash_node_base"* %196, i64 0, i32 0 | |
%199 = load %"struct.std::__1::__hash_node_base"*, %"struct.std::__1::__hash_node_base"** %198, align 8, !tbaa !12 | |
%200 = icmp eq %"struct.std::__1::__hash_node_base"* %199, null | |
br i1 %200, label %201, label %143 | |
; <label>:201: ; preds = %195, %133, %79, %44, %24 | |
ret void | |
} | |
; Function Attrs: nounwind readnone speculatable | |
declare i64 @llvm.ctlz.i64(i64, i1) #10 | |
; Function Attrs: nounwind readnone speculatable | |
declare float @llvm.ceil.f32(float) #10 | |
attributes #0 = { nounwind ssp uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="penryn" "target-features"="+cx16,+fxsr,+mmx,+sahf,+sse,+sse2,+sse3,+sse4.1,+ssse3,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="penryn" "target-features"="+cx16,+fxsr,+mmx,+sahf,+sse,+sse2,+sse3,+sse4.1,+ssse3,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { norecurse ssp uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="penryn" "target-features"="+cx16,+fxsr,+mmx,+sahf,+sse,+sse2,+sse3,+sse4.1,+ssse3,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #3 = { argmemonly nounwind } | |
attributes #4 = { nounwind readonly "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="penryn" "target-features"="+cx16,+fxsr,+mmx,+sahf,+sse,+sse2,+sse3,+sse4.1,+ssse3,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #5 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="penryn" "target-features"="+cx16,+fxsr,+mmx,+sahf,+sse,+sse2,+sse3,+sse4.1,+ssse3,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #6 = { nobuiltin nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="penryn" "target-features"="+cx16,+fxsr,+mmx,+sahf,+sse,+sse2,+sse3,+sse4.1,+ssse3,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #7 = { ssp uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="penryn" "target-features"="+cx16,+fxsr,+mmx,+sahf,+sse,+sse2,+sse3,+sse4.1,+ssse3,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #8 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="penryn" "target-features"="+cx16,+fxsr,+mmx,+sahf,+sse,+sse2,+sse3,+sse4.1,+ssse3,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #9 = { nobuiltin "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="penryn" "target-features"="+cx16,+fxsr,+mmx,+sahf,+sse,+sse2,+sse3,+sse4.1,+ssse3,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #10 = { nounwind readnone speculatable } | |
attributes #11 = { nounwind } | |
attributes #12 = { noreturn } | |
attributes #13 = { builtin } | |
attributes #14 = { builtin nounwind } | |
!llvm.module.flags = !{!0, !1} | |
!llvm.ident = !{!2} | |
!0 = !{i32 1, !"wchar_size", i32 4} | |
!1 = !{i32 7, !"PIC Level", i32 2} | |
!2 = !{!"Apple LLVM version 10.0.0 (clang-1000.11.45.5)"} | |
!3 = !{!4, !4, i64 0} | |
!4 = !{!"long", !5, i64 0} | |
!5 = !{!"omnipotent char", !6, i64 0} | |
!6 = !{!"Simple C++ TBAA"} | |
!7 = !{!8, !9, i64 0} | |
!8 = !{!"_ZTSNSt3__122__compressed_pair_elemIfLi0ELb0EEE", !9, i64 0} | |
!9 = !{!"float", !5, i64 0} | |
!10 = !{!11, !11, i64 0} | |
!11 = !{!"any pointer", !5, i64 0} | |
!12 = !{!13, !11, i64 0} | |
!13 = !{!"_ZTSNSt3__116__hash_node_baseIPNS_11__hash_nodeIlPvEEEE", !11, i64 0} | |
!14 = !{!15, !4, i64 8} | |
!15 = !{!"_ZTSNSt3__111__hash_nodeIlPvEE", !4, i64 8, !4, i64 16} | |
!16 = !{!17} | |
!17 = distinct !{!17, !18, !"_ZNSt3__112__hash_tableIlNS_4hashIlEENS_8equal_toIlEENS_9allocatorIlEEE21__construct_node_hashEmRKl: argument 0"} | |
!18 = distinct !{!18, !"_ZNSt3__112__hash_tableIlNS_4hashIlEENS_8equal_toIlEENS_9allocatorIlEEE21__construct_node_hashEmRKl"} | |
!19 = !{!9, !9, i64 0} | |
!20 = !{i64 0, i64 65} | |
!21 = !{!22, !22, i64 0} | |
!22 = !{!"vtable pointer", !6, i64 0} | |
!23 = distinct !{!23, !24} | |
!24 = !{!"llvm.loop.unroll.disable"} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment