Enable inlining for inlinees when proto shrinking is enabled
Change-Id: Iec60131d0df65f43f9b83f82461039afd4f7df24
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index 40633b6..a5f672e 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -205,7 +205,8 @@
!Version.isDevelopmentVersion()
|| System.getProperty("com.android.tools.r8.disableinlining") == null;
// TODO(b/141451716): Evaluate the effect of allowing inlining in the inlinee.
- public boolean applyInliningToInlinee = false;
+ public boolean applyInliningToInlinee =
+ System.getProperty("com.android.tools.r8.applyInliningToInlinee") != null;
public int applyInliningToInlineeMaxDepth = 0;
public boolean enableInliningOfInvokesWithNullableReceivers = true;
public boolean disableInliningOfLibraryMethodOverrides = true;
diff --git a/tools/run_on_app.py b/tools/run_on_app.py
index 0941623..c31bfea 100755
--- a/tools/run_on_app.py
+++ b/tools/run_on_app.py
@@ -509,6 +509,7 @@
if 'allow-type-errors' in values:
extra_args.append('-Dcom.android.tools.r8.allowTypeErrors=1')
if 'proto-shrinking' in values:
+ extra_args.append('-Dcom.android.tools.r8.applyInliningToInlinee=1')
extra_args.append('-Dcom.android.tools.r8.fieldBitAccessAnalysis=1')
extra_args.append('-Dcom.android.tools.r8.generatedExtensionRegistryShrinking=1')
extra_args.append('-Dcom.android.tools.r8.generatedMessageLiteShrinking=1')