; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -amdgpu-propagate-attributes-late %s | FileCheck %s ; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -passes=amdgpu-propagate-attributes-late %s | FileCheck %s ; CHECK: define internal void @max_flat_1_1024() #0 { define internal void @max_flat_1_1024() #0 { ret void } ; CHECK: define internal void @max_flat_1_256() #1 { define internal void @max_flat_1_256() #1 { ret void } ; CHECK: define amdgpu_kernel void @kernel_1_256_call_default() #1 { define amdgpu_kernel void @kernel_1_256_call_default() #1 { call void @default() ret void } ; CHECK: define amdgpu_kernel void @kernel_1_256_call_1_256() #1 { define amdgpu_kernel void @kernel_1_256_call_1_256() #1 { call void @max_flat_1_256() ret void } ; CHECK: define amdgpu_kernel void @kernel_1_256_call_64_64() #1 { define amdgpu_kernel void @kernel_1_256_call_64_64() #1 { call void @max_flat_64_64() ret void } ; CHECK: define internal void @max_flat_64_64() #2 { define internal void @max_flat_64_64() #2 { ret void } ; CHECK: define internal void @default() #2 { define internal void @default() #3 { ret void } attributes #0 = { noinline "amdgpu-flat-work-group-size"="1,1024" } attributes #1 = { noinline "amdgpu-flat-work-group-size"="1,256" } attributes #2 = { noinline "amdgpu-flat-work-group-size"="64,64" } attributes #3 = { noinline } ; CHECK: attributes #0 = { noinline "amdgpu-flat-work-group-size"="1,1024" ; CHECK-NEXT: attributes #1 = { noinline "amdgpu-flat-work-group-size"="1,256" ; CHECK-NEXT: attributes #2 = { noinline "amdgpu-flat-work-group-size"="1,256"