| 1 | // RUN: %clang -### -S -o FOO -fsave-optimization-record %s 2>&1 | FileCheck %s |
| 2 | // RUN: %clang -### -c -o FOO -fsave-optimization-record %s 2>&1 | FileCheck %s |
| 3 | // RUN: %clang -### -c -o FOO.o -fsave-optimization-record %s 2>&1 | FileCheck %s |
| 4 | // RUN: %clang -### -save-temps -S -o FOO -fsave-optimization-record %s 2>&1 | FileCheck %s |
| 5 | // RUN: %clang -### -save-temps -c -o FOO.o -fsave-optimization-record %s 2>&1 | FileCheck %s |
| 6 | // RUN: %clang -### -c -fsave-optimization-record %s 2>&1 | FileCheck %s -check-prefix=CHECK-NO-O |
| 7 | // RUN: %clang -### -save-temps -c -fsave-optimization-record %s 2>&1 | FileCheck %s -check-prefix=CHECK-NO-O |
| 8 | // RUN: %clang -### -fsave-optimization-record %s 2>&1 | FileCheck %s -check-prefix=CHECK-NO-O |
| 9 | // RUN: %clang -### -S -fsave-optimization-record -x cuda -nocudainc -nocudalib %s 2>&1 | FileCheck %s -check-prefix=CHECK-NO-O -check-prefix=CHECK-CUDA-DEV |
| 10 | // RUN: %clang -### -fsave-optimization-record -x cuda -nocudainc -nocudalib %s 2>&1 | FileCheck %s -check-prefix=CHECK-NO-O -check-prefix=CHECK-CUDA-DEV |
| 11 | // RUN: %clang -### -S -o FOO -fsave-optimization-record -foptimization-record-file=BAR.txt %s 2>&1 | FileCheck %s -check-prefix=CHECK-EQ |
| 12 | // RUN: %clang -### -S -o FOO -foptimization-record-file=BAR.txt %s 2>&1 | FileCheck %s -check-prefix=CHECK-EQ |
| 13 | // RUN: %clang -### -S -o FOO -foptimization-record-file=BAR.txt -fno-save-optimization-record %s 2>&1 | FileCheck %s --check-prefix=CHECK-FOPT-DISABLE |
| 14 | |
| 15 | // RUN: %clang -### -S -o FOO -fsave-optimization-record -foptimization-record-passes=inline %s 2>&1 | FileCheck %s -check-prefix=CHECK-EQ-PASSES |
| 16 | // RUN: %clang -### -S -o FOO -foptimization-record-passes=inline %s 2>&1 | FileCheck %s -check-prefix=CHECK-EQ-PASSES |
| 17 | // RUN: %clang -### -S -o FOO -foptimization-record-passes=inline -fno-save-optimization-record %s 2>&1 | FileCheck %s --check-prefix=CHECK-FOPT-DISABLE-PASSES |
| 18 | // |
| 19 | // CHECK: "-cc1" |
| 20 | // CHECK: "-opt-record-file" "FOO.opt.yaml" |
| 21 | |
| 22 | // CHECK-NO-O: "-cc1" |
| 23 | // CHECK-NO-O-DAG: "-opt-record-file" "opt-record.opt.yaml" |
| 24 | // CHECK-CUDA-DEV-DAG: "-opt-record-file" "opt-record-cuda-{{nvptx64|nvptx}}-nvidia-cuda-sm_20.opt.yaml" |
| 25 | |
| 26 | // CHECK-EQ: "-cc1" |
| 27 | // CHECK-EQ: "-opt-record-file" "BAR.txt" |
| 28 | |
| 29 | // CHECK-FOPT-DISABLE-NOT: "-fno-save-optimization-record" |
| 30 | |
| 31 | // CHECK-EQ-PASSES: "-cc1" |
| 32 | // CHECK-EQ-PASSES: "-opt-record-passes" "inline" |
| 33 | |
| 34 | // CHECK-FOPT-DISABLE-PASSES-NOT: "-fno-save-optimization-record" |
| 35 | |