Revision 2f78b708576de5a8011bd267953c7b795564b440 authored by Chris Lattner on 12 January 2016, 06:43:27 UTC, committed by Chris Lattner on 12 January 2016, 06:43:27 UTC
1 parent e30cd93
condfail.sil
// RUN: %target-swift-frontend -primary-file %s -g -emit-ir | FileCheck %s
import Builtin
import Swift
// Make sure we emit two traps.
// CHECK-LABEL: define {{.*}} @test_cond_fail({{.*}}) {{.*}} {
// CHECK: call void @llvm.trap()
// CHECK: call void @llvm.trap()
// CHECK: }
sil hidden @test_cond_fail : $@convention(thin) (Int32) -> Int32 {
bb0(%0 : $Int32):
%2 = integer_literal $Builtin.Int32, 1
%3 = struct_extract %0 : $Int32, #Int32._value
%4 = integer_literal $Builtin.Int1, -1
%5 = builtin "sadd_with_overflow_Int32"(%3 : $Builtin.Int32, %2 : $Builtin.Int32, %4 : $Builtin.Int1) : $(Builtin.Int32, Builtin.Int1)
%6 = tuple_extract %5 : $(Builtin.Int32, Builtin.Int1), 0
%7 = tuple_extract %5 : $(Builtin.Int32, Builtin.Int1), 1
cond_fail %7 : $Builtin.Int1
%8 = builtin "sadd_with_overflow_Int32"(%6 : $Builtin.Int32, %2 : $Builtin.Int32, %4 : $Builtin.Int1) : $(Builtin.Int32, Builtin.Int1)
%9 = tuple_extract %5 : $(Builtin.Int32, Builtin.Int1), 1
cond_fail %9 : $Builtin.Int1
%10 = struct $Int32 (%6 : $Builtin.Int32)
return %10 : $Int32
}
Computing file changes ...