xref: /llvm-project/llvm/test/Other/change-printer.ll (revision 9c1cdc23f82ba26c597554363e4e7aa45f3196ed)
1; Simple checks of -print-changed functionality
2;
3; Note that (mostly) only the banners are checked.
4;
5; Simple functionality check.
6; RUN: opt -S -print-changed -passes=instsimplify 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-SIMPLE
7;
8; Simple functionality check.
9; RUN: opt -S -print-changed= -passes=instsimplify 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-SIMPLE
10;
11; Check that only the passes that change the IR are printed and that the
12; others (including g) are filtered out.
13; RUN: opt -S -print-changed -passes=instsimplify -filter-print-funcs=f  2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-FUNC-FILTER
14;
15; Check that the reporting of IRs respects -print-module-scope
16; RUN: opt -S -print-changed -passes=instsimplify -print-module-scope 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-PRINT-MOD-SCOPE
17;
18; Check that the reporting of IRs respects -print-module-scope
19; RUN: opt -S -print-changed -passes=instsimplify -filter-print-funcs=f -print-module-scope 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-FUNC-FILTER-MOD-SCOPE
20;
21; Check that reporting of multiple functions happens
22; RUN: opt -S -print-changed -passes=instsimplify -filter-print-funcs="f,g" 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-FILTER-MULT-FUNC
23;
24; Check that the reporting of IRs respects -filter-passes
25; RUN: opt -S -print-changed -passes="instsimplify,no-op-function" -filter-passes="no-op-function" 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-FILTER-PASSES
26;
27; Check that the reporting of IRs respects -filter-passes with multiple passes
28; RUN: opt -S -print-changed -passes="instsimplify,no-op-function" -filter-passes="no-op-function,instsimplify" 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-FILTER-MULT-PASSES
29;
30; Check that the reporting of IRs respects both -filter-passes and -filter-print-funcs
31; RUN: opt -S -print-changed -passes="instsimplify,no-op-function" -filter-passes="no-op-function,instsimplify" -filter-print-funcs=f 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-FILTER-FUNC-PASSES
32;
33; Check that the reporting of IRs respects -filter-passes, -filter-print-funcs and -print-module-scope
34; RUN: opt -S -print-changed -passes="instsimplify,no-op-function" -filter-passes="no-op-function,instsimplify" -filter-print-funcs=f -print-module-scope 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-FILTER-FUNC-PASSES-MOD-SCOPE
35;
36; Check that repeated passes that change the IR are printed and that the
37; others (including g) are filtered out.  Note that the second time
38; instsimplify is run on f, it does not change the IR
39; RUN: opt -S -print-changed -passes="instsimplify,instsimplify" -filter-print-funcs=f  2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-MULT-PASSES-FILTER-FUNC
40;
41; Simple print-before-changed functionality check.
42; RUN: opt -S -print-changed -print-before-changed -passes=instsimplify 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-SIMPLE-BEFORE
43;
44; Check print-before-changed obeys the function filtering
45; RUN: opt -S -print-changed -print-before-changed -passes=instsimplify -filter-print-funcs=f  2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-FUNC-FILTER-BEFORE
46;
47; Check that the reporting of IRs with -print-before-changed respects -print-module-scope
48; RUN: opt -S -print-changed -print-before-changed -passes=instsimplify -print-module-scope 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-PRINT-MOD-SCOPE-BEFORE
49;
50; Simple checks of -print-changed=quiet functionality
51;
52; Simple functionality check.
53; RUN: opt -S -print-changed=quiet -passes=instsimplify 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-QUIET-SIMPLE
54;
55; Check that only the passes that change the IR are printed and that the
56; others (including g) are filtered out.
57; RUN: opt -S -print-changed=quiet -passes=instsimplify -filter-print-funcs=f  2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-QUIET-FUNC-FILTER
58;
59; Check that the reporting of IRs respects -print-module-scope
60; RUN: opt -S -print-changed=quiet -passes=instsimplify -print-module-scope 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-QUIET-PRINT-MOD-SCOPE
61;
62; Check that the reporting of IRs respects -print-module-scope
63; RUN: opt -S -print-changed=quiet -passes=instsimplify -filter-print-funcs=f -print-module-scope 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-QUIET-FUNC-FILTER-MOD-SCOPE
64;
65; Check that reporting of multiple functions happens
66; RUN: opt -S -print-changed=quiet -passes=instsimplify -filter-print-funcs="f,g" 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-QUIET-FILTER-MULT-FUNC
67;
68; Check that the reporting of IRs respects -filter-passes
69; RUN: opt -S -print-changed=quiet -passes="instsimplify,no-op-function" -filter-passes="NoOpFunctionPass" 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-QUIET-FILTER-PASSES-NONE --allow-empty
70;
71; Check that the reporting of IRs respects -filter-passes with multiple passes
72; RUN: opt -S -print-changed=quiet -passes="instsimplify" -filter-passes="no-op-function,instsimplify" 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-QUIET-FILTER-PASSES
73;
74; Check that the reporting of IRs respects -filter-passes with multiple passes
75; RUN: opt -S -print-changed=quiet -passes="instsimplify,no-op-function" -filter-passes="no-op-function,instsimplify" 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-QUIET-FILTER-MULT-PASSES
76;
77; Check that the reporting of IRs respects both -filter-passes and -filter-print-funcs
78; RUN: opt -S -print-changed=quiet -passes="instsimplify,no-op-function" -filter-passes="no-op-function,instsimplify" -filter-print-funcs=f 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-QUIET-FILTER-FUNC-PASSES
79;
80; Check that the reporting of IRs respects -filter-passes, -filter-print-funcs and -print-module-scope
81; RUN: opt -S -print-changed=quiet -passes="instsimplify,no-op-function" -filter-passes="no-op-function,instsimplify" -filter-print-funcs=f -print-module-scope 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-QUIET-FILTER-FUNC-PASSES-MOD-SCOPE
82;
83; Check that repeated passes that change the IR are printed and that the
84; others (including g) are filtered out.  Note that the second time
85; instsimplify is run on f, it does not change the IR
86; RUN: opt -S -print-changed=quiet -passes="instsimplify,instsimplify" -filter-print-funcs=f  2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-QUIET-MULT-PASSES-FILTER-FUNC
87;
88; Simple print-before-changed functionality check.
89; RUN: opt -S -print-changed=quiet -print-before-changed -passes=instsimplify 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-SIMPLE-BEFORE-QUIET
90;
91; Check print-before-changed obeys the function filtering
92; RUN: opt -S -print-changed=quiet -print-before-changed -passes=instsimplify -filter-print-funcs=f  2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-FUNC-FILTER-BEFORE-QUIET
93;
94; Check that the reporting of IRs with -print-before-changed respects -print-module-scope
95; RUN: opt -S -print-changed=quiet -print-before-changed -passes=instsimplify -print-module-scope 2>&1 -o /dev/null < %s | FileCheck %s --check-prefix=CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET
96;
97
98define i32 @g() {
99entry:
100  %a = add i32 2, 3
101  ret i32 %a
102}
103
104define i32 @f() {
105entry:
106  %a = add i32 2, 3
107  ret i32 %a
108}
109
110; CHECK-SIMPLE: *** IR Dump At Start ***
111; CHECK-SIMPLE-NEXT: ; ModuleID = {{.+}}
112; CHECK-SIMPLE: *** IR Dump After InstSimplifyPass on g ***
113; CHECK-SIMPLE-NEXT: define i32 @g()
114; CHECK-SIMPLE: *** IR Pass PassManager{{.*}} on g ignored ***
115; CHECK-SIMPLE: *** IR Dump After InstSimplifyPass on f ***
116; CHECK-SIMPLE-NEXT: define i32 @f()
117; CHECK-SIMPLE: *** IR Pass PassManager{{.*}} on f ignored ***
118; CHECK-SIMPLE: *** IR Pass ModuleToFunctionPassAdaptor on [module] ignored ***
119; CHECK-SIMPLE: *** IR Pass VerifierPass on [module] ignored ***
120; CHECK-SIMPLE: *** IR Pass PrintModulePass on [module] ignored ***
121; CHECK-SIMPLE-NOT: *** IR
122
123; CHECK-FUNC-FILTER: *** IR Dump At Start ***
124; CHECK-FUNC-FILTER-NEXT: ; ModuleID = {{.+}}
125; CHECK-FUNC-FILTER: *** IR Dump After InstSimplifyPass on g filtered out ***
126; CHECK-FUNC-FILTER: *** IR Dump After InstSimplifyPass on f ***
127; CHECK-FUNC-FILTER-NEXT: define i32 @f()
128
129; CHECK-PRINT-MOD-SCOPE: *** IR Dump At Start ***
130; CHECK-PRINT-MOD-SCOPE-NEXT: ModuleID = {{.+}}
131; CHECK-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass on g ***
132; CHECK-PRINT-MOD-SCOPE-NEXT: ModuleID = {{.+}}
133; CHECK-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass on f ***
134; CHECK-PRINT-MOD-SCOPE-NEXT: ModuleID = {{.+}}
135
136; CHECK-FUNC-FILTER-MOD-SCOPE: *** IR Dump At Start ***
137; CHECK-FUNC-FILTER-MOD-SCOPE-NEXT: ; ModuleID = {{.+}}
138; CHECK-FUNC-FILTER-MOD-SCOPE: *** IR Dump After InstSimplifyPass on g filtered out ***
139; CHECK-FUNC-FILTER-MOD-SCOPE: *** IR Dump After InstSimplifyPass on f ***
140; CHECK-FUNC-FILTER-MOD-SCOPE-NEXT: ModuleID = {{.+}}
141
142; CHECK-FILTER-MULT-FUNC: *** IR Dump At Start ***
143; CHECK-FILTER-MULT-FUNC-NEXT: ; ModuleID = {{.+}}
144; CHECK-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass on g ***
145; CHECK-FILTER-MULT-FUNC-NEXT: define i32 @g()
146; CHECK-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass on f ***
147; CHECK-FILTER-MULT-FUNC-NEXT: define i32 @f()
148
149; CHECK-FILTER-PASSES: *** IR Dump At Start ***
150; CHECK-FILTER-PASSES-NEXT: ; ModuleID = {{.+}}
151; CHECK-FILTER-PASSES: *** IR Dump After InstSimplifyPass on g filtered out ***
152; CHECK-FILTER-PASSES: *** IR Dump After NoOpFunctionPass on g omitted because no change ***
153; CHECK-FILTER-PASSES: *** IR Dump After InstSimplifyPass on f filtered out ***
154; CHECK-FILTER-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change ***
155
156; CHECK-FILTER-MULT-PASSES: *** IR Dump At Start ***
157; CHECK-FILTER-MULT-PASSES-NEXT: ; ModuleID = {{.+}}
158; CHECK-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass on g ***
159; CHECK-FILTER-MULT-PASSES-NEXT: define i32 @g()
160; CHECK-FILTER-MULT-PASSES: *** IR Dump After NoOpFunctionPass on g omitted because no change ***
161; CHECK-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass on f ***
162; CHECK-FILTER-MULT-PASSES-NEXT: define i32 @f()
163; CHECK-FILTER-MULT-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change ***
164
165; CHECK-FILTER-FUNC-PASSES: *** IR Dump At Start ***
166; CHECK-FILTER-FUNC-PASSES-NEXT: ; ModuleID = {{.+}}
167; CHECK-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on g filtered out ***
168; CHECK-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass on g filtered out ***
169; CHECK-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on f ***
170; CHECK-FILTER-FUNC-PASSES-NEXT: define i32 @f()
171; CHECK-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change ***
172
173; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump At Start ***
174; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE-NEXT: ; ModuleID = {{.+}}
175; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After InstSimplifyPass on g filtered out ***
176; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After NoOpFunctionPass on g filtered out ***
177; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After InstSimplifyPass on f ***
178; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE-NEXT: ModuleID = {{.+}}
179; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After NoOpFunctionPass on f omitted because no change ***
180
181; CHECK-MULT-PASSES-FILTER-FUNC: *** IR Dump At Start ***
182; CHECK-MULT-PASSES-FILTER-FUNC-NEXT: ; ModuleID = {{.+}}
183; CHECK-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on g filtered out ***
184; CHECK-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on g filtered out ***
185; CHECK-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on f ***
186; CHECK-MULT-PASSES-FILTER-FUNC-NEXT: define i32 @f()
187; CHECK-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on f omitted because no change ***
188
189; CHECK-SIMPLE-BEFORE: *** IR Dump At Start ***
190; CHECK-SIMPLE-BEFORE-NEXT: ; ModuleID = {{.+}}
191; CHECK-SIMPLE-BEFORE: *** IR Dump Before InstSimplifyPass on g ***
192; CHECK-SIMPLE-BEFORE-NEXT: define i32 @g()
193; CHECK-SIMPLE-BEFORE: *** IR Dump After InstSimplifyPass on g ***
194; CHECK-SIMPLE-BEFORE-NEXT: define i32 @g()
195; CHECK-SIMPLE-BEFORE: *** IR Pass PassManager{{.*}} on g ignored ***
196; CHECK-SIMPLE-BEFORE: *** IR Dump Before InstSimplifyPass on f ***
197; CHECK-SIMPLE-BEFORE-NEXT: define i32 @f()
198; CHECK-SIMPLE-BEFORE: *** IR Dump After InstSimplifyPass on f ***
199; CHECK-SIMPLE-BEFORE-NEXT: define i32 @f()
200; CHECK-SIMPLE-BEFORE: *** IR Pass PassManager{{.*}} on f ignored ***
201; CHECK-SIMPLE-BEFORE: *** IR Pass ModuleToFunctionPassAdaptor on [module] ignored ***
202; CHECK-SIMPLE-BEFORE: *** IR Pass VerifierPass on [module] ignored ***
203; CHECK-SIMPLE-BEFORE: *** IR Pass PrintModulePass on [module] ignored ***
204; CHECK-SIMPLE-BEFORE-NOT: *** IR
205
206; CHECK-FUNC-FILTER-BEFORE: *** IR Dump At Start ***
207; CHECK-FUNC-FILTER-BEFORE-NEXT: ; ModuleID = {{.+}}
208; CHECK-FUNC-FILTER-BEFORE: *** IR Dump After InstSimplifyPass on g filtered out ***
209; CHECK-FUNC-FILTER-BEFORE: *** IR Dump Before InstSimplifyPass on f ***
210; CHECK-FUNC-FILTER-BEFORE-NEXT: define i32 @f()
211; CHECK-FUNC-FILTER-BEFORE: *** IR Dump After InstSimplifyPass on f ***
212; CHECK-FUNC-FILTER-BEFORE-NEXT: define i32 @f()
213
214; CHECK-PRINT-MOD-SCOPE-BEFORE: *** IR Dump At Start ***
215; CHECK-PRINT-MOD-SCOPE-BEFORE-NEXT: ModuleID = {{.+}}
216; CHECK-PRINT-MOD-SCOPE-BEFORE: *** IR Dump Before InstSimplifyPass on g ***
217; CHECK-PRINT-MOD-SCOPE-BEFORE-NEXT: ModuleID = {{.+}}
218; CHECK-PRINT-MOD-SCOPE-BEFORE: *** IR Dump After InstSimplifyPass on g ***
219; CHECK-PRINT-MOD-SCOPE-BEFORE-NEXT: ModuleID = {{.+}}
220; CHECK-PRINT-MOD-SCOPE-BEFORE: *** IR Dump Before InstSimplifyPass on f ***
221; CHECK-PRINT-MOD-SCOPE-BEFORE-NEXT: ModuleID = {{.+}}
222; CHECK-PRINT-MOD-SCOPE-BEFORE: *** IR Dump After InstSimplifyPass on f ***
223; CHECK-PRINT-MOD-SCOPE-BEFORE-NEXT: ModuleID = {{.+}}
224
225; CHECK-QUIET-SIMPLE-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} ***
226; CHECK-QUIET-SIMPLE: *** IR Dump After InstSimplifyPass on g ***
227; CHECK-QUIET-SIMPLE-NEXT: define i32 @g()
228; CHECK-QUIET-SIMPLE-NOT: *** IR Dump {{.*(no change|ignored|filtered out)}} ***
229; CHECK-QUIET-SIMPLE: *** IR Dump After InstSimplifyPass on f ***
230; CHECK-QUIET-SIMPLE-NEXT: define i32 @f()
231; CHECK-QUIET-SIMPLE-NOT: *** IR
232
233; CHECK-QUIET-FUNC-FILTER-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} ***
234; CHECK-QUIET-FUNC-FILTER: *** IR Dump After InstSimplifyPass on f ***
235; CHECK-QUIET-FUNC-FILTER-NEXT: define i32 @f()
236; CHECK-QUIET-FUNC-FILTER-NOT: *** IR
237
238; CHECK-QUIET-PRINT-MOD-SCOPE-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} ***
239; CHECK-QUIET-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass on g ***
240; CHECK-QUIET-PRINT-MOD-SCOPE-NEXT: ModuleID = {{.+}}
241; CHECK-QUIET-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass on f ***
242; CHECK-QUIET-PRINT-MOD-SCOPE-NEXT: ModuleID = {{.+}}
243; CHECK-QUIET-PRINT-MOD-SCOPE-NOT: *** IR
244
245; CHECK-QUIET-FUNC-FILTER-MOD-SCOPE-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} ***
246; CHECK-QUIET-FUNC-FILTER-MOD-SCOPE: *** IR Dump After InstSimplifyPass on f ***
247; CHECK-QUIET-FUNC-FILTER-MOD-SCOPE-NEXT: ModuleID = {{.+}}
248; CHECK-QUIET-FUNC-FILTER-MOD-SCOPE-NOT: *** IR
249
250; CHECK-QUIET-FILTER-MULT-FUNC-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} ***
251; CHECK-QUIET-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass on g ***
252; CHECK-QUIET-FILTER-MULT-FUNC-NEXT: define i32 @g()
253; CHECK-QUIET-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass on f ***
254; CHECK-QUIET-FILTER-MULT-FUNC-NEXT: define i32 @f()
255; CHECK-QUIET-FILTER-MULT-FUNC-NOT: *** IR
256
257; CHECK-QUIET-FILTER-PASSES-NONE-NOT: *** IR
258
259; CHECK-QUIET-FILTER-PASSES-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} ***
260; CHECK-QUIET-FILTER-PASSES: *** IR Dump After InstSimplifyPass on g ***
261; CHECK-QUIET-FILTER-PASSES-NEXT: define i32 @g()
262; CHECK-QUIET-FILTER-PASSES-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} ***
263; CHECK-QUIET-FILTER-PASSES: *** IR Dump After InstSimplifyPass on f ***
264; CHECK-QUIET-FILTER-PASSES-NEXT: define i32 @f()
265; CHECK-QUIET-FILTER-PASSES-NOT: *** IR
266
267; CHECK-QUIET-FILTER-MULT-PASSES-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} ***
268; CHECK-QUIET-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass on g ***
269; CHECK-QUIET-FILTER-MULT-PASSES-NEXT: define i32 @g()
270; CHECK-QUIET-FILTER-MULT-PASSES-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} ***
271; CHECK-QUIET-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass on f ***
272; CHECK-QUIET-FILTER-MULT-PASSES-NEXT: define i32 @f()
273; CHECK-QUIET-FILTER-MULT-PASSES-NOT: *** IR
274
275; CHECK-QUIET-FILTER-FUNC-PASSES-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} ***
276; CHECK-QUIET-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on f ***
277; CHECK-QUIET-FILTER-FUNC-PASSES-NEXT: define i32 @f()
278; CHECK-QUIET-FILTER-FUNC-PASSES-NOT: *** IR
279
280; CHECK-QUIET-FILTER-FUNC-PASSES-MOD-SCOPE-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} ***
281; CHECK-QUIET-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After InstSimplifyPass on f ***
282; CHECK-QUIET-FILTER-FUNC-PASSES-MOD-SCOPE-NEXT: ModuleID = {{.+}}
283; CHECK-QUIET-FILTER-FUNC-PASSES-MOD-SCOPE-NOT: *** IR
284
285; CHECK-QUIET-MULT-PASSES-FILTER-FUNC-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} ***
286; CHECK-QUIET-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on f ***
287; CHECK-QUIET-MULT-PASSES-FILTER-FUNC-NEXT: define i32 @f()
288; CHECK-QUIET-MULT-PASSES-FILTER-FUNC-NOT: *** IR
289
290; CHECK-SIMPLE-BEFORE-QUIET-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} ***
291; CHECK-SIMPLE-BEFORE-QUIET: *** IR Dump Before InstSimplifyPass on g ***
292; CHECK-SIMPLE-BEFORE-QUIET-NEXT: define i32 @g()
293; CHECK-SIMPLE-BEFORE-QUIET-NOT: *** IR Dump {{.*(no change|ignored|filtered out)}} ***
294; CHECK-SIMPLE-BEFORE-QUIET: *** IR Dump After InstSimplifyPass on g ***
295; CHECK-SIMPLE-BEFORE-QUIET-NEXT: define i32 @g()
296; CHECK-SIMPLE-BEFORE-QUIET-NOT: *** IR Dump {{.*(no change|ignored|filtered out)}} ***
297; CHECK-SIMPLE-BEFORE-QUIET: *** IR Dump Before InstSimplifyPass on f ***
298; CHECK-SIMPLE-BEFORE-QUIET-NEXT: define i32 @f()
299; CHECK-SIMPLE-BEFORE-QUIET-NOT: *** IR Dump {{.*(no change|ignored|filtered out)}} ***
300; CHECK-SIMPLE-BEFORE-QUIET: *** IR Dump After InstSimplifyPass on f ***
301; CHECK-SIMPLE-BEFORE-QUIET-NEXT: define i32 @f()
302; CHECK-SIMPLE-BEFORE-QUIET-NOT: *** IR
303
304; CHECK-FUNC-FILTER-BEFORE-QUIET-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} ***
305; CHECK-FUNC-FILTER-BEFORE-QUIET: *** IR Dump Before InstSimplifyPass on f ***
306; CHECK-FUNC-FILTER-BEFORE-QUIET-NEXT: define i32 @f()
307; CHECK-FUNC-FILTER-BEFORE-QUIET-NOT: *** IR Dump {{.*(no change|ignored|filtered out)}} ***
308; CHECK-FUNC-FILTER-BEFORE-QUIET: *** IR Dump After InstSimplifyPass on f ***
309; CHECK-FUNC-FILTER-BEFORE-QUIET-NEXT: define i32 @f()
310; CHECK-FUNC-FILTER-BEFORE-QUIET-NOT: *** IR
311
312; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} ***
313; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET: *** IR Dump Before InstSimplifyPass on g ***
314; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NEXT: ModuleID = {{.+}}
315; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NOT: *** IR Dump {{.*(no change|ignored|filtered out)}} ***
316; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET: *** IR Dump After InstSimplifyPass on g ***
317; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NEXT: ModuleID = {{.+}}
318; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NOT: *** IR Dump {{.*(no change|ignored|filtered out)}} ***
319; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET: *** IR Dump Before InstSimplifyPass on f ***
320; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NEXT: ModuleID = {{.+}}
321; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NOT: *** IR Dump {{.*(no change|ignored|filtered out)}} ***
322; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET: *** IR Dump After InstSimplifyPass on f ***
323; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NEXT: ModuleID = {{.+}}
324; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NOT: *** IR
325