Lines Matching refs:node
47 Node* const node = graph()->NewNode(machine()->Word32And(), lhs, rhs); in Word32And() local
48 Reduction const reduction = ReduceWord32And(node); in Word32And()
49 return reduction.Changed() ? reduction.replacement() : node; in Word32And()
71 Node* const node = graph()->NewNode(machine()->Int32Add(), lhs, rhs); in Int32Add() local
72 Reduction const reduction = ReduceInt32Add(node); in Int32Add()
73 return reduction.Changed() ? reduction.replacement() : node; in Int32Add()
78 Node* const node = graph()->NewNode(machine()->Int32Sub(), lhs, rhs); in Int32Sub() local
79 Reduction const reduction = ReduceInt32Sub(node); in Int32Sub()
80 return reduction.Changed() ? reduction.replacement() : node; in Int32Sub()
130 Reduction MachineOperatorReducer::Reduce(Node* node) { in Reduce() argument
131 switch (node->opcode()) { in Reduce()
133 return ReduceProjection(ProjectionIndexOf(node->op()), node->InputAt(0)); in Reduce()
135 return ReduceWord32And(node); in Reduce()
137 return ReduceWord32Or(node); in Reduce()
139 Int32BinopMatcher m(node); in Reduce()
140 if (m.right().Is(0)) return Replace(m.left().node()); // x ^ 0 => x in Reduce()
146 Int32BinopMatcher mleft(m.left().node()); in Reduce()
148 return Replace(mleft.left().node()); in Reduce()
154 return ReduceWord32Shl(node); in Reduce()
156 Uint32BinopMatcher m(node); in Reduce()
157 if (m.right().Is(0)) return Replace(m.left().node()); // x >>> 0 => x in Reduce()
161 return ReduceWord32Shifts(node); in Reduce()
164 return ReduceWord32Sar(node); in Reduce()
166 Int32BinopMatcher m(node); in Reduce()
167 if (m.right().Is(0)) return Replace(m.left().node()); // x ror 0 => x in Reduce()
175 Int32BinopMatcher m(node); in Reduce()
180 Int32BinopMatcher msub(m.left().node()); in Reduce()
181 node->ReplaceInput(0, msub.left().node()); in Reduce()
182 node->ReplaceInput(1, msub.right().node()); in Reduce()
183 return Changed(node); in Reduce()
190 Int64BinopMatcher m(node); in Reduce()
195 Int64BinopMatcher msub(m.left().node()); in Reduce()
196 node->ReplaceInput(0, msub.left().node()); in Reduce()
197 node->ReplaceInput(1, msub.right().node()); in Reduce()
198 return Changed(node); in Reduce()
205 return ReduceInt32Add(node); in Reduce()
207 return ReduceInt32Sub(node); in Reduce()
209 Int32BinopMatcher m(node); in Reduce()
210 if (m.right().Is(0)) return Replace(m.right().node()); // x * 0 => 0 in Reduce()
211 if (m.right().Is(1)) return Replace(m.left().node()); // x * 1 => x in Reduce()
216 node->ReplaceInput(0, Int32Constant(0)); in Reduce()
217 node->ReplaceInput(1, m.left().node()); in Reduce()
218 NodeProperties::ChangeOp(node, machine()->Int32Sub()); in Reduce()
219 return Changed(node); in Reduce()
222 node->ReplaceInput(1, Int32Constant(WhichPowerOf2(m.right().Value()))); in Reduce()
223 NodeProperties::ChangeOp(node, machine()->Word32Shl()); in Reduce()
224 Reduction reduction = ReduceWord32Shl(node); in Reduce()
225 return reduction.Changed() ? reduction : Changed(node); in Reduce()
230 return ReduceInt32Div(node); in Reduce()
232 return ReduceUint32Div(node); in Reduce()
234 return ReduceInt32Mod(node); in Reduce()
236 return ReduceUint32Mod(node); in Reduce()
238 Int32BinopMatcher m(node); in Reduce()
243 Int32BinopMatcher msub(m.left().node()); in Reduce()
244 node->ReplaceInput(0, msub.left().node()); in Reduce()
245 node->ReplaceInput(1, msub.right().node()); in Reduce()
246 return Changed(node); in Reduce()
249 Int32BinopMatcher msub(m.right().node()); in Reduce()
250 node->ReplaceInput(0, msub.right().node()); in Reduce()
251 node->ReplaceInput(1, msub.left().node()); in Reduce()
252 return Changed(node); in Reduce()
258 Int32BinopMatcher m(node); in Reduce()
263 Int32BinopMatcher msub(m.left().node()); in Reduce()
264 node->ReplaceInput(0, msub.left().node()); in Reduce()
265 node->ReplaceInput(1, msub.right().node()); in Reduce()
266 return Changed(node); in Reduce()
269 Int32BinopMatcher msub(m.right().node()); in Reduce()
270 node->ReplaceInput(0, msub.right().node()); in Reduce()
271 node->ReplaceInput(1, msub.left().node()); in Reduce()
272 return Changed(node); in Reduce()
278 Uint32BinopMatcher m(node); in Reduce()
286 Int32BinopMatcher mleft(m.left().node()); in Reduce()
293 node->ReplaceInput(0, mleft.left().node()); in Reduce()
294 node->ReplaceInput(1, Uint32Constant(c << k)); in Reduce()
295 return Changed(node); in Reduce()
303 Uint32BinopMatcher m(node); in Reduce()
313 Float64BinopMatcher m(node); in Reduce()
315 return Replace(m.right().node()); in Reduce()
323 Float64BinopMatcher m(node); in Reduce()
325 return Replace(m.left().node()); // x - 0 => x in Reduce()
328 return Replace(m.right().node()); in Reduce()
331 return Replace(m.left().node()); in Reduce()
339 Float64BinopMatcher m(node); in Reduce()
341 node->ReplaceInput(0, Float64Constant(-0.0)); in Reduce()
342 node->ReplaceInput(1, m.left().node()); in Reduce()
343 NodeProperties::ChangeOp(node, machine()->Float64Sub()); in Reduce()
344 return Changed(node); in Reduce()
346 if (m.right().Is(1)) return Replace(m.left().node()); // x * 1.0 => x in Reduce()
348 return Replace(m.right().node()); in Reduce()
356 Float64BinopMatcher m(node); in Reduce()
357 if (m.right().Is(1)) return Replace(m.left().node()); // x / 1.0 => x in Reduce()
359 return Replace(m.right().node()); in Reduce()
362 return Replace(m.left().node()); in Reduce()
370 Float64BinopMatcher m(node); in Reduce()
375 return Replace(m.right().node()); in Reduce()
378 return Replace(m.left().node()); in Reduce()
386 Float32Matcher m(node->InputAt(0)); in Reduce()
391 Float64Matcher m(node->InputAt(0)); in Reduce()
393 if (m.IsChangeInt32ToFloat64()) return Replace(m.node()->InputAt(0)); in Reduce()
397 Float64Matcher m(node->InputAt(0)); in Reduce()
399 if (m.IsChangeUint32ToFloat64()) return Replace(m.node()->InputAt(0)); in Reduce()
403 Int32Matcher m(node->InputAt(0)); in Reduce()
408 Int32Matcher m(node->InputAt(0)); in Reduce()
413 Uint32Matcher m(node->InputAt(0)); in Reduce()
418 Uint32Matcher m(node->InputAt(0)); in Reduce()
423 return ReduceTruncateFloat64ToInt32(node); in Reduce()
425 Int64Matcher m(node->InputAt(0)); in Reduce()
427 if (m.IsChangeInt32ToInt64()) return Replace(m.node()->InputAt(0)); in Reduce()
431 Float64Matcher m(node->InputAt(0)); in Reduce()
433 if (m.IsChangeFloat32ToFloat64()) return Replace(m.node()->InputAt(0)); in Reduce()
437 return ReduceFloat64InsertLowWord32(node); in Reduce()
439 return ReduceFloat64InsertHighWord32(node); in Reduce()
441 return ReduceStore(node); in Reduce()
445 return ReduceFloat64Compare(node); in Reduce()
453 Reduction MachineOperatorReducer::ReduceInt32Add(Node* node) { in ReduceInt32Add() argument
454 DCHECK_EQ(IrOpcode::kInt32Add, node->opcode()); in ReduceInt32Add()
455 Int32BinopMatcher m(node); in ReduceInt32Add()
456 if (m.right().Is(0)) return Replace(m.left().node()); // x + 0 => x in ReduceInt32Add()
462 Int32BinopMatcher mleft(m.left().node()); in ReduceInt32Add()
464 node->ReplaceInput(0, m.right().node()); in ReduceInt32Add()
465 node->ReplaceInput(1, mleft.right().node()); in ReduceInt32Add()
466 NodeProperties::ChangeOp(node, machine()->Int32Sub()); in ReduceInt32Add()
467 Reduction const reduction = ReduceInt32Sub(node); in ReduceInt32Add()
468 return reduction.Changed() ? reduction : Changed(node); in ReduceInt32Add()
472 Int32BinopMatcher mright(m.right().node()); in ReduceInt32Add()
474 node->ReplaceInput(1, mright.right().node()); in ReduceInt32Add()
475 NodeProperties::ChangeOp(node, machine()->Int32Sub()); in ReduceInt32Add()
476 Reduction const reduction = ReduceInt32Sub(node); in ReduceInt32Add()
477 return reduction.Changed() ? reduction : Changed(node); in ReduceInt32Add()
484 Reduction MachineOperatorReducer::ReduceInt32Sub(Node* node) { in ReduceInt32Sub() argument
485 DCHECK_EQ(IrOpcode::kInt32Sub, node->opcode()); in ReduceInt32Sub()
486 Int32BinopMatcher m(node); in ReduceInt32Sub()
487 if (m.right().Is(0)) return Replace(m.left().node()); // x - 0 => x in ReduceInt32Sub()
494 node->ReplaceInput(1, Int32Constant(-m.right().Value())); in ReduceInt32Sub()
495 NodeProperties::ChangeOp(node, machine()->Int32Add()); in ReduceInt32Sub()
496 Reduction const reduction = ReduceInt32Add(node); in ReduceInt32Sub()
497 return reduction.Changed() ? reduction : Changed(node); in ReduceInt32Sub()
503 Reduction MachineOperatorReducer::ReduceInt32Div(Node* node) { in ReduceInt32Div() argument
504 Int32BinopMatcher m(node); in ReduceInt32Div()
505 if (m.left().Is(0)) return Replace(m.left().node()); // 0 / x => 0 in ReduceInt32Div()
506 if (m.right().Is(0)) return Replace(m.right().node()); // x / 0 => 0 in ReduceInt32Div()
507 if (m.right().Is(1)) return Replace(m.left().node()); // x / 1 => x in ReduceInt32Div()
514 return Replace(Word32Equal(Word32Equal(m.left().node(), zero), zero)); in ReduceInt32Div()
517 node->ReplaceInput(0, Int32Constant(0)); in ReduceInt32Div()
518 node->ReplaceInput(1, m.left().node()); in ReduceInt32Div()
519 node->TrimInputCount(2); in ReduceInt32Div()
520 NodeProperties::ChangeOp(node, machine()->Int32Sub()); in ReduceInt32Div()
521 return Changed(node); in ReduceInt32Div()
525 Node* const dividend = m.left().node(); in ReduceInt32Div()
539 node->ReplaceInput(0, Int32Constant(0)); in ReduceInt32Div()
540 node->ReplaceInput(1, quotient); in ReduceInt32Div()
541 node->TrimInputCount(2); in ReduceInt32Div()
542 NodeProperties::ChangeOp(node, machine()->Int32Sub()); in ReduceInt32Div()
543 return Changed(node); in ReduceInt32Div()
551 Reduction MachineOperatorReducer::ReduceUint32Div(Node* node) { in ReduceUint32Div() argument
552 Uint32BinopMatcher m(node); in ReduceUint32Div()
553 if (m.left().Is(0)) return Replace(m.left().node()); // 0 / x => 0 in ReduceUint32Div()
554 if (m.right().Is(0)) return Replace(m.right().node()); // x / 0 => 0 in ReduceUint32Div()
555 if (m.right().Is(1)) return Replace(m.left().node()); // x / 1 => x in ReduceUint32Div()
562 return Replace(Word32Equal(Word32Equal(m.left().node(), zero), zero)); in ReduceUint32Div()
565 Node* const dividend = m.left().node(); in ReduceUint32Div()
568 node->ReplaceInput(1, Uint32Constant(WhichPowerOf2(m.right().Value()))); in ReduceUint32Div()
569 node->TrimInputCount(2); in ReduceUint32Div()
570 NodeProperties::ChangeOp(node, machine()->Word32Shr()); in ReduceUint32Div()
571 return Changed(node); in ReduceUint32Div()
580 Reduction MachineOperatorReducer::ReduceInt32Mod(Node* node) { in ReduceInt32Mod() argument
581 Int32BinopMatcher m(node); in ReduceInt32Mod()
582 if (m.left().Is(0)) return Replace(m.left().node()); // 0 % x => 0 in ReduceInt32Mod()
583 if (m.right().Is(0)) return Replace(m.right().node()); // x % 0 => 0 in ReduceInt32Mod()
592 Node* const dividend = m.left().node(); in ReduceInt32Mod()
597 node->ReplaceInput( in ReduceInt32Mod()
599 node->ReplaceInput( in ReduceInt32Mod()
601 node->ReplaceInput(2, Word32And(dividend, mask)); in ReduceInt32Mod()
603 node, in ReduceInt32Mod()
607 DCHECK_EQ(dividend, node->InputAt(0)); in ReduceInt32Mod()
608 node->ReplaceInput(1, Int32Mul(quotient, Int32Constant(divisor))); in ReduceInt32Mod()
609 node->TrimInputCount(2); in ReduceInt32Mod()
610 NodeProperties::ChangeOp(node, machine()->Int32Sub()); in ReduceInt32Mod()
612 return Changed(node); in ReduceInt32Mod()
618 Reduction MachineOperatorReducer::ReduceUint32Mod(Node* node) { in ReduceUint32Mod() argument
619 Uint32BinopMatcher m(node); in ReduceUint32Mod()
620 if (m.left().Is(0)) return Replace(m.left().node()); // 0 % x => 0 in ReduceUint32Mod()
621 if (m.right().Is(0)) return Replace(m.right().node()); // x % 0 => 0 in ReduceUint32Mod()
629 Node* const dividend = m.left().node(); in ReduceUint32Mod()
632 node->ReplaceInput(1, Uint32Constant(m.right().Value() - 1)); in ReduceUint32Mod()
633 node->TrimInputCount(2); in ReduceUint32Mod()
634 NodeProperties::ChangeOp(node, machine()->Word32And()); in ReduceUint32Mod()
637 DCHECK_EQ(dividend, node->InputAt(0)); in ReduceUint32Mod()
638 node->ReplaceInput(1, Int32Mul(quotient, Uint32Constant(divisor))); in ReduceUint32Mod()
639 node->TrimInputCount(2); in ReduceUint32Mod()
640 NodeProperties::ChangeOp(node, machine()->Int32Sub()); in ReduceUint32Mod()
642 return Changed(node); in ReduceUint32Mod()
648 Reduction MachineOperatorReducer::ReduceTruncateFloat64ToInt32(Node* node) { in ReduceTruncateFloat64ToInt32() argument
649 Float64Matcher m(node->InputAt(0)); in ReduceTruncateFloat64ToInt32()
651 if (m.IsChangeInt32ToFloat64()) return Replace(m.node()->InputAt(0)); in ReduceTruncateFloat64ToInt32()
653 Node* const phi = m.node(); in ReduceTruncateFloat64ToInt32()
655 if (phi->OwnedBy(node)) { in ReduceTruncateFloat64ToInt32()
662 Node* input = graph()->NewNode(node->op(), phi->InputAt(i)); in ReduceTruncateFloat64ToInt32()
679 Reduction MachineOperatorReducer::ReduceStore(Node* node) { in ReduceStore() argument
681 StoreRepresentationOf(node->op()).representation(); in ReduceStore()
682 Node* const value = node->InputAt(2); in ReduceStore()
690 node->ReplaceInput(2, m.left().node()); in ReduceStore()
691 return Changed(node); in ReduceStore()
701 Int32BinopMatcher mleft(m.left().node()); in ReduceStore()
703 node->ReplaceInput(2, mleft.left().node()); in ReduceStore()
704 return Changed(node); in ReduceStore()
716 Reduction MachineOperatorReducer::ReduceProjection(size_t index, Node* node) { in ReduceProjection() argument
717 switch (node->opcode()) { in ReduceProjection()
720 Int32BinopMatcher m(node); in ReduceProjection()
728 return (index == 0) ? Replace(m.left().node()) : ReplaceInt32(0); in ReduceProjection()
734 Int32BinopMatcher m(node); in ReduceProjection()
742 return (index == 0) ? Replace(m.left().node()) : ReplaceInt32(0); in ReduceProjection()
753 Reduction MachineOperatorReducer::ReduceWord32Shifts(Node* node) { in ReduceWord32Shifts() argument
754 DCHECK((node->opcode() == IrOpcode::kWord32Shl) || in ReduceWord32Shifts()
755 (node->opcode() == IrOpcode::kWord32Shr) || in ReduceWord32Shifts()
756 (node->opcode() == IrOpcode::kWord32Sar)); in ReduceWord32Shifts()
760 Int32BinopMatcher m(node); in ReduceWord32Shifts()
762 Int32BinopMatcher mright(m.right().node()); in ReduceWord32Shifts()
764 node->ReplaceInput(1, mright.left().node()); in ReduceWord32Shifts()
765 return Changed(node); in ReduceWord32Shifts()
773 Reduction MachineOperatorReducer::ReduceWord32Shl(Node* node) { in ReduceWord32Shl() argument
774 DCHECK_EQ(IrOpcode::kWord32Shl, node->opcode()); in ReduceWord32Shl()
775 Int32BinopMatcher m(node); in ReduceWord32Shl()
776 if (m.right().Is(0)) return Replace(m.left().node()); // x << 0 => x in ReduceWord32Shl()
784 Int32BinopMatcher mleft(m.left().node()); in ReduceWord32Shl()
786 node->ReplaceInput(0, mleft.left().node()); in ReduceWord32Shl()
787 node->ReplaceInput(1, in ReduceWord32Shl()
789 NodeProperties::ChangeOp(node, machine()->Word32And()); in ReduceWord32Shl()
790 Reduction reduction = ReduceWord32And(node); in ReduceWord32Shl()
791 return reduction.Changed() ? reduction : Changed(node); in ReduceWord32Shl()
795 return ReduceWord32Shifts(node); in ReduceWord32Shl()
799 Reduction MachineOperatorReducer::ReduceWord32Sar(Node* node) { in ReduceWord32Sar() argument
800 Int32BinopMatcher m(node); in ReduceWord32Sar()
801 if (m.right().Is(0)) return Replace(m.left().node()); // x >> 0 => x in ReduceWord32Sar()
806 Int32BinopMatcher mleft(m.left().node()); in ReduceWord32Sar()
810 node->ReplaceInput(0, Int32Constant(0)); in ReduceWord32Sar()
811 node->ReplaceInput(1, mleft.left().node()); in ReduceWord32Sar()
812 NodeProperties::ChangeOp(node, machine()->Int32Sub()); in ReduceWord32Sar()
813 Reduction const reduction = ReduceInt32Sub(node); in ReduceWord32Sar()
814 return reduction.Changed() ? reduction : Changed(node); in ReduceWord32Sar()
818 LoadRepresentationOf(mleft.left().node()->op()); in ReduceWord32Sar()
822 return Replace(mleft.left().node()); in ReduceWord32Sar()
827 return Replace(mleft.left().node()); in ReduceWord32Sar()
831 return ReduceWord32Shifts(node); in ReduceWord32Sar()
835 Reduction MachineOperatorReducer::ReduceWord32And(Node* node) { in ReduceWord32And() argument
836 DCHECK_EQ(IrOpcode::kWord32And, node->opcode()); in ReduceWord32And()
837 Int32BinopMatcher m(node); in ReduceWord32And()
838 if (m.right().Is(0)) return Replace(m.right().node()); // x & 0 => 0 in ReduceWord32And()
839 if (m.right().Is(-1)) return Replace(m.left().node()); // x & -1 => x in ReduceWord32And()
841 return Replace(m.left().node()); in ReduceWord32And()
846 if (m.LeftEqualsRight()) return Replace(m.left().node()); // x & x => x in ReduceWord32And()
848 Int32BinopMatcher mleft(m.left().node()); in ReduceWord32And()
850 node->ReplaceInput(0, mleft.left().node()); in ReduceWord32And()
851 node->ReplaceInput( in ReduceWord32And()
853 Reduction const reduction = ReduceWord32And(node); in ReduceWord32And()
854 return reduction.Changed() ? reduction : Changed(node); in ReduceWord32And()
860 Uint32BinopMatcher mleft(m.left().node()); in ReduceWord32And()
864 return Replace(mleft.node()); in ReduceWord32And()
867 Int32BinopMatcher mleft(m.left().node()); in ReduceWord32And()
871 node->ReplaceInput(0, Word32And(mleft.left().node(), m.right().node())); in ReduceWord32And()
872 node->ReplaceInput(1, mleft.right().node()); in ReduceWord32And()
873 NodeProperties::ChangeOp(node, machine()->Int32Add()); in ReduceWord32And()
874 Reduction const reduction = ReduceInt32Add(node); in ReduceWord32And()
875 return reduction.Changed() ? reduction : Changed(node); in ReduceWord32And()
878 Int32BinopMatcher mleftleft(mleft.left().node()); in ReduceWord32And()
881 node->ReplaceInput(0, in ReduceWord32And()
882 Word32And(mleft.right().node(), m.right().node())); in ReduceWord32And()
883 node->ReplaceInput(1, mleftleft.node()); in ReduceWord32And()
884 NodeProperties::ChangeOp(node, machine()->Int32Add()); in ReduceWord32And()
885 Reduction const reduction = ReduceInt32Add(node); in ReduceWord32And()
886 return reduction.Changed() ? reduction : Changed(node); in ReduceWord32And()
890 Int32BinopMatcher mleftright(mleft.right().node()); in ReduceWord32And()
893 node->ReplaceInput(0, in ReduceWord32And()
894 Word32And(mleft.left().node(), m.right().node())); in ReduceWord32And()
895 node->ReplaceInput(1, mleftright.node()); in ReduceWord32And()
896 NodeProperties::ChangeOp(node, machine()->Int32Add()); in ReduceWord32And()
897 Reduction const reduction = ReduceInt32Add(node); in ReduceWord32And()
898 return reduction.Changed() ? reduction : Changed(node); in ReduceWord32And()
902 Int32BinopMatcher mleftleft(mleft.left().node()); in ReduceWord32And()
905 node->ReplaceInput(0, in ReduceWord32And()
906 Word32And(mleft.right().node(), m.right().node())); in ReduceWord32And()
907 node->ReplaceInput(1, mleftleft.node()); in ReduceWord32And()
908 NodeProperties::ChangeOp(node, machine()->Int32Add()); in ReduceWord32And()
909 Reduction const reduction = ReduceInt32Add(node); in ReduceWord32And()
910 return reduction.Changed() ? reduction : Changed(node); in ReduceWord32And()
914 Int32BinopMatcher mleftright(mleft.right().node()); in ReduceWord32And()
917 node->ReplaceInput(0, in ReduceWord32And()
918 Word32And(mleft.left().node(), m.right().node())); in ReduceWord32And()
919 node->ReplaceInput(1, mleftright.node()); in ReduceWord32And()
920 NodeProperties::ChangeOp(node, machine()->Int32Add()); in ReduceWord32And()
921 Reduction const reduction = ReduceInt32Add(node); in ReduceWord32And()
922 return reduction.Changed() ? reduction : Changed(node); in ReduceWord32And()
926 Int32BinopMatcher mleft(m.left().node()); in ReduceWord32And()
929 return Replace(mleft.node()); in ReduceWord32And()
937 Reduction MachineOperatorReducer::ReduceWord32Or(Node* node) { in ReduceWord32Or() argument
938 DCHECK_EQ(IrOpcode::kWord32Or, node->opcode()); in ReduceWord32Or()
939 Int32BinopMatcher m(node); in ReduceWord32Or()
940 if (m.right().Is(0)) return Replace(m.left().node()); // x | 0 => x in ReduceWord32Or()
941 if (m.right().Is(-1)) return Replace(m.right().node()); // x | -1 => -1 in ReduceWord32Or()
945 if (m.LeftEqualsRight()) return Replace(m.left().node()); // x | x => x in ReduceWord32Or()
954 shl = m.left().node(); in ReduceWord32Or()
955 shr = m.right().node(); in ReduceWord32Or()
957 shl = m.right().node(); in ReduceWord32Or()
958 shr = m.left().node(); in ReduceWord32Or()
965 if (mshl.left().node() != mshr.left().node()) return NoChange(); in ReduceWord32Or()
974 sub = mshl.right().node(); in ReduceWord32Or()
975 y = mshr.right().node(); in ReduceWord32Or()
977 sub = mshr.right().node(); in ReduceWord32Or()
978 y = mshl.right().node(); in ReduceWord32Or()
984 if (!msub.left().Is(32) || msub.right().node() != y) return NoChange(); in ReduceWord32Or()
987 node->ReplaceInput(0, mshl.left().node()); in ReduceWord32Or()
988 node->ReplaceInput(1, mshr.right().node()); in ReduceWord32Or()
989 NodeProperties::ChangeOp(node, machine()->Word32Ror()); in ReduceWord32Or()
990 return Changed(node); in ReduceWord32Or()
994 Reduction MachineOperatorReducer::ReduceFloat64InsertLowWord32(Node* node) { in ReduceFloat64InsertLowWord32() argument
995 DCHECK_EQ(IrOpcode::kFloat64InsertLowWord32, node->opcode()); in ReduceFloat64InsertLowWord32()
996 Float64Matcher mlhs(node->InputAt(0)); in ReduceFloat64InsertLowWord32()
997 Uint32Matcher mrhs(node->InputAt(1)); in ReduceFloat64InsertLowWord32()
1007 Reduction MachineOperatorReducer::ReduceFloat64InsertHighWord32(Node* node) { in ReduceFloat64InsertHighWord32() argument
1008 DCHECK_EQ(IrOpcode::kFloat64InsertHighWord32, node->opcode()); in ReduceFloat64InsertHighWord32()
1009 Float64Matcher mlhs(node->InputAt(0)); in ReduceFloat64InsertHighWord32()
1010 Uint32Matcher mrhs(node->InputAt(1)); in ReduceFloat64InsertHighWord32()
1034 Reduction MachineOperatorReducer::ReduceFloat64Compare(Node* node) { in ReduceFloat64Compare() argument
1035 DCHECK((IrOpcode::kFloat64Equal == node->opcode()) || in ReduceFloat64Compare()
1036 (IrOpcode::kFloat64LessThan == node->opcode()) || in ReduceFloat64Compare()
1037 (IrOpcode::kFloat64LessThanOrEqual == node->opcode())); in ReduceFloat64Compare()
1043 Float64BinopMatcher m(node); in ReduceFloat64Compare()
1050 switch (node->opcode()) { in ReduceFloat64Compare()
1052 NodeProperties::ChangeOp(node, machine()->Float32Equal()); in ReduceFloat64Compare()
1055 NodeProperties::ChangeOp(node, machine()->Float32LessThan()); in ReduceFloat64Compare()
1058 NodeProperties::ChangeOp(node, machine()->Float32LessThanOrEqual()); in ReduceFloat64Compare()
1063 node->ReplaceInput( in ReduceFloat64Compare()
1067 node->ReplaceInput( in ReduceFloat64Compare()
1071 return Changed(node); in ReduceFloat64Compare()