commit | e9176c9b9a812dc2444c82676149d5dca3231174 | [log] [tgz] |
---|---|---|
author | jeffhao <jeffhao@google.com> | Thu Feb 03 11:07:37 2011 -0800 |
committer | jeffhao <jeffhao@google.com> | Thu Feb 03 11:07:37 2011 -0800 |
tree | 7895f6af2d41b2a839ed32332f33509817ac5d14 | |
parent | 16c26e7c49691226285744fe08b7e38b541c56f7 [diff] |
Fixed SCCP to properly propagate reverse subtraction. Change-Id: If9c83d2f9ce5de466e6c7b4108bda54d2d025dd6
diff --git a/dx/src/com/android/dx/ssa/SCCP.java b/dx/src/com/android/dx/ssa/SCCP.java index 42abbb2..f8bf74f 100644 --- a/dx/src/com/android/dx/ssa/SCCP.java +++ b/dx/src/com/android/dx/ssa/SCCP.java
@@ -268,7 +268,12 @@ vR = vA + vB; break; case RegOps.SUB: - vR = vA - vB; + // 1 source for reverse sub, 2 sources for regular sub + if (sources.size() == 1) { + vR = vB - vA; + } else { + vR = vA - vB; + } break; case RegOps.MUL: vR = vA * vB;