Only insert AssumeDynamicType instructions for methods not returning one of the arguments

Bug: 127461806
Change-Id: If923c53aba5616b9e10bb729a5dd0ba2fcfd190b
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/DynamicTypeOptimization.java b/src/main/java/com/android/tools/r8/ir/optimize/DynamicTypeOptimization.java
index 0f047c1..d90d213 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/DynamicTypeOptimization.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/DynamicTypeOptimization.java
@@ -7,6 +7,7 @@
 import com.android.tools.r8.graph.AppView;
 import com.android.tools.r8.graph.DexEncodedMethod;
 import com.android.tools.r8.graph.DexType;
+import com.android.tools.r8.graph.OptimizationInfo;
 import com.android.tools.r8.ir.analysis.type.TypeLatticeElement;
 import com.android.tools.r8.ir.code.Assume;
 import com.android.tools.r8.ir.code.Assume.DynamicTypeAssumption;
@@ -72,8 +73,12 @@
           continue;
         }
 
-        TypeLatticeElement dynamicReturnType =
-            singleTarget.getOptimizationInfo().getDynamicReturnType();
+        OptimizationInfo optimizationInfo = singleTarget.getOptimizationInfo();
+        if (optimizationInfo.returnsArgument()) {
+          continue;
+        }
+
+        TypeLatticeElement dynamicReturnType = optimizationInfo.getDynamicReturnType();
         if (dynamicReturnType == null
             || !dynamicReturnType.strictlyLessThan(outValue.getTypeLattice(), appView)) {
           continue;