aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/JSBackend/JSBackend.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/JSBackend/JSBackend.cpp')
-rw-r--r--lib/Target/JSBackend/JSBackend.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Target/JSBackend/JSBackend.cpp b/lib/Target/JSBackend/JSBackend.cpp
index ffa4591337..fccdb52bf7 100644
--- a/lib/Target/JSBackend/JSBackend.cpp
+++ b/lib/Target/JSBackend/JSBackend.cpp
@@ -1321,13 +1321,13 @@ static const SwitchInst *considerSwitch(const Instruction *I) {
assert(CaseVal.isSingleNumbersOnly());
std::string Condition = "";
for (unsigned Index = 0; Index < CaseVal.getNumItems(); Index++) {
- int Curr = CaseVal.getSingleNumber(Index).toConstantInt()->getZExtValue();
+ int Curr = CaseVal.getSingleNumber(Index).toConstantInt()->getSExtValue();
if (Curr < Minn) Minn = Curr;
if (Curr > Maxx) Maxx = Curr;
}
Num++;
}
- int Range = Maxx - Minn;
+ int64_t Range = (int64_t)Maxx - (int64_t)Minn;
return Num < 5 || Range > 10*1024 || (Range/Num) > 1024 ? NULL : SI; // heuristics
}