diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupport.java | 18 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupportProvider.java | 14 |
2 files changed, 7 insertions, 25 deletions
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 21697c8b46..53fa0de33f 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 @@ -699,9 +699,10 @@ public class FdoSupport { if (!featureConfiguration.isEnabled(CppRuleClasses.AUTOFDO)) { return null; } - buildVariables.addStringVariable("fdo_profile_path", getAutoProfilePath( - fdoProfile, fdoRootExecPath).getPathString()); - return getFdoSupportProvider(ruleContext).getAutoProfileArtifact(); + + Artifact profile = getFdoSupportProvider(ruleContext).getProfileArtifact(); + buildVariables.addStringVariable("fdo_profile_path", profile.getExecPathString()); + return profile; } /** @@ -716,7 +717,7 @@ public class FdoSupport { public FdoSupportProvider createFdoSupportProvider( RuleContext ruleContext) { if (fdoRoot == null) { - return new FdoSupportProvider(this, null, null, null); + return new FdoSupportProvider(this, null, null); } Preconditions.checkState(fdoPath != null); @@ -726,12 +727,6 @@ public class FdoSupport { Artifact profileArtifact = ruleContext.getAnalysisEnvironment().getDerivedArtifact( fdoPath.getRelative(profileRootRelativePath), fdoRoot); ruleContext.registerAction(new FdoStubAction(ruleContext.getActionOwner(), profileArtifact)); - - Artifact autoProfileArtifact = ruleContext.getAnalysisEnvironment().getDerivedArtifact( - fdoPath.getRelative(getAutoProfileRootRelativePath(fdoProfile)), fdoRoot); - ruleContext.getAnalysisEnvironment().registerAction( - new FdoStubAction(ruleContext.getActionOwner(), autoProfileArtifact)); - Preconditions.checkState(fdoPath != null); ImmutableMap.Builder<PathFragment, Artifact> gcdaArtifacts = ImmutableMap.builder(); for (PathFragment path : gcdaFiles) { @@ -741,8 +736,7 @@ public class FdoSupport { gcdaArtifacts.put(path, gcdaArtifact); } - return new FdoSupportProvider( - this, profileArtifact, autoProfileArtifact, gcdaArtifacts.build()); + return new FdoSupportProvider(this, profileArtifact, gcdaArtifacts.build()); } private static FdoSupportProvider getFdoSupportProvider(RuleContext ruleContext) { diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupportProvider.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupportProvider.java index 849b9c805e..3185dd5103 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupportProvider.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupportProvider.java @@ -27,33 +27,21 @@ import com.google.devtools.build.lib.vfs.PathFragment; public class FdoSupportProvider implements TransitiveInfoProvider { private final FdoSupport fdoSupport; private final Artifact profileArtifact; - // We *probably* don't need both an AutoFDO profile artifact and a profile artifact. However, - // the decision whether to make the latter seems to depend on the feature configuration of the - // eventual cc_binary rule, which we don't have in cc_toolchain, so we just create both because - // one extra artifact doesn't harm anyone. - private final Artifact autoProfileArtifact; private final ImmutableMap<PathFragment, Artifact> gcdaArtifacts; public FdoSupportProvider(FdoSupport fdoSupport, Artifact profileArtifact, - Artifact autoProfileArtifact, ImmutableMap<PathFragment, Artifact> gcdaArtifacts) { + ImmutableMap<PathFragment, Artifact> gcdaArtifacts) { this.fdoSupport = fdoSupport; this.profileArtifact = profileArtifact; - this.autoProfileArtifact = autoProfileArtifact; this.gcdaArtifacts = gcdaArtifacts; } public FdoSupport getFdoSupport() { return fdoSupport; } - public Artifact getProfileArtifact() { return profileArtifact; } - - public Artifact getAutoProfileArtifact() { - return autoProfileArtifact; - } - public ImmutableMap<PathFragment, Artifact> getGcdaArtifacts() { return gcdaArtifacts; } |