Lines Matching refs:Node

83   Node* NullConstant();
84 Node* UndefinedConstant();
87 Node* PointerConstant(void* value) {
90 Node* IntPtrConstant(intptr_t value) {
95 Node* RelocatableIntPtrConstant(intptr_t value, RelocInfo::Mode rmode);
96 Node* Int32Constant(int32_t value) {
99 Node* StackSlot(MachineRepresentation rep, int alignment = 0) {
102 Node* Int64Constant(int64_t value) {
105 Node* NumberConstant(double value) {
108 Node* Float32Constant(float value) {
111 Node* Float64Constant(double value) {
114 Node* HeapConstant(Handle<HeapObject> object) {
117 Node* ExternalConstant(ExternalReference address) {
120 Node* RelocatableInt32Constant(int32_t value, RelocInfo::Mode rmode) {
123 Node* RelocatableInt64Constant(int64_t value, RelocInfo::Mode rmode) {
127 Node* Projection(int index, Node* a) {
132 Node* Load(MachineType type, Node* base) {
135 Node* Load(MachineType type, Node* base, Node* index) {
137 Node* load = AddNode(op, base, index);
140 Node* LoadImmutable(MachineType type, Node* base) {
143 Node* LoadImmutable(MachineType type, Node* base, Node* index) {
147 bool IsMapOffsetConstant(Node* node) {
152 for (Node* input : node->inputs()) {
159 bool IsMapOffsetConstantMinusTag(Node* node) {
166 Node* LoadFromObject(MachineType type, Node* base, Node* offset) {
170 Node* load = AddNode(simplified()->LoadFromObject(access), base, offset);
174 Node* Store(MachineRepresentation rep, Node* base, Node* value,
178 Node* Store(MachineRepresentation rep, Node* base, Node* index, Node* value,
183 void StoreToObject(MachineRepresentation rep, Node* object, Node* offset,
184 Node* value, WriteBarrierKind write_barrier) {
190 void OptimizedStoreField(MachineRepresentation rep, Node* object, int offset,
191 Node* value, WriteBarrierKind write_barrier) {
199 void OptimizedStoreMap(Node* object, Node* value,
204 Node* Retain(Node* value) { return AddNode(common()->Retain(), value); }
206 Node* OptimizedAllocate(Node* size, AllocationType allocation,
210 Node* UnalignedLoad(MachineType type, Node* base) {
213 Node* UnalignedLoad(MachineType type, Node* base, Node* index) {
223 Node* UnalignedStore(MachineRepresentation rep, Node* base, Node* value) {
226 Node* UnalignedStore(MachineRepresentation rep, Node* base, Node* index,
227 Node* value) {
242 Node* AtomicLoad(AtomicLoadParameters rep, Node* base, Node* index) {
248 Node* AtomicLoad64(AtomicLoadParameters rep, Node* base, Node* index) {
265 Node* AtomicStore(AtomicStoreParameters params, Node* base, Node* index,
266 Node* value) {
272 Node* AtomicStore64(AtomicStoreParameters params, Node* base, Node* index,
273 Node* value, Node* value_high) {
287 Node* Atomic##name(MachineType type, Node* base, Node* index, Node* value) { \
291 Node* Atomic##name##64(Node * base, Node * index, Node * value, \
292 Node * value_high) { \
314 Node* AtomicCompareExchange(MachineType type, Node* base, Node* index,
315 Node* old_value, Node* new_value) {
321 Node* AtomicCompareExchange64(Node* base, Node* index, Node* old_value,
322 Node* old_value_high, Node* new_value,
323 Node* new_value_high) {
340 Node* WordAnd(Node* a, Node* b) {
343 Node* WordOr(Node* a, Node* b) { return AddNode(machine()->WordOr(), a, b); }
344 Node* WordXor(Node* a, Node* b) {
347 Node* WordShl(Node* a, Node* b) {
350 Node* WordShr(Node* a, Node* b) {
353 Node* WordSar(Node* a, Node* b) {
356 Node* WordSarShiftOutZeros(Node* a, Node* b) {
359 Node* WordRor(Node* a, Node* b) {
362 Node* WordEqual(Node* a, Node* b) {
365 Node* WordNotEqual(Node* a, Node* b) {
368 Node* WordNot(Node* a) {
376 Node* Word32And(Node* a, Node* b) {
379 Node* Word32Or(Node* a, Node* b) {
382 Node* Word32Xor(Node* a, Node* b) {
385 Node* Word32Shl(Node* a, Node* b) {
388 Node* Word32Shr(Node* a, Node* b) {
391 Node* Word32Sar(Node* a, Node* b) {
394 Node* Word32SarShiftOutZeros(Node* a, Node* b) {
397 Node* Word32Ror(Node* a, Node* b) {
400 Node* Word32Clz(Node* a) { return AddNode(machine()->Word32Clz(), a); }
401 Node* Word32Equal(Node* a, Node* b) {
404 Node* Word32NotEqual(Node* a, Node* b) {
407 Node* Word32BitwiseNot(Node* a) { return Word32Xor(a, Int32Constant(-1)); }
408 Node* Word32BinaryNot(Node* a) { return Word32Equal(a, Int32Constant(0)); }
410 Node* Word64And(Node* a, Node* b) {
413 Node* Word64Or(Node* a, Node* b) {
416 Node* Word64Xor(Node* a, Node* b) {
419 Node* Word64Shl(Node* a, Node* b) {
422 Node* Word64Shr(Node* a, Node* b) {
425 Node* Word64Sar(Node* a, Node* b) {
428 Node* Word64Ror(Node* a, Node* b) {
431 Node* Word64Clz(Node* a) { return AddNode(machine()->Word64Clz(), a); }
432 Node* Word64Equal(Node* a, Node* b) {
435 Node* Word64NotEqual(Node* a, Node* b) {
438 Node* Word64Not(Node* a) { return Word64Xor(a, Int64Constant(-1)); }
440 Node* Int32Add(Node* a, Node* b) {
443 Node* Int32AddWithOverflow(Node* a, Node* b) {
446 Node* Int32Sub(Node* a, Node* b) {
449 Node* Int32SubWithOverflow(Node* a, Node* b) {
452 Node* Int32Mul(Node* a, Node* b) {
455 Node* Int32MulHigh(Node* a, Node* b) {
458 Node* Int32MulWithOverflow(Node* a, Node* b) {
461 Node* Int32Div(Node* a, Node* b) {
464 Node* Int32Mod(Node* a, Node* b) {
467 Node* Int32LessThan(Node* a, Node* b) {
470 Node* Int32LessThanOrEqual(Node* a, Node* b) {
473 Node* Uint32Div(Node* a, Node* b) {
476 Node* Uint32LessThan(Node* a, Node* b) {
479 Node* Uint32LessThanOrEqual(Node* a, Node* b) {
482 Node* Uint32Mod(Node* a, Node* b) {
485 Node* Uint32MulHigh(Node* a, Node* b) {
488 Node* Int32GreaterThan(Node* a, Node* b) { return Int32LessThan(b, a); }
489 Node* Int32GreaterThanOrEqual(Node* a, Node* b) {
492 Node* Uint32GreaterThan(Node* a, Node* b) { return Uint32LessThan(b, a); }
493 Node* Uint32GreaterThanOrEqual(Node* a, Node* b) {
496 Node* Int32Neg(Node* a) { return Int32Sub(Int32Constant(0), a); }
498 Node* Int64Add(Node* a, Node* b) {
501 Node* Int64AddWithOverflow(Node* a, Node* b) {
504 Node* Int64Sub(Node* a, Node* b) {
507 Node* Int64SubWithOverflow(Node* a, Node* b) {
510 Node* Int64Mul(Node* a, Node* b) {
513 Node* Int64Div(Node* a, Node* b) {
516 Node* Int64Mod(Node* a, Node* b) {
519 Node* Int64Neg(Node* a) { return Int64Sub(Int64Constant(0), a); }
520 Node* Int64LessThan(Node* a, Node* b) {
523 Node* Int64LessThanOrEqual(Node* a, Node* b) {
526 Node* Uint64LessThan(Node* a, Node* b) {
529 Node* Uint64LessThanOrEqual(Node* a, Node* b) {
532 Node* Int64GreaterThan(Node* a, Node* b) { return Int64LessThan(b, a); }
533 Node* Int64GreaterThanOrEqual(Node* a, Node* b) {
536 Node* Uint64GreaterThan(Node* a, Node* b) { return Uint64LessThan(b, a); }
537 Node* Uint64GreaterThanOrEqual(Node* a, Node* b) {
540 Node* Uint64Div(Node* a, Node* b) {
543 Node* Uint64Mod(Node* a, Node* b) {
546 Node* Int32PairAdd(Node* a_low, Node* a_high, Node* b_low, Node* b_high) {
549 Node* Int32PairSub(Node* a_low, Node* a_high, Node* b_low, Node* b_high) {
552 Node* Int32PairMul(Node* a_low, Node* a_high, Node* b_low, Node* b_high) {
555 Node* Word32PairShl(Node* low_word, Node* high_word, Node* shift) {
558 Node* Word32PairShr(Node* low_word, Node* high_word, Node* shift) {
561 Node* Word32PairSar(Node* low_word, Node* high_word, Node* shift) {
564 Node* Word32Popcnt(Node* a) {
567 Node* Word64Popcnt(Node* a) {
570 Node* Word32Ctz(Node* a) { return AddNode(machine()->Word32Ctz().op(), a); }
571 Node* Word64Ctz(Node* a) { return AddNode(machine()->Word64Ctz().op(), a); }
573 Node* Word32Select(Node* condition, Node* b, Node* c) {
577 Node* Word64Select(Node* condition, Node* b, Node* c) {
581 Node* StackPointerGreaterThan(Node* value) {
588 Node* IntPtr##name(Node* a, Node* b) { \
609 Node* UintPtr##name(Node* a, Node* b) { \
621 Node* Int32AbsWithOverflow(Node* a) {
625 Node* Int64AbsWithOverflow(Node* a) {
629 Node* IntPtrAbsWithOverflow(Node* a) {
634 Node* Float32Add(Node* a, Node* b) {
637 Node* Float32Sub(Node* a, Node* b) {
640 Node* Float32Mul(Node* a, Node* b) {
643 Node* Float32Div(Node* a, Node* b) {
646 Node* Float32Abs(Node* a) { return AddNode(machine()->Float32Abs(), a); }
647 Node* Float32Neg(Node* a) { return AddNode(machine()->Float32Neg(), a); }
648 Node* Float32Sqrt(Node* a) { return AddNode(machine()->Float32Sqrt(), a); }
649 Node* Float32Equal(Node* a, Node* b) {
652 Node* Float32NotEqual(Node* a, Node* b) {
655 Node* Float32LessThan(Node* a, Node* b) {
658 Node* Float32LessThanOrEqual(Node* a, Node* b) {
661 Node* Float32GreaterThan(Node* a, Node* b) { return Float32LessThan(b, a); }
662 Node* Float32GreaterThanOrEqual(Node* a, Node* b) {
665 Node* Float32Max(Node* a, Node* b) {
668 Node* Float32Min(Node* a, Node* b) {
671 Node* Float64Add(Node* a, Node* b) {
674 Node* Float64Sub(Node* a, Node* b) {
677 Node* Float64Mul(Node* a, Node* b) {
680 Node* Float64Div(Node* a, Node* b) {
683 Node* Float64Mod(Node* a, Node* b) {
686 Node* Float64Max(Node* a, Node* b) {
689 Node* Float64Min(Node* a, Node* b) {
692 Node* Float64Abs(Node* a) { return AddNode(machine()->Float64Abs(), a); }
693 Node* Float64Neg(Node* a) { return AddNode(machine()->Float64Neg(), a); }
694 Node* Float64Acos(Node* a) { return AddNode(machine()->Float64Acos(), a); }
695 Node* Float64Acosh(Node* a) { return AddNode(machine()->Float64Acosh(), a); }
696 Node* Float64Asin(Node* a) { return AddNode(machine()->Float64Asin(), a); }
697 Node* Float64Asinh(Node* a) { return AddNode(machine()->Float64Asinh(), a); }
698 Node* Float64Atan(Node* a) { return AddNode(machine()->Float64Atan(), a); }
699 Node* Float64Atanh(Node* a) { return AddNode(machine()->Float64Atanh(), a); }
700 Node* Float64Atan2(Node* a, Node* b) {
703 Node* Float64Cbrt(Node* a) { return AddNode(machine()->Float64Cbrt(), a); }
704 Node* Float64Cos(Node* a) { return AddNode(machine()->Float64Cos(), a); }
705 Node* Float64Cosh(Node* a) { return AddNode(machine()->Float64Cosh(), a); }
706 Node* Float64Exp(Node* a) { return AddNode(machine()->Float64Exp(), a); }
707 Node* Float64Expm1(Node* a) { return AddNode(machine()->Float64Expm1(), a); }
708 Node* Float64Log(Node* a) { return AddNode(machine()->Float64Log(), a); }
709 Node* Float64Log1p(Node* a) { return AddNode(machine()->Float64Log1p(), a); }
710 Node* Float64Log10(Node* a) { return AddNode(machine()->Float64Log10(), a); }
711 Node* Float64Log2(Node* a) { return AddNode(machine()->Float64Log2(), a); }
712 Node* Float64Pow(Node* a, Node* b) {
715 Node* Float64Sin(Node* a) { return AddNode(machine()->Float64Sin(), a); }
716 Node* Float64Sinh(Node* a) { return AddNode(machine()->Float64Sinh(), a); }
717 Node* Float64Sqrt(Node* a) { return AddNode(machine()->Float64Sqrt(), a); }
718 Node* Float64Tan(Node* a) { return AddNode(machine()->Float64Tan(), a); }
719 Node* Float64Tanh(Node* a) { return AddNode(machine()->Float64Tanh(), a); }
720 Node* Float64Equal(Node* a, Node* b) {
723 Node* Float64NotEqual(Node* a, Node* b) {
726 Node* Float64LessThan(Node* a, Node* b) {
729 Node* Float64LessThanOrEqual(Node* a, Node* b) {
732 Node* Float64GreaterThan(Node* a, Node* b) { return Float64LessThan(b, a); }
733 Node* Float64GreaterThanOrEqual(Node* a, Node* b) {
736 Node* Float32Select(Node* condition, Node* b, Node* c) {
739 Node* Float64Select(Node* condition, Node* b, Node* c) {
744 Node* BitcastTaggedToWord(Node* a) {
747 Node* BitcastTaggedToWordForTagAndSmiBits(Node* a) {
750 Node* BitcastMaybeObjectToWord(Node* a) {
753 Node* BitcastWordToTagged(Node* a) {
756 Node* BitcastWordToTaggedSigned(Node* a) {
759 Node* TruncateFloat64ToWord32(Node* a) {
762 Node* ChangeFloat32ToFloat64(Node* a) {
765 Node* ChangeInt32ToFloat64(Node* a) {
768 Node* ChangeInt64ToFloat64(Node* a) {
771 Node* ChangeUint32ToFloat64(Node* a) {
774 Node* ChangeFloat64ToInt32(Node* a) {
777 Node* ChangeFloat64ToInt64(Node* a) {
780 Node* ChangeFloat64ToUint32(Node* a) {
783 Node* ChangeFloat64ToUint64(Node* a) {
786 Node* TruncateFloat64ToUint32(Node* a) {
789 Node* TruncateFloat32ToInt32(Node* a, TruncateKind kind) {
792 Node* TruncateFloat32ToUint32(Node* a, TruncateKind kind) {
795 Node* TryTruncateFloat32ToInt64(Node* a) {
798 Node* TryTruncateFloat64ToInt64(Node* a) {
801 Node* TryTruncateFloat32ToUint64(Node* a) {
804 Node* TryTruncateFloat64ToUint64(Node* a) {
807 Node* ChangeInt32ToInt64(Node* a) {
810 Node* ChangeUint32ToUint64(Node* a) {
813 Node* TruncateFloat64ToFloat32(Node* a) {
816 Node* TruncateInt64ToInt32(Node* a) {
819 Node* RoundFloat64ToInt32(Node* a) {
822 Node* RoundInt32ToFloat32(Node* a) {
825 Node* RoundInt64ToFloat32(Node* a) {
828 Node* RoundInt64ToFloat64(Node* a) {
831 Node* RoundUint32ToFloat32(Node* a) {
834 Node* RoundUint64ToFloat32(Node* a) {
837 Node* RoundUint64ToFloat64(Node* a) {
840 Node* BitcastFloat32ToInt32(Node* a) {
843 Node* BitcastFloat64ToInt64(Node* a) {
846 Node* BitcastInt32ToFloat32(Node* a) {
849 Node* BitcastInt64ToFloat64(Node* a) {
852 Node* Float32RoundDown(Node* a) {
855 Node* Float64RoundDown(Node* a) {
858 Node* Float32RoundUp(Node* a) {
861 Node* Float64RoundUp(Node* a) {
864 Node* Float32RoundTruncate(Node* a) {
867 Node* Float64RoundTruncate(Node* a) {
870 Node* Float64RoundTiesAway(Node* a) {
873 Node* Float32RoundTiesEven(Node* a) {
876 Node* Float64RoundTiesEven(Node* a) {
879 Node* Word32ReverseBytes(Node* a) {
882 Node* Word64ReverseBytes(Node* a) {
887 Node* Float64ExtractLowWord32(Node* a) {
890 Node* Float64ExtractHighWord32(Node* a) {
893 Node* Float64InsertLowWord32(Node* a, Node* b) {
896 Node* Float64InsertHighWord32(Node* a, Node* b) {
899 Node* Float64SilenceNaN(Node* a) {
904 Node* S128Const(const uint8_t value[16]) {
907 Node* I64x2Splat(Node* a) { return AddNode(machine()->I64x2Splat(), a); }
908 Node* I64x2SplatI32Pair(Node* a, Node* b) {
911 Node* I32x4Splat(Node* a) { return AddNode(machine()->I32x4Splat(), a); }
912 Node* I16x8Splat(Node* a) { return AddNode(machine()->I16x8Splat(), a); }
913 Node* I8x16Splat(Node* a) { return AddNode(machine()->I8x16Splat(), a); }
915 Node* I8x16BitMask(Node* a) { return AddNode(machine()->I8x16BitMask(), a); }
917 Node* I8x16Eq(Node* a, Node* b) {
922 Node* LoadFramePointer() { return AddNode(machine()->LoadFramePointer()); }
923 Node* LoadParentFramePointer() {
928 Node* TargetParameter();
929 Node* Parameter(size_t index);
932 Node* LoadFromPointer(void* address, MachineType type, int32_t offset = 0) {
935 Node* StoreToPointer(void* address, MachineRepresentation rep, Node* node) {
938 Node* UnalignedLoadFromPointer(void* address, MachineType type,
942 Node* UnalignedStoreToPointer(void* address, MachineRepresentation rep,
943 Node* node) {
946 Node* StringConstant(const char* string) {
952 Node* CallN(CallDescriptor* call_descriptor, int input_count,
953 Node* const* inputs);
957 Node* CallNWithFrameState(CallDescriptor* call_descriptor, int input_count,
958 Node* const* inputs);
963 Node* const* inputs);
966 using CFunctionArg = std::pair<MachineType, Node*>;
970 Node* CallCFunction(Node* function, base::Optional<MachineType> return_type,
978 Node* CallCFunction(Node* function, base::Optional<MachineType> return_type,
983 Node* CallCFunctionWithoutFunctionDescriptor(Node* function,
993 Node* CallCFunctionWithoutFunctionDescriptor(
994 Node* function, MachineType return_type,
999 Node* CallCFunctionWithCallerSavedRegisters(Node* function,
1010 Node* CallCFunctionWithCallerSavedRegisters(
1011 Node* function, MachineType return_type, SaveFPRegsMode mode,
1020 void Branch(Node* condition, RawMachineLabel* true_val,
1022 void Switch(Node* index, RawMachineLabel* default_label,
1025 void Return(Node* value);
1026 void Return(Node* v1, Node* v2);
1027 void Return(Node* v1, Node* v2, Node* v3);
1028 void Return(Node* v1, Node* v2, Node* v3, Node* v4);
1029 void Return(int count, Node* v[]);
1030 void PopAndReturn(Node* pop, Node* value);
1031 void PopAndReturn(Node* pop, Node* v1, Node* v2);
1032 void PopAndReturn(Node* pop, Node* v1, Node* v2, Node* v3);
1033 void PopAndReturn(Node* pop, Node* v1, Node* v2, Node* v3, Node* v4);
1035 void Deoptimize(Node* state);
1036 void AbortCSADcheck(Node* message);
1040 void StaticAssert(Node* value, const char* source);
1051 void Continuations(Node* call, RawMachineLabel* if_success,
1055 Node* Phi(MachineRepresentation rep, Node* n1, Node* n2) {
1058 Node* Phi(MachineRepresentation rep, Node* n1, Node* n2, Node* n3) {
1061 Node* Phi(MachineRepresentation rep, Node* n1, Node* n2, Node* n3, Node* n4) {
1064 Node* Phi(MachineRepresentation rep, int input_count, Node* const* inputs);
1065 void AppendPhiInput(Node* phi, Node* new_input);
1072 Node* AddNode(const Operator* op, int input_count, Node* const* inputs);
1074 Node* AddNode(const Operator* op) {
1075 return AddNode(op, 0, static_cast<Node* const*>(nullptr));
1079 Node* AddNode(const Operator* op, Node* n1, TArgs... args) {
1080 Node* buffer[] = {n1, args...};
1089 Node* MakeNode(const Operator* op, int input_count, Node* const* inputs);
1098 Node* CreateNodeFromPredecessors(const std::vector<BasicBlock*>& predecessors,
1099 const std::vector<Node*>& sidetable,
1101 const std::vector<Node*>& additional_inputs);
1102 void MakePhiBinary(Node* phi, int split_point, Node* left_control,
1103 Node* right_control);
1104 void MarkControlDeferred(Node* control_input);
1121 Node* target_parameter_;