Lines Matching refs:BinopMatcher
290 struct BinopMatcher : public NodeMatcher {
291 explicit BinopMatcher(Node* node)
295 BinopMatcher(Node* node, bool allow_input_swap)
324 // BinopMatcher. Alternatively, all reducers (especially value numbering)
341 using Int32BinopMatcher = BinopMatcher<Int32Matcher, Int32Matcher>;
342 using Uint32BinopMatcher = BinopMatcher<Uint32Matcher, Uint32Matcher>;
343 using Int64BinopMatcher = BinopMatcher<Int64Matcher, Int64Matcher>;
344 using Uint64BinopMatcher = BinopMatcher<Uint64Matcher, Uint64Matcher>;
345 using IntPtrBinopMatcher = BinopMatcher<IntPtrMatcher, IntPtrMatcher>;
346 using UintPtrBinopMatcher = BinopMatcher<UintPtrMatcher, UintPtrMatcher>;
347 using Float32BinopMatcher = BinopMatcher<Float32Matcher, Float32Matcher>;
348 using Float64BinopMatcher = BinopMatcher<Float64Matcher, Float64Matcher>;
349 using NumberBinopMatcher = BinopMatcher<NumberMatcher, NumberMatcher>;
351 BinopMatcher<HeapObjectMatcher, HeapObjectMatcher>;
353 BinopMatcher<CompressedHeapObjectMatcher, CompressedHeapObjectMatcher>;
355 template <class BinopMatcher, IrOpcode::Value kMulOpcode,
361 BinopMatcher m(node);
364 typename BinopMatcher::RightMatcher::ValueType value =
372 typename BinopMatcher::RightMatcher::ValueType value =
412 template <class BinopMatcher, IrOpcode::Value AddOpcode,
415 struct AddMatcher : public BinopMatcher {
418 using Matcher = ScaleMatcher<BinopMatcher, kMulOpcode, kShiftOpcode>;
421 : BinopMatcher(node, allow_input_swap),
427 : BinopMatcher(node, node->op()->HasProperty(Operator::kCommutative)),