; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
; RUN: opt -S -passes='ipsccp<func-spec>' -force-specialization < %s | FileCheck %s

; Interposable functions (e.g. with weak linkage), cannot be specialized, as
; we don't know whether the definition we see is the prevailing definition.

; Inexact definitions (e.g. with linkonce_odr linkage) *can* be specialized.

define weak i32 @weak_callee(i32 %x, i32 %y) {
; CHECK-LABEL: define weak i32 @weak_callee(
; CHECK-SAME: i32 [[X:%.*]], i32 [[Y:%.*]]) {
; CHECK-NEXT:    [[R2:%.*]] = add i32 [[X]], [[Y]]
; CHECK-NEXT:    ret i32 [[R2]]
;
  %r2 = add i32 %x, %y
  ret i32 %r2
}

define linkonce_odr i32 @linkonce_odr_callee(i32 %x, i32 %y) {
; CHECK-LABEL: define linkonce_odr i32 @linkonce_odr_callee(
; CHECK-SAME: i32 [[X:%.*]], i32 [[Y:%.*]]) {
; CHECK-NEXT:    [[R2:%.*]] = add i32 [[X]], [[Y]]
; CHECK-NEXT:    ret i32 [[R2]]
;
  %r2 = add i32 %x, %y
  ret i32 %r2
}

define i32 @test() {
; CHECK-LABEL: define i32 @test() {
; CHECK-NEXT:    [[R1:%.*]] = call i32 @weak_callee(i32 1, i32 2)
; CHECK-NEXT:    [[R2:%.*]] = call i32 @linkonce_odr_callee.specialized.1(i32 1, i32 2)
; CHECK-NEXT:    [[ADD:%.*]] = add i32 [[R1]], 3
; CHECK-NEXT:    ret i32 [[ADD]]
;
  %r1 = call i32 @weak_callee(i32 1, i32 2)
  %r2 = call i32 @linkonce_odr_callee(i32 1, i32 2)
  %add = add i32 %r1, %r2
  ret i32 %add
}
