Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/compiler/machine-operator-reducer.h')
-rw-r--r--deps/v8/src/compiler/machine-operator-reducer.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/deps/v8/src/compiler/machine-operator-reducer.h b/deps/v8/src/compiler/machine-operator-reducer.h
index 53c5d6fa686..7970daefce9 100644
--- a/deps/v8/src/compiler/machine-operator-reducer.h
+++ b/deps/v8/src/compiler/machine-operator-reducer.h
@@ -62,6 +62,7 @@ class V8_EXPORT_PRIVATE MachineOperatorReducer final
Node* Int32Mul(Node* lhs, Node* rhs);
Node* Int32Div(Node* dividend, int32_t divisor);
Node* Uint32Div(Node* dividend, uint32_t divisor);
+ Node* TruncateInt64ToInt32(Node* value);
Reduction ReplaceBool(bool value) { return ReplaceInt32(value ? 1 : 0); }
Reduction ReplaceFloat32(volatile float value) {
@@ -91,6 +92,9 @@ class V8_EXPORT_PRIVATE MachineOperatorReducer final
Reduction ReduceUint32Mod(Node* node);
Reduction ReduceStore(Node* node);
Reduction ReduceProjection(size_t index, Node* node);
+ const Operator* Map64To32Comparison(const Operator* op, bool sign_extended);
+ Reduction ReduceWord32Comparisons(Node* node);
+ Reduction ReduceWord64Comparisons(Node* node);
Reduction ReduceWord32Shifts(Node* node);
Reduction ReduceWord32Shl(Node* node);
Reduction ReduceWord64Shl(Node* node);
@@ -109,6 +113,7 @@ class V8_EXPORT_PRIVATE MachineOperatorReducer final
Reduction ReduceFloat64InsertHighWord32(Node* node);
Reduction ReduceFloat64Compare(Node* node);
Reduction ReduceFloat64RoundDown(Node* node);
+ Reduction ReduceTruncateInt64ToInt32(Node* node);
Reduction ReduceConditional(Node* node);
Graph* graph() const;
@@ -125,6 +130,18 @@ class V8_EXPORT_PRIVATE MachineOperatorReducer final
template <typename WordNAdapter>
Reduction ReduceWordNXor(Node* node);
+ // Helper for ReduceConditional. Does not perform the actual reduction; just
+ // returns a new Node that could be used as the input to the condition.
+ template <typename WordNAdapter>
+ base::Optional<Node*> ReduceConditionalN(Node* node);
+
+ // Helper for finding a reduced equality condition. Does not perform the
+ // actual reduction; just returns a new pair that could be compared for the
+ // same outcome.
+ template <typename WordNAdapter>
+ base::Optional<std::pair<Node*, uint32_t>> ReduceWord32EqualForConstantRhs(
+ Node* lhs, uint32_t rhs);
+
MachineGraph* mcgraph_;
bool allow_signalling_nan_;
};