Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
159 changes: 77 additions & 82 deletions bench/boost/optimized/xml_grammar.ll
Original file line number Diff line number Diff line change
Expand Up @@ -6605,54 +6605,50 @@ _ZSt11lower_boundIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility
42: ; preds = %32
%43 = icmp eq i32 %34, -2147483648
%44 = add nsw i32 %34, -1
%45 = icmp eq i32 %37, 2147483647
%46 = add nsw i32 %37, 1
%45 = tail call i32 @llvm.sadd.sat.i32(i32 %37, i32 1)
%.not4.i = icmp sle i32 %44, %39
%.not.not.i = select i1 %43, i1 true, i1 %.not4.i
%47 = icmp sge i32 %46, %35
%48 = select i1 %45, i1 true, i1 %47
%49 = select i1 %.not.not.i, i1 %48, i1 false
br i1 %49, label %50, label %.critedge4

50: ; preds = %42
%51 = tail call i32 @llvm.smin.i32(i32 %35, i32 %34)
store i32 %51, ptr %33, align 4, !tbaa !62
%52 = load i32, ptr %38, align 4, !tbaa !60
%53 = tail call i32 @llvm.smax.i32(i32 %37, i32 %52)
store i32 %53, ptr %36, align 4, !tbaa !64
%47 = icmp sge i32 %45, %35
%48 = select i1 %.not.not.i, i1 %47, i1 false
br i1 %47, label %48, label %.critedge4

48: ; preds = %42
%49 = tail call i32 @llvm.smin.i32(i32 %35, i32 %34)
store i32 %49, ptr %33, align 4, !tbaa !62
%50 = load i32, ptr %38, align 4, !tbaa !60
%51 = tail call i32 @llvm.smax.i32(i32 %37, i32 %50)
store i32 %51, ptr %36, align 4, !tbaa !64
br i1 %.not, label %.critedge, label %.lr.ph.i

.lr.ph.i: ; preds = %50, %66
%54 = phi i32 [ %69, %66 ], [ %53, %50 ]
%55 = phi i32 [ %67, %66 ], [ %51, %50 ]
%.sroa.06.0.ptr20.i = phi ptr [ %.sroa.06.0.ptr.i, %66 ], [ %.sroa.011.0.lcssa.i.i, %50 ]
%.sroa.06.0.idx19.i = phi i64 [ %.sroa.06.0.add.i, %66 ], [ 8, %50 ]
.lr.ph.i: ; preds = %48, %62
%54 = phi i32 [ %69, %62 ], [ %51, %48 ]
%55 = phi i32 [ %67, %62 ], [ %49, %48 ]
%.sroa.06.0.ptr20.i = phi ptr [ %.sroa.06.0.ptr.i, %62 ], [ %.sroa.011.0.lcssa.i.i, %48 ]
%.sroa.06.0.idx19.i = phi i64 [ %.sroa.06.0.add.i, %62 ], [ 8, %48 ]
%56 = icmp eq i32 %55, -2147483648
%57 = add nsw i32 %55, -1
%58 = icmp eq i32 %54, 2147483647
%59 = add nsw i32 %54, 1
%60 = getelementptr inbounds nuw i8, ptr %.sroa.06.0.ptr20.i, i64 4
%61 = load i32, ptr %60, align 4, !tbaa !64
%.not4.i.i = icmp sle i32 %57, %61
%.not.not.i.i = select i1 %56, i1 true, i1 %.not4.i.i
%62 = load i32, ptr %.sroa.06.0.ptr20.i, align 4
%63 = icmp sge i32 %59, %62
%64 = select i1 %58, i1 true, i1 %63
%65 = select i1 %.not.not.i.i, i1 %64, i1 false
br i1 %65, label %66, label %.critedge.i

66: ; preds = %.lr.ph.i
%56 = tail call i32 @llvm.sadd.sat.i32(i32 %54, i32 1)
%57 = getelementptr inbounds nuw i8, ptr %.sroa.06.0.ptr20.i, i64 4
%58 = load i32, ptr %57, align 4, !tbaa !64
%.not4.i.i = icmp sle i32 %55, %58
%.not.not.i.i = select i1 %54, i1 true, i1 %.not4.i.i
%59 = load i32, ptr %.sroa.06.0.ptr20.i, align 4
%60 = icmp sge i32 %56, %59
%61 = select i1 %.not.not.i.i, i1 %60, i1 false
br i1 %61, label %62, label %.critedge.i

62: ; preds = %.lr.ph.i
%.sroa.06.0.add.i = add nuw nsw i64 %.sroa.06.0.idx19.i, 8
%67 = tail call i32 @llvm.smin.i32(i32 %62, i32 %55)
%67 = tail call i32 @llvm.smin.i32(i32 %59, i32 %55)
store i32 %67, ptr %33, align 4, !tbaa !62
%68 = load i32, ptr %60, align 4, !tbaa !60
%68 = load i32, ptr %57, align 4, !tbaa !60
%69 = tail call i32 @llvm.smax.i32(i32 %54, i32 %68)
store i32 %69, ptr %36, align 4, !tbaa !64
%.sroa.06.0.ptr.i = getelementptr i8, ptr %.sroa.011.0.lcssa.i.i, i64 %.sroa.06.0.idx19.i
%.not.i21 = icmp eq ptr %.sroa.06.0.ptr.i, %5
br i1 %.not.i21, label %.thread.i, label %.lr.ph.i, !llvm.loop !86

.thread.i: ; preds = %66
.thread.i: ; preds = %62
%70 = ptrtoint ptr %.sroa.011.0.lcssa.i.i to i64
%71 = sub i64 %70, %9
%72 = getelementptr inbounds i8, ptr %3, i64 %10
Expand Down Expand Up @@ -6680,10 +6676,10 @@ _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5ra
br label %._crit_edge.i.i.i

._crit_edge.i.i.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5rangeIwEESt6vectorIS8_SaIS8_EEEESD_ET0_T_SF_SE_.exit.i.i.i, %80, %.thread.i
%82 = phi i64 [ %75, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5rangeIwEESt6vectorIS8_SaIS8_EEEESD_ET0_T_SF_SE_.exit.i.i.i ], [ %75, %80 ], [ %71, %.thread.i ]
%83 = phi i64 [ %77, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5rangeIwEESt6vectorIS8_SaIS8_EEEESD_ET0_T_SF_SE_.exit.i.i.i ], [ %77, %80 ], [ %8, %.thread.i ]
%.pre-phi14.i.i.i = phi i64 [ %.pre13.i.i.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5rangeIwEESt6vectorIS8_SaIS8_EEEESD_ET0_T_SF_SE_.exit.i.i.i ], [ %77, %80 ], [ %8, %.thread.i ]
%84 = phi ptr [ %.pre.i.i.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5rangeIwEESt6vectorIS8_SaIS8_EEEESD_ET0_T_SF_SE_.exit.i.i.i ], [ %79, %80 ], [ %72, %.thread.i ]
%82 = phi i64 [ %75, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5rangeIwEESt6vectorIS8_SaIS8_EEEESD_ET0_T_SF_SE_.exit.i.i.i ], [ %75, %76 ], [ %71, %.thread.i ]
%83 = phi i64 [ %77, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5rangeIwEESt6vectorIS8_SaIS8_EEEESD_ET0_T_SF_SE_.exit.i.i.i ], [ %77, %76 ], [ %8, %.thread.i ]
%.pre-phi14.i.i.i = phi i64 [ %.pre13.i.i.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5rangeIwEESt6vectorIS8_SaIS8_EEEESD_ET0_T_SF_SE_.exit.i.i.i ], [ %77, %76 ], [ %8, %.thread.i ]
%84 = phi ptr [ %.pre.i.i.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5rangeIwEESt6vectorIS8_SaIS8_EEEESD_ET0_T_SF_SE_.exit.i.i.i ], [ %79, %76 ], [ %72, %.thread.i ]
%85 = getelementptr inbounds i8, ptr %3, i64 %82
%86 = sub i64 %.pre-phi14.i.i.i, %83
%87 = getelementptr inbounds i8, ptr %85, i64 %86
Expand All @@ -6703,59 +6699,55 @@ _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5ra
%92 = add nsw i32 %90, -1
%93 = getelementptr inbounds nuw i8, ptr %.sroa.011.0.lcssa.i.i, i64 4
%94 = load i32, ptr %93, align 4, !tbaa !64
%95 = icmp eq i32 %94, 2147483647
%96 = add nsw i32 %94, 1
%97 = getelementptr inbounds nuw i8, ptr %1, i64 4
%98 = load i32, ptr %97, align 4, !tbaa !64
%.not4.i22 = icmp sle i32 %92, %98
%.not.not.i23 = select i1 %91, i1 true, i1 %.not4.i22
%99 = load i32, ptr %1, align 4
%100 = icmp sge i32 %96, %99
%101 = select i1 %95, i1 true, i1 %100
%102 = select i1 %.not.not.i23, i1 %101, i1 false
br i1 %102, label %103, label %.critedge6

103: ; preds = %89
%104 = tail call i32 @llvm.smin.i32(i32 %99, i32 %90)
store i32 %104, ptr %.sroa.011.0.lcssa.i.i, align 4, !tbaa !62
%105 = load i32, ptr %97, align 4, !tbaa !60
%106 = tail call i32 @llvm.smax.i32(i32 %94, i32 %105)
store i32 %106, ptr %93, align 4, !tbaa !64
%91 = tail call i32 @llvm.sadd.sat.i32(i32 %94, i32 1)
%92 = getelementptr inbounds nuw i8, ptr %1, i64 4
%93 = load i32, ptr %92, align 4, !tbaa !64
%.not4.i22 = icmp sle i32 %92, %93
%.not.not.i23 = select i1 %87, i1 true, i1 %.not4.i22
%94 = load i32, ptr %1, align 4
%95 = icmp sge i32 %91, %94
%96 = select i1 %.not.not.i23, i1 %95, i1 false
br i1 %96, label %97, label %.critedge6

97: ; preds = %85
%98 = tail call i32 @llvm.smin.i32(i32 %94, i32 %86)
store i32 %98, ptr %.sroa.011.0.lcssa.i.i, align 4, !tbaa !62
%99 = load i32, ptr %92, align 4, !tbaa !60
%100 = tail call i32 @llvm.smax.i32(i32 %90, i32 %99)
store i32 %100, ptr %89, align 4, !tbaa !64
%.ptr15.i24 = getelementptr inbounds nuw i8, ptr %.sroa.011.0.lcssa.i.i, i64 8
%.not18.i25 = icmp eq ptr %.ptr15.i24, %5
br i1 %.not18.i25, label %.critedge, label %.lr.ph.i26

.lr.ph.i26: ; preds = %103, %119
%107 = phi i32 [ %122, %119 ], [ %106, %103 ]
%108 = phi i32 [ %120, %119 ], [ %104, %103 ]
%.sroa.06.0.ptr20.i27 = phi ptr [ %.sroa.06.0.ptr.i40, %119 ], [ %.ptr15.i24, %103 ]
%.sroa.06.0.idx19.i28 = phi i64 [ %.sroa.06.0.add.i39, %119 ], [ 8, %103 ]
.lr.ph.i26: ; preds = %97, %111
%107 = phi i32 [ %122, %111 ], [ %100, %97 ]
%108 = phi i32 [ %120, %111 ], [ %98, %97 ]
%.sroa.06.0.ptr20.i27 = phi ptr [ %.sroa.06.0.ptr.i40, %111 ], [ %.ptr15.i24, %97 ]
%.sroa.06.0.idx19.i28 = phi i64 [ %.sroa.06.0.add.i39, %111 ], [ 8, %97 ]
%109 = icmp eq i32 %108, -2147483648
%110 = add nsw i32 %108, -1
%111 = icmp eq i32 %107, 2147483647
%112 = add nsw i32 %107, 1
%113 = getelementptr inbounds nuw i8, ptr %.sroa.06.0.ptr20.i27, i64 4
%114 = load i32, ptr %113, align 4, !tbaa !64
%.not4.i.i29 = icmp sle i32 %110, %114
%.not.not.i.i30 = select i1 %109, i1 true, i1 %.not4.i.i29
%115 = load i32, ptr %.sroa.06.0.ptr20.i27, align 4
%116 = icmp sge i32 %112, %115
%117 = select i1 %111, i1 true, i1 %116
%118 = select i1 %.not.not.i.i30, i1 %117, i1 false
br i1 %118, label %119, label %.critedge.i31

119: ; preds = %.lr.ph.i26
%105 = tail call i32 @llvm.sadd.sat.i32(i32 %107, i32 1)
%106 = getelementptr inbounds nuw i8, ptr %.sroa.06.0.ptr20.i27, i64 4
%107 = load i32, ptr %106, align 4, !tbaa !64
%.not4.i.i29 = icmp sle i32 %104, %107
%.not.not.i.i30 = select i1 %103, i1 true, i1 %.not4.i.i29
%108 = load i32, ptr %.sroa.06.0.ptr20.i27, align 4
%109 = icmp sge i32 %105, %108
%110 = select i1 %.not.not.i.i30, i1 %109, i1 false
br i1 %110, label %111, label %.critedge.i31

111:; preds = %.lr.ph.i26
%.sroa.06.0.add.i39 = add nuw nsw i64 %.sroa.06.0.idx19.i28, 8
%120 = tail call i32 @llvm.smin.i32(i32 %115, i32 %108)
%120 = tail call i32 @llvm.smin.i32(i32 %108, i32 %108)
store i32 %120, ptr %.sroa.011.0.lcssa.i.i, align 4, !tbaa !62
%121 = load i32, ptr %113, align 4, !tbaa !60
%121 = load i32, ptr %106, align 4, !tbaa !60
%122 = tail call i32 @llvm.smax.i32(i32 %107, i32 %121)
store i32 %122, ptr %93, align 4, !tbaa !64
%.sroa.06.0.ptr.i40 = getelementptr inbounds nuw i8, ptr %.sroa.011.0.lcssa.i.i, i64 %.sroa.06.0.add.i39
%.not.i41 = icmp eq ptr %.sroa.06.0.ptr.i40, %5
br i1 %.not.i41, label %.thread.i42, label %.lr.ph.i26, !llvm.loop !86

.thread.i42: ; preds = %119
.thread.i42: ; preds = %111
%123 = ptrtoint ptr %.ptr15.i24 to i64
%124 = sub i64 %123, %9
%125 = getelementptr inbounds i8, ptr %3, i64 %10
Expand Down Expand Up @@ -6783,10 +6775,10 @@ _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5ra
br label %._crit_edge.i.i.i36

._crit_edge.i.i.i36: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5rangeIwEESt6vectorIS8_SaIS8_EEEESD_ET0_T_SF_SE_.exit.i.i.i33, %133, %.thread.i42
%135 = phi i64 [ %128, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5rangeIwEESt6vectorIS8_SaIS8_EEEESD_ET0_T_SF_SE_.exit.i.i.i33 ], [ %128, %133 ], [ %124, %.thread.i42 ]
%136 = phi i64 [ %130, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5rangeIwEESt6vectorIS8_SaIS8_EEEESD_ET0_T_SF_SE_.exit.i.i.i33 ], [ %130, %133 ], [ %8, %.thread.i42 ]
%.pre-phi14.i.i.i37 = phi i64 [ %.pre13.i.i.i35, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5rangeIwEESt6vectorIS8_SaIS8_EEEESD_ET0_T_SF_SE_.exit.i.i.i33 ], [ %130, %133 ], [ %8, %.thread.i42 ]
%137 = phi ptr [ %.pre.i.i.i34, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5rangeIwEESt6vectorIS8_SaIS8_EEEESD_ET0_T_SF_SE_.exit.i.i.i33 ], [ %132, %133 ], [ %125, %.thread.i42 ]
%135 = phi i64 [ %128, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5rangeIwEESt6vectorIS8_SaIS8_EEEESD_ET0_T_SF_SE_.exit.i.i.i33 ], [ %128, %125 ], [ %124, %.thread.i42 ]
%136 = phi i64 [ %130, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5rangeIwEESt6vectorIS8_SaIS8_EEEESD_ET0_T_SF_SE_.exit.i.i.i33 ], [ %130, %125 ], [ %8, %.thread.i42 ]
%.pre-phi14.i.i.i37 = phi i64 [ %.pre13.i.i.i35, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5rangeIwEESt6vectorIS8_SaIS8_EEEESD_ET0_T_SF_SE_.exit.i.i.i33 ], [ %130, %125 ], [ %8, %.thread.i42 ]
%137 = phi ptr [ %.pre.i.i.i34, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN5boost6spirit7classic7utility4impl5rangeIwEESt6vectorIS8_SaIS8_EEEESD_ET0_T_SF_SE_.exit.i.i.i33 ], [ %132, %125 ], [ %117, %.thread.i42 ]
%138 = getelementptr inbounds i8, ptr %3, i64 %135
%139 = sub i64 %.pre-phi14.i.i.i37, %136
%140 = getelementptr inbounds i8, ptr %138, i64 %139
Expand Down Expand Up @@ -6833,7 +6825,7 @@ _ZNSt6vectorIN5boost6spirit7classic7utility4impl5rangeIwEESaIS6_EE17_M_realloc_i
store ptr %152, ptr %144, align 8, !tbaa !84
br label %.critedge

.critedge: ; preds = %_ZNSt6vectorIN5boost6spirit7classic7utility4impl5rangeIwEESaIS6_EE17_M_realloc_insertIJRKS6_EEEvN9__gnu_cxx17__normal_iteratorIPS6_S8_EEDpOT_.exit.i, %146, %32, %.critedge6, %22, %50, %.critedge.i, %._crit_edge.i.i.i, %88, %103, %.critedge.i31, %._crit_edge.i.i.i36, %141
.critedge: ; preds = %_ZNSt6vectorIN5boost6spirit7classic7utility4impl5rangeIwEESaIS6_EE17_M_realloc_insertIJRKS6_EEEvN9__gnu_cxx17__normal_iteratorIPS6_S8_EEDpOT_.exit.i, %146, %32, %.critedge6, %22, %48, %.critedge.i, %._crit_edge.i.i.i, %88, %97, %.critedge.i31, %._crit_edge.i.i.i36, %141
ret void
}

Expand Down Expand Up @@ -14401,6 +14393,9 @@ declare i32 @bcmp(ptr captures(none), ptr captures(none), i64) local_unnamed_add
; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: read)
declare i64 @strlen(ptr captures(none)) local_unnamed_addr #21

; Function Attrs: nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.sadd.sat.i32(i32, i32) #19

; Function Attrs: nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.smin.i32(i32, i32) #19

Expand Down
15 changes: 8 additions & 7 deletions bench/cmake/optimized/hsts.ll
Original file line number Diff line number Diff line change
Expand Up @@ -260,10 +260,7 @@ define dso_local range(i32 0, 44) i32 @Curl_hsts_parse(ptr noundef %0, ptr nound
br label %.loopexit

55: ; preds = %46
%56 = sub nsw i64 9223372036854775807, %6
%57 = icmp slt i64 %56, %47
%58 = add nsw i64 %47, %6
%storemerge = select i1 %57, i64 9223372036854775807, i64 %58
%storemerge = call i64 @llvm.sadd.sat.i64(i64 %6, i64 %47)
store i64 %storemerge, ptr %4, align 8, !tbaa !24
%59 = call ptr @Curl_hsts(ptr noundef %0, ptr noundef %1, i1 noundef zeroext false)
%.not108 = icmp eq ptr %59, null
Expand All @@ -288,7 +285,7 @@ define dso_local range(i32 0, 44) i32 @Curl_hsts_parse(ptr noundef %0, ptr nound
br label %.loopexit

.loopexit: ; preds = %33, %48, %50, %44, %.critedge110, %3, %60, %64
%.0 = phi i32 [ 0, %60 ], [ %67, %64 ], [ 0, %3 ], [ 43, %.critedge110 ], [ 43, %44 ], [ 0, %50 ], [ 0, %48 ], [ 43, %33 ]
%.0 = phi i32 [ 0, %57 ], [ %67, %61 ], [ 0, %3 ], [ 43, %.critedge110 ], [ 43, %44 ], [ 0, %50 ], [ 0, %48 ], [ 43, %33 ]
call void @llvm.lifetime.end.p0(ptr nonnull %4)
ret i32 %.0
}
Expand Down Expand Up @@ -1114,6 +1111,9 @@ declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr no
; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr captures(none), ptr captures(none), i64) local_unnamed_addr #8

; Function Attrs: nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.sadd.sat.i64(i64, i64) #9

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
Expand All @@ -1123,8 +1123,9 @@ attributes #5 = { mustprogress nocallback nofree nosync nounwind willreturn memo
attributes #6 = { nofree nounwind }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #8 = { nocallback nofree nounwind willreturn memory(argmem: read) }
attributes #9 = { nounwind }
attributes #10 = { nounwind willreturn memory(read) }
attributes #9 = { nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }
attributes #10 = { nounwind }
attributes #11 = { nounwind willreturn memory(read) }

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

Expand Down
Loading