Skip to content

Commit 159628c

Browse files
authored
[CodeGen] Port MachineUniformityAnalysis to new pass manager (llvm#137578)
- Add new pass manager version of `MachineUniformityAnalysis `. - Query `TargetTransformInfo` in new pass manager version. - Use `printAsOperand` when printing machine function name
1 parent 5122255 commit 159628c

22 files changed

+119
-49
lines changed

llvm/include/llvm/CodeGen/MachineUniformityAnalysis.h

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include "llvm/ADT/GenericUniformityInfo.h"
1818
#include "llvm/CodeGen/MachineCycleAnalysis.h"
1919
#include "llvm/CodeGen/MachineDominators.h"
20+
#include "llvm/CodeGen/MachinePassManager.h"
2021
#include "llvm/CodeGen/MachineSSAContext.h"
2122

2223
namespace llvm {
@@ -51,6 +52,27 @@ class MachineUniformityAnalysisPass : public MachineFunctionPass {
5152
// TODO: verify analysis
5253
};
5354

55+
class MachineUniformityAnalysis
56+
: public AnalysisInfoMixin<MachineUniformityAnalysis> {
57+
friend AnalysisInfoMixin<MachineUniformityAnalysis>;
58+
static AnalysisKey Key;
59+
60+
public:
61+
using Result = MachineUniformityInfo;
62+
Result run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM);
63+
};
64+
65+
class MachineUniformityPrinterPass
66+
: public PassInfoMixin<MachineUniformityAnalysis> {
67+
raw_ostream &OS;
68+
69+
public:
70+
explicit MachineUniformityPrinterPass(raw_ostream &OS) : OS(OS) {}
71+
PreservedAnalyses run(MachineFunction &MF,
72+
MachineFunctionAnalysisManager &MFAM);
73+
static bool isRequired() { return true; }
74+
};
75+
5476
} // namespace llvm
5577

5678
#endif // LLVM_CODEGEN_MACHINEUNIFORMITYANALYSIS_H

llvm/include/llvm/Passes/MachinePassRegistry.def

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ MACHINE_FUNCTION_ANALYSIS("machine-opt-remark-emitter",
114114
MACHINE_FUNCTION_ANALYSIS("machine-post-dom-tree",
115115
MachinePostDominatorTreeAnalysis())
116116
MACHINE_FUNCTION_ANALYSIS("machine-trace-metrics", MachineTraceMetricsAnalysis())
117+
MACHINE_FUNCTION_ANALYSIS("machine-uniformity", MachineUniformityAnalysis())
117118
MACHINE_FUNCTION_ANALYSIS("pass-instrumentation", PassInstrumentationAnalysis(PIC))
118119
MACHINE_FUNCTION_ANALYSIS("regalloc-evict", RegAllocEvictionAdvisorAnalysis())
119120
MACHINE_FUNCTION_ANALYSIS("regalloc-priority", RegAllocPriorityAdvisorAnalysis())
@@ -178,6 +179,8 @@ MACHINE_FUNCTION_PASS("print<machine-dom-tree>",
178179
MACHINE_FUNCTION_PASS("print<machine-loops>", MachineLoopPrinterPass(errs()))
179180
MACHINE_FUNCTION_PASS("print<machine-post-dom-tree>",
180181
MachinePostDominatorTreePrinterPass(errs()))
182+
MACHINE_FUNCTION_PASS("print<machine-uniformity>",
183+
MachineUniformityPrinterPass(errs()))
181184
MACHINE_FUNCTION_PASS("print<slot-indexes>", SlotIndexesPrinterPass(errs()))
182185
MACHINE_FUNCTION_PASS("print<virtregmap>", VirtRegMapPrinterPass(errs()))
183186
MACHINE_FUNCTION_PASS("prolog-epilog", PrologEpilogInserterPass())
@@ -303,11 +306,9 @@ DUMMY_MACHINE_FUNCTION_PASS("lrshrink", LiveRangeShrinkPass)
303306
DUMMY_MACHINE_FUNCTION_PASS("machine-combiner", MachineCombinerPass)
304307
DUMMY_MACHINE_FUNCTION_PASS("static-data-splitter", StaticDataSplitter)
305308
DUMMY_MACHINE_FUNCTION_PASS("machine-function-splitter", MachineFunctionSplitterPass)
306-
DUMMY_MACHINE_FUNCTION_PASS("machine-uniformity", MachineUniformityInfoWrapperPass)
307309
DUMMY_MACHINE_FUNCTION_PASS("machineinstr-printer", MachineFunctionPrinterPass)
308310
DUMMY_MACHINE_FUNCTION_PASS("mirfs-discriminators", MIRAddFSDiscriminatorsPass)
309311
DUMMY_MACHINE_FUNCTION_PASS("postra-machine-sink", PostRAMachineSinkingPass)
310-
DUMMY_MACHINE_FUNCTION_PASS("print-machine-uniformity", MachineUniformityInfoPrinterPass)
311312
DUMMY_MACHINE_FUNCTION_PASS("processimpdefs", ProcessImplicitDefsPass)
312313
DUMMY_MACHINE_FUNCTION_PASS("prologepilog-code", PrologEpilogCodeInserterPass)
313314
DUMMY_MACHINE_FUNCTION_PASS("ra-basic", RABasicPass)

llvm/lib/CodeGen/MachineUniformityAnalysis.cpp

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

99
#include "llvm/CodeGen/MachineUniformityAnalysis.h"
1010
#include "llvm/ADT/GenericUniformityImpl.h"
11+
#include "llvm/Analysis/TargetTransformInfo.h"
1112
#include "llvm/CodeGen/MachineCycleAnalysis.h"
1213
#include "llvm/CodeGen/MachineDominators.h"
1314
#include "llvm/CodeGen/MachineRegisterInfo.h"
@@ -177,6 +178,32 @@ class MachineUniformityInfoPrinterPass : public MachineFunctionPass {
177178

178179
} // namespace
179180

181+
AnalysisKey MachineUniformityAnalysis::Key;
182+
183+
MachineUniformityAnalysis::Result
184+
MachineUniformityAnalysis::run(MachineFunction &MF,
185+
MachineFunctionAnalysisManager &MFAM) {
186+
auto &DomTree = MFAM.getResult<MachineDominatorTreeAnalysis>(MF);
187+
auto &CI = MFAM.getResult<MachineCycleAnalysis>(MF);
188+
auto &FAM = MFAM.getResult<FunctionAnalysisManagerMachineFunctionProxy>(MF)
189+
.getManager();
190+
auto &F = MF.getFunction();
191+
auto &TTI = FAM.getResult<TargetIRAnalysis>(F);
192+
return computeMachineUniformityInfo(MF, CI, DomTree,
193+
TTI.hasBranchDivergence(&F));
194+
}
195+
196+
PreservedAnalyses
197+
MachineUniformityPrinterPass::run(MachineFunction &MF,
198+
MachineFunctionAnalysisManager &MFAM) {
199+
auto &MUI = MFAM.getResult<MachineUniformityAnalysis>(MF);
200+
OS << "MachineUniformityInfo for function: ";
201+
MF.getFunction().printAsOperand(OS, /*PrintType=*/false);
202+
OS << '\n';
203+
MUI.print(OS);
204+
return PreservedAnalyses::all();
205+
}
206+
180207
char MachineUniformityAnalysisPass::ID = 0;
181208

182209
MachineUniformityAnalysisPass::MachineUniformityAnalysisPass()
@@ -209,8 +236,9 @@ bool MachineUniformityAnalysisPass::runOnMachineFunction(MachineFunction &MF) {
209236

210237
void MachineUniformityAnalysisPass::print(raw_ostream &OS,
211238
const Module *) const {
212-
OS << "MachineUniformityInfo for function: " << UI.getFunction().getName()
213-
<< "\n";
239+
OS << "MachineUniformityInfo for function: ";
240+
UI.getFunction().getFunction().printAsOperand(OS, /*PrintType=*/false);
241+
OS << '\n';
214242
UI.print(OS);
215243
}
216244

llvm/lib/Passes/PassBuilder.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@
133133
#include "llvm/CodeGen/MachineScheduler.h"
134134
#include "llvm/CodeGen/MachineSink.h"
135135
#include "llvm/CodeGen/MachineTraceMetrics.h"
136+
#include "llvm/CodeGen/MachineUniformityAnalysis.h"
136137
#include "llvm/CodeGen/MachineVerifier.h"
137138
#include "llvm/CodeGen/OptimizePHIs.h"
138139
#include "llvm/CodeGen/PEI.h"

llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform-gmir.mir

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
# NOTE: This file is Generic MIR translation of test/Analysis/UniformityAnalysis/AMDGPU/always_uniform.ll test file
22
# RUN: llc -mtriple=amdgcn-- -run-pass=print-machine-uniformity -o - %s 2>&1 | FileCheck %s
3+
# RUN: llc -mtriple=amdgcn-- -passes='print<machine-uniformity>' -filetype=null %s 2>&1 | FileCheck %s
34
---
45
name: readfirstlane
56
body: |
67
bb.1:
7-
; CHECK-LABEL: MachineUniformityInfo for function: readfirstlane
8+
; CHECK-LABEL: MachineUniformityInfo for function: @readfirstlane
89
; CHECK: DIVERGENT: %{{[0-9]+}}
910
; CHECK-SAME:llvm.amdgcn.workitem.id.x
1011
; CHECK-NOT: DIVERGENT: {{.*}}llvm.amdgcn.readfirstlane
@@ -19,7 +20,7 @@ name: icmp
1920
body: |
2021
bb.1:
2122
liveins: $sgpr4_sgpr5
22-
; CHECK-LABEL: MachineUniformityInfo for function: icmp
23+
; CHECK-LABEL: MachineUniformityInfo for function: @icmp
2324
; CHECK-NEXT: ALL VALUES UNIFORM
2425
2526
%3:_(p4) = COPY $sgpr4_sgpr5
@@ -39,7 +40,7 @@ name: fcmp
3940
body: |
4041
bb.1:
4142
liveins: $sgpr4_sgpr5
42-
; CHECK-LABEL: MachineUniformityInfo for function: fcmp
43+
; CHECK-LABEL: MachineUniformityInfo for function: @fcmp
4344
; CHECK-NEXT: ALL VALUES UNIFORM
4445
4546
%3:_(p4) = COPY $sgpr4_sgpr5
@@ -62,7 +63,7 @@ name: ballot
6263
body: |
6364
bb.1:
6465
liveins: $sgpr4_sgpr5
65-
; CHECK-LABEL: MachineUniformityInfo for function: ballot
66+
; CHECK-LABEL: MachineUniformityInfo for function: @ballot
6667
; CHECK-NEXT: ALL VALUES UNIFORM
6768
6869
%2:_(p4) = COPY $sgpr4_sgpr5
@@ -85,7 +86,7 @@ registers:
8586
body: |
8687
bb.0:
8788
liveins: $vgpr0
88-
; CHECK-LABEL: MachineUniformityInfo for function: asm_sgpr
89+
; CHECK-LABEL: MachineUniformityInfo for function: @asm_sgpr
8990
; CHECK-NOT: DIVERGENT: %1
9091
9192
%0:_(s32) = COPY $vgpr0
@@ -112,7 +113,7 @@ frameInfo:
112113
body: |
113114
bb.0:
114115
liveins: $vgpr0
115-
; CHECK-LABEL: MachineUniformityInfo for function: asm_mixed_sgpr_vgpr
116+
; CHECK-LABEL: MachineUniformityInfo for function: @asm_mixed_sgpr_vgpr
116117
; CHECK: DIVERGENT: %0:
117118
; CHECK: DIVERGENT: %3:
118119
; CHECK-NOT: DIVERGENT: %1:

llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform.mir

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# RUN: llc -mtriple=amdgcn-- -mcpu=gfx900 -run-pass=print-machine-uniformity -o - %s 2>&1 | FileCheck %s
2+
# RUN: llc -mtriple=amdgcn-- -mcpu=gfx900 -passes='print<machine-uniformity>' -filetype=null %s 2>&1 | FileCheck %s
23

34
# readlane, readfirstlane is always uniform
45

@@ -8,7 +9,7 @@ machineFunctionInfo:
89
isEntryFunction: true
910
body: |
1011
bb.0:
11-
; CHECK-LABEL: MachineUniformityInfo for function: readlane
12+
; CHECK-LABEL: MachineUniformityInfo for function: @readlane
1213
; CHECK-NEXT: ALL VALUES UNIFORM
1314
%0:vgpr_32 = IMPLICIT_DEF
1415
%1:vgpr_32 = IMPLICIT_DEF
@@ -26,7 +27,7 @@ machineFunctionInfo:
2627
isEntryFunction: true
2728
body: |
2829
bb.0:
29-
; CHECK-LABEL: MachineUniformityInfo for function: readlane2
30+
; CHECK-LABEL: MachineUniformityInfo for function: @readlane2
3031
; CHECK-NEXT: ALL VALUES UNIFORM
3132
%0:vgpr_32 = IMPLICIT_DEF
3233
%1:vgpr_32 = IMPLICIT_DEF
@@ -47,7 +48,7 @@ machineFunctionInfo:
4748
isEntryFunction: true
4849
body: |
4950
bb.0:
50-
; CHECK-LABEL: MachineUniformityInfo for function: sgprcopy
51+
; CHECK-LABEL: MachineUniformityInfo for function: @sgprcopy
5152
; CHECK-NEXT: ALL VALUES UNIFORM
5253
liveins: $sgpr0,$sgpr1,$vgpr0
5354
%0:sgpr_32 = COPY $sgpr0

llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/atomics-gmir.mir

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# RUN: llc -mtriple=amdgcn-- -run-pass=print-machine-uniformity -o - %s 2>&1 | FileCheck %s
2+
# RUN: llc -mtriple=amdgcn-- -passes='print<machine-uniformity>' -filetype=null %s 2>&1 | FileCheck %s
23

34
---
45
name: test1

llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/atomics.mir

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
# RUN: llc -mtriple=amdgcn-- -run-pass=print-machine-uniformity -o - %s 2>&1 | FileCheck %s
2+
# RUN: llc -mtriple=amdgcn-- -passes='print<machine-uniformity>' -filetype=null %s 2>&1 | FileCheck %s
23

34
---
45
name: test1
56
tracksRegLiveness: true
67
body: |
78
bb.0:
8-
; CHECK-LABEL: MachineUniformityInfo for function: test1
9+
; CHECK-LABEL: MachineUniformityInfo for function: @test1
910
%2:vgpr_32 = IMPLICIT_DEF
1011
%1:vgpr_32 = IMPLICIT_DEF
1112
%0:vgpr_32 = IMPLICIT_DEF
@@ -25,7 +26,7 @@ name: test2
2526
tracksRegLiveness: true
2627
body: |
2728
bb.0:
28-
; CHECK-LABEL: MachineUniformityInfo for function: test2
29+
; CHECK-LABEL: MachineUniformityInfo for function: @test2
2930
%3:vgpr_32 = IMPLICIT_DEF
3031
%2:vgpr_32 = IMPLICIT_DEF
3132
%1:vgpr_32 = IMPLICIT_DEF
@@ -48,7 +49,7 @@ name: atomic_inc
4849
tracksRegLiveness: true
4950
body: |
5051
bb.0:
51-
; CHECK-LABEL: MachineUniformityInfo for function: atomic_inc
52+
; CHECK-LABEL: MachineUniformityInfo for function: @atomic_inc
5253
%2:vgpr_32 = IMPLICIT_DEF
5354
%1:vgpr_32 = IMPLICIT_DEF
5455
%0:vgpr_32 = IMPLICIT_DEF
@@ -65,7 +66,7 @@ name: atomic_inc_64
6566
tracksRegLiveness: true
6667
body: |
6768
bb.0:
68-
; CHECK-LABEL: MachineUniformityInfo for function: atomic_inc_64
69+
; CHECK-LABEL: MachineUniformityInfo for function: @atomic_inc_64
6970
%3:vgpr_32 = IMPLICIT_DEF
7071
%2:vgpr_32 = IMPLICIT_DEF
7172
%1:vgpr_32 = IMPLICIT_DEF
@@ -88,7 +89,7 @@ name: atomic_dec
8889
tracksRegLiveness: true
8990
body: |
9091
bb.0:
91-
; CHECK-LABEL: MachineUniformityInfo for function: atomic_dec
92+
; CHECK-LABEL: MachineUniformityInfo for function: @atomic_dec
9293
%2:vgpr_32 = IMPLICIT_DEF
9394
%1:vgpr_32 = IMPLICIT_DEF
9495
%0:vgpr_32 = IMPLICIT_DEF
@@ -106,7 +107,7 @@ name: atomic_dec_64
106107
tracksRegLiveness: true
107108
body: |
108109
bb.0:
109-
; CHECK-LABEL: MachineUniformityInfo for function: atomic_dec_64
110+
; CHECK-LABEL: MachineUniformityInfo for function: @atomic_dec_64
110111
%3:vgpr_32 = IMPLICIT_DEF
111112
%2:vgpr_32 = IMPLICIT_DEF
112113
%1:vgpr_32 = IMPLICIT_DEF

llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/control-flow-intrinsics.mir

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
# RUN: llc -mtriple=amdgcn-- -mcpu=gfx900 -run-pass=print-machine-uniformity -o - %s 2>&1 | FileCheck %s
2+
# RUN: llc -mtriple=amdgcn-- -mcpu=gfx900 -passes='print<machine-uniformity>' -filetype=null %s 2>&1 | FileCheck %s
23

34
---
45
name: f1
56
body: |
6-
; CHECK-LABEL: MachineUniformityInfo for function: f1
7+
; CHECK-LABEL: MachineUniformityInfo for function: @f1
78
bb.0:
89
successors: %bb.1, %bb.2
910
@@ -23,7 +24,7 @@ body: |
2324
---
2425
name: f2
2526
body: |
26-
; CHECK-LABEL: MachineUniformityInfo for function: f2
27+
; CHECK-LABEL: MachineUniformityInfo for function: @f2
2728
bb.0:
2829
successors: %bb.1, %bb.2
2930

llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-diverge-gmir.mir

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# RUN: llc -mtriple=amdgcn-- -run-pass=print-machine-uniformity -o - %s 2>&1 | FileCheck %s
2-
# CHECK-LABEL: MachineUniformityInfo for function: hidden_diverge
2+
# RUN: llc -mtriple=amdgcn-- -passes='print<machine-uniformity>' -filetype=null %s 2>&1 | FileCheck %s
3+
# CHECK-LABEL: MachineUniformityInfo for function: @hidden_diverge
34
# CHECK-LABEL: BLOCK bb.0
45
# CHECK: DIVERGENT: %{{[0-9]*}}: %{{[0-9]*}}:_(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.workitem.id.x)
56
# CHECK: DIVERGENT: %{{[0-9]*}}: %{{[0-9]*}}:_(s1) = G_ICMP intpred(slt)

llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-loop-diverge.mir

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# RUN: llc -mtriple=amdgcn-- -run-pass=print-machine-uniformity -o - %s 2>&1 | FileCheck %s
2-
# CHECK-LABEL: MachineUniformityInfo for function: hidden_loop_diverge
2+
# RUN: llc -mtriple=amdgcn-- -passes='print<machine-uniformity>' -filetype=null %s 2>&1 | FileCheck %s
3+
# CHECK-LABEL: MachineUniformityInfo for function: @hidden_loop_diverge
34

45
# CHECK-LABEL: BLOCK bb.0
56
# CHECK-NOT: DIVERGENT: %{{[0-9]*}}: %{{[0-9]*}}:_(s1) = G_ICMP intpred(slt), %{{[0-9]*}}:_(s32), %{{[0-9]*}}:_

llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/branch-outside-gmir.mir

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# RUN: llc -mtriple=amdgcn-- -run-pass=print-machine-uniformity -o - %s 2>&1 | FileCheck %s
2+
# RUN: llc -mtriple=amdgcn-- -passes='print<machine-uniformity>' -filetype=null %s 2>&1 | FileCheck %s
23

3-
# CHECK-LABEL: MachineUniformityInfo for function: basic
4+
# CHECK-LABEL: MachineUniformityInfo for function: @basic
45
# CHECK-NEXT: CYCLES ASSSUMED DIVERGENT:
56
# CHECK-NEXT: depth=1: entries(bb.1 bb.3) bb.2
67
# CHECK-LABEL: BLOCK bb.1

llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/diverged-entry-basic-gmir.mir

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# RUN: llc -mtriple=amdgcn-- -run-pass=print-machine-uniformity -o - %s 2>&1 | FileCheck %s
2-
# CHECK-LABEL: MachineUniformityInfo for function: divergent_cycle_1
2+
# RUN: llc -mtriple=amdgcn-- -passes='print<machine-uniformity>' -filetype=null %s 2>&1 | FileCheck %s
3+
# CHECK-LABEL: MachineUniformityInfo for function: @divergent_cycle_1
34
# CHECK-NEXT: CYCLES ASSSUMED DIVERGENT:
45
# CHECK-NEXT: depth=1: entries(bb.3 bb.1) bb.4 bb.2
56
# CHECK-NEXT: CYCLES WITH DIVERGENT EXIT:
@@ -60,7 +61,7 @@ body: |
6061
S_ENDPGM 0
6162
...
6263

63-
# CHECK-LABEL: MachineUniformityInfo for function: uniform_cycle_1
64+
# CHECK-LABEL: MachineUniformityInfo for function: @uniform_cycle_1
6465
---
6566
name: uniform_cycle_1
6667
tracksRegLiveness: true

llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/exit-divergence-gmir.mir

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# RUN: llc -mtriple=amdgcn-- -run-pass=print-machine-uniformity -o - %s 2>&1 | FileCheck %s
2-
# CHECK-LABEL: MachineUniformityInfo for function: basic
2+
# RUN: llc -mtriple=amdgcn-- -passes='print<machine-uniformity>' -filetype=null %s 2>&1 | FileCheck %s
3+
# CHECK-LABEL: MachineUniformityInfo for function: @basic
34
# CHECK-NOT: CYCLES ASSSUMED DIVERGENT:
45
# CHECK: CYCLES WITH DIVERGENT EXIT:
56
# CHECK: depth=1: entries(bb.1 bb.3) bb.2

llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/irreducible-2-gmir.mir

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
# RUN: llc -mtriple=amdgcn-- -run-pass=print-machine-uniformity -o - %s 2>&1 | FileCheck %s
2+
# RUN: llc -mtriple=amdgcn-- -passes='print<machine-uniformity>' -filetype=null %s 2>&1 | FileCheck %s
23

34
# bb0(div)
45
# / \
56
# bb1 <-> bb2
67
# |
78
# bb3
8-
# CHECK-LABEL: MachineUniformityInfo for function: cycle_diverge_enter
9+
# CHECK-LABEL: MachineUniformityInfo for function: @cycle_diverge_enter
910
# CHECK-NEXT: CYCLES ASSSUMED DIVERGENT:
1011
# CHECK-NEXT: depth=1: entries(bb.2 bb.1)
1112
# CHECK-NEXT: CYCLES WITH DIVERGENT EXIT:
@@ -46,7 +47,7 @@ body: |
4647
...
4748

4849

49-
# CHECK-LABEL: MachineUniformityInfo for function: cycle_diverge_exit
50+
# CHECK-LABEL: MachineUniformityInfo for function: @cycle_diverge_exit
5051
# CHECK: DIVERGENT: %{{[0-9]*}}: %{{[0-9]*}}:_(s32), %{{[0-9]*}}:_(s1) = G_UADDO %8:_, %{{[0-9]*}}:_
5152
# bb0
5253
# / \

llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/join-loopexit-gmir.mir

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# RUN: llc -mtriple=amdgcn-- -run-pass=print-machine-uniformity -o - %s 2>&1 | FileCheck %s
2-
# CHECK-LABEL: MachineUniformityInfo for function: test
2+
# RUN: llc -mtriple=amdgcn-- -passes='print<machine-uniformity>' -filetype=null %s 2>&1 | FileCheck %s
3+
# CHECK-LABEL: MachineUniformityInfo for function: @test
34

45
# CHECK-LABEL: BLOCK bb.0
56
# CHECK: DIVERGENT: %{{[0-9]*}}: %{{[0-9]*}}:_(s1) = G_ICMP intpred(eq), %{{[0-9]*}}:_(s32), %{{[0-9]*}}:_

llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/loads-gmir.mir

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# RUN: llc -mtriple=amdgcn-- -run-pass=print-machine-uniformity -o - %s 2>&1 | FileCheck %s
2+
# RUN: llc -mtriple=amdgcn-- -passes='print<machine-uniformity>' -filetype=null %s 2>&1 | FileCheck %s
23

34
---
45
name: loads

0 commit comments

Comments
 (0)