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

Side by Side Diff: src/compiler/representation-change.h

Issue 2168023002: [turbofan] Eliminate unused effectful nodes during representation selection. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: 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
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 #ifndef V8_COMPILER_REPRESENTATION_CHANGE_H_ 5 #ifndef V8_COMPILER_REPRESENTATION_CHANGE_H_
6 #define V8_COMPILER_REPRESENTATION_CHANGE_H_ 6 #define V8_COMPILER_REPRESENTATION_CHANGE_H_
7 7
8 #include "src/compiler/js-graph.h" 8 #include "src/compiler/js-graph.h"
9 #include "src/compiler/simplified-operator.h" 9 #include "src/compiler/simplified-operator.h"
10 10
(...skipping 10 matching lines...) Expand all
21 static Truncation Word64() { return Truncation(TruncationKind::kWord64); } 21 static Truncation Word64() { return Truncation(TruncationKind::kWord64); }
22 static Truncation Float32() { return Truncation(TruncationKind::kFloat32); } 22 static Truncation Float32() { return Truncation(TruncationKind::kFloat32); }
23 static Truncation Float64() { return Truncation(TruncationKind::kFloat64); } 23 static Truncation Float64() { return Truncation(TruncationKind::kFloat64); }
24 static Truncation Any() { return Truncation(TruncationKind::kAny); } 24 static Truncation Any() { return Truncation(TruncationKind::kAny); }
25 25
26 static Truncation Generalize(Truncation t1, Truncation t2) { 26 static Truncation Generalize(Truncation t1, Truncation t2) {
27 return Truncation(Generalize(t1.kind(), t2.kind())); 27 return Truncation(Generalize(t1.kind(), t2.kind()));
28 } 28 }
29 29
30 // Queries. 30 // Queries.
31 bool IsUnused() const { return kind_ == TruncationKind::kNone; }
31 bool TruncatesToWord32() const { 32 bool TruncatesToWord32() const {
32 return LessGeneral(kind_, TruncationKind::kWord32); 33 return LessGeneral(kind_, TruncationKind::kWord32);
33 } 34 }
34 bool TruncatesToFloat64() const { 35 bool TruncatesToFloat64() const {
35 return LessGeneral(kind_, TruncationKind::kFloat64); 36 return LessGeneral(kind_, TruncationKind::kFloat64);
36 } 37 }
37 bool TruncatesNaNToZero() { 38 bool TruncatesNaNToZero() {
38 return LessGeneral(kind_, TruncationKind::kWord32) || 39 return LessGeneral(kind_, TruncationKind::kWord32) ||
39 LessGeneral(kind_, TruncationKind::kBool); 40 LessGeneral(kind_, TruncationKind::kBool);
40 } 41 }
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 Factory* factory() const { return isolate()->factory(); } 243 Factory* factory() const { return isolate()->factory(); }
243 SimplifiedOperatorBuilder* simplified() { return jsgraph()->simplified(); } 244 SimplifiedOperatorBuilder* simplified() { return jsgraph()->simplified(); }
244 MachineOperatorBuilder* machine() { return jsgraph()->machine(); } 245 MachineOperatorBuilder* machine() { return jsgraph()->machine(); }
245 }; 246 };
246 247
247 } // namespace compiler 248 } // namespace compiler
248 } // namespace internal 249 } // namespace internal
249 } // namespace v8 250 } // namespace v8
250 251
251 #endif // V8_COMPILER_REPRESENTATION_CHANGE_H_ 252 #endif // V8_COMPILER_REPRESENTATION_CHANGE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698