xref: /llvm-project/llvm/test/tools/llvm-reduce/oracle-count.ll (revision 1437a83491cbe4af1b452a3f862a6b609057c26d)
1; RUN: llvm-reduce --abort-on-invalid-reduction --test FileCheck --test-arg --check-prefixes=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o %t 2>&1 | FileCheck %s --check-prefix=CHECK-LOG
2; RUN: FileCheck --check-prefixes=CHECK-FINAL --input-file=%t %s
3
4; CHECK-INTERESTINGNESS: ret i32
5; CHECK-FINAL: ret i32 0
6
7; Test that we don't invoke the oracle more than necessary (e.g. check the
8; oracle then perform some failable/redundant reduction, as opposed to check if
9; a reduction will fail/be redundant before invoking the oracle). This prevents
10; overestimation of the number of possible reductions and the number of times we
11; attempt to reduce.
12
13; IR passes
14; CHECK-LOG: Saved new best reduction
15; Module data
16; CHECK-LOG: Saved new best reduction
17; SimplifyCFG
18; CHECK-LOG: Saved new best reduction
19; CHECK-LOG-NOT: Saved new best reduction
20
21define i32 @f() {
22  ret i32 0
23}