Skip to content

Commit d1bbbf4

Browse files
JanekvODavid Salinas
authored andcommitted
Avoid module pass assert when compiling for O0
Change-Id: Ife52a918a9f9e7ba4980168693a2dbffb13e6e87
1 parent c5afecc commit d1bbbf4

13 files changed

+242
-123
lines changed

llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1254,6 +1254,14 @@ bool AMDGPUAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
12541254
void AMDGPUAsmPrinter::getAnalysisUsage(AnalysisUsage &AU) const {
12551255
AU.addRequired<AMDGPUResourceUsageAnalysis>();
12561256
AU.addPreserved<AMDGPUResourceUsageAnalysis>();
1257+
1258+
// The Dummy pass is necessary because AMDGPUResourceUsageAnalysis will pop
1259+
// the CGSCC pass manager off of the active pass managers stack. Adding the
1260+
// Dummy pass will re-insert the CGSCC pass manager into said stack again
1261+
// through CallGraphSCCPass::assignPassManager.
1262+
AU.addRequired<DummyCGSCCPass>();
1263+
AU.addPreserved<DummyCGSCCPass>();
1264+
12571265
AsmPrinter::getAnalysisUsage(AU);
12581266
}
12591267

llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,16 @@ bool AMDGPUResourceUsageAnalysis::runOnModule(Module &M) {
151151

152152
SIFunctionResourceInfo &Info = CI.first->second;
153153
MachineFunction *MF = MMI.getMachineFunction(*F);
154-
assert(MF && "function must have been generated already");
155-
Info = analyzeResourceUsage(*MF, TM);
156-
HasIndirectCall |= Info.HasIndirectCall;
154+
// We can only analyze resource usage of functions for which there exists a
155+
// machinefunction equivalent. These may not exist as the (codegen) passes
156+
// prior to this one are run in CGSCC order which will bypass any local
157+
// functions that aren't called.
158+
assert((MF || TPC->requiresCodeGenSCCOrder()) &&
159+
"function must have been generated already");
160+
if (MF) {
161+
Info = analyzeResourceUsage(*MF, TM);
162+
HasIndirectCall |= Info.HasIndirectCall;
163+
}
157164
}
158165

159166
if (HasIndirectCall)

llvm/test/CodeGen/AMDGPU/call-to-kernel-undefined.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
; RUN: llc -mtriple=amdgcn -mcpu=tahiti -verify-machineinstrs < %s 2>&1 | FileCheck -check-prefix=GCN %s
22
; GCN: callee_kernel:
33
; GCN: s_endpgm
4+
; GCN: __amdgpu_callee_kernel_kernel_body
5+
; GCN: s_setpc_b64
46
define amdgpu_kernel void @callee_kernel(i32 addrspace(1)* %out) #0 {
57
entry:
68
store volatile i32 0, i32 addrspace(1)* %out
@@ -13,8 +15,6 @@ entry:
1315
; GCN: s_addc_u32 s[[HI2:[0-9]+]], s[[HI1]], __amdgpu_callee_kernel_kernel_body@rel32@hi+12
1416
; GCN: s_swappc_b64 s[{{[0-9:]+}}], s{{\[}}[[LO2]]:[[HI2]]]
1517
; GCN: s_endpgm
16-
; GCN: __amdgpu_callee_kernel_kernel_body
17-
; GCN: s_setpc_b64
1818
define amdgpu_kernel void @caller_kernel(i32 addrspace(1)* %out) #0 {
1919
entry:
2020
call void @callee_kernel(i32 addrspace(1)* %out)

llvm/test/CodeGen/AMDGPU/call-to-kernel.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
; GCN: callee_kernel:
44
; GCN: s_endpgm
5+
; GCN: __amdgpu_callee_kernel_kernel_body
6+
; GCN: s_setpc_b64
57
define amdgpu_kernel void @callee_kernel(i32 addrspace(1)* %out) #0 {
68
entry:
79
store volatile i32 0, i32 addrspace(1)* %out
@@ -14,8 +16,6 @@ entry:
1416
; GCN: s_addc_u32 s[[HI2:[0-9]+]], s[[HI1]], __amdgpu_callee_kernel_kernel_body@rel32@hi+12
1517
; GCN: s_swappc_b64 s[{{[0-9:]+}}], s{{\[}}[[LO2]]:[[HI2]]]
1618
; GCN: s_endpgm
17-
; GCN: __amdgpu_callee_kernel_kernel_body
18-
; GCN: s_setpc_b64
1919
define amdgpu_kernel void @caller_kernel(i32 addrspace(1)* %out) #0 {
2020
entry:
2121
call amdgpu_kernel void @callee_kernel(i32 addrspace(1)* %out)

llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,18 @@
33

44
declare i32 @llvm.amdgcn.workitem.id.x()
55

6+
define <2 x i64> @f1() #0 {
7+
; GFX11-LABEL: f1:
8+
; GFX11: ; %bb.0:
9+
; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
10+
; GFX11-NEXT: v_mov_b32_e32 v0, 0
11+
; GFX11-NEXT: v_mov_b32_e32 v1, 0
12+
; GFX11-NEXT: v_mov_b32_e32 v2, 0
13+
; GFX11-NEXT: v_mov_b32_e32 v3, 0
14+
; GFX11-NEXT: s_setpc_b64 s[30:31]
15+
ret <2 x i64> zeroinitializer
16+
}
17+
618
define void @f0() {
719
; GFX11-LABEL: f0:
820
; GFX11: ; %bb.0: ; %bb
@@ -35,18 +47,6 @@ bb:
3547
ret void
3648
}
3749

38-
define <2 x i64> @f1() #0 {
39-
; GFX11-LABEL: f1:
40-
; GFX11: ; %bb.0:
41-
; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
42-
; GFX11-NEXT: v_mov_b32_e32 v0, 0
43-
; GFX11-NEXT: v_mov_b32_e32 v1, 0
44-
; GFX11-NEXT: v_mov_b32_e32 v2, 0
45-
; GFX11-NEXT: v_mov_b32_e32 v3, 0
46-
; GFX11-NEXT: s_setpc_b64 s[30:31]
47-
ret <2 x i64> zeroinitializer
48-
}
49-
5050
; FIXME: This generates "instid1(/* invalid instid value */)".
5151
define amdgpu_kernel void @f2(i32 %arg, i32 %arg1, i32 %arg2, i1 %arg3, i32 %arg4, i1 %arg5, ptr %arg6, i32 %arg7, i32 %arg8, i32 %arg9, i32 %arg10, i1 %arg11) {
5252
; GFX11-LABEL: f2:

llvm/test/CodeGen/AMDGPU/ipra.ll

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -105,13 +105,6 @@ define void @test_funcx2() #0 {
105105
ret void
106106
}
107107

108-
; GCN-LABEL: {{^}}wombat:
109-
define weak amdgpu_kernel void @wombat(ptr %arg, ptr %arg2) {
110-
bb:
111-
call void @hoge() #0
112-
ret void
113-
}
114-
115108
; Make sure we save/restore the return address around the call.
116109
; Function Attrs: norecurse
117110
define internal void @hoge() #2 {
@@ -128,6 +121,13 @@ bb:
128121
ret void
129122
}
130123

124+
; GCN-LABEL: {{^}}wombat:
125+
define weak amdgpu_kernel void @wombat(ptr %arg, ptr %arg2) {
126+
bb:
127+
call void @hoge() #0
128+
ret void
129+
}
130+
131131
declare dso_local void @eggs()
132132

133133

llvm/test/CodeGen/AMDGPU/llc-pipeline.ll

Lines changed: 40 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -143,11 +143,14 @@
143143
; GCN-O0-NEXT: Machine Optimization Remark Emitter
144144
; GCN-O0-NEXT: Stack Frame Layout Analysis
145145
; GCN-O0-NEXT: Function register usage analysis
146-
; GCN-O0-NEXT: FunctionPass Manager
147-
; GCN-O0-NEXT: Lazy Machine Block Frequency Analysis
148-
; GCN-O0-NEXT: Machine Optimization Remark Emitter
149-
; GCN-O0-NEXT: AMDGPU Assembly Printer
150-
; GCN-O0-NEXT: Free MachineFunction
146+
; GCN-O0-NEXT: CallGraph Construction
147+
; GCN-O0-NEXT: Call Graph SCC Pass Manager
148+
; GCN-O0-NEXT: DummyCGSCCPass
149+
; GCN-O0-NEXT: FunctionPass Manager
150+
; GCN-O0-NEXT: Lazy Machine Block Frequency Analysis
151+
; GCN-O0-NEXT: Machine Optimization Remark Emitter
152+
; GCN-O0-NEXT: AMDGPU Assembly Printer
153+
; GCN-O0-NEXT: Free MachineFunction
151154

152155
; GCN-O1:Target Library Information
153156
; GCN-O1-NEXT:Target Pass Configuration
@@ -412,11 +415,14 @@
412415
; GCN-O1-NEXT: Machine Optimization Remark Emitter
413416
; GCN-O1-NEXT: Stack Frame Layout Analysis
414417
; GCN-O1-NEXT: Function register usage analysis
415-
; GCN-O1-NEXT: FunctionPass Manager
416-
; GCN-O1-NEXT: Lazy Machine Block Frequency Analysis
417-
; GCN-O1-NEXT: Machine Optimization Remark Emitter
418-
; GCN-O1-NEXT: AMDGPU Assembly Printer
419-
; GCN-O1-NEXT: Free MachineFunction
418+
; GCN-O1-NEXT: CallGraph Construction
419+
; GCN-O1-NEXT: Call Graph SCC Pass Manager
420+
; GCN-O1-NEXT: DummyCGSCCPass
421+
; GCN-O1-NEXT: FunctionPass Manager
422+
; GCN-O1-NEXT: Lazy Machine Block Frequency Analysis
423+
; GCN-O1-NEXT: Machine Optimization Remark Emitter
424+
; GCN-O1-NEXT: AMDGPU Assembly Printer
425+
; GCN-O1-NEXT: Free MachineFunction
420426

421427
; GCN-O1-OPTS:Target Library Information
422428
; GCN-O1-OPTS-NEXT:Target Pass Configuration
@@ -709,11 +715,14 @@
709715
; GCN-O1-OPTS-NEXT: Machine Optimization Remark Emitter
710716
; GCN-O1-OPTS-NEXT: Stack Frame Layout Analysis
711717
; GCN-O1-OPTS-NEXT: Function register usage analysis
712-
; GCN-O1-OPTS-NEXT: FunctionPass Manager
713-
; GCN-O1-OPTS-NEXT: Lazy Machine Block Frequency Analysis
714-
; GCN-O1-OPTS-NEXT: Machine Optimization Remark Emitter
715-
; GCN-O1-OPTS-NEXT: AMDGPU Assembly Printer
716-
; GCN-O1-OPTS-NEXT: Free MachineFunction
718+
; GCN-O1-OPTS-NEXT: CallGraph Construction
719+
; GCN-O1-OPTS-NEXT: Call Graph SCC Pass Manager
720+
; GCN-O1-OPTS-NEXT: DummyCGSCCPass
721+
; GCN-O1-OPTS-NEXT: FunctionPass Manager
722+
; GCN-O1-OPTS-NEXT: Lazy Machine Block Frequency Analysis
723+
; GCN-O1-OPTS-NEXT: Machine Optimization Remark Emitter
724+
; GCN-O1-OPTS-NEXT: AMDGPU Assembly Printer
725+
; GCN-O1-OPTS-NEXT: Free MachineFunction
717726

718727
; GCN-O2:Target Library Information
719728
; GCN-O2-NEXT:Target Pass Configuration
@@ -1012,11 +1021,14 @@
10121021
; GCN-O2-NEXT: Machine Optimization Remark Emitter
10131022
; GCN-O2-NEXT: Stack Frame Layout Analysis
10141023
; GCN-O2-NEXT: Function register usage analysis
1015-
; GCN-O2-NEXT: FunctionPass Manager
1016-
; GCN-O2-NEXT: Lazy Machine Block Frequency Analysis
1017-
; GCN-O2-NEXT: Machine Optimization Remark Emitter
1018-
; GCN-O2-NEXT: AMDGPU Assembly Printer
1019-
; GCN-O2-NEXT: Free MachineFunction
1024+
; GCN-O2-NEXT: CallGraph Construction
1025+
; GCN-O2-NEXT: Call Graph SCC Pass Manager
1026+
; GCN-O2-NEXT: DummyCGSCCPass
1027+
; GCN-O2-NEXT: FunctionPass Manager
1028+
; GCN-O2-NEXT: Lazy Machine Block Frequency Analysis
1029+
; GCN-O2-NEXT: Machine Optimization Remark Emitter
1030+
; GCN-O2-NEXT: AMDGPU Assembly Printer
1031+
; GCN-O2-NEXT: Free MachineFunction
10201032

10211033
; GCN-O3:Target Library Information
10221034
; GCN-O3-NEXT:Target Pass Configuration
@@ -1327,11 +1339,14 @@
13271339
; GCN-O3-NEXT: Machine Optimization Remark Emitter
13281340
; GCN-O3-NEXT: Stack Frame Layout Analysis
13291341
; GCN-O3-NEXT: Function register usage analysis
1330-
; GCN-O3-NEXT: FunctionPass Manager
1331-
; GCN-O3-NEXT: Lazy Machine Block Frequency Analysis
1332-
; GCN-O3-NEXT: Machine Optimization Remark Emitter
1333-
; GCN-O3-NEXT: AMDGPU Assembly Printer
1334-
; GCN-O3-NEXT: Free MachineFunction
1342+
; GCN-O3-NEXT: CallGraph Construction
1343+
; GCN-O3-NEXT: Call Graph SCC Pass Manager
1344+
; GCN-O3-NEXT: DummyCGSCCPass
1345+
; GCN-O3-NEXT: FunctionPass Manager
1346+
; GCN-O3-NEXT: Lazy Machine Block Frequency Analysis
1347+
; GCN-O3-NEXT: Machine Optimization Remark Emitter
1348+
; GCN-O3-NEXT: AMDGPU Assembly Printer
1349+
; GCN-O3-NEXT: Free MachineFunction
13351350

13361351
define void @empty() {
13371352
ret void

llvm/test/CodeGen/AMDGPU/lower-module-lds-offsets.ll

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,19 @@
99
@lds.size.1.align.1 = internal unnamed_addr addrspace(3) global [1 x i8] undef, align 1
1010
@lds.size.16.align.16 = internal unnamed_addr addrspace(3) global [16 x i8] undef, align 16
1111

12+
; GCN-LABEL: {{^}}f0:
13+
; GCN-DAG: v_mov_b32_e32 [[NULL:v[0-9]+]], 0
14+
; GCN-DAG: v_mov_b32_e32 [[TREE:v[0-9]+]], 3
15+
; GCN: ds_write_b8 [[NULL]], [[TREE]]
16+
define void @f0() {
17+
; OPT-LABEL: @f0(
18+
; OPT-NEXT: store i8 3, ptr addrspace(3) @llvm.amdgcn.module.lds, align 1
19+
; OPT-NEXT: ret void
20+
;
21+
store i8 3, ptr addrspace(3) @lds.size.1.align.1, align 1
22+
ret void
23+
}
24+
1225
; GCN-LABEL: {{^}}k0:
1326
; GCN-DAG: v_mov_b32_e32 [[NULL:v[0-9]+]], 0
1427
; GCN-DAG: v_mov_b32_e32 [[ONE:v[0-9]+]], 1
@@ -29,16 +42,3 @@ define amdgpu_kernel void @k0() {
2942
call void @f0()
3043
ret void
3144
}
32-
33-
; GCN-LABEL: {{^}}f0:
34-
; GCN-DAG: v_mov_b32_e32 [[NULL:v[0-9]+]], 0
35-
; GCN-DAG: v_mov_b32_e32 [[TREE:v[0-9]+]], 3
36-
; GCN: ds_write_b8 [[NULL]], [[TREE]]
37-
define void @f0() {
38-
; OPT-LABEL: @f0() {
39-
; OPT-NEXT: store i8 3, ptr addrspace(3) @llvm.amdgcn.module.lds, align 1
40-
; OPT-NEXT: ret void
41-
;
42-
store i8 3, ptr addrspace(3) @lds.size.1.align.1, align 1
43-
ret void
44-
}

llvm/test/CodeGen/AMDGPU/module-lds-false-sharing.ll

Lines changed: 49 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,55 @@ store i32 0, ptr addrspace(3) @used_by_kernel
2424
}
2525
; CHECK: ; LDSByteSize: 4 bytes
2626

27+
define void @nonkernel() {
28+
; GFX9-LABEL: nonkernel:
29+
; GFX9: ; %bb.0:
30+
; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
31+
; GFX9-NEXT: v_mov_b32_e32 v0, 0
32+
; GFX9-NEXT: v_mov_b32_e32 v1, v0
33+
; GFX9-NEXT: ds_write_b32 v0, v0 offset:8
34+
; GFX9-NEXT: ds_write_b64 v0, v[0:1]
35+
; GFX9-NEXT: s_waitcnt lgkmcnt(0)
36+
; GFX9-NEXT: s_setpc_b64 s[30:31]
37+
;
38+
; GFX10-LABEL: nonkernel:
39+
; GFX10: ; %bb.0:
40+
; GFX10-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
41+
; GFX10-NEXT: v_mov_b32_e32 v0, 0
42+
; GFX10-NEXT: v_mov_b32_e32 v1, v0
43+
; GFX10-NEXT: ds_write_b32 v0, v0 offset:8
44+
; GFX10-NEXT: ds_write_b64 v0, v[0:1]
45+
; GFX10-NEXT: s_waitcnt lgkmcnt(0)
46+
; GFX10-NEXT: s_setpc_b64 s[30:31]
47+
;
48+
; G_GFX9-LABEL: nonkernel:
49+
; G_GFX9: ; %bb.0:
50+
; G_GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
51+
; G_GFX9-NEXT: v_mov_b32_e32 v2, 0
52+
; G_GFX9-NEXT: v_mov_b32_e32 v3, 8
53+
; G_GFX9-NEXT: v_mov_b32_e32 v0, 0
54+
; G_GFX9-NEXT: v_mov_b32_e32 v1, 0
55+
; G_GFX9-NEXT: ds_write_b32 v3, v2
56+
; G_GFX9-NEXT: ds_write_b64 v2, v[0:1]
57+
; G_GFX9-NEXT: s_waitcnt lgkmcnt(0)
58+
; G_GFX9-NEXT: s_setpc_b64 s[30:31]
59+
;
60+
; G_GFX10-LABEL: nonkernel:
61+
; G_GFX10: ; %bb.0:
62+
; G_GFX10-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
63+
; G_GFX10-NEXT: v_mov_b32_e32 v2, 0
64+
; G_GFX10-NEXT: v_mov_b32_e32 v3, 8
65+
; G_GFX10-NEXT: v_mov_b32_e32 v0, 0
66+
; G_GFX10-NEXT: v_mov_b32_e32 v1, 0
67+
; G_GFX10-NEXT: ds_write_b32 v3, v2
68+
; G_GFX10-NEXT: ds_write_b64 v2, v[0:1]
69+
; G_GFX10-NEXT: s_waitcnt lgkmcnt(0)
70+
; G_GFX10-NEXT: s_setpc_b64 s[30:31]
71+
store i32 0, ptr addrspace(3) @used_by_both
72+
store double 0.0, ptr addrspace(3) @used_by_function
73+
ret void
74+
}
75+
2776
; Needs to allocate both variables, store to used_by_both is at sizeof(double)
2877
define amdgpu_kernel void @withcall() {
2978
; GFX9-LABEL: withcall:
@@ -140,54 +189,5 @@ define amdgpu_kernel void @nocall_false_sharing() {
140189
; CHECK: ; LDSByteSize: 4 bytes
141190

142191

143-
define void @nonkernel() {
144-
; GFX9-LABEL: nonkernel:
145-
; GFX9: ; %bb.0:
146-
; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
147-
; GFX9-NEXT: v_mov_b32_e32 v0, 0
148-
; GFX9-NEXT: v_mov_b32_e32 v1, v0
149-
; GFX9-NEXT: ds_write_b32 v0, v0 offset:8
150-
; GFX9-NEXT: ds_write_b64 v0, v[0:1]
151-
; GFX9-NEXT: s_waitcnt lgkmcnt(0)
152-
; GFX9-NEXT: s_setpc_b64 s[30:31]
153-
;
154-
; GFX10-LABEL: nonkernel:
155-
; GFX10: ; %bb.0:
156-
; GFX10-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
157-
; GFX10-NEXT: v_mov_b32_e32 v0, 0
158-
; GFX10-NEXT: v_mov_b32_e32 v1, v0
159-
; GFX10-NEXT: ds_write_b32 v0, v0 offset:8
160-
; GFX10-NEXT: ds_write_b64 v0, v[0:1]
161-
; GFX10-NEXT: s_waitcnt lgkmcnt(0)
162-
; GFX10-NEXT: s_setpc_b64 s[30:31]
163-
;
164-
; G_GFX9-LABEL: nonkernel:
165-
; G_GFX9: ; %bb.0:
166-
; G_GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
167-
; G_GFX9-NEXT: v_mov_b32_e32 v2, 0
168-
; G_GFX9-NEXT: v_mov_b32_e32 v3, 8
169-
; G_GFX9-NEXT: v_mov_b32_e32 v0, 0
170-
; G_GFX9-NEXT: v_mov_b32_e32 v1, 0
171-
; G_GFX9-NEXT: ds_write_b32 v3, v2
172-
; G_GFX9-NEXT: ds_write_b64 v2, v[0:1]
173-
; G_GFX9-NEXT: s_waitcnt lgkmcnt(0)
174-
; G_GFX9-NEXT: s_setpc_b64 s[30:31]
175-
;
176-
; G_GFX10-LABEL: nonkernel:
177-
; G_GFX10: ; %bb.0:
178-
; G_GFX10-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
179-
; G_GFX10-NEXT: v_mov_b32_e32 v2, 0
180-
; G_GFX10-NEXT: v_mov_b32_e32 v3, 8
181-
; G_GFX10-NEXT: v_mov_b32_e32 v0, 0
182-
; G_GFX10-NEXT: v_mov_b32_e32 v1, 0
183-
; G_GFX10-NEXT: ds_write_b32 v3, v2
184-
; G_GFX10-NEXT: ds_write_b64 v2, v[0:1]
185-
; G_GFX10-NEXT: s_waitcnt lgkmcnt(0)
186-
; G_GFX10-NEXT: s_setpc_b64 s[30:31]
187-
store i32 0, ptr addrspace(3) @used_by_both
188-
store double 0.0, ptr addrspace(3) @used_by_function
189-
ret void
190-
}
191-
192192
!llvm.module.flags = !{!0}
193193
!0 = !{i32 1, !"amdgpu_code_object_version", i32 500}

llvm/test/CodeGen/AMDGPU/resource-usage-dead-function.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
@gv.fptr0 = external hidden unnamed_addr addrspace(4) constant ptr, align 4
88

9-
; GCN-LABEL: unreachable:
9+
; GCN-NOT: unreachable:
1010
; Function info:
1111
; codeLenInByte = 4
1212
define internal fastcc void @unreachable() {

0 commit comments

Comments
 (0)