MIPS: Skip some conditional deopts for Div/Mul when all uses are truncating.
Port r15060 (8cdd204) Original commit message: - set "can be minus zero" flag properly so minus-zero checks are skipped - skip "integer result?" check in division code when uses are truncating - drive-by cleanup: consolidated computation of kCanOverflow flag for Add/Sub into range inference phase BUG=v8:2132 R=plind44@gmail.com Review URL: https://codereview.chromium.org/16645007 Patch from Balazs Kilvady <kilvadyb@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
c2dab39b71
commit
0edbf9e709
@ -1246,8 +1246,10 @@ void LCodeGen::DoDivI(LDivI* instr) {
|
||||
__ bind(&left_not_min_int);
|
||||
}
|
||||
|
||||
__ mfhi(result);
|
||||
DeoptimizeIf(ne, instr->environment(), result, Operand(zero_reg));
|
||||
if (!instr->hydrogen()->CheckFlag(HInstruction::kAllUsesTruncatingToInt32)) {
|
||||
__ mfhi(result);
|
||||
DeoptimizeIf(ne, instr->environment(), result, Operand(zero_reg));
|
||||
}
|
||||
__ mflo(result);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user