1*1437a834SRushi Bhamani; 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 2ce3c3cb2SArthur Eubanks; RUN: FileCheck --check-prefixes=CHECK-FINAL --input-file=%t %s 3ce3c3cb2SArthur Eubanks 4ce3c3cb2SArthur Eubanks; CHECK-INTERESTINGNESS: ret i32 5ce3c3cb2SArthur Eubanks; CHECK-FINAL: ret i32 0 6ce3c3cb2SArthur Eubanks 7ce3c3cb2SArthur Eubanks; Test that we don't invoke the oracle more than necessary (e.g. check the 8ce3c3cb2SArthur Eubanks; oracle then perform some failable/redundant reduction, as opposed to check if 9ce3c3cb2SArthur Eubanks; a reduction will fail/be redundant before invoking the oracle). This prevents 10ce3c3cb2SArthur Eubanks; overestimation of the number of possible reductions and the number of times we 11ce3c3cb2SArthur Eubanks; attempt to reduce. 12ce3c3cb2SArthur Eubanks 13ce3c3cb2SArthur Eubanks; IR passes 14ce3c3cb2SArthur Eubanks; CHECK-LOG: Saved new best reduction 15ce3c3cb2SArthur Eubanks; Module data 16ce3c3cb2SArthur Eubanks; CHECK-LOG: Saved new best reduction 17ce3c3cb2SArthur Eubanks; SimplifyCFG 18ce3c3cb2SArthur Eubanks; CHECK-LOG: Saved new best reduction 19ce3c3cb2SArthur Eubanks; CHECK-LOG-NOT: Saved new best reduction 20ce3c3cb2SArthur Eubanks 21ce3c3cb2SArthur Eubanksdefine i32 @f() { 22ce3c3cb2SArthur Eubanks ret i32 0 23ce3c3cb2SArthur Eubanks}