================ @@ -0,0 +1,533 @@ +; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -enable-ipra=0 -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s + +; SGPR use may not seem equal to the sgpr use provided in comments as the latter includes extra sgprs (e.g., for vcc use). + +; Functions that don't make calls should have constants as its resource usage as no resource information has to be propagated. + +; GCN-LABEL: {{^}}use_vcc: +; GCN: .set use_vcc.num_vgpr, 0 +; GCN: .set use_vcc.num_agpr, 0 +; GCN: .set use_vcc.num_sgpr, 32 +; GCN: .set use_vcc.private_seg_size, 0 +; GCN: .set use_vcc.uses_vcc, 1 +; GCN: .set use_vcc.uses_flat_scratch, 0 +; GCN: .set use_vcc.has_dyn_sized_stack, 0 +; GCN: .set use_vcc.has_recursion, 0 +; GCN: .set use_vcc.has_indirect_call, 0 +; GCN: NumSgprs: 36 +; GCN: NumVgprs: 0 +; GCN: ScratchSize: 0 +define void @use_vcc() #1 { + call void asm sideeffect "", "~{vcc}" () #0 + ret void +} + +; GCN-LABEL: {{^}}indirect_use_vcc: +; GCN: .set indirect_use_vcc.num_vgpr, max(41, use_vcc.num_vgpr) ---------------- arsenm wrote:
If you reassemble the output, do the resources always resolve to constants? https://github.com/llvm/llvm-project/pull/102913 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits