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
Raw File
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
}
back to top