aboutsummaryrefslogtreecommitdiff
path: root/src/intertyper.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2011-11-10 11:47:39 -0800
committerAlon Zakai <alonzakai@gmail.com>2011-11-10 11:47:39 -0800
commitcd5487b5349a3b33a8fb693f43e2bfdb41be8401 (patch)
tree85cd95b121dca8ea2e34cc845194582252867c76 /src/intertyper.js
parent0e32b09c3de18a8f8ee331ac00a6308b94ff9ccb (diff)
fixes; i64 passes
Diffstat (limited to 'src/intertyper.js')
-rw-r--r--src/intertyper.js8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/intertyper.js b/src/intertyper.js
index 069ef354..0f41f20f 100644
--- a/src/intertyper.js
+++ b/src/intertyper.js
@@ -757,7 +757,13 @@ function intertyper(data, parseFunctions, baseLineNum) {
item.type = item.param1.type;
}
for (var i = 1; i <= 4; i++) {
- if (item['param'+i]) item['param'+i].type = item.type; // All params have the same type
+ if (item['param'+i]) item['param'+i].type = item.type; // All params have the same type, normally
+ if (I64_MODE == 1) {
+ // Some specific corrections, since 'i64' is special
+ if (item.op in LLVM.SHIFTS) {
+ item.param2.type = 'i32';
+ }
+ }
}
Types.needAnalysis[item.type] = 0;
this.forwardItem(item, 'Reintegrator');