Fixup argument index of null simple inlining constraint
Fixes: b/354109782
Change-Id: Icb9832168505f3fce8a4ddb11b5cc30474727583
diff --git a/src/main/java/com/android/tools/r8/ir/analysis/inlining/NullSimpleInliningConstraint.java b/src/main/java/com/android/tools/r8/ir/analysis/inlining/NullSimpleInliningConstraint.java
index 2c0448a..d589af6 100644
--- a/src/main/java/com/android/tools/r8/ir/analysis/inlining/NullSimpleInliningConstraint.java
+++ b/src/main/java/com/android/tools/r8/ir/analysis/inlining/NullSimpleInliningConstraint.java
@@ -50,17 +50,18 @@
return removedArgumentInfo.getSingleValue().isNull() && nullability.isDefinitelyNull()
? AlwaysSimpleInliningConstraint.getInstance()
: NeverSimpleInliningConstraint.getInstance();
- } else if (argumentInfo.isRewrittenTypeInfo()) {
+ }
+ int newArgumentIndex = changes.getNewArgumentIndex(getArgumentIndex());
+ if (argumentInfo.isRewrittenTypeInfo()) {
RewrittenTypeInfo rewrittenTypeInfo = argumentInfo.asRewrittenTypeInfo();
if (rewrittenTypeInfo.getNewType().isIntType()) {
// Rewrite definitely-null constraints to definitely-zero constraints.
return nullability.isDefinitelyNull()
- ? factory.createEqualToNumberConstraint(getArgumentIndex(), 0)
- : factory.createNotEqualToNumberConstraint(getArgumentIndex(), 0);
+ ? factory.createEqualToNumberConstraint(newArgumentIndex, 0)
+ : factory.createNotEqualToNumberConstraint(newArgumentIndex, 0);
}
- return this;
}
- return withArgumentIndex(changes.getNewArgumentIndex(getArgumentIndex()), factory);
+ return withArgumentIndex(newArgumentIndex, factory);
}
@Override