Rewrite outliner with graphlens before statizer process methods
Change-Id: If898f97754018cb68fcd330f2e86f2936d80dcfe
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java b/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
index 2ebdcec..1aa1857 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
@@ -131,7 +131,7 @@
public final AppView<?> appView;
private final Timing timing;
- private final Outliner outliner;
+ public final Outliner outliner;
private final ClassInitializerDefaultsOptimization classInitializerDefaultsOptimization;
private final CfInstructionDesugaringCollection instructionDesugaring;
private final FieldAccessAnalysis fieldAccessAnalysis;
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/staticizer/StaticizingProcessor.java b/src/main/java/com/android/tools/r8/ir/optimize/staticizer/StaticizingProcessor.java
index 8ab0859..9397cc6 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/staticizer/StaticizingProcessor.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/staticizer/StaticizingProcessor.java
@@ -126,6 +126,9 @@
enqueueMethodsWithCodeOptimizations(
methodsToBeStaticized, optimizations -> optimizations.add(this::removeReferencesToThis));
+ // Rewrite outliner with lens.
+ converter.outliner.rewriteWithLens();
+
// Process queued methods with associated optimizations
processMethodsConcurrently(feedback, executorService);
@@ -146,6 +149,9 @@
.add(this::insertAssumeInstructions)
.add(collectOptimizationInfo(feedback)));
+ // Rewrite outliner with lens.
+ converter.outliner.rewriteWithLens();
+
// Process queued methods with associated optimizations
processMethodsConcurrently(feedback, executorService);