// RUN: %target-swift-frontend %s -g -emit-ir -o - | FileCheck %s sil_stage canonical import Builtin import Swift sil @square : $@convention(thin) (Int32) -> Int32 { bb0(%0 : $Int32): debug_value %0 : $Int32, let, name "x" // id: %1 %3 = struct_extract %0 : $Int32, #Int32._value // user: %6 %4 = struct_extract %0 : $Int32, #Int32._value // user: %6 %5 = integer_literal $Builtin.Int1, -1 // user: %6 %6 = builtin "smul_with_overflow_Int32"(%3 : $Builtin.Int32, %4 : $Builtin.Int32, %5 : $Builtin.Int1) : $(Builtin.Int32, Builtin.Int1) // users: %7, %8 %7 = tuple_extract %6 : $(Builtin.Int32, Builtin.Int1), 0 // user: %10 %8 = tuple_extract %6 : $(Builtin.Int32, Builtin.Int1), 1 // user: %9 cond_fail %8 : $Builtin.Int1 // id: %9 %10 = struct $Int32 (%7 : $Builtin.Int32) // user: %11 // CHECK: ret i32 %{{.*}}, !dbg ![[LOC:.*]] // CHECK: ![[LOC]] = !DILocation(line: [[@LINE+1]], return %10 : $Int32 // id: %11 }