mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
48 lines
1.6 KiB
LLVM
48 lines
1.6 KiB
LLVM
; RUN: %swift -target x86_64-apple-darwin10 -emit-object %s
|
|
|
|
; REQUIRES: CPU=x86_64
|
|
|
|
; Make sure we update the datalayout with the current clang's. clang knows
|
|
; better about the ABI intricacies.
|
|
; This test case would crash if we did not do this because of i64:128 in the
|
|
; string below.
|
|
|
|
target datalayout = "e-m:o-i64:128-f80:128-n8:16:32:64-S128"
|
|
target triple = "x86_64-apple-macosx10.13.0"
|
|
|
|
define swiftcc i64 @"$s11TestBitcode3add1x1yS2i_SitF"(i64, i64) #0 {
|
|
entry:
|
|
%2 = call { i64, i1 } @llvm.sadd.with.overflow.i64(i64 %0, i64 %1)
|
|
%3 = extractvalue { i64, i1 } %2, 0
|
|
%4 = extractvalue { i64, i1 } %2, 1
|
|
br i1 %4, label %6, label %5
|
|
|
|
ret i64 %3
|
|
|
|
call void @llvm.trap()
|
|
unreachable
|
|
}
|
|
|
|
declare { i64, i1 } @llvm.sadd.with.overflow.i64(i64, i64) #1
|
|
|
|
declare void @llvm.trap() #2
|
|
|
|
attributes #0 = { "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "target-cpu"="penryn" "target-features"="+cx16,+fxsr,+mmx,+sahf,+sse,+sse2,+sse3,+sse4.1,+ssse3,+x87" }
|
|
attributes #1 = { nounwind readnone speculatable }
|
|
attributes #2 = { noreturn nounwind }
|
|
|
|
!llvm.module.flags = !{!0, !1, !2, !3, !4, !5, !6, !7}
|
|
!llvm.linker.options = !{!8, !9, !10}
|
|
|
|
!0 = !{i32 1, !"Objective-C Version", i32 2}
|
|
!1 = !{i32 1, !"Objective-C Image Info Version", i32 0}
|
|
!2 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
|
|
!3 = !{i32 4, !"Objective-C Garbage Collection", i32 1536}
|
|
!4 = !{i32 1, !"Objective-C Class Properties", i32 64}
|
|
!5 = !{i32 1, !"wchar_size", i32 4}
|
|
!6 = !{i32 7, !"PIC Level", i32 2}
|
|
!7 = !{i32 1, !"Swift Version", i32 6}
|
|
!8 = !{!"-lswiftSwiftOnoneSupport"}
|
|
!9 = !{!"-lswiftCore"}
|
|
!10 = !{!"-lobjc"}
|