Enforcing a profile available check in the driver does not work with incremental LTO builds where the LTO backend invocation does not include the profile flags. At this point the profiles have already been consumed and the IR contains profile metadata. Instead we always pass through the -fsplit-machine-functions flag on user request. The pass itself contains a check to return early if no profile information is available. Differential Revision: https://reviews.llvm.org/D87943
9 lines
732 B
C
9 lines
732 B
C
// RUN: %clang -### -target x86_64 -fprofile-use=default.profdata -fsplit-machine-functions %s -c 2>&1 | FileCheck -check-prefix=CHECK-OPT %s
|
|
// RUN: %clang -### -target x86_64 -fsplit-machine-functions %s -c 2>&1 | FileCheck -check-prefix=CHECK-OPT %s
|
|
// RUN: %clang -### -target x86_64 -fprofile-use=default.profdata -fsplit-machine-functions -fno-split-machine-functions %s -c 2>&1 | FileCheck -check-prefix=CHECK-NOOPT %s
|
|
// RUN: not %clang -c -target arm-unknown-linux -fsplit-machine-functions %s 2>&1 | FileCheck -check-prefix=CHECK-TRIPLE %s
|
|
|
|
// CHECK-OPT: "-fsplit-machine-functions"
|
|
// CHECK-NOOPT-NOT: "-fsplit-machine-functions"
|
|
// CHECK-TRIPLE: error: unsupported option '-fsplit-machine-functions' for target
|