MIPS: [turbofan] Complete support for integer division/modulus in simplified lowering.
authorbalazs.kilvady@imgtec.com <balazs.kilvady@imgtec.com>
Tue, 28 Oct 2014 16:54:35 +0000 (16:54 +0000)
committerbalazs.kilvady@imgtec.com <balazs.kilvady@imgtec.com>
Tue, 28 Oct 2014 16:55:14 +0000 (16:55 +0000)
Port r24942 (c5055ce)

Original commit message:
Also add backend flags that tell whether integer division/modulus is
generally safe, i.e. does not trap on overflow or divide by zero.

TEST=unittests
BUG=
R=dusan.milosavljevic@imgtec.com

Review URL: https://codereview.chromium.org/679393003

Cr-Commit-Position: refs/heads/master@{#24956}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/compiler/mips/instruction-selector-mips.cc

index dc1749a..9be6bb6 100644 (file)
@@ -651,8 +651,12 @@ void InstructionSelector::VisitFloat64LessThanOrEqual(Node* node) {
 // static
 MachineOperatorBuilder::Flags
 InstructionSelector::SupportedMachineOperatorFlags() {
-  return MachineOperatorBuilder::Flag::kNoFlags;
+  return MachineOperatorBuilder::kInt32DivIsSafe |
+         MachineOperatorBuilder::kInt32ModIsSafe |
+         MachineOperatorBuilder::kUint32DivIsSafe |
+         MachineOperatorBuilder::kUint32ModIsSafe;
 }
+
 }  // namespace compiler
 }  // namespace internal
 }  // namespace v8