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

Unified Diff: src/compiler/graph.h

Issue 2638133002: [Turbofan] Add other integer SIMD types, add more integer ops. (Closed)
Patch Set: Fix value helper. Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: src/compiler/graph.h
diff --git a/src/compiler/graph.h b/src/compiler/graph.h
index 1e861c7b151e1bc6c18d8caddb455f599006d154..aa056c5a421547db9a8c2e59137534dc9a3ef7b3 100644
--- a/src/compiler/graph.h
+++ b/src/compiler/graph.h
@@ -66,43 +66,12 @@ class V8_EXPORT_PRIVATE Graph final : public NON_EXPORTED_BASE(ZoneObject) {
Node* NewNode(const Operator* op) {
return NewNode(op, 0, static_cast<Node* const*>(nullptr));
}
- Node* NewNode(const Operator* op, Node* n1) { return NewNode(op, 1, &n1); }
- Node* NewNode(const Operator* op, Node* n1, Node* n2) {
- Node* nodes[] = {n1, n2};
- return NewNode(op, arraysize(nodes), nodes);
- }
- Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3) {
- Node* nodes[] = {n1, n2, n3};
- return NewNode(op, arraysize(nodes), nodes);
- }
- Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4) {
- Node* nodes[] = {n1, n2, n3, n4};
- return NewNode(op, arraysize(nodes), nodes);
- }
- Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4,
- Node* n5) {
- Node* nodes[] = {n1, n2, n3, n4, n5};
- return NewNode(op, arraysize(nodes), nodes);
- }
- Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4,
- Node* n5, Node* n6) {
- Node* nodes[] = {n1, n2, n3, n4, n5, n6};
- return NewNode(op, arraysize(nodes), nodes);
- }
- Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4,
- Node* n5, Node* n6, Node* n7) {
- Node* nodes[] = {n1, n2, n3, n4, n5, n6, n7};
- return NewNode(op, arraysize(nodes), nodes);
- }
- Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4,
- Node* n5, Node* n6, Node* n7, Node* n8) {
- Node* nodes[] = {n1, n2, n3, n4, n5, n6, n7, n8};
- return NewNode(op, arraysize(nodes), nodes);
- }
- Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4,
- Node* n5, Node* n6, Node* n7, Node* n8, Node* n9) {
- Node* nodes[] = {n1, n2, n3, n4, n5, n6, n7, n8, n9};
- return NewNode(op, arraysize(nodes), nodes);
+ Node* NewNode(const Operator* op, Node* n) { return NewNode(op, 1, &n); }
titzer 2017/01/25 09:47:25 This is a nice simplification, but IIRC there was
bbudge 2017/01/26 02:04:43 Agreed. Changed to explicit overloads up to 17 par
+ // Factories for nodes with more than one input.
+ template <typename... Nodes>
+ Node* NewNode(const Operator* op, Nodes*... nodes) {
+ Node* arr[] = {nodes...};
+ return NewNode(op, arraysize(arr), arr);
}
// Clone the {node}, and assign a new node id to the copy.

Powered by Google App Engine
This is Rietveld 408576698