diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java index bc5d6ce171..73a3535b49 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java @@ -1602,7 +1602,8 @@ public class CppConfiguration extends BuildConfiguration.Fragment { */ public boolean isLipoOptimization() { // The LIPO optimization bits are set in the LIPO context collector configuration, too. - return cppOptions.isLipoOptimization(); + // If compiler is LLVM, then LIPO gets auto-converted to ThinLTO. + return cppOptions.isLipoOptimization() && !isLLVMCompiler(); } /** @@ -1612,7 +1613,8 @@ public class CppConfiguration extends BuildConfiguration.Fragment { * down the dependency tree. */ public boolean isDataConfigurationForLipoOptimization() { - return cppOptions.isDataConfigurationForLipoOptimization(); + // If compiler is LLVM, then LIPO gets auto-converted to ThinLTO. + return cppOptions.isDataConfigurationForLipoOptimization() && !isLLVMCompiler(); } public boolean isLipoOptimizationOrInstrumentation() { |