Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1067)

Side by Side Diff: src/compiler/verifier.cc

Issue 2103733003: [turbofan] Introduce Float64Pow and NumberPow operators. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: REBASE on ARM64 bug fix. Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/typer.cc ('k') | src/compiler/x64/code-generator-x64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/compiler/verifier.h" 5 #include "src/compiler/verifier.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <deque> 8 #include <deque>
9 #include <queue> 9 #include <queue>
10 #include <sstream> 10 #include <sstream>
(...skipping 727 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 CheckValueInputIs(node, 0, Type::Unsigned32()); 738 CheckValueInputIs(node, 0, Type::Unsigned32());
739 CheckValueInputIs(node, 1, Type::Unsigned32()); 739 CheckValueInputIs(node, 1, Type::Unsigned32());
740 CheckUpperIs(node, Type::Signed32()); 740 CheckUpperIs(node, Type::Signed32());
741 break; 741 break;
742 case IrOpcode::kNumberClz32: 742 case IrOpcode::kNumberClz32:
743 // Unsigned32 -> Unsigned32 743 // Unsigned32 -> Unsigned32
744 CheckValueInputIs(node, 0, Type::Unsigned32()); 744 CheckValueInputIs(node, 0, Type::Unsigned32());
745 CheckUpperIs(node, Type::Unsigned32()); 745 CheckUpperIs(node, Type::Unsigned32());
746 break; 746 break;
747 case IrOpcode::kNumberAtan2: 747 case IrOpcode::kNumberAtan2:
748 case IrOpcode::kNumberPow:
748 // (Number, Number) -> Number 749 // (Number, Number) -> Number
749 CheckValueInputIs(node, 0, Type::Number()); 750 CheckValueInputIs(node, 0, Type::Number());
750 CheckValueInputIs(node, 1, Type::Number()); 751 CheckValueInputIs(node, 1, Type::Number());
751 CheckUpperIs(node, Type::Number()); 752 CheckUpperIs(node, Type::Number());
752 break; 753 break;
753 case IrOpcode::kNumberAbs: 754 case IrOpcode::kNumberAbs:
754 case IrOpcode::kNumberCeil: 755 case IrOpcode::kNumberCeil:
755 case IrOpcode::kNumberFloor: 756 case IrOpcode::kNumberFloor:
756 case IrOpcode::kNumberFround: 757 case IrOpcode::kNumberFround:
757 case IrOpcode::kNumberAtan: 758 case IrOpcode::kNumberAtan:
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
1083 case IrOpcode::kFloat64Neg: 1084 case IrOpcode::kFloat64Neg:
1084 case IrOpcode::kFloat64Mul: 1085 case IrOpcode::kFloat64Mul:
1085 case IrOpcode::kFloat64Div: 1086 case IrOpcode::kFloat64Div:
1086 case IrOpcode::kFloat64Mod: 1087 case IrOpcode::kFloat64Mod:
1087 case IrOpcode::kFloat64Max: 1088 case IrOpcode::kFloat64Max:
1088 case IrOpcode::kFloat64Min: 1089 case IrOpcode::kFloat64Min:
1089 case IrOpcode::kFloat64Abs: 1090 case IrOpcode::kFloat64Abs:
1090 case IrOpcode::kFloat64Atan: 1091 case IrOpcode::kFloat64Atan:
1091 case IrOpcode::kFloat64Atan2: 1092 case IrOpcode::kFloat64Atan2:
1092 case IrOpcode::kFloat64Atanh: 1093 case IrOpcode::kFloat64Atanh:
1094 case IrOpcode::kFloat64Cbrt:
1093 case IrOpcode::kFloat64Cos: 1095 case IrOpcode::kFloat64Cos:
1094 case IrOpcode::kFloat64Exp: 1096 case IrOpcode::kFloat64Exp:
1095 case IrOpcode::kFloat64Expm1: 1097 case IrOpcode::kFloat64Expm1:
1096 case IrOpcode::kFloat64Log: 1098 case IrOpcode::kFloat64Log:
1097 case IrOpcode::kFloat64Log1p: 1099 case IrOpcode::kFloat64Log1p:
1100 case IrOpcode::kFloat64Log10:
1098 case IrOpcode::kFloat64Log2: 1101 case IrOpcode::kFloat64Log2:
1099 case IrOpcode::kFloat64Log10: 1102 case IrOpcode::kFloat64Pow:
1100 case IrOpcode::kFloat64Cbrt:
1101 case IrOpcode::kFloat64Sin: 1103 case IrOpcode::kFloat64Sin:
1102 case IrOpcode::kFloat64Sqrt: 1104 case IrOpcode::kFloat64Sqrt:
1103 case IrOpcode::kFloat64Tan: 1105 case IrOpcode::kFloat64Tan:
1104 case IrOpcode::kFloat32RoundDown: 1106 case IrOpcode::kFloat32RoundDown:
1105 case IrOpcode::kFloat64RoundDown: 1107 case IrOpcode::kFloat64RoundDown:
1106 case IrOpcode::kFloat32RoundUp: 1108 case IrOpcode::kFloat32RoundUp:
1107 case IrOpcode::kFloat64RoundUp: 1109 case IrOpcode::kFloat64RoundUp:
1108 case IrOpcode::kFloat32RoundTruncate: 1110 case IrOpcode::kFloat32RoundTruncate:
1109 case IrOpcode::kFloat64RoundTruncate: 1111 case IrOpcode::kFloat64RoundTruncate:
1110 case IrOpcode::kFloat64RoundTiesAway: 1112 case IrOpcode::kFloat64RoundTiesAway:
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after
1487 replacement->op()->EffectOutputCount() > 0); 1489 replacement->op()->EffectOutputCount() > 0);
1488 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || 1490 DCHECK(!NodeProperties::IsFrameStateEdge(edge) ||
1489 replacement->opcode() == IrOpcode::kFrameState); 1491 replacement->opcode() == IrOpcode::kFrameState);
1490 } 1492 }
1491 1493
1492 #endif // DEBUG 1494 #endif // DEBUG
1493 1495
1494 } // namespace compiler 1496 } // namespace compiler
1495 } // namespace internal 1497 } // namespace internal
1496 } // namespace v8 1498 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/typer.cc ('k') | src/compiler/x64/code-generator-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698