[turbofan] Fix loop variable analysis to account for safe-integer-subtract

Bug: chromium:760434
Change-Id: I50ed6779f79ed1b17053a0a0f2013cae53091a3a
Reviewed-on: https://chromium-review.googlesource.com/641873
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47696}
This commit is contained in:
Jaroslav Sevcik 2017-08-30 06:47:54 +02:00 committed by Commit Bot
parent 1720131946
commit e84eceabbe

View File

@ -310,7 +310,8 @@ InductionVariable* LoopVariableOptimizer::TryGetInductionVariable(Node* phi) {
arith->opcode() == IrOpcode::kSpeculativeSafeIntegerAdd) {
arithmeticType = InductionVariable::ArithmeticType::kAddition;
} else if (arith->opcode() == IrOpcode::kJSSubtract ||
arith->opcode() == IrOpcode::kSpeculativeNumberSubtract) {
arith->opcode() == IrOpcode::kSpeculativeNumberSubtract ||
arith->opcode() == IrOpcode::kSpeculativeSafeIntegerSubtract) {
arithmeticType = InductionVariable::ArithmeticType::kSubtraction;
} else {
return nullptr;