; ModuleID = '-'
source_filename = "-"
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.14.0"
%swift.type = type { i64 }
%swift.full_type = type { i8**, %swift.type }
%swift.protocol = type { i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i32, i32, i32, i32, i32, i32 }
%Ts26DefaultStringInterpolationV = type <{ %TSS }>
%TSS = type <{ %Ts11_StringGutsV }>
%Ts11_StringGutsV = type <{ %Ts13_StringObjectV }>
%Ts13_StringObjectV = type <{ %Ts6UInt64V, %swift.bridge* }>
%Ts6UInt64V = type <{ i64 }>
%swift.bridge = type opaque
%swift.opaque = type opaque
%swift.metadata_response = type { %swift.type*, i64 }
%swift.refcounted = type { %swift.type*, i64 }
...
; :61: ; preds = %"$sSw16initializeMemory2as9repeatingSryxGxm_xtlFs5UInt8V_Tg5Tf4dnx_n.exit", %.preheader.preheader
%62 = phi i64 [ 0, %"$sSw16initializeMemory2as9repeatingSryxGxm_xtlFs5UInt8V_Tg5Tf4dnx_n.exit" ], [ %63, %.preheader.preheader ]
%63 = add nuw nsw i64 %62, 1
%64 = call { i64, i1 } @llvm.smul.with.overflow.i64(i64 %62, i64 5000)
%65 = extractvalue { i64, i1 } %64, 0
%66 = extractvalue { i64, i1 } %64, 1
br i1 %66, label %128, label %vector.body
vector.body: ; preds = %61, %vector.body
%index = phi i64 [ %index.next.2, %vector.body ], [ 0, %61 ]
%67 = add nuw nsw i64 %65, %index
%68 = getelementptr inbounds i8, i8* %11, i64 %67
%69 = bitcast i8* %68 to <16 x i8>*
%wide.load = load <16 x i8>, <16 x i8>* %69, align 1
%70 = getelementptr inbounds i8, i8* %68, i64 16
%71 = bitcast i8* %70 to <16 x i8>*
%wide.load28 = load <16 x i8>, <16 x i8>* %71, align 1
%72 = lshr <16 x i8> %wide.load, <i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1>
%73 = lshr <16 x i8> %wide.load28, <i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1>
%74 = bitcast i8* %68 to <16 x i8>*
store <16 x i8> %72, <16 x i8>* %74, align 1
%75 = bitcast i8* %70 to <16 x i8>*
store <16 x i8> %73, <16 x i8>* %75, align 1
%index.next = add nuw nsw i64 %index, 32
%76 = add nuw nsw i64 %65, %index.next
%77 = getelementptr inbounds i8, i8* %11, i64 %76
%78 = bitcast i8* %77 to <16 x i8>*
%wide.load.1 = load <16 x i8>, <16 x i8>* %78, align 1
%79 = getelementptr inbounds i8, i8* %77, i64 16
%80 = bitcast i8* %79 to <16 x i8>*
%wide.load28.1 = load <16 x i8>, <16 x i8>* %80, align 1
%81 = lshr <16 x i8> %wide.load.1, <i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1>
%82 = lshr <16 x i8> %wide.load28.1, <i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1>
%83 = bitcast i8* %77 to <16 x i8>*
store <16 x i8> %81, <16 x i8>* %83, align 1
%84 = bitcast i8* %79 to <16 x i8>*
store <16 x i8> %82, <16 x i8>* %84, align 1
%index.next.1 = add nuw nsw i64 %index, 64
%85 = add nuw nsw i64 %65, %index.next.1
%86 = getelementptr inbounds i8, i8* %11, i64 %85
%87 = bitcast i8* %86 to <16 x i8>*
%wide.load.2 = load <16 x i8>, <16 x i8>* %87, align 1
%88 = getelementptr inbounds i8, i8* %86, i64 16
%89 = bitcast i8* %88 to <16 x i8>*
%wide.load28.2 = load <16 x i8>, <16 x i8>* %89, align 1
%90 = lshr <16 x i8> %wide.load.2, <i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1>
%91 = lshr <16 x i8> %wide.load28.2, <i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1>
%92 = bitcast i8* %86 to <16 x i8>*
store <16 x i8> %90, <16 x i8>* %92, align 1
%93 = bitcast i8* %88 to <16 x i8>*
store <16 x i8> %91, <16 x i8>* %93, align 1
%index.next.2 = add nuw nsw i64 %index, 96
%94 = icmp eq i64 %index.next.2, 4992
br i1 %94, label %.preheader.preheader, label %vector.body, !llvm.loop !36
.preheader.preheader: ; preds = %vector.body
%95 = add nuw nsw i64 %65, 4992
%96 = getelementptr inbounds i8, i8* %11, i64 %95
%97 = load i8, i8* %96, align 1
%98 = lshr i8 %97, 1
store i8 %98, i8* %96, align 1
%99 = add nuw nsw i64 %65, 4993
%100 = getelementptr inbounds i8, i8* %11, i64 %99
%101 = load i8, i8* %100, align 1
%102 = lshr i8 %101, 1
store i8 %102, i8* %100, align 1
%103 = add nuw nsw i64 %65, 4994
%104 = getelementptr inbounds i8, i8* %11, i64 %103
%105 = load i8, i8* %104, align 1
%106 = lshr i8 %105, 1
store i8 %106, i8* %104, align 1
%107 = add nuw nsw i64 %65, 4995
%108 = getelementptr inbounds i8, i8* %11, i64 %107
%109 = load i8, i8* %108, align 1
%110 = lshr i8 %109, 1
store i8 %110, i8* %108, align 1
%111 = add nuw nsw i64 %65, 4996
%112 = getelementptr inbounds i8, i8* %11, i64 %111
%113 = load i8, i8* %112, align 1
%114 = lshr i8 %113, 1
store i8 %114, i8* %112, align 1
%115 = add nuw nsw i64 %65, 4997
%116 = getelementptr inbounds i8, i8* %11, i64 %115
%117 = load i8, i8* %116, align 1
%118 = lshr i8 %117, 1
store i8 %118, i8* %116, align 1
%119 = add nuw nsw i64 %65, 4998
%120 = getelementptr inbounds i8, i8* %11, i64 %119
%121 = load i8, i8* %120, align 1
%122 = lshr i8 %121, 1
store i8 %122, i8* %120, align 1
%123 = add nuw nsw i64 %65, 4999
%124 = getelementptr inbounds i8, i8* %11, i64 %123
%125 = load i8, i8* %124, align 1
%126 = lshr i8 %125, 1
store i8 %126, i8* %124, align 1
%127 = icmp eq i64 %63, 5000
br i1 %127, label %15, label %61
; :128: ; preds = %61
call void asm sideeffect "", "n"(i32 5) #4
call void @llvm.trap()
unreachable
}
...
!llvm.module.flags = !{!0, !1, !2, !3, !4, !5, !6, !7, !8}
!swift.module.flags = !{!9}
!llvm.linker.options = !{!10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34}
!llvm.asan.globals = !{!35}
!0 = !{i32 2, !"SDK Version", [2 x i32] [i32 10, i32 15]}
!1 = !{i32 1, !"Objective-C Version", i32 2}
!2 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!3 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!4 = !{i32 4, !"Objective-C Garbage Collection", i32 83953408}
!5 = !{i32 1, !"Objective-C Class Properties", i32 64}
!6 = !{i32 1, !"wchar_size", i32 4}
!7 = !{i32 7, !"PIC Level", i32 2}
!8 = !{i32 1, !"Swift Version", i32 7}
!9 = !{!"standard-library", i1 false}
!10 = !{!"-lswiftFoundation"}
!11 = !{!"-lswiftCore"}
!12 = !{!"-lswiftObjectiveC"}
!13 = !{!"-lswiftDarwin"}
!14 = !{!"-framework", !"Foundation"}
!15 = !{!"-lswiftCoreFoundation"}
!16 = !{!"-framework", !"CoreFoundation"}
!17 = !{!"-lswiftDispatch"}
!18 = !{!"-framework", !"Combine"}
!19 = !{!"-framework", !"ApplicationServices"}
!20 = !{!"-lswiftCoreGraphics"}
!21 = !{!"-framework", !"CoreGraphics"}
!22 = !{!"-lswiftIOKit"}
!23 = !{!"-framework", !"IOKit"}
!24 = !{!"-framework", !"ColorSync"}
!25 = !{!"-framework", !"ImageIO"}
!26 = !{!"-framework", !"CoreServices"}
!27 = !{!"-framework", !"Security"}
!28 = !{!"-framework", !"CFNetwork"}
!29 = !{!"-framework", !"DiskArbitration"}
!30 = !{!"-framework", !"CoreText"}
!31 = !{!"-lswiftXPC"}
!32 = !{!"-lobjc"}
!33 = !{!"-lswiftCompatibility50"}
!34 = !{!"-lswiftCompatibilityDynamicReplacements"}
!35 = distinct !{null, null, null, i1 false, i1 true}
!36 = distinct !{!36, !37}
!37 = !{!"llvm.loop.isvectorized", i32 1}