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

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

Issue 2065503002: [builtins] Introduce proper Float64Atan and Float64Atan2 operators. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: [WIP] Fix GCC/Win32. Created 4 years, 6 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 720 matching lines...) Expand 10 before | Expand all | Expand 10 after
731 // (Unsigned32, Unsigned32) -> Signed32 731 // (Unsigned32, Unsigned32) -> Signed32
732 CheckValueInputIs(node, 0, Type::Unsigned32()); 732 CheckValueInputIs(node, 0, Type::Unsigned32());
733 CheckValueInputIs(node, 1, Type::Unsigned32()); 733 CheckValueInputIs(node, 1, Type::Unsigned32());
734 CheckUpperIs(node, Type::Signed32()); 734 CheckUpperIs(node, Type::Signed32());
735 break; 735 break;
736 case IrOpcode::kNumberClz32: 736 case IrOpcode::kNumberClz32:
737 // Unsigned32 -> Unsigned32 737 // Unsigned32 -> Unsigned32
738 CheckValueInputIs(node, 0, Type::Unsigned32()); 738 CheckValueInputIs(node, 0, Type::Unsigned32());
739 CheckUpperIs(node, Type::Unsigned32()); 739 CheckUpperIs(node, Type::Unsigned32());
740 break; 740 break;
741 case IrOpcode::kNumberAtan2:
742 // (Number, Number) -> Number
743 CheckValueInputIs(node, 0, Type::Number());
744 CheckValueInputIs(node, 1, Type::Number());
745 CheckUpperIs(node, Type::Number());
746 break;
741 case IrOpcode::kNumberCeil: 747 case IrOpcode::kNumberCeil:
742 case IrOpcode::kNumberFloor: 748 case IrOpcode::kNumberFloor:
749 case IrOpcode::kNumberAtan:
743 case IrOpcode::kNumberLog: 750 case IrOpcode::kNumberLog:
744 case IrOpcode::kNumberLog1p: 751 case IrOpcode::kNumberLog1p:
745 case IrOpcode::kNumberRound: 752 case IrOpcode::kNumberRound:
746 case IrOpcode::kNumberTrunc: 753 case IrOpcode::kNumberTrunc:
747 // Number -> Number 754 // Number -> Number
748 CheckValueInputIs(node, 0, Type::Number()); 755 CheckValueInputIs(node, 0, Type::Number());
749 CheckUpperIs(node, Type::Number()); 756 CheckUpperIs(node, Type::Number());
750 break; 757 break;
751 case IrOpcode::kNumberToInt32: 758 case IrOpcode::kNumberToInt32:
752 // Number -> Signed32 759 // Number -> Signed32
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
1031 case IrOpcode::kFloat64Add: 1038 case IrOpcode::kFloat64Add:
1032 case IrOpcode::kFloat64Sub: 1039 case IrOpcode::kFloat64Sub:
1033 case IrOpcode::kFloat64SubPreserveNan: 1040 case IrOpcode::kFloat64SubPreserveNan:
1034 case IrOpcode::kFloat64Neg: 1041 case IrOpcode::kFloat64Neg:
1035 case IrOpcode::kFloat64Mul: 1042 case IrOpcode::kFloat64Mul:
1036 case IrOpcode::kFloat64Div: 1043 case IrOpcode::kFloat64Div:
1037 case IrOpcode::kFloat64Mod: 1044 case IrOpcode::kFloat64Mod:
1038 case IrOpcode::kFloat64Max: 1045 case IrOpcode::kFloat64Max:
1039 case IrOpcode::kFloat64Min: 1046 case IrOpcode::kFloat64Min:
1040 case IrOpcode::kFloat64Abs: 1047 case IrOpcode::kFloat64Abs:
1048 case IrOpcode::kFloat64Atan:
1049 case IrOpcode::kFloat64Atan2:
1041 case IrOpcode::kFloat64Log: 1050 case IrOpcode::kFloat64Log:
1042 case IrOpcode::kFloat64Log1p: 1051 case IrOpcode::kFloat64Log1p:
1043 case IrOpcode::kFloat64Sqrt: 1052 case IrOpcode::kFloat64Sqrt:
1044 case IrOpcode::kFloat32RoundDown: 1053 case IrOpcode::kFloat32RoundDown:
1045 case IrOpcode::kFloat64RoundDown: 1054 case IrOpcode::kFloat64RoundDown:
1046 case IrOpcode::kFloat32RoundUp: 1055 case IrOpcode::kFloat32RoundUp:
1047 case IrOpcode::kFloat64RoundUp: 1056 case IrOpcode::kFloat64RoundUp:
1048 case IrOpcode::kFloat32RoundTruncate: 1057 case IrOpcode::kFloat32RoundTruncate:
1049 case IrOpcode::kFloat64RoundTruncate: 1058 case IrOpcode::kFloat64RoundTruncate:
1050 case IrOpcode::kFloat64RoundTiesAway: 1059 case IrOpcode::kFloat64RoundTiesAway:
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
1426 replacement->op()->EffectOutputCount() > 0); 1435 replacement->op()->EffectOutputCount() > 0);
1427 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || 1436 DCHECK(!NodeProperties::IsFrameStateEdge(edge) ||
1428 replacement->opcode() == IrOpcode::kFrameState); 1437 replacement->opcode() == IrOpcode::kFrameState);
1429 } 1438 }
1430 1439
1431 #endif // DEBUG 1440 #endif // DEBUG
1432 1441
1433 } // namespace compiler 1442 } // namespace compiler
1434 } // namespace internal 1443 } // namespace internal
1435 } // namespace v8 1444 } // 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