aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupport.java18
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupportProvider.java14
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;
}