diff options
author | 2017-06-13 17:39:50 +0200 | |
---|---|---|
committer | 2017-06-14 13:16:12 +0200 | |
commit | 6186fa5fe9869c6102597b18244fc9546f931632 (patch) | |
tree | dcc5d9d6a171d02fe90125e2d83740599dfd8513 /src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java | |
parent | 5d660595111ec2a14c87856e76b78422e267c628 (diff) |
Add support for zipped LLVM profile files.
This change is a follow-up to a recent change which allowed LLVM raw profile files
to be directly used with blaze. This change allows zipped LLVM raw profile
files.
This uses //tools/zip:zipper to extract the zipped file contents.
This also adds a new option to //tools/zip:zipper, 'j', to junk directories while
unzipping.
Tested:
blaze test //devtools/blaze/integration:fdo_test
blaze test //third_party/ijar/test:zip_test
RELNOTES[NEW]: Zipped LLVM profiles are now supported.
PiperOrigin-RevId: 158849516
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java | 7 |
1 files changed, 6 insertions, 1 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 1d50ed608c..617fce8bf2 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 @@ -1601,7 +1601,12 @@ public class CppConfiguration extends BuildConfiguration.Fragment { return cppOptions.isFdo() && cppOptions.getFdoOptimize() != null && (CppFileTypes.LLVM_PROFILE.matches(cppOptions.getFdoOptimize()) - || CppFileTypes.LLVM_PROFILE_RAW.matches(cppOptions.getFdoOptimize())); + || CppFileTypes.LLVM_PROFILE_RAW.matches(cppOptions.getFdoOptimize()) + // TODO(tmsriram): Checking for "llvm" does not handle all the cases. This + // is temporary until the crosstool configuration is modified to add fields that + // indicate which flavor of fdo is being used. + || (getToolchainIdentifier().contains("llvm") + && cppOptions.getFdoOptimize().endsWith(".zip"))); } /** |