|
1 |
| -; UNSUPPORTED: expensive_checks |
2 | 1 | ; RUN: llc -O3 -enable-new-pm -mtriple=amdgcn--amdhsa -disable-verify -print-pipeline-passes < %s 2>&1 \
|
3 |
| -; RUN: | tr ',' '\n' | FileCheck -check-prefix=GCN-O3 %s |
| 2 | +; RUN: | FileCheck -check-prefix=GCN-O3 %s |
4 | 3 |
|
5 | 4 | ; REQUIRES: asserts
|
6 | 5 |
|
7 | 6 | ; GCN-O3: require<MachineModuleAnalysis>
|
8 |
| -; GCN-O3-NEXT: require<profile-summary> |
9 |
| -; GCN-O3-NEXT: require<collector-metadata> |
10 |
| -; GCN-O3-NEXT: pre-isel-intrinsic-lowering |
11 |
| -; GCN-O3-NEXT: function(expand-large-div-rem |
12 |
| -; GCN-O3-NEXT: expand-fp) |
13 |
| -; GCN-O3-NEXT: amdgpu-remove-incompatible-functions |
14 |
| -; GCN-O3-NEXT: amdgpu-printf-runtime-binding |
15 |
| -; GCN-O3-NEXT: amdgpu-lower-ctor-dtor |
16 |
| -; GCN-O3-NEXT: function(amdgpu-image-intrinsic-opt) |
17 |
| -; GCN-O3-NEXT: expand-variadics |
18 |
| -; GCN-O3-NEXT: amdgpu-always-inline |
19 |
| -; GCN-O3-NEXT: always-inline |
20 |
| -; GCN-O3-NEXT: amdgpu-export-kernel-runtime-handles |
21 |
| -; GCN-O3-NEXT: amdgpu-sw-lower-lds |
22 |
| -; GCN-O3-NEXT: amdgpu-lower-module-lds |
23 |
| -; GCN-O3-NEXT: function(infer-address-spaces |
24 |
| -; GCN-O3-NEXT: amdgpu-atomic-optimizer |
25 |
| -; GCN-O3-NEXT: atomic-expand |
26 |
| -; GCN-O3-NEXT: amdgpu-promote-alloca |
27 |
| -; GCN-O3-NEXT: separate-const-offset-from-gep<> |
28 |
| -; GCN-O3-NEXT: slsr |
29 |
| -; GCN-O3-NEXT: gvn<> |
30 |
| -; GCN-O3-NEXT: nary-reassociate |
31 |
| -; GCN-O3-NEXT: early-cse<> |
32 |
| -; GCN-O3-NEXT: amdgpu-codegenprepare |
33 |
| -; GCN-O3-NEXT: loop-mssa(loop-reduce) |
34 |
| -; GCN-O3-NEXT: mergeicmps |
35 |
| -; GCN-O3-NEXT: expand-memcmp |
36 |
| -; GCN-O3-NEXT: gc-lowering |
37 |
| -; GCN-O3-NEXT: lower-constant-intrinsics |
38 |
| -; GCN-O3-NEXT: UnreachableBlockElimPass |
39 |
| -; GCN-O3-NEXT: consthoist |
40 |
| -; GCN-O3-NEXT: ReplaceWithVeclib |
41 |
| -; GCN-O3-NEXT: partially-inline-libcalls |
42 |
| -; GCN-O3-NEXT: ee-instrument<post-inline> |
43 |
| -; GCN-O3-NEXT: scalarize-masked-mem-intrin |
44 |
| -; GCN-O3-NEXT: ExpandReductionsPass |
45 |
| -; GCN-O3-NEXT: gvn<> |
46 |
| -; GCN-O3-NEXT: amdgpu-lower-kernel-arguments) |
47 |
| -; GCN-O3-NEXT: amdgpu-lower-buffer-fat-pointers |
48 |
| -; GCN-O3-NEXT: cgscc(function(codegenprepare |
49 |
| -; GCN-O3-NEXT: load-store-vectorizer |
50 |
| -; GCN-O3-NEXT: lower-switch |
51 |
| -; GCN-O3-NEXT: lower-invoke |
52 |
| -; GCN-O3-NEXT: UnreachableBlockElimPass |
53 |
| -; GCN-O3-NEXT: flatten-cfg |
54 |
| -; GCN-O3-NEXT: sink |
55 |
| -; GCN-O3-NEXT: amdgpu-late-codegenprepare |
56 |
| -; GCN-O3-NEXT: amdgpu-unify-divergent-exit-nodes |
57 |
| -; GCN-O3-NEXT: fix-irreducible |
58 |
| -; GCN-O3-NEXT: unify-loop-exits |
59 |
| -; GCN-O3-NEXT: StructurizeCFGPass |
60 |
| -; GCN-O3-NEXT: amdgpu-annotate-uniform |
61 |
| -; GCN-O3-NEXT: si-annotate-control-flow |
62 |
| -; GCN-O3-NEXT: amdgpu-rewrite-undef-for-phi |
63 |
| -; GCN-O3-NEXT: lcssa)) |
64 |
| -; GCN-O3-NEXT: amdgpu-perf-hint |
65 |
| -; GCN-O3-NEXT: cgscc(function(require<uniformity> |
66 |
| -; GCN-O3-NEXT: callbr-prepare |
67 |
| -; GCN-O3-NEXT: safe-stack |
68 |
| -; GCN-O3-NEXT: stack-protector)) |
69 |
| -; GCN-O3-NEXT: cgscc(function(machine-function(amdgpu-isel |
70 |
| -; GCN-O3-NEXT: si-fix-sgpr-copies |
71 |
| -; GCN-O3-NEXT: si-i1-copies |
72 |
| -; GCN-O3-NEXT: finalize-isel |
73 |
| -; GCN-O3-NEXT: early-tailduplication |
74 |
| -; GCN-O3-NEXT: opt-phis |
75 |
| -; GCN-O3-NEXT: stack-coloring |
76 |
| -; GCN-O3-NEXT: localstackalloc |
77 |
| -; GCN-O3-NEXT: dead-mi-elimination |
78 |
| -; GCN-O3-NEXT: early-machinelicm |
79 |
| -; GCN-O3-NEXT: machine-cse |
80 |
| -; GCN-O3-NEXT: machine-sink |
81 |
| -; GCN-O3-NEXT: peephole-opt |
82 |
| -; GCN-O3-NEXT: dead-mi-elimination |
83 |
| -; GCN-O3-NEXT: si-fold-operands |
84 |
| -; GCN-O3-NEXT: gcn-dpp-combine |
85 |
| -; GCN-O3-NEXT: si-load-store-opt |
86 |
| -; GCN-O3-NEXT: si-peephole-sdwa |
87 |
| -; GCN-O3-NEXT: early-machinelicm |
88 |
| -; GCN-O3-NEXT: machine-cse |
89 |
| -; GCN-O3-NEXT: si-fold-operands |
90 |
| -; GCN-O3-NEXT: dead-mi-elimination |
91 |
| -; GCN-O3-NEXT: si-shrink-instructions |
92 |
| -; GCN-O3-NEXT: detect-dead-lanes |
93 |
| -; GCN-O3-NEXT: InitUndefPass |
94 |
| -; GCN-O3-NEXT: ProcessImplicitDefsPass |
95 |
| -; GCN-O3-NEXT: unreachable-mbb-elimination |
96 |
| -; GCN-O3-NEXT: require<live-vars> |
97 |
| -; GCN-O3-NEXT: require<machine-loops> |
98 |
| -; GCN-O3-NEXT: phi-node-elimination |
99 |
| -; GCN-O3-NEXT: two-address-instruction |
100 |
| -; GCN-O3-NEXT: register-coalescer |
101 |
| -; GCN-O3-NEXT: rename-independent-subregs |
102 |
| -; GCN-O3-NEXT: machine-scheduler |
103 |
| -; GCN-O3-NEXT: greedy<all> |
104 |
| -; GCN-O3-NEXT: amdgpu-nsa-reassign |
105 |
| -; GCN-O3-NEXT: VirtRegRewriterPass |
106 |
| -; GCN-O3-NEXT: stack-slot-coloring |
107 |
| -; GCN-O3-NEXT: machine-cp |
108 |
| -; GCN-O3-NEXT: machinelicm |
109 |
| -; GCN-O3-NEXT: si-fix-vgpr-copies |
110 |
| -; GCN-O3-NEXT: si-optimize-exec-masking |
111 |
| -; GCN-O3-NEXT: remove-redundant-debug-values |
112 |
| -; GCN-O3-NEXT: fixup-statepoint-caller-saved |
113 |
| -; GCN-O3-NEXT: PostRAMachineSinkingPass |
114 |
| -; GCN-O3-NEXT: ShrinkWrapPass |
115 |
| -; GCN-O3-NEXT: PrologEpilogInserterPass |
116 |
| -; GCN-O3-NEXT: branch-folder |
117 |
| -; GCN-O3-NEXT: tailduplication |
118 |
| -; GCN-O3-NEXT: machine-latecleanup |
119 |
| -; GCN-O3-NEXT: machine-cp |
120 |
| -; GCN-O3-NEXT: post-ra-pseudos |
121 |
| -; GCN-O3-NEXT: postmisched |
122 |
| -; GCN-O3-NEXT: block-placement |
123 |
| -; GCN-O3-NEXT: fentry-insert |
124 |
| -; GCN-O3-NEXT: xray-instrumentation |
125 |
| -; GCN-O3-NEXT: patchable-function |
126 |
| -; GCN-O3-NEXT: gcn-create-vopd |
127 |
| -; GCN-O3-NEXT: si-memory-legalizer |
128 |
| -; GCN-O3-NEXT: si-insert-waitcnts |
129 |
| -; GCN-O3-NEXT: si-late-branch-lowering |
130 |
| -; GCN-O3-NEXT: si-pre-emit-peephole |
131 |
| -; GCN-O3-NEXT: post-RA-hazard-rec |
132 |
| -; GCN-O3-NEXT: AMDGPUWaitSGPRHazardsPass |
133 |
| -; GCN-O3-NEXT: amdgpu-insert-delay-alu |
134 |
| -; GCN-O3-NEXT: branch-relaxation |
135 |
| -; GCN-O3-NEXT: remove-loads-into-fake-uses |
136 |
| -; GCN-O3-NEXT: live-debug-values |
137 |
| -; GCN-O3-NEXT: machine-sanmd |
138 |
| -; GCN-O3-NEXT: stack-frame-layout) |
139 |
| -; GCN-O3-NEXT: invalidate<machine-function-info>)) |
| 7 | +; GCN-O3: require<profile-summary> |
| 8 | +; GCN-O3: require<collector-metadata> |
| 9 | +; GCN-O3: pre-isel-intrinsic-lowering |
| 10 | +; GCN-O3: function(expand-large-div-rem |
| 11 | +; GCN-O3: expand-fp) |
| 12 | +; GCN-O3: amdgpu-remove-incompatible-functions |
| 13 | +; GCN-O3: amdgpu-printf-runtime-binding |
| 14 | +; GCN-O3: amdgpu-lower-ctor-dtor |
| 15 | +; GCN-O3: function(amdgpu-image-intrinsic-opt) |
| 16 | +; GCN-O3: expand-variadics |
| 17 | +; GCN-O3: amdgpu-always-inline |
| 18 | +; GCN-O3: always-inline |
| 19 | +; GCN-O3: amdgpu-export-kernel-runtime-handles |
| 20 | +; GCN-O3: amdgpu-sw-lower-lds |
| 21 | +; GCN-O3: amdgpu-lower-module-lds |
| 22 | +; GCN-O3: function(infer-address-spaces |
| 23 | +; GCN-O3: amdgpu-atomic-optimizer |
| 24 | +; GCN-O3: atomic-expand |
| 25 | +; GCN-O3: amdgpu-promote-alloca |
| 26 | +; GCN-O3: separate-const-offset-from-gep<> |
| 27 | +; GCN-O3: slsr |
| 28 | +; GCN-O3: gvn<> |
| 29 | +; GCN-O3: nary-reassociate |
| 30 | +; GCN-O3: early-cse<> |
| 31 | +; GCN-O3: amdgpu-codegenprepare |
| 32 | +; GCN-O3: loop-mssa(loop-reduce) |
| 33 | +; GCN-O3: mergeicmps |
| 34 | +; GCN-O3: expand-memcmp |
| 35 | +; GCN-O3: gc-lowering |
| 36 | +; GCN-O3: lower-constant-intrinsics |
| 37 | +; GCN-O3: UnreachableBlockElimPass |
| 38 | +; GCN-O3: consthoist |
| 39 | +; GCN-O3: ReplaceWithVeclib |
| 40 | +; GCN-O3: partially-inline-libcalls |
| 41 | +; GCN-O3: ee-instrument<post-inline> |
| 42 | +; GCN-O3: scalarize-masked-mem-intrin |
| 43 | +; GCN-O3: ExpandReductionsPass |
| 44 | +; GCN-O3: gvn<> |
| 45 | +; GCN-O3: amdgpu-lower-kernel-arguments) |
| 46 | +; GCN-O3: amdgpu-lower-buffer-fat-pointers |
| 47 | +; GCN-O3: cgscc(function(codegenprepare |
| 48 | +; GCN-O3: load-store-vectorizer |
| 49 | +; GCN-O3: lower-switch |
| 50 | +; GCN-O3: lower-invoke |
| 51 | +; GCN-O3: UnreachableBlockElimPass |
| 52 | +; GCN-O3: flatten-cfg |
| 53 | +; GCN-O3: sink |
| 54 | +; GCN-O3: amdgpu-late-codegenprepare |
| 55 | +; GCN-O3: amdgpu-unify-divergent-exit-nodes |
| 56 | +; GCN-O3: fix-irreducible |
| 57 | +; GCN-O3: unify-loop-exits |
| 58 | +; GCN-O3: StructurizeCFGPass |
| 59 | +; GCN-O3: amdgpu-annotate-uniform |
| 60 | +; GCN-O3: si-annotate-control-flow |
| 61 | +; GCN-O3: amdgpu-rewrite-undef-for-phi |
| 62 | +; GCN-O3: lcssa)) |
| 63 | +; GCN-O3: amdgpu-perf-hint |
| 64 | +; GCN-O3: cgscc(function(require<uniformity> |
| 65 | +; GCN-O3: callbr-prepare |
| 66 | +; GCN-O3: safe-stack |
| 67 | +; GCN-O3: stack-protector)) |
| 68 | +; GCN-O3: cgscc(function(machine-function(amdgpu-isel |
| 69 | +; GCN-O3: si-fix-sgpr-copies |
| 70 | +; GCN-O3: si-i1-copies |
| 71 | +; GCN-O3: finalize-isel |
| 72 | +; GCN-O3: early-tailduplication |
| 73 | +; GCN-O3: opt-phis |
| 74 | +; GCN-O3: stack-coloring |
| 75 | +; GCN-O3: localstackalloc |
| 76 | +; GCN-O3: dead-mi-elimination |
| 77 | +; GCN-O3: early-machinelicm |
| 78 | +; GCN-O3: machine-cse |
| 79 | +; GCN-O3: machine-sink |
| 80 | +; GCN-O3: peephole-opt |
| 81 | +; GCN-O3: dead-mi-elimination |
| 82 | +; GCN-O3: si-fold-operands |
| 83 | +; GCN-O3: gcn-dpp-combine |
| 84 | +; GCN-O3: si-load-store-opt |
| 85 | +; GCN-O3: si-peephole-sdwa |
| 86 | +; GCN-O3: early-machinelicm |
| 87 | +; GCN-O3: machine-cse |
| 88 | +; GCN-O3: si-fold-operands |
| 89 | +; GCN-O3: dead-mi-elimination |
| 90 | +; GCN-O3: si-shrink-instructions |
| 91 | +; GCN-O3: detect-dead-lanes |
| 92 | +; GCN-O3: InitUndefPass |
| 93 | +; GCN-O3: ProcessImplicitDefsPass |
| 94 | +; GCN-O3: unreachable-mbb-elimination |
| 95 | +; GCN-O3: require<live-vars> |
| 96 | +; GCN-O3: require<machine-loops> |
| 97 | +; GCN-O3: phi-node-elimination |
| 98 | +; GCN-O3: two-address-instruction |
| 99 | +; GCN-O3: register-coalescer |
| 100 | +; GCN-O3: rename-independent-subregs |
| 101 | +; GCN-O3: machine-scheduler |
| 102 | +; GCN-O3: greedy<all> |
| 103 | +; GCN-O3: amdgpu-nsa-reassign |
| 104 | +; GCN-O3: VirtRegRewriterPass |
| 105 | +; GCN-O3: stack-slot-coloring |
| 106 | +; GCN-O3: machine-cp |
| 107 | +; GCN-O3: machinelicm |
| 108 | +; GCN-O3: si-fix-vgpr-copies |
| 109 | +; GCN-O3: si-optimize-exec-masking |
| 110 | +; GCN-O3: remove-redundant-debug-values |
| 111 | +; GCN-O3: fixup-statepoint-caller-saved |
| 112 | +; GCN-O3: PostRAMachineSinkingPass |
| 113 | +; GCN-O3: ShrinkWrapPass |
| 114 | +; GCN-O3: PrologEpilogInserterPass |
| 115 | +; GCN-O3: branch-folder |
| 116 | +; GCN-O3: tailduplication |
| 117 | +; GCN-O3: machine-latecleanup |
| 118 | +; GCN-O3: machine-cp |
| 119 | +; GCN-O3: post-ra-pseudos |
| 120 | +; GCN-O3: postmisched |
| 121 | +; GCN-O3: block-placement |
| 122 | +; GCN-O3: fentry-insert |
| 123 | +; GCN-O3: xray-instrumentation |
| 124 | +; GCN-O3: patchable-function |
| 125 | +; GCN-O3: gcn-create-vopd |
| 126 | +; GCN-O3: si-memory-legalizer |
| 127 | +; GCN-O3: si-insert-waitcnts |
| 128 | +; GCN-O3: si-late-branch-lowering |
| 129 | +; GCN-O3: si-pre-emit-peephole |
| 130 | +; GCN-O3: post-RA-hazard-rec |
| 131 | +; GCN-O3: AMDGPUWaitSGPRHazardsPass |
| 132 | +; GCN-O3: amdgpu-insert-delay-alu |
| 133 | +; GCN-O3: branch-relaxation |
| 134 | +; GCN-O3: remove-loads-into-fake-uses |
| 135 | +; GCN-O3: live-debug-values |
| 136 | +; GCN-O3: machine-sanmd |
| 137 | +; GCN-O3: stack-frame-layout) |
| 138 | +; GCN-O3: invalidate<machine-function-info>)) |
140 | 139 |
|
141 | 140 |
|
142 | 141 | define void @empty() {
|
|
0 commit comments