// 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
}

