Version 2.0.18

Cherry pick: Only run library converter once.
Cl: https://r8-review.googlesource.com/c/r8/+/47760

Bug: CallBackConversionTest fails after lambda changes to master.
Change-Id: I35ac77bd77403a73dbe1569ef2f1f8407831bb1a
diff --git a/src/main/java/com/android/tools/r8/Version.java b/src/main/java/com/android/tools/r8/Version.java
index 3f99e31..319e1ff 100644
--- a/src/main/java/com/android/tools/r8/Version.java
+++ b/src/main/java/com/android/tools/r8/Version.java
@@ -11,7 +11,7 @@
 
   // This field is accessed from release scripts using simple pattern matching.
   // Therefore, changing this field could break our release scripts.
-  public static final String LABEL = "2.0.17";
+  public static final String LABEL = "2.0.18";
 
   private Version() {
   }
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 6ef43a6..07d1ae5 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
@@ -1345,7 +1345,8 @@
     previous = printMethod(code, "IR after interface method rewriting (SSA)", previous);
 
     // This pass has to be after interfaceMethodRewriter and BackportedMethodRewriter.
-    if (desugaredLibraryAPIConverter != null) {
+    if (desugaredLibraryAPIConverter != null
+        && (!appView.enableWholeProgramOptimizations() || methodProcessor.isPrimary())) {
       desugaredLibraryAPIConverter.desugar(code);
       assert code.isConsistentSSA();
     }