; RUN: opt -mtriple=amdgcn-- --amdgpu-inline -S -amdgpu-inline-max-bb=2 %s | FileCheck %s --check-prefix=NOINL
; RUN: opt -mtriple=amdgcn-- --amdgpu-inline -S -amdgpu-inline-max-bb=3 %s | FileCheck %s --check-prefix=INL

define i32 @callee(i32 %x) {
entry:
  %cc = icmp eq i32 %x, 1
  br i1 %cc, label %ret_res, label %mulx

mulx:
  %mul1 = mul i32 %x, %x
  %mul2 = mul i32 %mul1, %x
  %mul3 = mul i32 %mul1, %mul2
  %mul4 = mul i32 %mul3, %mul2
  %mul5 = mul i32 %mul4, %mul3
  br label %ret_res

ret_res:
  %r = phi i32 [ %mul5, %mulx ], [ %x, %entry ]
  ret i32 %r
}

; INL-LABEL: @caller
; NOINL-LABEL: @caller
; INL: mul i32
; INL-NOT: call i32
; NOINL-NOT: mul i32
; NOINL: call i32

define amdgpu_kernel void @caller(i32 %x) {
  %res = call i32 @callee(i32 %x)
  store volatile i32 %res, i32 addrspace(1)* undef
  ret void
}


; inlinehint
define i32 @callee_hint(i32 %x) #0 {
entry:
  %cc = icmp eq i32 %x, 1
  br i1 %cc, label %ret_res, label %mulx

mulx:
  %mul1 = mul i32 %x, %x
  %mul2 = mul i32 %mul1, %x
  %mul3 = mul i32 %mul1, %mul2
  %mul4 = mul i32 %mul3, %mul2
  %mul5 = mul i32 %mul4, %mul3
  br label %ret_res

ret_res:
  %r = phi i32 [ %mul5, %mulx ], [ %x, %entry ]
  ret i32 %r
}

; INL-LABEL: @caller_hint
; NOINL-LABEL: @caller_hint
; INL: mul i32
; INL-NOT: call i32
; NOINL: mul i32
; NOINL-NOT: call i32

define amdgpu_kernel void @caller_hint(i32 %x) {
  %res = call i32 @callee_hint(i32 %x)
  store volatile i32 %res, i32 addrspace(1)* undef
  ret void
}

attributes #0 = { inlinehint }
