; RUN: opt -instcombine -S < %s | FileCheck %s

declare i32 @k() convergent
declare i32 @f()

declare i64 @llvm.read_register.i64(metadata) nounwind

define i32 @extern() {
  ; Convergent attr shouldn't be removed here; k is convergent.
  ; CHECK: call i32 @k() [[CONVERGENT_ATTR:#[0-9]+]]
  %a = call i32 @k() convergent
  ret i32 %a
}

define i32 @extern_no_attr() {
  ; Convergent attr shouldn't be added here, even though k is convergent.
  ; CHECK: call i32 @k(){{$}}
  %a = call i32 @k()
  ret i32 %a
}

define i32 @no_extern() {
  ; Convergent should be removed here, as the target is convergent.
  ; CHECK: call i32 @f(){{$}}
  %a = call i32 @f() convergent
  ret i32 %a
}

define i32 @indirect_call(i32 ()* %f) {
  ; CHECK call i32 %f() [[CONVERGENT_ATTR]]
  %a = call i32 %f() convergent
  ret i32 %a
}

; do not remove from convergent intrinsic call sites
; CHECK-LABEL: @convergent_intrinsic_call(
; CHECK: call i64 @llvm.read_register.i64(metadata !0) [[CONVERGENT_ATTR]]
define i64 @convergent_intrinsic_call() {
  %val = call i64 @llvm.read_register.i64(metadata !0) convergent
  ret i64 %val
}

; CHECK: [[CONVERGENT_ATTR]] = { convergent }
!0 = !{!"foo"}
