Skip to content

Commit f4f6b93

Browse files
committed
[Attributor][AMD] Enable AAIndirectCallInfo for AMDAttributorPass
1 parent f9e7cba commit f4f6b93

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1038,7 +1038,7 @@ static bool runImpl(Module &M, AnalysisGetter &AG, TargetMachine &TM) {
10381038
&AAPotentialValues::ID, &AAAMDFlatWorkGroupSize::ID,
10391039
&AAAMDWavesPerEU::ID, &AAAMDGPUNoAGPR::ID, &AACallEdges::ID,
10401040
&AAPointerInfo::ID, &AAPotentialConstantValues::ID,
1041-
&AAUnderlyingObjects::ID});
1041+
&AAUnderlyingObjects::ID, &AAIndirectCallInfo::ID});
10421042

10431043
AttributorConfig AC(CGUpdater);
10441044
AC.Allowed = &Allowed;

llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,19 @@ define amdgpu_kernel void @indirect_calls_none_agpr(i1 %cond) {
231231
; CHECK-LABEL: define amdgpu_kernel void @indirect_calls_none_agpr(
232232
; CHECK-SAME: i1 [[COND:%.*]]) #[[ATTR0]] {
233233
; CHECK-NEXT: [[FPTR:%.*]] = select i1 [[COND]], ptr @empty, ptr @also_empty
234-
; CHECK-NEXT: call void [[FPTR]]()
234+
; CHECK-NEXT: [[TMP1:%.*]] = icmp eq ptr [[FPTR]], @also_empty
235+
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP2:%.*]], label [[TMP3:%.*]]
236+
; CHECK: 2:
237+
; CHECK-NEXT: call void @also_empty()
238+
; CHECK-NEXT: br label [[TMP6:%.*]]
239+
; CHECK: 3:
240+
; CHECK-NEXT: br i1 true, label [[TMP4:%.*]], label [[TMP5:%.*]]
241+
; CHECK: 4:
242+
; CHECK-NEXT: call void @empty()
243+
; CHECK-NEXT: br label [[TMP6]]
244+
; CHECK: 5:
245+
; CHECK-NEXT: unreachable
246+
; CHECK: 6:
235247
; CHECK-NEXT: ret void
236248
;
237249
%fptr = select i1 %cond, ptr @empty, ptr @also_empty

0 commit comments

Comments
 (0)