Skip to content

Instantly share code, notes, and snippets.

@sdiehl
Last active December 13, 2015 20:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sdiehl/8d8337ff748ae1a66c4a to your computer and use it in GitHub Desktop.
Save sdiehl/8d8337ff748ae1a66c4a to your computer and use it in GitHub Desktop.
; ModuleID = '-'
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
%Si = type <{ i64 }>
%Vs5Int32 = type <{ i32 }>
%Sp = type <{ i8* }>
%swift.type = type { i64 }
%swift.type_pattern = type opaque
%swift.protocol = type { i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i32, i32 }
%swift.refcounted = type { %swift.type*, i32, i32 }
%objc_object = type opaque
@_Tv7example1aSi = global %Si zeroinitializer, align 8
@_Tv7example1bSi = global %Si zeroinitializer, align 8
@_Tv7example1cSi = global %Si zeroinitializer, align 8
@_TZvOs7Process5_argcVs5Int32 = external global %Vs5Int32, align 4
@globalinit_33_1BDF70FFC18749BAB495A73B459ED2F0_token4 = external global i64, align 8
@_TZvOs7Process11_unsafeArgvGSpGSpVs4Int8__ = external global %Sp, align 8
@_TMLGCs23_ContiguousArrayStorageP__ = linkonce_odr hidden global %swift.type* null, align 8
@_TMPCs23_ContiguousArrayStorage = external global %swift.type_pattern, align 8
@_TMLP_ = linkonce_odr hidden global %swift.type* null, align 8
@0 = private unnamed_addr constant [64 x i8] c"ManagedBufferPointer buffer class has illegal stored properties\00"
@1 = private unnamed_addr constant [118 x i8] c"/home/buildslave/jenkins/workspace/oss-swift-linux-packages-ubuntu_14_04/swift/stdlib/public/core/ManagedBuffer.swift\00"
@2 = private unnamed_addr constant [12 x i8] c"fatal error\00"
@3 = private unnamed_addr constant [1 x i8] zeroinitializer
@_TMSi = external global %swift.type, align 8
@4 = private unnamed_addr constant [27 x i8] c"Invalid array storage type\00"
@5 = private unnamed_addr constant [147 x i8] c"/home/buildslave/jenkins/workspace/oss-swift-linux-packages-ubuntu_14_04/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/Arrays.swift\00"
@6 = private unnamed_addr constant [114 x i8] c"/home/buildslave/jenkins/workspace/oss-swift-linux-packages-ubuntu_14_04/swift/stdlib/public/core/ArrayBody.swift\00"
@_swift1_autolink_entries = private constant [12 x i8] c"-lswiftCore\00", section ".swift1_autolink_entries", align 8
@llvm.used = appending global [4 x i8*] [i8* bitcast (%Si* @_Tv7example1aSi to i8*), i8* bitcast (%Si* @_Tv7example1bSi to i8*), i8* bitcast (%Si* @_Tv7example1cSi to i8*), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @_swift1_autolink_entries, i32 0, i32 0)], section "llvm.metadata"
define i32 @main(i32, i8**) #0 {
entry:
%protocols.i.i = alloca [0 x %swift.protocol*], align 8
store i32 %0, i32* getelementptr inbounds (%Vs5Int32, %Vs5Int32* @_TZvOs7Process5_argcVs5Int32, i64 0, i32 0), align 4
tail call void @swift_once(i64* nonnull @globalinit_33_1BDF70FFC18749BAB495A73B459ED2F0_token4, i8* bitcast (void ()* @globalinit_33_1BDF70FFC18749BAB495A73B459ED2F0_func4 to i8*))
store i8** %1, i8*** bitcast (%Sp* @_TZvOs7Process11_unsafeArgvGSpGSpVs4Int8__ to i8***), align 8
store i64 3, i64* getelementptr inbounds (%Si, %Si* @_Tv7example1aSi, i64 0, i32 0), align 8
store i64 4, i64* getelementptr inbounds (%Si, %Si* @_Tv7example1bSi, i64 0, i32 0), align 8
store i64 7, i64* getelementptr inbounds (%Si, %Si* @_Tv7example1cSi, i64 0, i32 0), align 8
%2 = load %swift.type*, %swift.type** @_TMLGCs23_ContiguousArrayStorageP__, align 8
%3 = icmp eq %swift.type* %2, null
br i1 %3, label %cacheIsNull.i, label %_TMaGCs23_ContiguousArrayStorageP__.exit
cacheIsNull.i: ; preds = %entry
%4 = bitcast [0 x %swift.protocol*]* %protocols.i.i to i8*
call void @llvm.lifetime.start(i64 0, i8* %4) #5
%5 = load %swift.type*, %swift.type** @_TMLP_, align 8
%6 = icmp eq %swift.type* %5, null
br i1 %6, label %cacheIsNull.i.i, label %_TMaP_.exit.i
cacheIsNull.i.i: ; preds = %cacheIsNull.i
%7 = getelementptr inbounds [0 x %swift.protocol*], [0 x %swift.protocol*]* %protocols.i.i, i64 0, i64 0
%8 = call %swift.type* @swift_getExistentialTypeMetadata(i64 0, %swift.protocol** %7) #5
store %swift.type* %8, %swift.type** @_TMLP_, align 8
br label %_TMaP_.exit.i
_TMaP_.exit.i: ; preds = %cacheIsNull.i.i, %cacheIsNull.i
%9 = phi %swift.type* [ %5, %cacheIsNull.i ], [ %8, %cacheIsNull.i.i ]
call void @llvm.lifetime.end(i64 0, i8* %4) #5
%10 = bitcast %swift.type* %9 to i8*
%11 = call %swift.type* @swift_getGenericMetadata1(%swift.type_pattern* nonnull @_TMPCs23_ContiguousArrayStorage, i8* %10) #6
store %swift.type* %11, %swift.type** @_TMLGCs23_ContiguousArrayStorageP__, align 8
br label %_TMaGCs23_ContiguousArrayStorageP__.exit
_TMaGCs23_ContiguousArrayStorageP__.exit: ; preds = %entry, %_TMaP_.exit.i
%12 = phi %swift.type* [ %2, %entry ], [ %11, %_TMaP_.exit.i ]
%13 = call i64 @_swift_class_getInstancePositiveExtentSize_native(%swift.type* %12)
%14 = icmp slt i64 %13, 0
br i1 %14, label %33, label %15
; <label>:15 ; preds = %_TMaGCs23_ContiguousArrayStorageP__.exit
%16 = icmp eq i64 %13, 16
br i1 %16, label %17, label %32
; <label>:17 ; preds = %15
%18 = call %swift.refcounted* @swift_bufferAllocate(%swift.type* %12, i64 64, i64 7)
%19 = call { %swift.refcounted*, i8* } @_TTSf4n_n_d___TTSg5P____TZFSa13_adoptStoragefTPs9AnyObject_5countSi_TGSax_GSpx__(%swift.refcounted* %18, i64 1)
%20 = extractvalue { %swift.refcounted*, i8* } %19, 0
%21 = extractvalue { %swift.refcounted*, i8* } %19, 1
%22 = getelementptr inbounds i8, i8* %21, i64 24
%23 = bitcast i8* %22 to %swift.type**
store %swift.type* @_TMSi, %swift.type** %23, align 8
%object._value = bitcast i8* %21 to i64*
store i64 7, i64* %object._value, align 8
%24 = call { i8*, i64, i64 } @_TIFs5printFTGSaP__9separatorSS10terminatorSS_T_A0_()
%25 = extractvalue { i8*, i64, i64 } %24, 0
%26 = extractvalue { i8*, i64, i64 } %24, 1
%27 = extractvalue { i8*, i64, i64 } %24, 2
%28 = call { i8*, i64, i64 } @_TIFs5printFTGSaP__9separatorSS10terminatorSS_T_A1_()
%29 = extractvalue { i8*, i64, i64 } %28, 0
%30 = extractvalue { i8*, i64, i64 } %28, 1
%31 = extractvalue { i8*, i64, i64 } %28, 2
call void @_TFs5printFTGSaP__9separatorSS10terminatorSS_T_(%swift.refcounted* %20, i8* %25, i64 %26, i64 %27, i8* %29, i64 %30, i64 %31)
ret i32 0
; <label>:32 ; preds = %15
call void @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_(i8* nonnull getelementptr inbounds ([12 x i8], [12 x i8]* @2, i64 0, i64 0), i64 11, i8 2, i8* nonnull getelementptr inbounds ([64 x i8], [64 x i8]* @0, i64 0, i64 0), i64 63, i8 2, i8* nonnull getelementptr inbounds ([118 x i8], [118 x i8]* @1, i64 0, i64 0), i64 117, i8 2, i64 376)
unreachable
; <label>:33 ; preds = %_TMaGCs23_ContiguousArrayStorageP__.exit
call void @llvm.trap()
unreachable
}
; Function Attrs: nounwind
declare void @globalinit_33_1BDF70FFC18749BAB495A73B459ED2F0_func4() #1
declare void @swift_once(i64*, i8*)
declare %swift.type* @swift_getExistentialTypeMetadata(i64, %swift.protocol**)
declare %swift.type* @swift_getGenericMetadata1(%swift.type_pattern*, i8*)
declare i64 @_swift_class_getInstancePositiveExtentSize_native(%swift.type*) #0
; Function Attrs: noreturn nounwind
declare void @llvm.trap() #2
; Function Attrs: noinline
declare void @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_(i8*, i64, i8, i8*, i64, i8, i8*, i64, i8, i64) #3
; Function Attrs: noinline
declare void @_TFs5printFTGSaP__9separatorSS10terminatorSS_T_(%swift.refcounted*, i8*, i64, i64, i8*, i64, i64) #3
declare %swift.refcounted* @swift_bufferAllocate(%swift.type*, i64, i64) #0
define linkonce_odr hidden { %swift.refcounted*, i8* } @_TTSf4n_n_d___TTSg5P____TZFSa13_adoptStoragefTPs9AnyObject_5countSi_TGSax_GSpx__(%swift.refcounted*, i64) #0 {
entry:
%protocols.i.i = alloca [0 x %swift.protocol*], align 8
%2 = bitcast %swift.refcounted* %0 to i8*
%3 = load %swift.type*, %swift.type** @_TMLGCs23_ContiguousArrayStorageP__, align 8
%4 = icmp eq %swift.type* %3, null
br i1 %4, label %cacheIsNull.i, label %_TMaGCs23_ContiguousArrayStorageP__.exit
cacheIsNull.i: ; preds = %entry
%5 = bitcast [0 x %swift.protocol*]* %protocols.i.i to i8*
call void @llvm.lifetime.start(i64 0, i8* %5) #5
%6 = load %swift.type*, %swift.type** @_TMLP_, align 8
%7 = icmp eq %swift.type* %6, null
br i1 %7, label %cacheIsNull.i.i, label %_TMaP_.exit.i
cacheIsNull.i.i: ; preds = %cacheIsNull.i
%8 = getelementptr inbounds [0 x %swift.protocol*], [0 x %swift.protocol*]* %protocols.i.i, i64 0, i64 0
%9 = call %swift.type* @swift_getExistentialTypeMetadata(i64 0, %swift.protocol** %8) #5
store %swift.type* %9, %swift.type** @_TMLP_, align 8
br label %_TMaP_.exit.i
_TMaP_.exit.i: ; preds = %cacheIsNull.i.i, %cacheIsNull.i
%10 = phi %swift.type* [ %6, %cacheIsNull.i ], [ %9, %cacheIsNull.i.i ]
call void @llvm.lifetime.end(i64 0, i8* %5) #5
%11 = bitcast %swift.type* %10 to i8*
%12 = call %swift.type* @swift_getGenericMetadata1(%swift.type_pattern* nonnull @_TMPCs23_ContiguousArrayStorage, i8* %11) #6
store %swift.type* %12, %swift.type** @_TMLGCs23_ContiguousArrayStorageP__, align 8
br label %_TMaGCs23_ContiguousArrayStorageP__.exit
_TMaGCs23_ContiguousArrayStorageP__.exit: ; preds = %entry, %_TMaP_.exit.i
%13 = phi %swift.type* [ %3, %entry ], [ %12, %_TMaP_.exit.i ]
%14 = bitcast %swift.type* %13 to i8*
%15 = call i8* @swift_dynamicCastClass(i8* %2, i8* %14) #5
%16 = icmp eq i8* %15, null
br i1 %16, label %39, label %17
; <label>:17 ; preds = %_TMaGCs23_ContiguousArrayStorageP__.exit
%18 = bitcast %swift.refcounted* %0 to %objc_object*
%.Type = call %swift.type* @swift_getObjectType(%objc_object* %18) #6
call void @swift_retain(%swift.refcounted* %0) #5
%19 = call i64 @_swift_class_getInstancePositiveExtentSize_native(%swift.type* %.Type)
%20 = icmp slt i64 %19, 0
br i1 %20, label %40, label %21
; <label>:21 ; preds = %17
%22 = icmp eq i64 %19, 16
br i1 %22, label %29, label %23
; <label>:23 ; preds = %21
%24 = call i64 @_swift_class_getInstancePositiveExtentSize_native(%swift.type* %.Type)
%25 = icmp slt i64 %24, 0
br i1 %25, label %41, label %27
; <label>:26 ; preds = %27
call void @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_(i8* nonnull getelementptr inbounds ([12 x i8], [12 x i8]* @2, i64 0, i64 0), i64 11, i8 2, i8* nonnull getelementptr inbounds ([64 x i8], [64 x i8]* @0, i64 0, i64 0), i64 63, i8 2, i8* nonnull getelementptr inbounds ([118 x i8], [118 x i8]* @1, i64 0, i64 0), i64 117, i8 2, i64 376)
unreachable
; <label>:27 ; preds = %23
%28 = icmp eq i64 %24, 32
br i1 %28, label %29, label %26, !prof !4
; <label>:29 ; preds = %27, %21
%30 = icmp sgt i64 %1, -1
br i1 %30, label %31, label %38, !prof !4
; <label>:31 ; preds = %29
%32 = getelementptr inbounds %swift.refcounted, %swift.refcounted* %0, i64 1
%33 = shl i64 %1, 1
%._storage.count._value = bitcast %swift.refcounted* %32 to i64*
store i64 %1, i64* %._storage.count._value, align 8
%._storage._capacityAndFlags = getelementptr inbounds %swift.refcounted, %swift.refcounted* %0, i64 1, i32 1
%._storage._capacityAndFlags._value = bitcast i32* %._storage._capacityAndFlags to i64*
store i64 %33, i64* %._storage._capacityAndFlags._value, align 8
call void @swift_release(%swift.refcounted* %0) #5
%34 = getelementptr inbounds %swift.refcounted, %swift.refcounted* %0, i64 2
%35 = bitcast %swift.refcounted* %34 to i8*
%36 = insertvalue { %swift.refcounted*, i8* } undef, %swift.refcounted* %0, 0
%37 = insertvalue { %swift.refcounted*, i8* } %36, i8* %35, 1
ret { %swift.refcounted*, i8* } %37
; <label>:38 ; preds = %29
call void @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_(i8* nonnull getelementptr inbounds ([12 x i8], [12 x i8]* @2, i64 0, i64 0), i64 11, i8 2, i8* nonnull getelementptr inbounds ([1 x i8], [1 x i8]* @3, i64 0, i64 0), i64 0, i8 2, i8* nonnull getelementptr inbounds ([114 x i8], [114 x i8]* @6, i64 0, i64 0), i64 113, i8 2, i64 24)
unreachable
; <label>:39 ; preds = %_TMaGCs23_ContiguousArrayStorageP__.exit
call void @swift_retain(%swift.refcounted* %0) #5
call void @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_(i8* nonnull getelementptr inbounds ([12 x i8], [12 x i8]* @2, i64 0, i64 0), i64 11, i8 2, i8* nonnull getelementptr inbounds ([27 x i8], [27 x i8]* @4, i64 0, i64 0), i64 26, i8 2, i8* nonnull getelementptr inbounds ([147 x i8], [147 x i8]* @5, i64 0, i64 0), i64 146, i8 2, i64 1719)
unreachable
; <label>:40 ; preds = %17
call void @llvm.trap()
unreachable
; <label>:41 ; preds = %23
call void @llvm.trap()
unreachable
}
; Function Attrs: noinline
declare { i8*, i64, i64 } @_TIFs5printFTGSaP__9separatorSS10terminatorSS_T_A0_() #3
; Function Attrs: noinline
declare { i8*, i64, i64 } @_TIFs5printFTGSaP__9separatorSS10terminatorSS_T_A1_() #3
declare i8* @swift_dynamicCastClass(i8*, i8*)
declare void @swift_retain(%swift.refcounted*)
declare %swift.type* @swift_getObjectType(%objc_object*)
declare void @swift_release(%swift.refcounted*)
; Function Attrs: nounwind argmemonly
declare void @llvm.lifetime.start(i64, i8* nocapture) #4
; Function Attrs: nounwind argmemonly
declare void @llvm.lifetime.end(i64, i8* nocapture) #4
attributes #0 = { "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "target-cpu"="x86-64" "target-features"="+mmx,+fxsr,+sse,+sse2" }
attributes #1 = { nounwind "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "target-cpu"="x86-64" "target-features"="+mmx,+fxsr,+sse,+sse2" }
attributes #2 = { noreturn nounwind }
attributes #3 = { noinline "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "target-cpu"="x86-64" "target-features"="+mmx,+fxsr,+sse,+sse2" }
attributes #4 = { nounwind argmemonly }
attributes #5 = { nounwind }
attributes #6 = { nounwind readnone }
!llvm.module.flags = !{!0, !2, !3}
!0 = !{i32 6, !"Linker Options", !1}
!1 = !{}
!2 = !{i32 4, !"Objective-C Garbage Collection", i32 768}
!3 = !{i32 1, !"Swift Version", i32 3}
!4 = !{!"branch_weights", i32 64, i32 4}
sil_stage canonical
import Builtin
import Swift
import SwiftShims
// example.a : Swift.Int
sil_global [let] @_Tv7example1aSi : $Int
// example.b : Swift.Int
sil_global [let] @_Tv7example1bSi : $Int
// example.c : Swift.Int
sil_global [let] @_Tv7example1cSi : $Int
// static Swift.Process._argc : Swift.Int32
sil_global [fragile] @_TZvOs7Process5_argcVs5Int32 : $Int32
// globalinit_33_1BDF70FFC18749BAB495A73B459ED2F0_token4
sil_global private_external [fragile] @globalinit_33_1BDF70FFC18749BAB495A73B459ED2F0_token4 : $Builtin.Word
// static Swift.Process._unsafeArgv : Swift.UnsafeMutablePointer<Swift.UnsafeMutablePointer<Swift.Int8>>
sil_global [fragile] @_TZvOs7Process11_unsafeArgvGSpGSpVs4Int8__ : $UnsafeMutablePointer<UnsafeMutablePointer<Int8>>
// _swiftEmptyArrayStorage
sil_global [fragile] @_swiftEmptyArrayStorage : $_SwiftEmptyArrayStorage
// main
sil @main : $@convention(c) (Int32, UnsafeMutablePointer<UnsafeMutablePointer<Int8>>) -> Int32 {
// %0 // user: %3
// %1 // user: %9
bb0(%0 : $Int32, %1 : $UnsafeMutablePointer<UnsafeMutablePointer<Int8>>):
%2 = global_addr @_TZvOs7Process5_argcVs5Int32 : $*Int32 // user: %3
store %0 to %2 : $*Int32 // id: %3
%4 = global_addr @globalinit_33_1BDF70FFC18749BAB495A73B459ED2F0_token4 : $*Builtin.Word // user: %5
%5 = address_to_pointer %4 : $*Builtin.Word to $Builtin.RawPointer // user: %7
// function_ref globalinit_33_1BDF70FFC18749BAB495A73B459ED2F0_func4
%6 = function_ref @globalinit_33_1BDF70FFC18749BAB495A73B459ED2F0_func4 : $@convention(thin) () -> () // user: %7
%7 = builtin "once"(%5 : $Builtin.RawPointer, %6 : $@convention(thin) () -> ()) : $()
%8 = global_addr @_TZvOs7Process11_unsafeArgvGSpGSpVs4Int8__ : $*UnsafeMutablePointer<UnsafeMutablePointer<Int8>> // user: %9
store %1 to %8 : $*UnsafeMutablePointer<UnsafeMutablePointer<Int8>> // id: %9
%10 = global_addr @_Tv7example1aSi : $*Int // user: %13
%11 = integer_literal $Builtin.Int64, 3 // user: %12
%12 = struct $Int (%11 : $Builtin.Int64) // user: %13
store %12 to %10 : $*Int // id: %13
%14 = global_addr @_Tv7example1bSi : $*Int // user: %17
%15 = integer_literal $Builtin.Int64, 4 // user: %16
%16 = struct $Int (%15 : $Builtin.Int64) // user: %17
store %16 to %14 : $*Int // id: %17
%18 = global_addr @_Tv7example1cSi : $*Int // user: %21
%19 = integer_literal $Builtin.Int64, 7 // user: %20
%20 = struct $Int (%19 : $Builtin.Int64) // users: %21, %156
store %20 to %18 : $*Int // id: %21
%22 = integer_literal $Builtin.Int64, 1 // users: %23, %69, %79, %108, %118, %142
%23 = struct $Int (%22 : $Builtin.Int64) // users: %24, %28, %148
debug_value %23 : $Int // id: %24
%25 = metatype $@thick _ContiguousArrayStorage<protocol<>>.Type // user: %26
%26 = init_existential_metatype %25 : $@thick _ContiguousArrayStorage<protocol<>>.Type, $@thick AnyObject.Type // users: %27, %29, %30, %32, %145
debug_value %26 : $@thick AnyObject.Type // id: %27
debug_value %23 : $Int // id: %28
debug_value %26 : $@thick AnyObject.Type // id: %29
debug_value %26 : $@thick AnyObject.Type // id: %30
// function_ref _swift_class_getInstancePositiveExtentSize_native
%31 = function_ref @_swift_class_getInstancePositiveExtentSize_native : $@convention(thin) (@thick AnyObject.Type) -> UInt // user: %32
%32 = apply %31(%26) : $@convention(thin) (@thick AnyObject.Type) -> UInt // user: %33
%33 = struct_extract %32 : $UInt, #UInt._value // user: %34
%34 = builtin "u_to_s_checked_conversion_Int64"(%33 : $Builtin.Int64) : $(Builtin.Int64, Builtin.Int1) // users: %35, %37
%35 = tuple_extract %34 : $(Builtin.Int64, Builtin.Int1), 1 // user: %36
cond_fail %35 : $Builtin.Int1 // id: %36
%37 = tuple_extract %34 : $(Builtin.Int64, Builtin.Int1), 0 // user: %41
%38 = metatype $@thick HeapObject.Type // users: %39, %134
%39 = builtin "sizeof"<HeapObject>(%38 : $@thick HeapObject.Type) : $Builtin.Word // user: %40
%40 = builtin "zextOrBitCast_Word_Int64"(%39 : $Builtin.Word) : $Builtin.Int64 // users: %41, %50, %75
%41 = builtin "cmp_eq_Int64"(%37 : $Builtin.Int64, %40 : $Builtin.Int64) : $Builtin.Int1 // user: %42
cond_br %41, bb1, bb22 // id: %42
bb1: // Preds: bb0
%43 = integer_literal $Builtin.Int1, -1 // users: %51, %57, %73, %75, %86, %91, %97, %112, %114, %124
%44 = integer_literal $Builtin.Int64, 0 // users: %50, %56, %59, %72, %90, %96, %99, %111
%45 = string_literal utf8 "" // users: %66, %106, %172, %179, %186, %193
%46 = integer_literal $Builtin.Word, 0 // users: %66, %106, %172, %179, %186, %193
%47 = integer_literal $Builtin.Int8, 2 // users: %66, %66, %66, %106, %106, %106, %172, %172, %172, %179, %179, %179, %186, %186, %186, %193, %193, %193
%48 = string_literal utf8 "/home/buildslave/jenkins/workspace/oss-swift-linux-packages-ubuntu_14_04/swift/stdlib/public/core/Builtin.swift" // users: %66, %106, %172, %179, %186, %193
%49 = integer_literal $Builtin.Word, 111 // users: %66, %106, %172, %179, %186, %193
%50 = builtin "cmp_sge_Int64"(%40 : $Builtin.Int64, %44 : $Builtin.Int64) : $Builtin.Int1 // user: %51
%51 = builtin "int_expect_Int1"(%50 : $Builtin.Int1, %43 : $Builtin.Int1) : $Builtin.Int1 // user: %52
cond_br %51, bb2, bb21 // id: %52
bb2: // Preds: bb1
%53 = metatype $@thick _ArrayBody.Type // users: %54, %84
%54 = builtin "alignof"<_ArrayBody>(%53 : $@thick _ArrayBody.Type) : $Builtin.Word // user: %55
%55 = builtin "zextOrBitCast_Word_Int64"(%54 : $Builtin.Word) : $Builtin.Int64 // users: %56, %59, %69, %71, %75, %130, %132
%56 = builtin "cmp_sgt_Int64"(%55 : $Builtin.Int64, %44 : $Builtin.Int64) : $Builtin.Int1 // user: %57
%57 = builtin "int_expect_Int1"(%56 : $Builtin.Int1, %43 : $Builtin.Int1) : $Builtin.Int1 // user: %58
cond_br %57, bb3, bb20 // id: %58
bb3: // Preds: bb2
%59 = builtin "cmp_sle_Int64"(%55 : $Builtin.Int64, %44 : $Builtin.Int64) : $Builtin.Int1 // user: %60
cond_br %59, bb4, bb5 // id: %60
bb4: // Preds: bb3 bb5
%61 = integer_literal $Builtin.Int64, 81 // user: %62
%62 = struct $UInt (%61 : $Builtin.Int64) // user: %66
%63 = string_literal utf8 "fatal error" // user: %66
%64 = integer_literal $Builtin.Word, 11 // user: %66
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%65 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %66
%66 = apply %65(%63, %64, %47, %45, %46, %47, %48, %49, %47, %62) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %67
bb5: // Preds: bb3
%68 = integer_literal $Builtin.Int1, 0 // users: %69, %79, %108, %118, %142
%69 = builtin "ssub_with_overflow_Int64"(%55 : $Builtin.Int64, %22 : $Builtin.Int64, %68 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // user: %70
%70 = tuple_extract %69 : $(Builtin.Int64, Builtin.Int1), 0 // users: %71, %82
%71 = builtin "and_Int64"(%55 : $Builtin.Int64, %70 : $Builtin.Int64) : $Builtin.Int64 // user: %72
%72 = builtin "cmp_eq_Int64"(%71 : $Builtin.Int64, %44 : $Builtin.Int64) : $Builtin.Int1 // user: %73
%73 = builtin "int_expect_Int1"(%72 : $Builtin.Int1, %43 : $Builtin.Int1) : $Builtin.Int1 // user: %74
cond_br %73, bb6, bb4 // id: %74
bb6: // Preds: bb5
%75 = builtin "sadd_with_overflow_Int64"(%40 : $Builtin.Int64, %55 : $Builtin.Int64, %43 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // users: %76, %77
%76 = tuple_extract %75 : $(Builtin.Int64, Builtin.Int1), 0 // user: %79
%77 = tuple_extract %75 : $(Builtin.Int64, Builtin.Int1), 1 // user: %78
cond_fail %77 : $Builtin.Int1 // id: %78
%79 = builtin "ssub_with_overflow_Int64"(%76 : $Builtin.Int64, %22 : $Builtin.Int64, %68 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // user: %80
%80 = tuple_extract %79 : $(Builtin.Int64, Builtin.Int1), 0 // user: %83
%81 = integer_literal $Builtin.Int64, -1 // users: %82, %120
%82 = builtin "xor_Int64"(%70 : $Builtin.Int64, %81 : $Builtin.Int64) : $Builtin.Int64 // user: %83
%83 = builtin "and_Int64"(%80 : $Builtin.Int64, %82 : $Builtin.Int64) : $Builtin.Int64 // user: %86
%84 = builtin "sizeof"<_ArrayBody>(%53 : $@thick _ArrayBody.Type) : $Builtin.Word // user: %85
%85 = builtin "zextOrBitCast_Word_Int64"(%84 : $Builtin.Word) : $Builtin.Int64 // user: %86
%86 = builtin "sadd_with_overflow_Int64"(%83 : $Builtin.Int64, %85 : $Builtin.Int64, %43 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // users: %87, %88
%87 = tuple_extract %86 : $(Builtin.Int64, Builtin.Int1), 0 // users: %90, %114
%88 = tuple_extract %86 : $(Builtin.Int64, Builtin.Int1), 1 // user: %89
cond_fail %88 : $Builtin.Int1 // id: %89
%90 = builtin "cmp_sge_Int64"(%87 : $Builtin.Int64, %44 : $Builtin.Int64) : $Builtin.Int1 // user: %91
%91 = builtin "int_expect_Int1"(%90 : $Builtin.Int1, %43 : $Builtin.Int1) : $Builtin.Int1 // user: %92
cond_br %91, bb7, bb19 // id: %92
bb7: // Preds: bb6
%93 = metatype $@thick protocol<>.Protocol // users: %94, %122
%94 = builtin "alignof"<protocol<>>(%93 : $@thick protocol<>.Protocol) : $Builtin.Word // user: %95
%95 = builtin "zextOrBitCast_Word_Int64"(%94 : $Builtin.Word) : $Builtin.Int64 // users: %96, %99, %108, %110, %114, %130, %166
%96 = builtin "cmp_sgt_Int64"(%95 : $Builtin.Int64, %44 : $Builtin.Int64) : $Builtin.Int1 // user: %97
%97 = builtin "int_expect_Int1"(%96 : $Builtin.Int1, %43 : $Builtin.Int1) : $Builtin.Int1 // user: %98
cond_br %97, bb8, bb18 // id: %98
bb8: // Preds: bb7
%99 = builtin "cmp_sle_Int64"(%95 : $Builtin.Int64, %44 : $Builtin.Int64) : $Builtin.Int1 // user: %100
cond_br %99, bb9, bb10 // id: %100
bb9: // Preds: bb8 bb10
%101 = integer_literal $Builtin.Int64, 81 // user: %102
%102 = struct $UInt (%101 : $Builtin.Int64) // user: %106
%103 = string_literal utf8 "fatal error" // user: %106
%104 = integer_literal $Builtin.Word, 11 // user: %106
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%105 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %106
%106 = apply %105(%103, %104, %47, %45, %46, %47, %48, %49, %47, %102) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %107
bb10: // Preds: bb8
%108 = builtin "ssub_with_overflow_Int64"(%95 : $Builtin.Int64, %22 : $Builtin.Int64, %68 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // user: %109
%109 = tuple_extract %108 : $(Builtin.Int64, Builtin.Int1), 0 // users: %110, %120
%110 = builtin "and_Int64"(%95 : $Builtin.Int64, %109 : $Builtin.Int64) : $Builtin.Int64 // user: %111
%111 = builtin "cmp_eq_Int64"(%110 : $Builtin.Int64, %44 : $Builtin.Int64) : $Builtin.Int1 // user: %112
%112 = builtin "int_expect_Int1"(%111 : $Builtin.Int1, %43 : $Builtin.Int1) : $Builtin.Int1 // user: %113
cond_br %112, bb11, bb9 // id: %113
bb11: // Preds: bb10
%114 = builtin "sadd_with_overflow_Int64"(%87 : $Builtin.Int64, %95 : $Builtin.Int64, %43 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // users: %115, %116
%115 = tuple_extract %114 : $(Builtin.Int64, Builtin.Int1), 0 // user: %118
%116 = tuple_extract %114 : $(Builtin.Int64, Builtin.Int1), 1 // user: %117
cond_fail %116 : $Builtin.Int1 // id: %117
%118 = builtin "ssub_with_overflow_Int64"(%115 : $Builtin.Int64, %22 : $Builtin.Int64, %68 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // user: %119
%119 = tuple_extract %118 : $(Builtin.Int64, Builtin.Int1), 0 // user: %121
%120 = builtin "xor_Int64"(%109 : $Builtin.Int64, %81 : $Builtin.Int64) : $Builtin.Int64 // user: %121
%121 = builtin "and_Int64"(%119 : $Builtin.Int64, %120 : $Builtin.Int64) : $Builtin.Int64 // user: %124
%122 = builtin "strideof_nonzero"<protocol<>>(%93 : $@thick protocol<>.Protocol) : $Builtin.Word // user: %123
%123 = builtin "zextOrBitCast_Word_Int64"(%122 : $Builtin.Word) : $Builtin.Int64 // user: %124
%124 = builtin "sadd_with_overflow_Int64"(%121 : $Builtin.Int64, %123 : $Builtin.Int64, %43 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // users: %125, %126
%125 = tuple_extract %124 : $(Builtin.Int64, Builtin.Int1), 0 // user: %128
%126 = tuple_extract %124 : $(Builtin.Int64, Builtin.Int1), 1 // user: %127
cond_fail %126 : $Builtin.Int1 // id: %127
%128 = struct $Int (%125 : $Builtin.Int64) // users: %129, %145
debug_value %128 : $Int // id: %129
%130 = builtin "cmp_slt_Int64"(%95 : $Builtin.Int64, %55 : $Builtin.Int64) : $Builtin.Int1 // user: %131
cond_br %130, bb12, bb17 // id: %131
bb12: // Preds: bb11
br bb13(%55 : $Builtin.Int64) // id: %132
// %133 // users: %136, %165
bb13(%133 : $Builtin.Int64): // Preds: bb12 bb17
%134 = builtin "alignof"<HeapObject>(%38 : $@thick HeapObject.Type) : $Builtin.Word // user: %135
%135 = builtin "zextOrBitCast_Word_Int64"(%134 : $Builtin.Word) : $Builtin.Int64 // users: %136, %138
%136 = builtin "cmp_slt_Int64"(%133 : $Builtin.Int64, %135 : $Builtin.Int64) : $Builtin.Int1 // user: %137
cond_br %136, bb14, bb16 // id: %137
bb14: // Preds: bb13
br bb15(%135 : $Builtin.Int64) // id: %138
// %139 // user: %142
bb15(%139 : $Builtin.Int64): // Preds: bb14 bb16
// function_ref Swift.print (Swift.Array<protocol<>>, separator : Swift.String, terminator : Swift.String) -> ()
%140 = function_ref @_TFs5printFTGSaP__9separatorSS10terminatorSS_T_ : $@convention(thin) (@owned Array<protocol<>>, @owned String, @owned String) -> () // user: %161
// function_ref swift_bufferAllocate
%141 = function_ref @swift_bufferAllocate : $@convention(thin) (@thick AnyObject.Type, Int, Int) -> @owned AnyObject // user: %145
%142 = builtin "ssub_with_overflow_Int64"(%139 : $Builtin.Int64, %22 : $Builtin.Int64, %68 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // user: %143
%143 = tuple_extract %142 : $(Builtin.Int64, Builtin.Int1), 0 // user: %144
%144 = struct $Int (%143 : $Builtin.Int64) // user: %145
%145 = apply %141(%26, %128, %144) : $@convention(thin) (@thick AnyObject.Type, Int, Int) -> @owned AnyObject // users: %146, %148
debug_value %145 : $AnyObject // id: %146
// function_ref function signature specialization <Arg[2] = Dead> of generic specialization <protocol<>> of static Swift.Array._adoptStorage (Swift.AnyObject, count : Swift.Int) -> (Swift.Array<A>, Swift.UnsafeMutablePointer<A>)
%147 = function_ref @_TTSf4n_n_d___TTSg5P____TZFSa13_adoptStoragefTPs9AnyObject_5countSi_TGSax_GSpx__ : $@convention(thin) (@owned AnyObject, Int) -> @owned (Array<protocol<>>, UnsafeMutablePointer<protocol<>>) // user: %148
%148 = apply %147(%145, %23) : $@convention(thin) (@owned AnyObject, Int) -> @owned (Array<protocol<>>, UnsafeMutablePointer<protocol<>>) // users: %149, %150
%149 = tuple_extract %148 : $(Array<protocol<>>, UnsafeMutablePointer<protocol<>>), 0 // users: %151, %161
%150 = tuple_extract %148 : $(Array<protocol<>>, UnsafeMutablePointer<protocol<>>), 1 // users: %152, %153
debug_value %149 : $Array<protocol<>> // id: %151
debug_value %150 : $UnsafeMutablePointer<protocol<>> // id: %152
%153 = struct_extract %150 : $UnsafeMutablePointer<protocol<>>, #UnsafeMutablePointer._rawValue // user: %154
%154 = pointer_to_address %153 : $Builtin.RawPointer to $*protocol<> // user: %155
%155 = init_existential_addr %154 : $*protocol<>, $Int // user: %156
store %20 to %155 : $*Int // id: %156
// function_ref Swift.(print (Swift.Array<protocol<>>, separator : Swift.String, terminator : Swift.String) -> ()).(default argument 1)
%157 = function_ref @_TIFs5printFTGSaP__9separatorSS10terminatorSS_T_A0_ : $@convention(thin) () -> @owned String // user: %158
%158 = apply %157() : $@convention(thin) () -> @owned String // user: %161
// function_ref Swift.(print (Swift.Array<protocol<>>, separator : Swift.String, terminator : Swift.String) -> ()).(default argument 2)
%159 = function_ref @_TIFs5printFTGSaP__9separatorSS10terminatorSS_T_A1_ : $@convention(thin) () -> @owned String // user: %160
%160 = apply %159() : $@convention(thin) () -> @owned String // user: %161
%161 = apply %140(%149, %158, %160) : $@convention(thin) (@owned Array<protocol<>>, @owned String, @owned String) -> ()
%162 = integer_literal $Builtin.Int32, 0 // user: %163
%163 = struct $Int32 (%162 : $Builtin.Int32) // user: %164
return %163 : $Int32 // id: %164
bb16: // Preds: bb13
br bb15(%133 : $Builtin.Int64) // id: %165
bb17: // Preds: bb11
br bb13(%95 : $Builtin.Int64) // id: %166
bb18: // Preds: bb7
%167 = integer_literal $Builtin.Int64, 80 // user: %168
%168 = struct $UInt (%167 : $Builtin.Int64) // user: %172
%169 = string_literal utf8 "fatal error" // user: %172
%170 = integer_literal $Builtin.Word, 11 // user: %172
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%171 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %172
%172 = apply %171(%169, %170, %47, %45, %46, %47, %48, %49, %47, %168) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %173
bb19: // Preds: bb6
%174 = integer_literal $Builtin.Int64, 79 // user: %175
%175 = struct $UInt (%174 : $Builtin.Int64) // user: %179
%176 = string_literal utf8 "fatal error" // user: %179
%177 = integer_literal $Builtin.Word, 11 // user: %179
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%178 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %179
%179 = apply %178(%176, %177, %47, %45, %46, %47, %48, %49, %47, %175) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %180
bb20: // Preds: bb2
%181 = integer_literal $Builtin.Int64, 80 // user: %182
%182 = struct $UInt (%181 : $Builtin.Int64) // user: %186
%183 = string_literal utf8 "fatal error" // user: %186
%184 = integer_literal $Builtin.Word, 11 // user: %186
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%185 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %186
%186 = apply %185(%183, %184, %47, %45, %46, %47, %48, %49, %47, %182) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %187
bb21: // Preds: bb1
%188 = integer_literal $Builtin.Int64, 79 // user: %189
%189 = struct $UInt (%188 : $Builtin.Int64) // user: %193
%190 = string_literal utf8 "fatal error" // user: %193
%191 = integer_literal $Builtin.Word, 11 // user: %193
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%192 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %193
%193 = apply %192(%190, %191, %47, %45, %46, %47, %48, %49, %47, %189) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %194
bb22: // Preds: bb0
%195 = string_literal utf8 "ManagedBufferPointer buffer class has illegal stored properties" // user: %205
%196 = integer_literal $Builtin.Word, 63 // user: %205
%197 = integer_literal $Builtin.Int8, 2 // users: %205, %205, %205
%198 = string_literal utf8 "/home/buildslave/jenkins/workspace/oss-swift-linux-packages-ubuntu_14_04/swift/stdlib/public/core/ManagedBuffer.swift" // user: %205
%199 = integer_literal $Builtin.Word, 117 // user: %205
%200 = integer_literal $Builtin.Int64, 376 // user: %201
%201 = struct $UInt (%200 : $Builtin.Int64) // user: %205
%202 = string_literal utf8 "fatal error" // user: %205
%203 = integer_literal $Builtin.Word, 11 // user: %205
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%204 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %205
%205 = apply %204(%202, %203, %197, %195, %196, %197, %198, %199, %197, %201) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %206
}
// Swift.print (Swift.Array<protocol<>>, separator : Swift.String, terminator : Swift.String) -> ()
sil [noinline] [_semantics "stdlib_binary_only"] @_TFs5printFTGSaP__9separatorSS10terminatorSS_T_ : $@convention(thin) (@owned Array<protocol<>>, @owned String, @owned String) -> ()
// Swift.(print (Swift.Array<protocol<>>, separator : Swift.String, terminator : Swift.String) -> ()).(default argument 1)
sil [noinline] [_semantics "stdlib_binary_only"] @_TIFs5printFTGSaP__9separatorSS10terminatorSS_T_A0_ : $@convention(thin) () -> @owned String
// Swift.(print (Swift.Array<protocol<>>, separator : Swift.String, terminator : Swift.String) -> ()).(default argument 2)
sil [noinline] [_semantics "stdlib_binary_only"] @_TIFs5printFTGSaP__9separatorSS10terminatorSS_T_A1_ : $@convention(thin) () -> @owned String
// globalinit_33_1BDF70FFC18749BAB495A73B459ED2F0_func4
sil private_external [fragile] @globalinit_33_1BDF70FFC18749BAB495A73B459ED2F0_func4 : $@convention(thin) () -> () {
bb0:
%0 = global_addr @_TZvOs7Process11_unsafeArgvGSpGSpVs4Int8__ : $*UnsafeMutablePointer<UnsafeMutablePointer<Int8>> // user: %4
%1 = integer_literal $Builtin.Int8, 0 // user: %2
%2 = builtin "inttoptr_Int8"(%1 : $Builtin.Int8) : $Builtin.RawPointer // user: %3
%3 = struct $UnsafeMutablePointer<UnsafeMutablePointer<Int8>> (%2 : $Builtin.RawPointer) // user: %4
store %3 to %0 : $*UnsafeMutablePointer<UnsafeMutablePointer<Int8>> // id: %4
%5 = tuple () // user: %6
return %5 : $() // id: %6
}
// Swift._ContiguousArrayStorage.__deallocating_deinit
sil hidden_external [fragile] @_TFCs23_ContiguousArrayStorageD : $@convention(method) <Element> (@owned _ContiguousArrayStorage<Element>) -> ()
// function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
sil [fragile] [noinline] [_semantics "stdlib_binary_only"] @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
// swift_bufferAllocate
sil hidden_external [fragile] @swift_bufferAllocate : $@convention(thin) (@thick AnyObject.Type, Int, Int) -> @owned AnyObject
// _swift_class_getInstancePositiveExtentSize_native
sil hidden_external [fragile] @_swift_class_getInstancePositiveExtentSize_native : $@convention(thin) (@thick AnyObject.Type) -> UInt
// Swift._ContiguousArrayStorage1.__deallocating_deinit
sil hidden_external [fragile] @_TFCs24_ContiguousArrayStorage1D : $@convention(method) (@owned _ContiguousArrayStorage1) -> ()
// Swift._ContiguousArrayStorageBase.__deallocating_deinit
sil hidden_external [fragile] @_TFCs27_ContiguousArrayStorageBaseD : $@convention(method) (@owned _ContiguousArrayStorageBase) -> ()
// Swift._SwiftNativeNSArrayWithContiguousStorage.__deallocating_deinit
sil hidden_external [fragile] @_TFCs40_SwiftNativeNSArrayWithContiguousStorageD : $@convention(method) (@owned _SwiftNativeNSArrayWithContiguousStorage) -> ()
// function signature specialization <Arg[2] = Dead> of generic specialization <protocol<>> of static Swift.Array._adoptStorage (Swift.AnyObject, count : Swift.Int) -> (Swift.Array<A>, Swift.UnsafeMutablePointer<A>)
sil shared [fragile] @_TTSf4n_n_d___TTSg5P____TZFSa13_adoptStoragefTPs9AnyObject_5countSi_TGSax_GSpx__ : $@convention(thin) (@owned AnyObject, Int) -> @owned (Array<protocol<>>, UnsafeMutablePointer<protocol<>>) {
// %0 // users: %2, %5, %7, %16, %110, %173, %197, %282
// %1 // users: %3, %8, %113, %114, %153, %154, %155, %193
bb0(%0 : $AnyObject, %1 : $Int):
debug_value %0 : $AnyObject // id: %2
debug_value %1 : $Int // id: %3
%4 = integer_literal $Builtin.Int8, 2 // users: %52, %52, %52, %67, %67, %67, %101, %101, %101, %108, %108, %108, %140, %140, %140, %164, %164, %164, %171, %171, %171, %226, %226, %226, %255, %255, %255, %262, %262, %262, %271, %271, %271, %283, %283, %283
checked_cast_br %0 : $AnyObject to $_ContiguousArrayStorage<protocol<>>, bb1, bb28 // id: %5
bb1(%6 : $_ContiguousArrayStorage<protocol<>>): // Preds: bb0
%7 = unchecked_ref_cast %0 : $AnyObject to $_ContiguousArrayStorage<protocol<>> // users: %9, %10
debug_value %1 : $Int // id: %8
debug_value %7 : $_ContiguousArrayStorage<protocol<>> // id: %9
%10 = init_existential_ref %7 : $_ContiguousArrayStorage<protocol<>> : $_ContiguousArrayStorage<protocol<>>, $AnyObject // users: %11, %12
debug_value %10 : $AnyObject // id: %11
%12 = existential_metatype $@thick AnyObject.Type, %10 : $AnyObject // users: %13, %14, %17, %28, %29
debug_value %12 : $@thick AnyObject.Type // id: %13
debug_value %12 : $@thick AnyObject.Type // id: %14
// function_ref _swift_class_getInstancePositiveExtentSize_native
%15 = function_ref @_swift_class_getInstancePositiveExtentSize_native : $@convention(thin) (@thick AnyObject.Type) -> UInt // users: %17, %29
strong_retain %0 : $AnyObject // id: %16
%17 = apply %15(%12) : $@convention(thin) (@thick AnyObject.Type) -> UInt // user: %18
%18 = struct_extract %17 : $UInt, #UInt._value // user: %19
%19 = builtin "u_to_s_checked_conversion_Int64"(%18 : $Builtin.Int64) : $(Builtin.Int64, Builtin.Int1) // users: %20, %22
%20 = tuple_extract %19 : $(Builtin.Int64, Builtin.Int1), 1 // user: %21
cond_fail %20 : $Builtin.Int1 // id: %21
%22 = tuple_extract %19 : $(Builtin.Int64, Builtin.Int1), 0 // user: %26
%23 = metatype $@thick HeapObject.Type // user: %24
%24 = builtin "sizeof"<HeapObject>(%23 : $@thick HeapObject.Type) : $Builtin.Word // user: %25
%25 = builtin "zextOrBitCast_Word_Int64"(%24 : $Builtin.Word) : $Builtin.Int64 // users: %26, %39, %78, %123, %150
%26 = builtin "cmp_eq_Int64"(%22 : $Builtin.Int64, %25 : $Builtin.Int64) : $Builtin.Int1 // user: %27
cond_br %26, bb11, bb2 // id: %27
bb2: // Preds: bb1
debug_value %12 : $@thick AnyObject.Type // id: %28
%29 = apply %15(%12) : $@convention(thin) (@thick AnyObject.Type) -> UInt // user: %30
%30 = struct_extract %29 : $UInt, #UInt._value // user: %31
%31 = builtin "u_to_s_checked_conversion_Int64"(%30 : $Builtin.Int64) : $(Builtin.Int64, Builtin.Int1) // users: %32, %77
%32 = tuple_extract %31 : $(Builtin.Int64, Builtin.Int1), 1 // user: %33
cond_fail %32 : $Builtin.Int1 // id: %33
%34 = string_literal utf8 "" // users: %67, %101, %108
%35 = integer_literal $Builtin.Word, 0 // users: %67, %101, %108
%36 = string_literal utf8 "/home/buildslave/jenkins/workspace/oss-swift-linux-packages-ubuntu_14_04/swift/stdlib/public/core/Builtin.swift" // users: %67, %101, %108
%37 = integer_literal $Builtin.Word, 111 // users: %67, %101, %108
%38 = integer_literal $Builtin.Int64, 0 // users: %39, %57, %60, %74
%39 = builtin "cmp_sge_Int64"(%25 : $Builtin.Int64, %38 : $Builtin.Int64) : $Builtin.Int1 // user: %41
%40 = integer_literal $Builtin.Int1, -1 // users: %41, %58, %75, %78, %89, %94
%41 = builtin "int_expect_Int1"(%39 : $Builtin.Int1, %40 : $Builtin.Int1) : $Builtin.Int1 // user: %42
cond_br %41, bb4, bb10 // id: %42
bb3: // Preds: bb8
%43 = string_literal utf8 "ManagedBufferPointer buffer class has illegal stored properties" // user: %52
%44 = integer_literal $Builtin.Word, 63 // user: %52
%45 = string_literal utf8 "/home/buildslave/jenkins/workspace/oss-swift-linux-packages-ubuntu_14_04/swift/stdlib/public/core/ManagedBuffer.swift" // user: %52
%46 = integer_literal $Builtin.Word, 117 // user: %52
%47 = integer_literal $Builtin.Int64, 376 // user: %48
%48 = struct $UInt (%47 : $Builtin.Int64) // user: %52
%49 = string_literal utf8 "fatal error" // user: %52
%50 = integer_literal $Builtin.Word, 11 // user: %52
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%51 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %52
%52 = apply %51(%49, %50, %4, %43, %44, %4, %45, %46, %4, %48) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %53
bb4: // Preds: bb2
%54 = metatype $@thick _ArrayBody.Type // users: %55, %87
%55 = builtin "alignof"<_ArrayBody>(%54 : $@thick _ArrayBody.Type) : $Builtin.Word // user: %56
%56 = builtin "zextOrBitCast_Word_Int64"(%55 : $Builtin.Word) : $Builtin.Int64 // users: %57, %60, %71, %73, %78
%57 = builtin "cmp_sgt_Int64"(%56 : $Builtin.Int64, %38 : $Builtin.Int64) : $Builtin.Int1 // user: %58
%58 = builtin "int_expect_Int1"(%57 : $Builtin.Int1, %40 : $Builtin.Int1) : $Builtin.Int1 // user: %59
cond_br %58, bb5, bb9 // id: %59
bb5: // Preds: bb4
%60 = builtin "cmp_sle_Int64"(%56 : $Builtin.Int64, %38 : $Builtin.Int64) : $Builtin.Int1 // user: %61
cond_br %60, bb6, bb7 // id: %61
bb6: // Preds: bb5 bb7
%62 = integer_literal $Builtin.Int64, 81 // user: %63
%63 = struct $UInt (%62 : $Builtin.Int64) // user: %67
%64 = string_literal utf8 "fatal error" // user: %67
%65 = integer_literal $Builtin.Word, 11 // user: %67
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%66 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %67
%67 = apply %66(%64, %65, %4, %34, %35, %4, %36, %37, %4, %63) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %68
bb7: // Preds: bb5
%69 = integer_literal $Builtin.Int64, 1 // users: %71, %82
%70 = integer_literal $Builtin.Int1, 0 // users: %71, %82
%71 = builtin "ssub_with_overflow_Int64"(%56 : $Builtin.Int64, %69 : $Builtin.Int64, %70 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // user: %72
%72 = tuple_extract %71 : $(Builtin.Int64, Builtin.Int1), 0 // users: %73, %85
%73 = builtin "and_Int64"(%56 : $Builtin.Int64, %72 : $Builtin.Int64) : $Builtin.Int64 // user: %74
%74 = builtin "cmp_eq_Int64"(%73 : $Builtin.Int64, %38 : $Builtin.Int64) : $Builtin.Int1 // user: %75
%75 = builtin "int_expect_Int1"(%74 : $Builtin.Int1, %40 : $Builtin.Int1) : $Builtin.Int1 // user: %76
cond_br %75, bb8, bb6 // id: %76
bb8: // Preds: bb7
%77 = tuple_extract %31 : $(Builtin.Int64, Builtin.Int1), 0 // user: %93
%78 = builtin "sadd_with_overflow_Int64"(%25 : $Builtin.Int64, %56 : $Builtin.Int64, %40 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // users: %79, %80
%79 = tuple_extract %78 : $(Builtin.Int64, Builtin.Int1), 0 // user: %82
%80 = tuple_extract %78 : $(Builtin.Int64, Builtin.Int1), 1 // user: %81
cond_fail %80 : $Builtin.Int1 // id: %81
%82 = builtin "ssub_with_overflow_Int64"(%79 : $Builtin.Int64, %69 : $Builtin.Int64, %70 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // user: %83
%83 = tuple_extract %82 : $(Builtin.Int64, Builtin.Int1), 0 // user: %86
%84 = integer_literal $Builtin.Int64, -1 // user: %85
%85 = builtin "xor_Int64"(%72 : $Builtin.Int64, %84 : $Builtin.Int64) : $Builtin.Int64 // user: %86
%86 = builtin "and_Int64"(%83 : $Builtin.Int64, %85 : $Builtin.Int64) : $Builtin.Int64 // user: %89
%87 = builtin "sizeof"<_ArrayBody>(%54 : $@thick _ArrayBody.Type) : $Builtin.Word // user: %88
%88 = builtin "zextOrBitCast_Word_Int64"(%87 : $Builtin.Word) : $Builtin.Int64 // user: %89
%89 = builtin "sadd_with_overflow_Int64"(%86 : $Builtin.Int64, %88 : $Builtin.Int64, %40 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // users: %90, %91
%90 = tuple_extract %89 : $(Builtin.Int64, Builtin.Int1), 0 // user: %93
%91 = tuple_extract %89 : $(Builtin.Int64, Builtin.Int1), 1 // user: %92
cond_fail %91 : $Builtin.Int1 // id: %92
%93 = builtin "cmp_eq_Int64"(%77 : $Builtin.Int64, %90 : $Builtin.Int64) : $Builtin.Int1 // user: %94
%94 = builtin "int_expect_Int1"(%93 : $Builtin.Int1, %40 : $Builtin.Int1) : $Builtin.Int1 // user: %95
cond_br %94, bb11, bb3 // id: %95
bb9: // Preds: bb4
%96 = integer_literal $Builtin.Int64, 80 // user: %97
%97 = struct $UInt (%96 : $Builtin.Int64) // user: %101
%98 = string_literal utf8 "fatal error" // user: %101
%99 = integer_literal $Builtin.Word, 11 // user: %101
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%100 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %101
%101 = apply %100(%98, %99, %4, %34, %35, %4, %36, %37, %4, %97) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %102
bb10: // Preds: bb2
%103 = integer_literal $Builtin.Int64, 79 // user: %104
%104 = struct $UInt (%103 : $Builtin.Int64) // user: %108
%105 = string_literal utf8 "fatal error" // user: %108
%106 = integer_literal $Builtin.Word, 11 // user: %108
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%107 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %108
%108 = apply %107(%105, %106, %4, %34, %35, %4, %36, %37, %4, %104) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %109
bb11: // Preds: bb1 bb8
%110 = unchecked_ref_cast %0 : $AnyObject to $Builtin.NativeObject // user: %111
%111 = struct $ManagedBufferPointer<_ArrayBody, protocol<>> (%110 : $Builtin.NativeObject) // users: %112, %116, %117, %202, %203
%112 = struct $_ContiguousArrayBuffer<protocol<>> (%111 : $ManagedBufferPointer<_ArrayBody, protocol<>>) // users: %115, %198, %199, %200, %201, %234
debug_value %1 : $Int // id: %113
debug_value %1 : $Int // id: %114
debug_value %112 : $_ContiguousArrayBuffer<protocol<>> // id: %115
debug_value %111 : $ManagedBufferPointer<_ArrayBody, protocol<>> // id: %116
debug_value %111 : $ManagedBufferPointer<_ArrayBody, protocol<>> // id: %117
%118 = string_literal utf8 "" // users: %140, %164, %171, %226, %255, %262, %271
%119 = integer_literal $Builtin.Word, 0 // users: %140, %164, %171, %226, %255, %262, %271
%120 = string_literal utf8 "/home/buildslave/jenkins/workspace/oss-swift-linux-packages-ubuntu_14_04/swift/stdlib/public/core/Builtin.swift" // users: %140, %164, %171, %226, %255, %262
%121 = integer_literal $Builtin.Word, 111 // users: %140, %164, %171, %226, %255, %262
%122 = integer_literal $Builtin.Int64, 0 // users: %123, %130, %133, %147, %156, %210, %216, %219, %231
%123 = builtin "cmp_sge_Int64"(%25 : $Builtin.Int64, %122 : $Builtin.Int64) : $Builtin.Int1 // user: %125
%124 = integer_literal $Builtin.Int1, -1 // users: %125, %131, %148, %150, %157, %206, %211, %217, %232, %235
%125 = builtin "int_expect_Int1"(%123 : $Builtin.Int1, %124 : $Builtin.Int1) : $Builtin.Int1 // user: %126
cond_br %125, bb12, bb18 // id: %126
bb12: // Preds: bb11
%127 = metatype $@thick _ArrayBody.Type // users: %128, %204
%128 = builtin "alignof"<_ArrayBody>(%127 : $@thick _ArrayBody.Type) : $Builtin.Word // user: %129
%129 = builtin "zextOrBitCast_Word_Int64"(%128 : $Builtin.Word) : $Builtin.Int64 // users: %130, %133, %144, %146, %150
%130 = builtin "cmp_sgt_Int64"(%129 : $Builtin.Int64, %122 : $Builtin.Int64) : $Builtin.Int1 // user: %131
%131 = builtin "int_expect_Int1"(%130 : $Builtin.Int1, %124 : $Builtin.Int1) : $Builtin.Int1 // user: %132
cond_br %131, bb13, bb17 // id: %132
bb13: // Preds: bb12
%133 = builtin "cmp_sle_Int64"(%129 : $Builtin.Int64, %122 : $Builtin.Int64) : $Builtin.Int1 // user: %134
cond_br %133, bb14, bb15 // id: %134
bb14: // Preds: bb13 bb15
%135 = integer_literal $Builtin.Int64, 81 // user: %136
%136 = struct $UInt (%135 : $Builtin.Int64) // user: %140
%137 = string_literal utf8 "fatal error" // user: %140
%138 = integer_literal $Builtin.Word, 11 // user: %140
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%139 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %140
%140 = apply %139(%137, %138, %4, %118, %119, %4, %120, %121, %4, %136) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %141
bb15: // Preds: bb13
%142 = integer_literal $Builtin.Int64, 1 // users: %144, %175, %191, %228, %239
%143 = integer_literal $Builtin.Int1, 0 // users: %144, %175, %183, %228, %239, %243
%144 = builtin "ssub_with_overflow_Int64"(%129 : $Builtin.Int64, %142 : $Builtin.Int64, %143 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // user: %145
%145 = tuple_extract %144 : $(Builtin.Int64, Builtin.Int1), 0 // users: %146, %178
%146 = builtin "and_Int64"(%129 : $Builtin.Int64, %145 : $Builtin.Int64) : $Builtin.Int64 // user: %147
%147 = builtin "cmp_eq_Int64"(%146 : $Builtin.Int64, %122 : $Builtin.Int64) : $Builtin.Int1 // user: %148
%148 = builtin "int_expect_Int1"(%147 : $Builtin.Int1, %124 : $Builtin.Int1) : $Builtin.Int1 // user: %149
cond_br %148, bb16, bb14 // id: %149
bb16: // Preds: bb15
%150 = builtin "sadd_with_overflow_Int64"(%25 : $Builtin.Int64, %129 : $Builtin.Int64, %124 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // users: %151, %174
%151 = tuple_extract %150 : $(Builtin.Int64, Builtin.Int1), 1 // user: %152
cond_fail %151 : $Builtin.Int1 // id: %152
debug_value %1 : $Int // id: %153
debug_value %1 : $Int // id: %154
%155 = struct_extract %1 : $Int, #Int._value // users: %156, %187
%156 = builtin "cmp_sge_Int64"(%155 : $Builtin.Int64, %122 : $Builtin.Int64) : $Builtin.Int1 // user: %157
%157 = builtin "int_expect_Int1"(%156 : $Builtin.Int1, %124 : $Builtin.Int1) : $Builtin.Int1 // user: %158
cond_br %157, bb19, bb27 // id: %158
bb17: // Preds: bb12
%159 = integer_literal $Builtin.Int64, 80 // user: %160
%160 = struct $UInt (%159 : $Builtin.Int64) // user: %164
%161 = string_literal utf8 "fatal error" // user: %164
%162 = integer_literal $Builtin.Word, 11 // user: %164
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%163 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %164
%164 = apply %163(%161, %162, %4, %118, %119, %4, %120, %121, %4, %160) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %165
bb18: // Preds: bb11
%166 = integer_literal $Builtin.Int64, 79 // user: %167
%167 = struct $UInt (%166 : $Builtin.Int64) // user: %171
%168 = string_literal utf8 "fatal error" // user: %171
%169 = integer_literal $Builtin.Word, 11 // user: %171
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%170 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %171
%171 = apply %170(%168, %169, %4, %118, %119, %4, %120, %121, %4, %167) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %172
bb19: // Preds: bb16
%173 = ref_to_raw_pointer %0 : $AnyObject to $Builtin.RawPointer // users: %186, %246
%174 = tuple_extract %150 : $(Builtin.Int64, Builtin.Int1), 0 // user: %175
%175 = builtin "ssub_with_overflow_Int64"(%174 : $Builtin.Int64, %142 : $Builtin.Int64, %143 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // user: %176
%176 = tuple_extract %175 : $(Builtin.Int64, Builtin.Int1), 0 // user: %179
%177 = integer_literal $Builtin.Int64, -1 // users: %178, %241
%178 = builtin "xor_Int64"(%145 : $Builtin.Int64, %177 : $Builtin.Int64) : $Builtin.Int64 // user: %179
%179 = builtin "and_Int64"(%176 : $Builtin.Int64, %178 : $Builtin.Int64) : $Builtin.Int64 // users: %183, %206
%180 = metatype $@thick UInt8.Type // user: %181
%181 = builtin "strideof_nonzero"<UInt8>(%180 : $@thick UInt8.Type) : $Builtin.Word // user: %182
%182 = builtin "zextOrBitCast_Word_Int64"(%181 : $Builtin.Word) : $Builtin.Int64 // users: %183, %243
%183 = builtin "smul_with_overflow_Int64"(%179 : $Builtin.Int64, %182 : $Builtin.Int64, %143 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // user: %184
%184 = tuple_extract %183 : $(Builtin.Int64, Builtin.Int1), 0 // user: %185
%185 = builtin "truncOrBitCast_Int64_Word"(%184 : $Builtin.Int64) : $Builtin.Word // user: %186
%186 = index_raw_pointer %173 : $Builtin.RawPointer, %185 : $Builtin.Word // user: %195
%187 = builtin "s_to_u_checked_conversion_Int64"(%155 : $Builtin.Int64) : $(Builtin.Int64, Builtin.Int1) // users: %188, %190
%188 = tuple_extract %187 : $(Builtin.Int64, Builtin.Int1), 1 // user: %189
cond_fail %188 : $Builtin.Int1 // id: %189
%190 = tuple_extract %187 : $(Builtin.Int64, Builtin.Int1), 0 // user: %191
%191 = builtin "shl_Int64"(%190 : $Builtin.Int64, %142 : $Builtin.Int64) : $Builtin.Int64 // user: %192
%192 = struct $UInt (%191 : $Builtin.Int64) // user: %193
%193 = struct $_SwiftArrayBodyStorage (%1 : $Int, %192 : $UInt) // user: %194
%194 = struct $_ArrayBody (%193 : $_SwiftArrayBodyStorage) // user: %196
%195 = pointer_to_address %186 : $Builtin.RawPointer to $*_ArrayBody // user: %196
store %194 to %195 : $*_ArrayBody // id: %196
strong_release %0 : $AnyObject // id: %197
debug_value %112 : $_ContiguousArrayBuffer<protocol<>> // id: %198
debug_value %112 : $_ContiguousArrayBuffer<protocol<>> // id: %199
debug_value %112 : $_ContiguousArrayBuffer<protocol<>> // id: %200
debug_value %112 : $_ContiguousArrayBuffer<protocol<>> // id: %201
debug_value %111 : $ManagedBufferPointer<_ArrayBody, protocol<>> // id: %202
debug_value %111 : $ManagedBufferPointer<_ArrayBody, protocol<>> // id: %203
%204 = builtin "sizeof"<_ArrayBody>(%127 : $@thick _ArrayBody.Type) : $Builtin.Word // user: %205
%205 = builtin "zextOrBitCast_Word_Int64"(%204 : $Builtin.Word) : $Builtin.Int64 // user: %206
%206 = builtin "sadd_with_overflow_Int64"(%179 : $Builtin.Int64, %205 : $Builtin.Int64, %124 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // users: %207, %208
%207 = tuple_extract %206 : $(Builtin.Int64, Builtin.Int1), 0 // users: %210, %235
%208 = tuple_extract %206 : $(Builtin.Int64, Builtin.Int1), 1 // user: %209
cond_fail %208 : $Builtin.Int1 // id: %209
%210 = builtin "cmp_sge_Int64"(%207 : $Builtin.Int64, %122 : $Builtin.Int64) : $Builtin.Int1 // user: %211
%211 = builtin "int_expect_Int1"(%210 : $Builtin.Int1, %124 : $Builtin.Int1) : $Builtin.Int1 // user: %212
cond_br %211, bb20, bb26 // id: %212
bb20: // Preds: bb19
%213 = metatype $@thick protocol<>.Protocol // user: %214
%214 = builtin "alignof"<protocol<>>(%213 : $@thick protocol<>.Protocol) : $Builtin.Word // user: %215
%215 = builtin "zextOrBitCast_Word_Int64"(%214 : $Builtin.Word) : $Builtin.Int64 // users: %216, %219, %228, %230, %235
%216 = builtin "cmp_sgt_Int64"(%215 : $Builtin.Int64, %122 : $Builtin.Int64) : $Builtin.Int1 // user: %217
%217 = builtin "int_expect_Int1"(%216 : $Builtin.Int1, %124 : $Builtin.Int1) : $Builtin.Int1 // user: %218
cond_br %217, bb21, bb25 // id: %218
bb21: // Preds: bb20
%219 = builtin "cmp_sle_Int64"(%215 : $Builtin.Int64, %122 : $Builtin.Int64) : $Builtin.Int1 // user: %220
cond_br %219, bb22, bb23 // id: %220
bb22: // Preds: bb21 bb23
%221 = integer_literal $Builtin.Int64, 81 // user: %222
%222 = struct $UInt (%221 : $Builtin.Int64) // user: %226
%223 = string_literal utf8 "fatal error" // user: %226
%224 = integer_literal $Builtin.Word, 11 // user: %226
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%225 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %226
%226 = apply %225(%223, %224, %4, %118, %119, %4, %120, %121, %4, %222) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %227
bb23: // Preds: bb21
%228 = builtin "ssub_with_overflow_Int64"(%215 : $Builtin.Int64, %142 : $Builtin.Int64, %143 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // user: %229
%229 = tuple_extract %228 : $(Builtin.Int64, Builtin.Int1), 0 // users: %230, %241
%230 = builtin "and_Int64"(%215 : $Builtin.Int64, %229 : $Builtin.Int64) : $Builtin.Int64 // user: %231
%231 = builtin "cmp_eq_Int64"(%230 : $Builtin.Int64, %122 : $Builtin.Int64) : $Builtin.Int1 // user: %232
%232 = builtin "int_expect_Int1"(%231 : $Builtin.Int1, %124 : $Builtin.Int1) : $Builtin.Int1 // user: %233
cond_br %232, bb24, bb22 // id: %233
bb24: // Preds: bb23
%234 = struct $Array<protocol<>> (%112 : $_ContiguousArrayBuffer<protocol<>>) // user: %248
%235 = builtin "sadd_with_overflow_Int64"(%207 : $Builtin.Int64, %215 : $Builtin.Int64, %124 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // users: %236, %237
%236 = tuple_extract %235 : $(Builtin.Int64, Builtin.Int1), 0 // user: %239
%237 = tuple_extract %235 : $(Builtin.Int64, Builtin.Int1), 1 // user: %238
cond_fail %237 : $Builtin.Int1 // id: %238
%239 = builtin "ssub_with_overflow_Int64"(%236 : $Builtin.Int64, %142 : $Builtin.Int64, %143 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // user: %240
%240 = tuple_extract %239 : $(Builtin.Int64, Builtin.Int1), 0 // user: %242
%241 = builtin "xor_Int64"(%229 : $Builtin.Int64, %177 : $Builtin.Int64) : $Builtin.Int64 // user: %242
%242 = builtin "and_Int64"(%240 : $Builtin.Int64, %241 : $Builtin.Int64) : $Builtin.Int64 // user: %243
%243 = builtin "smul_with_overflow_Int64"(%242 : $Builtin.Int64, %182 : $Builtin.Int64, %143 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // user: %244
%244 = tuple_extract %243 : $(Builtin.Int64, Builtin.Int1), 0 // user: %245
%245 = builtin "truncOrBitCast_Int64_Word"(%244 : $Builtin.Int64) : $Builtin.Word // user: %246
%246 = index_raw_pointer %173 : $Builtin.RawPointer, %245 : $Builtin.Word // user: %247
%247 = struct $UnsafeMutablePointer<protocol<>> (%246 : $Builtin.RawPointer) // user: %248
%248 = tuple (%234 : $Array<protocol<>>, %247 : $UnsafeMutablePointer<protocol<>>) // user: %249
return %248 : $(Array<protocol<>>, UnsafeMutablePointer<protocol<>>) // id: %249
bb25: // Preds: bb20
%250 = integer_literal $Builtin.Int64, 80 // user: %251
%251 = struct $UInt (%250 : $Builtin.Int64) // user: %255
%252 = string_literal utf8 "fatal error" // user: %255
%253 = integer_literal $Builtin.Word, 11 // user: %255
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%254 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %255
%255 = apply %254(%252, %253, %4, %118, %119, %4, %120, %121, %4, %251) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %256
bb26: // Preds: bb19
%257 = integer_literal $Builtin.Int64, 79 // user: %258
%258 = struct $UInt (%257 : $Builtin.Int64) // user: %262
%259 = string_literal utf8 "fatal error" // user: %262
%260 = integer_literal $Builtin.Word, 11 // user: %262
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%261 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %262
%262 = apply %261(%259, %260, %4, %118, %119, %4, %120, %121, %4, %258) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %263
bb27: // Preds: bb16
%264 = string_literal utf8 "/home/buildslave/jenkins/workspace/oss-swift-linux-packages-ubuntu_14_04/swift/stdlib/public/core/ArrayBody.swift" // user: %271
%265 = integer_literal $Builtin.Word, 113 // user: %271
%266 = integer_literal $Builtin.Int64, 24 // user: %267
%267 = struct $UInt (%266 : $Builtin.Int64) // user: %271
%268 = string_literal utf8 "fatal error" // user: %271
%269 = integer_literal $Builtin.Word, 11 // user: %271
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%270 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %271
%271 = apply %270(%268, %269, %4, %118, %119, %4, %264, %265, %4, %267) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %272
bb28: // Preds: bb0
%273 = string_literal utf8 "Invalid array storage type" // user: %283
%274 = integer_literal $Builtin.Word, 26 // user: %283
%275 = string_literal utf8 "/home/buildslave/jenkins/workspace/oss-swift-linux-packages-ubuntu_14_04/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/Arrays.swift" // user: %283
%276 = integer_literal $Builtin.Word, 146 // user: %283
%277 = integer_literal $Builtin.Int64, 1719 // user: %278
%278 = struct $UInt (%277 : $Builtin.Int64) // user: %283
%279 = string_literal utf8 "fatal error" // user: %283
%280 = integer_literal $Builtin.Word, 11 // user: %283
// function_ref function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Exploded> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()
%281 = function_ref @_TTSf4s_s_s_n___TFs18_fatalErrorMessageFTVs12StaticStringS_S_Su_T_ : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> () // user: %283
strong_retain %0 : $AnyObject // id: %282
%283 = apply %281(%279, %280, %4, %273, %274, %4, %275, %276, %4, %278) : $@convention(thin) @noreturn (Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, Builtin.RawPointer, Builtin.Word, Builtin.Int8, UInt) -> ()
unreachable // id: %284
}
sil_vtable _ContiguousArrayStorage {
#_ContiguousArrayStorage.deinit!deallocator: _TFCs23_ContiguousArrayStorageD // Swift._ContiguousArrayStorage.__deallocating_deinit
}
sil_vtable _ContiguousArrayStorage1 {
#_ContiguousArrayStorage1.deinit!deallocator: _TFCs24_ContiguousArrayStorage1D // Swift._ContiguousArrayStorage1.__deallocating_deinit
}
sil_vtable _ContiguousArrayStorageBase {
#_ContiguousArrayStorageBase.deinit!deallocator: _TFCs27_ContiguousArrayStorageBaseD // Swift._ContiguousArrayStorageBase.__deallocating_deinit
}
sil_vtable _SwiftNativeNSArrayWithContiguousStorage {
#_SwiftNativeNSArrayWithContiguousStorage.deinit!deallocator: _TFCs40_SwiftNativeNSArrayWithContiguousStorageD // Swift._SwiftNativeNSArrayWithContiguousStorage.__deallocating_deinit
}
sil_witness_table _SwiftNativeNSArrayWithContiguousStorage: AnyObject module Swift
let a = 3
let b = 4
let c = a + b
print(c)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment