xref: /llvm-project/llvm/test/tools/llvm-reduce/run-ir-passes.ll (revision 1437a83491cbe4af1b452a3f862a6b609057c26d)
1; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=ir-passes --test FileCheck --test-arg --check-prefixes=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o %t
2; RUN: FileCheck --check-prefixes=CHECK-FINAL --input-file=%t %s
3
4; CHECK-INTERESTINGNESS-LABEL: @f1
5; CHECK-INTERESTINGNESS: add
6; CHECK-INTERESTINGNESS-LABEL: @f2
7; CHECK-INTERESTINGNESS: add
8; CHECK-INTERESTINGNESS: add
9
10; CHECK-FINAL-LABEL: @f1
11; CHECK-FINAL: add i32 %a, 10
12; CHECK-FINAL-LABEL: @f2
13; CHECK-FINAL: add i32 %a, 5
14; CHECK-FINAL: add i32 %b, 5
15
16define i32 @f1(i32 %a) {
17  %b = add i32 %a, 5
18  %c = add i32 %b, 5
19  ret i32 %c
20}
21
22define i32 @f2(i32 %a) {
23  %b = add i32 %a, 5
24  %c = add i32 %b, 5
25  ret i32 %c
26}
27
28declare void @f3()