From df296a483aca5a3612e356908cc2ca2c207a3cbb Mon Sep 17 00:00:00 2001 From: Googler Date: Fri, 16 Mar 2018 11:54:42 -0700 Subject: PiperOrigin-RevId: 189372237 --- .../com/google/devtools/build/lib/rules/cpp/CcToolchain.java | 2 +- .../google/devtools/build/lib/rules/cpp/CppConfiguration.java | 2 +- .../com/google/devtools/build/lib/rules/cpp/CppOptions.java | 7 ++----- .../com/google/devtools/build/lib/rules/cpp/FdoSupport.java | 10 +++++----- .../google/devtools/build/lib/rules/cpp/FdoSupportValue.java | 11 +++++------ 5 files changed, 14 insertions(+), 18 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java index b901340569..e87c34ff08 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java @@ -507,7 +507,7 @@ public class CcToolchain implements RuleConfiguredTargetFactory { "COVERAGE_GCOV_PATH", toolchainInfo.getToolPathFragment(Tool.GCOV).getPathString())); if (cppConfiguration.getFdoInstrument() != null) { coverageEnvironment.add( - Pair.of("FDO_DIR", cppConfiguration.getFdoInstrument().getPathString())); + Pair.of("FDO_DIR", cppConfiguration.getFdoInstrument())); } // This tries to convert LLVM profiles to the indexed format if necessary. 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 e26b5fc551..8ff1f8c065 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 @@ -1343,7 +1343,7 @@ public final class CppConfiguration extends BuildConfiguration.Fragment { "compiler", getCompiler()); } - public PathFragment getFdoInstrument() { + public String getFdoInstrument() { return cppOptions.getFdoInstrument(); } diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java index 0899364a4a..e129cc8d83 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java @@ -27,8 +27,6 @@ import com.google.devtools.build.lib.rules.cpp.CppConfiguration.DynamicMode; import com.google.devtools.build.lib.rules.cpp.CppConfiguration.StripMode; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.lib.util.OS; -import com.google.devtools.build.lib.util.OptionsUtils; -import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.build.lib.view.config.crosstool.CrosstoolConfig.LipoMode; import com.google.devtools.common.options.Converter; import com.google.devtools.common.options.EnumConverter; @@ -438,7 +436,6 @@ public class CppOptions extends FragmentOptions { @Option( name = "fdo_instrument", defaultValue = "null", - converter = OptionsUtils.PathFragmentConverter.class, category = "flags", implicitRequirements = {"--copt=-Wno-error"}, documentationCategory = OptionDocumentationCategory.OUTPUT_PARAMETERS, @@ -454,13 +451,13 @@ public class CppOptions extends FragmentOptions { * determines whether these options are actually "active" for this configuration. Instead, use the * equivalent getter method, which takes that into account. */ - public PathFragment fdoInstrumentForBuild; + public String fdoInstrumentForBuild; /** * Returns the --fdo_instrument value if FDO is specified and active for this configuration, * the default value otherwise. */ - public PathFragment getFdoInstrument() { + public String getFdoInstrument() { return enableLipoSettings() ? fdoInstrumentForBuild : null; } diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupport.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupport.java index c5a55f989d..79d4dcf03a 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupport.java @@ -167,7 +167,7 @@ public class FdoSupport { * Coverage information output directory passed to {@code --fdo_instrument}, * or {@code null} if FDO instrumentation is disabled. */ - private final PathFragment fdoInstrument; + private final String fdoInstrument; /** * Path of the profile file passed to {@code --fdo_optimize}, or @@ -238,7 +238,7 @@ public class FdoSupport { LipoMode lipoMode, ArtifactRoot fdoRoot, PathFragment fdoRootExecPath, - PathFragment fdoInstrument, + String fdoInstrument, Path fdoProfile, FdoZipContents fdoZipContents) { this.fdoInstrument = fdoInstrument; @@ -277,7 +277,7 @@ public class FdoSupport { /** Creates an initialized {@link FdoSupport} instance. */ static FdoSupport create( SkyFunction.Environment env, - PathFragment fdoInstrument, + String fdoInstrument, Path fdoProfile, LipoMode lipoMode, Path execRoot, @@ -606,7 +606,7 @@ public class FdoSupport { } if (featureConfiguration.isEnabled(CppRuleClasses.FDO_INSTRUMENT)) { - buildVariables.addStringVariable("fdo_instrument_path", fdoInstrument.getPathString()); + buildVariables.addStringVariable("fdo_instrument_path", fdoInstrument); } // Optimization phase @@ -779,7 +779,7 @@ public class FdoSupport { CcToolchainFeatures.Variables.Builder buildVariables ) { if (featureConfiguration.isEnabled(CppRuleClasses.FDO_INSTRUMENT)) { - buildVariables.addStringVariable("fdo_instrument_path", fdoInstrument.getPathString()); + buildVariables.addStringVariable("fdo_instrument_path", fdoInstrument); } } diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupportValue.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupportValue.java index 1422cc5cdb..8e092f9693 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupportValue.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupportValue.java @@ -19,7 +19,6 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.rules.cpp.FdoSupport.FdoMode; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.lib.vfs.Path; -import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.build.lib.view.config.crosstool.CrosstoolConfig.LipoMode; import com.google.devtools.build.skyframe.SkyFunctionName; import com.google.devtools.build.skyframe.SkyKey; @@ -48,10 +47,10 @@ public class FdoSupportValue implements SkyValue { private final LipoMode lipoMode; private final Path fdoZip; - private final PathFragment fdoInstrument; + private final String fdoInstrument; private final FdoMode fdoMode; - private Key(LipoMode lipoMode, Path fdoZip, PathFragment fdoInstrument, FdoMode fdoMode) { + private Key(LipoMode lipoMode, Path fdoZip, String fdoInstrument, FdoMode fdoMode) { this.lipoMode = lipoMode; this.fdoZip = fdoZip; this.fdoInstrument = fdoInstrument; @@ -60,7 +59,7 @@ public class FdoSupportValue implements SkyValue { @AutoCodec.Instantiator @AutoCodec.VisibleForSerialization - static Key of(LipoMode lipoMode, Path fdoZip, PathFragment fdoInstrument, FdoMode fdoMode) { + static Key of(LipoMode lipoMode, Path fdoZip, String fdoInstrument, FdoMode fdoMode) { return interner.intern(new Key(lipoMode, fdoZip, fdoInstrument, fdoMode)); } @@ -72,7 +71,7 @@ public class FdoSupportValue implements SkyValue { return fdoZip; } - public PathFragment getFdoInstrument() { + public String getFdoInstrument() { return fdoInstrument; } @@ -119,7 +118,7 @@ public class FdoSupportValue implements SkyValue { } public static SkyKey key( - LipoMode lipoMode, Path fdoZip, PathFragment fdoInstrument, FdoMode fdoMode) { + LipoMode lipoMode, Path fdoZip, String fdoInstrument, FdoMode fdoMode) { return Key.of(lipoMode, fdoZip, fdoInstrument, fdoMode); } } -- cgit v1.2.3