| ; REQUIRES: asserts |
| ; RUN: opt -mtriple=amdgpu7.00-amd-amdhsa -passes=inline -disable-output -amdgpu-inline-max-bb=3 -debug-only=AMDGPUtti < %s 2>&1 | FileCheck %s |
| |
| ; CHECK: AMDGPU inline max-BB rejected inlining callee into caller: caller BBs=3, callee BBs=4, combined BBs=6, max BBs=3 |
| |
| define i32 @callee(i32 %x) { |
| entry: |
| %cmp = icmp eq i32 %x, 0 |
| br i1 %cmp, label %then, label %else |
| |
| then: |
| br label %exit |
| |
| else: |
| br label %exit |
| |
| exit: |
| %value = phi i32 [ 1, %then ], [ 2, %else ] |
| ret i32 %value |
| } |
| |
| define amdgpu_kernel void @caller(ptr addrspace(1) %out, i32 %x) { |
| entry: |
| %cmp = icmp slt i32 %x, 0 |
| br i1 %cmp, label %call, label %exit |
| |
| call: |
| %value = call i32 @callee(i32 %x) |
| store i32 %value, ptr addrspace(1) %out, align 4 |
| br label %exit |
| |
| exit: |
| ret void |
| } |