Remove --experimental_dynamic_configs=notrim_partial.

Part of the static configuration removal cleanup.

PiperOrigin-RevId: 163130922
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
index 3b7b335..4282652 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
@@ -699,13 +699,7 @@
    * Creates a BuildOptions class for the given options taken from an optionsProvider.
    */
   public BuildOptions createBuildOptions(OptionsClassProvider optionsProvider) {
-    // Possibly disable dynamic configurations if they won't work with this build. It's
-    // best to do this as early in the build as possible, because as the build goes on the number
-    // of BuildOptions references grows and the more dangerous it becomes to modify them. We do
-    // this here instead of in BlazeRuntime because tests and production logic don't use
-    // BlazeRuntime the same way.
-    return BuildOptions.applyStaticConfigOverride(
-        BuildOptions.of(configurationOptions, optionsProvider));
+    return BuildOptions.of(configurationOptions, optionsProvider);
   }
 
   private Environment.Frame createGlobals(
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
index 37c85f1..014248e 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
@@ -1087,17 +1087,6 @@
       /**
        * Same as NOTRIM.
        *
-       * <p>This used to revert certain special cases to static configurations because dynamic
-       * configuration didn't support them. But now all builds use dynamic configurations. This
-       * value will be removed once we know no one is setting it.
-       *
-       * @deprecated use {@link #NOTRIM} instead
-       */
-      @Deprecated
-      NOTRIM_PARTIAL,
-      /**
-       * Same as NOTRIM.
-       *
        * <p>This used to disable dynamic configurations (while the feature was still being
        * developed). But now all builds use dynamic configurations. This value will be removed
        * once we know no one is setting it.
@@ -1119,12 +1108,7 @@
       @Override
       public DynamicConfigsMode convert(String input) throws OptionsParsingException {
         DynamicConfigsMode userSetValue = super.convert(input);
-        if (userSetValue == DynamicConfigsMode.OFF
-            || userSetValue == DynamicConfigsMode.NOTRIM_PARTIAL) {
-          return DynamicConfigsMode.NOTRIM;
-        } else {
-          return userSetValue;
-        }
+        return userSetValue == DynamicConfigsMode.OFF ? DynamicConfigsMode.NOTRIM : userSetValue;
       }
     }
 
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildOptions.java b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildOptions.java
index e1f012f..95f9ea9 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildOptions.java
@@ -132,25 +132,6 @@
   }
 
   /**
-   * Returns a cloned instance that disables dynamic configurations if both
-   * {@link BuildConfiguration.Options.DynamicConfigsMode} is {@code NOTRIM_PARTIAL} and
-   * {@link #useStaticConfigurationsOverride()} is true. Otherwise it returns the input
-   * instance unchanged.
-   */
-  public static BuildOptions applyStaticConfigOverride(BuildOptions buildOptions) {
-    if (buildOptions.useStaticConfigurationsOverride()
-        && buildOptions.get(BuildConfiguration.Options.class).useDynamicConfigurations
-            == BuildConfiguration.Options.DynamicConfigsMode.NOTRIM_PARTIAL) {
-      // It's not, generally speaking, safe to mutate BuildOptions instances when the original
-      // reference might persist.
-      buildOptions = buildOptions.clone();
-      buildOptions.get(BuildConfiguration.Options.class).useDynamicConfigurations =
-          BuildConfiguration.Options.DynamicConfigsMode.OFF;
-    }
-    return buildOptions;
-  }
-
-  /**
    * Returns the actual instance of a FragmentOptions class.
    */
   public <T extends FragmentOptions> T get(Class<T> optionsClass) {
@@ -198,19 +179,6 @@
   }
 
   /**
-   * Returns {@code true} if static configurations should be used with
-   * {@link BuildConfiguration.Options.DynamicConfigsMode.NOTRIM_PARTIAL}.
-   */
-  public boolean useStaticConfigurationsOverride() {
-    for (FragmentOptions fragment : fragmentOptionsMap.values()) {
-      if (fragment.useStaticConfigurationsOverride()) {
-        return true;
-      }
-    }
-    return false;
-  }
-
-  /**
    * Returns true if actions should be enabled for this configuration.
    */
   public boolean enableActions() {
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentOptions.java b/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentOptions.java
index f3b8460..d3f3251 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentOptions.java
@@ -101,12 +101,4 @@
   public FragmentOptions getHost(boolean fallback) {
     return getDefault();
   }
-
-  /**
-   * Returns {@code true} if static configurations should be used with
-   * {@link BuildConfiguration.Options.DynamicConfigsMode.NOTRIM_PARTIAL}.
-   */
-  public boolean useStaticConfigurationsOverride() {
-    return false;
-  }
 }
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 97492ae..14aa59c 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
@@ -950,15 +950,6 @@
     return lipoConfigurationState == LipoConfigurationState.LIPO_CONTEXT_COLLECTOR;
   }
 
-  /**
-   * FDO/LIPO is not yet compatible with dynamic configurations.
-   **/
-  @Override
-  public boolean useStaticConfigurationsOverride() {
-    // --lipo=binary is technically possible without FDO, even though it doesn't do anything.
-    return isFdo() || lipoModeForBuild == LipoMode.BINARY;
-  }
-
   @Override
   public boolean enableActions() {
     return !isLipoContextCollector();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
index 693d0a4..cfbcd5d 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
@@ -1542,10 +1542,8 @@
    * targets and their transitive dependencies.
    */
   private static boolean useUntrimmedDynamicConfigs(BuildOptions options) {
-    BuildConfiguration.Options.DynamicConfigsMode mode =
-        options.get(BuildConfiguration.Options.class).useDynamicConfigurations;
-    return mode == BuildConfiguration.Options.DynamicConfigsMode.NOTRIM
-        || mode == BuildConfiguration.Options.DynamicConfigsMode.NOTRIM_PARTIAL;
+    return options.get(BuildConfiguration.Options.class).useDynamicConfigurations
+        == BuildConfiguration.Options.DynamicConfigsMode.NOTRIM;
   }
 
   /**
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java
index d1a1adb..6ec9c81 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java
@@ -179,11 +179,9 @@
     ImmutableSortedSet<String> multiCpu = ImmutableSortedSet.copyOf(
         parser.getOptions(TestOptions.class).multiCpus);
 
-    BuildOptions buildOptions = BuildOptions.applyStaticConfigOverride(
-         BuildOptions.of(buildOptionClasses, parser));
     skyframeExecutor.handleDiffs(reporter);
-    BuildConfigurationCollection collection = skyframeExecutor.createConfigurations(
-        reporter, configurationFactory, buildOptions, multiCpu, false);
+    BuildConfigurationCollection collection = skyframeExecutor.createConfigurations(reporter,
+        configurationFactory, BuildOptions.of(buildOptionClasses, parser), multiCpu, false);
     return collection;
   }