Lines Matching refs:mcgraph
105 ? graph()->NewNode(mcgraph()->common()->HeapConstant( \
177 WasmGraphAssembler(MachineGraph* mcgraph, Zone* zone)
178 : GraphAssembler(mcgraph, zone), simplified_(zone) {}
188 Node* call_target = mcgraph()->RelocatableIntPtrConstant(
204 NodeProperties::MergeControlToEnd(graph(), mcgraph()->common(), node);
229 graph()->NewNode(mcgraph()->common()->Branch(hint), cond, control());
230 *true_node = graph()->NewNode(mcgraph()->common()->IfTrue(), branch);
231 *false_node = graph()->NewNode(mcgraph()->common()->IfFalse(), branch);
236 return graph()->NewNode(mcgraph()->common()->NumberConstant(value));
279 return AddNode(graph()->NewNode(mcgraph()->machine()->LoadImmutable(rep),
482 mcgraph()->machine()->Is64() ? ChangeUint32ToUint64(index) : index;
520 wasm::CompilationEnv* env, Zone* zone, MachineGraph* mcgraph,
524 : gasm_(std::make_unique<WasmGraphAssembler>(mcgraph, zone)),
526 mcgraph_(mcgraph),
544 Node* start = graph()->NewNode(mcgraph()->common()->Start(params));
568 graph()->SetEnd(graph()->NewNode(mcgraph()->common()->End(0)));
579 mcgraph()->common()->Parameter(index, debug_name), graph()->start());
585 return graph()->NewNode(mcgraph()->common()->Loop(1), entry);
590 graph()->NewNode(mcgraph()->common()->Terminate(), effect, control);
597 graph()->NewNode(mcgraph()->common()->LoopExit(), control(), loop_node);
599 mcgraph()->common()->LoopExitEffect(), effect(), loop_exit);
607 return graph()->NewNode(mcgraph()->common()->LoopExitValue(representation),
613 graph()->NewNode(mcgraph()->common()->Throw(), effect, control);
628 *if_success = graph()->NewNode(mcgraph()->common()->IfSuccess(), node);
630 graph()->NewNode(mcgraph()->common()->IfException(), node, node);
637 merge->AppendInput(mcgraph()->zone(), from);
640 merge, mcgraph()->common()->ResizeMergeOrPhi(merge->op(), new_size));
646 phi->InsertInput(mcgraph()->zone(), phi->InputCount() - 1, from);
648 phi, mcgraph()->common()->ResizeMergeOrPhi(phi->op(), new_size));
653 return graph()->NewNode(this->mcgraph()->common()->Merge(1 + sizeof...(args)),
658 return graph()->NewNode(mcgraph()->common()->Merge(count), count, controls);
666 mcgraph()->common()->Phi(type.machine_representation(), count), count + 1,
672 return graph()->NewNode(mcgraph()->common()->EffectPhi(count), count + 1,
693 return mcgraph()->IntPtrConstant(0);
712 return mcgraph()->IntPtrConstant(isolate_->isolate_root());
717 return mcgraph()->Int32Constant(value);
721 return mcgraph()->Int64Constant(value);
741 mcgraph()->machine()->StackPointerGreaterThan(StackCheckKind::kWasm),
754 stack_check_code_node_.set(mcgraph()->RelocatableIntPtrConstant(
764 mcgraph()->zone(), // zone
770 stack_check_call_operator_ = mcgraph()->common()->Call(call_descriptor);
809 Node* dummy = graph()->NewNode(mcgraph()->common()->Dead());
844 MachineOperatorBuilder* m = mcgraph()->machine();
1129 MachineOperatorBuilder* m = mcgraph()->machine();
1384 return mcgraph()->machine()->Is32()
1414 return mcgraph()->Float32Constant(value);
1418 return mcgraph()->Float64Constant(value);
1423 return graph()->NewNode(mcgraph()->machine()->S128Const(value));
1443 MachineOperatorBuilder* m = mcgraph()->machine();
1447 return mcgraph()->graph()->NewNode(m->Float32Select().op(), cond,
1451 return mcgraph()->graph()->NewNode(m->Float64Select().op(), cond,
1455 return mcgraph()->graph()->NewNode(m->Word32Select().op(), cond, true_node,
1459 return mcgraph()->graph()->NewNode(m->Word64Select().op(), cond, true_node,
1498 Node* node = SetControl(graph()->NewNode(mcgraph()->common()->TrapIf(trap_id),
1507 mcgraph()->common()->TrapUnless(trap_id), cond, effect(), control()));
1550 return graph()->NewNode(mcgraph()->common()->Switch(count), key, control());
1555 return graph()->NewNode(mcgraph()->common()->IfValue(value), sw);
1560 return graph()->NewNode(mcgraph()->common()->IfDefault(), sw);
1573 Node* ret = graph()->NewNode(mcgraph()->common()->Return(count), count + 3,
1589 if (!mcgraph()->machine()->Word32ShiftIsSafe()) {
1604 if (!mcgraph()->machine()->Word32ShiftIsSafe()) {
1638 MachineOperatorBuilder* m = mcgraph()->machine();
1756 MachineOperatorBuilder* m = mcgraph()->machine();
1895 if (mcgraph()->machine()->Is64()) {
1903 DCHECK(mcgraph()->machine()->Is32());
1972 return builder->mcgraph()->machine()->TruncateFloat32ToInt32(
1975 return builder->mcgraph()->machine()->TruncateFloat32ToInt32(
1978 return builder->mcgraph()->machine()->TruncateFloat32ToUint32(
1981 return builder->mcgraph()->machine()->TruncateFloat32ToUint32(
1985 return builder->mcgraph()->machine()->ChangeFloat64ToInt32();
1988 return builder->mcgraph()->machine()->TruncateFloat64ToUint32();
1991 return builder->mcgraph()->machine()->TryTruncateFloat32ToInt64();
1994 return builder->mcgraph()->machine()->TryTruncateFloat32ToUint64();
1997 return builder->mcgraph()->machine()->TryTruncateFloat64ToInt64();
2000 return builder->mcgraph()->machine()->TryTruncateFloat64ToUint64();
2135 return builder->graph()->NewNode(builder->mcgraph()->common()->Projection(1),
2168 converted_value = graph()->NewNode(mcgraph()->common()->Projection(0),
2181 if (mcgraph()->machine()->SatConversionIsSafe()) {
2186 Diamond tl_d(graph(), mcgraph()->common(), test, BranchHint::kFalse);
2189 Diamond nan_d(graph(), mcgraph()->common(), nan_test, BranchHint::kFalse);
2192 Diamond sat_d(graph(), mcgraph()->common(), neg_test, BranchHint::kNone);
2385 graph()->NewNode(mcgraph()->machine()->StackSlot(stack_slot_size));
2428 graph()->NewNode(mcgraph()->machine()->StackSlot(stack_slot_size));
2441 Diamond tl_d(graph(), mcgraph()->common(), test, BranchHint::kFalse);
2444 Diamond nan_d(graph(), mcgraph()->common(), nan_test, BranchHint::kFalse);
2447 Diamond sat_d(graph(), mcgraph()->common(), neg_test, BranchHint::kNone);
2468 Diamond is_32_bit(graph(), mcgraph()->common(),
2498 MachineOperatorBuilder* m = mcgraph()->machine();
2652 mcgraph()->machine()->I32x4Splat(),
2655 mcgraph()->machine()->I32x4ReplaceLane(1), value,
2658 mcgraph()->machine()->I32x4ReplaceLane(2), value,
2661 mcgraph()->machine()->I32x4ReplaceLane(3), value,
2702 MachineOperatorBuilder* m = mcgraph()->machine();
2706 Diamond d(graph(), mcgraph()->common(),
2727 MachineOperatorBuilder* m = mcgraph()->machine();
2747 Diamond z(graph(), mcgraph()->common(),
2752 Diamond n(graph(), mcgraph()->common(),
2765 CommonOperatorBuilder* c = mcgraph()->common();
2766 MachineOperatorBuilder* m = mcgraph()->machine();
2863 MachineOperatorBuilder* m = mcgraph()->machine();
2871 Diamond z(graph(), mcgraph()->common(),
2876 graph()->NewNode(mcgraph()->machine()->Uint32Div(), left, right,
2883 Diamond z(graph(), mcgraph()->common(),
2887 Node* rem = graph()->NewNode(mcgraph()->machine()->Uint32Mod(), left, right,
2894 if (mcgraph()->machine()->Is32()) {
2917 if (mcgraph()->machine()->Is32()) {
2922 Diamond d(mcgraph()->graph(), mcgraph()->common(),
2927 Node* rem = graph()->NewNode(mcgraph()->machine()->Int64Mod(), left, right,
2935 if (mcgraph()->machine()->Is32()) {
2944 if (mcgraph()->machine()->Is32()) {
2984 Linkage::GetSimplifiedCDescriptor(mcgraph()->zone(), sig);
3032 mcgraph()->zone(), sig, kWasmFunction, frame_state != nullptr);
3033 const Operator* op = mcgraph()->common()->Call(call_descriptor);
3050 rets[i] = graph()->NewNode(mcgraph()->common()->Projection(i), call,
3062 GetWasmCallDescriptor(mcgraph()->zone(), sig);
3063 const Operator* op = mcgraph()->common()->TailCall(call_descriptor);
3131 args[0] = mcgraph()->RelocatableIntPtrConstant(code, RelocInfo::WASM_CALL);
3392 args[0] = mcgraph()->RelocatableIntPtrConstant(code, RelocInfo::WASM_CALL);
3439 return mcgraph()->machine()->Is64() ? gasm_->TruncateInt64ToInt32(value)
3444 return mcgraph()->machine()->Is64() ? gasm_->ChangeInt32ToInt64(value)
3449 return mcgraph()->machine()->Is32() ? gasm_->ChangeInt32ToInt64(value)
3454 if (mcgraph()->machine()->Is32()) return node;
3459 return mcgraph()->IntPtrConstant(bit_cast<intptr_t>(value));
3504 Node* max = mcgraph()->Uint32Constant(maxval);
3508 Diamond d(graph(), mcgraph()->common(), check, BranchHint::kTrue);
3537 instance_cache->field = graph()->NewNode(mcgraph()->common()->Phi(rep, 1), \
3551 to->field = graph()->NewNode(mcgraph()->common()->Phi(rep, 2), 3, vals); \
3582 tnode = graph()->NewNode(mcgraph()->common()->Phi(rep, count), count + 1,
3603 tnode = graph()->NewNode(mcgraph()->common()->EffectPhi(count), count + 1,
3656 mcgraph()->zone(), f, fun->nargs, Operator::kNoProperties,
3679 mcgraph()->ExternalConstant(ExternalReference::Create(f)); // ref
3894 if (alignment == 0 || mcgraph()->machine()->UnalignedLoadSupported(
3896 return mcgraph()->machine()->Load(mach_type);
3898 return mcgraph()->machine()->UnalignedLoad(mach_type);
3910 if (alignment == 0 || mcgraph()->machine()->UnalignedStoreSupported(rep)) {
3912 return mcgraph()->machine()->Store(store_rep);
3915 return mcgraph()->machine()->UnalignedStore(store_rep);
4013 MachineGraph* mcgraph, MachineRepresentation memrep,
4020 mcgraph->machine()->UnalignedLoadSupported(memrep));
4024 !mcgraph->machine()->UnalignedLoadSupported(memrep)) {
4048 mcgraph()->machine()->LoadLane(load_kind, memtype, laneidx),
4089 mcgraph()->machine()->LoadTransform(load_kind, transformation),
4173 mcgraph()->machine()->StoreLane(load_kind, mem_rep, laneidx),
4239 Diamond bounds_check(graph(), mcgraph()->common(),
4243 Node* load = graph()->NewNode(mcgraph()->machine()->Load(type), mem_start,
4282 Diamond bounds_check(graph(), mcgraph()->common(),
4288 const Operator* store_op = mcgraph()->machine()->Store(StoreRepresentation(
4348 Graph* WasmGraphBuilder::graph() { return mcgraph()->graph(); }
4418 if (mcgraph()->machine()->Is64()) return;
4419 Int64Lowering r(mcgraph()->graph(), mcgraph()->machine(), mcgraph()->common(),
4420 gasm_->simplified(), mcgraph()->zone(), sig,
4426 LowerInt64(CreateMachineSignature(mcgraph()->zone(), sig_, origin));
4439 return graph()->NewNode(mcgraph()->machine()->S128Zero());
4446 return graph()->NewNode(mcgraph()->machine()->F64x2Splat(), inputs[0]);
4448 return graph()->NewNode(mcgraph()->machine()->F64x2Abs(), inputs[0]);
4450 return graph()->NewNode(mcgraph()->machine()->F64x2Neg(), inputs[0]);
4452 return graph()->NewNode(mcgraph()->machine()->F64x2Sqrt(), inputs[0]);
4454 return graph()->NewNode(mcgraph()->machine()->F64x2Add(), inputs[0],
4457 return graph()->NewNode(mcgraph()->machine()->F64x2Sub(), inputs[0],
4460 return graph()->NewNode(mcgraph()->machine()->F64x2Mul(), inputs[0],
4463 return graph()->NewNode(mcgraph()->machine()->F64x2Div(), inputs[0],
4466 return graph()->NewNode(mcgraph()->machine()->F64x2Min(), inputs[0],
4469 return graph()->NewNode(mcgraph()->machine()->F64x2Max(), inputs[0],
4472 return graph()->NewNode(mcgraph()->machine()->F64x2Eq(), inputs[0],
4475 return graph()->NewNode(mcgraph()->machine()->F64x2Ne(), inputs[0],
4478 return graph()->NewNode(mcgraph()->machine()->F64x2Lt(), inputs[0],
4481 return graph()->NewNode(mcgraph()->machine()->F64x2Le(), inputs[0],
4484 return graph()->NewNode(mcgraph()->machine()->F64x2Lt(), inputs[1],
4487 return graph()->NewNode(mcgraph()->machine()->F64x2Le(), inputs[1],
4490 return graph()->NewNode(mcgraph()->machine()->F64x2Qfma(), inputs[0],
4493 return graph()->NewNode(mcgraph()->machine()->F64x2Qfms(), inputs[0],
4496 return graph()->NewNode(mcgraph()->machine()->F64x2Pmin(), inputs[0],
4499 return graph()->NewNode(mcgraph()->machine()->F64x2Pmax(), inputs[0],
4503 if (!mcgraph()->machine()->Float64RoundUp().IsSupported())
4505 return graph()->NewNode(mcgraph()->machine()->F64x2Ceil(), inputs[0]);
4508 if (!mcgraph()->machine()->Float64RoundDown().IsSupported())
4510 return graph()->NewNode(mcgraph()->machine()->F64x2Floor(), inputs[0]);
4514 if (!mcgraph()->machine()->Float64RoundTruncate().IsSupported())
4516 return graph()->NewNode(mcgraph()->machine()->F64x2Trunc(), inputs[0]);
4520 if (!mcgraph()->machine()->Float64RoundTiesEven().IsSupported())
4522 return graph()->NewNode(mcgraph()->machine()->F64x2NearestInt(),
4525 return graph()->NewNode(mcgraph()->machine()->F64x2ConvertLowI32x4S(),
4528 return graph()->NewNode(mcgraph()->machine()->F64x2ConvertLowI32x4U(),
4531 return graph()->NewNode(mcgraph()->machine()->F64x2PromoteLowF32x4(),
4534 return graph()->NewNode(mcgraph()->machine()->F32x4Splat(), inputs[0]);
4536 return graph()->NewNode(mcgraph()->machine()->F32x4SConvertI32x4(),
4539 return graph()->NewNode(mcgraph()->machine()->F32x4UConvertI32x4(),
4542 return graph()->NewNode(mcgraph()->machine()->F32x4Abs(), inputs[0]);
4544 return graph()->NewNode(mcgraph()->machine()->F32x4Neg(), inputs[0]);
4546 return graph()->NewNode(mcgraph()->machine()->F32x4Sqrt(), inputs[0]);
4548 return graph()->NewNode(mcgraph()->machine()->F32x4RecipApprox(),
4551 return graph()->NewNode(mcgraph()->machine()->F32x4RecipSqrtApprox(),
4554 return graph()->NewNode(mcgraph()->machine()->F32x4Add(), inputs[0],
4557 return graph()->NewNode(mcgraph()->machine()->F32x4Sub(), inputs[0],
4560 return graph()->NewNode(mcgraph()->machine()->F32x4Mul(), inputs[0],
4563 return graph()->NewNode(mcgraph()->machine()->F32x4Div(), inputs[0],
4566 return graph()->NewNode(mcgraph()->machine()->F32x4Min(), inputs[0],
4569 return graph()->NewNode(mcgraph()->machine()->F32x4Max(), inputs[0],
4572 return graph()->NewNode(mcgraph()->machine()->F32x4Eq(), inputs[0],
4575 return graph()->NewNode(mcgraph()->machine()->F32x4Ne(), inputs[0],
4578 return graph()->NewNode(mcgraph()->machine()->F32x4Lt(), inputs[0],
4581 return graph()->NewNode(mcgraph()->machine()->F32x4Le(), inputs[0],
4584 return graph()->NewNode(mcgraph()->machine()->F32x4Lt(), inputs[1],
4587 return graph()->NewNode(mcgraph()->machine()->F32x4Le(), inputs[1],
4590 return graph()->NewNode(mcgraph()->machine()->F32x4Qfma(), inputs[0],
4593 return graph()->NewNode(mcgraph()->machine()->F32x4Qfms(), inputs[0],
4596 return graph()->NewNode(mcgraph()->machine()->F32x4Pmin(), inputs[0],
4599 return graph()->NewNode(mcgraph()->machine()->F32x4Pmax(), inputs[0],
4603 if (!mcgraph()->machine()->Float32RoundUp().IsSupported())
4605 return graph()->NewNode(mcgraph()->machine()->F32x4Ceil(), inputs[0]);
4608 if (!mcgraph()->machine()->Float32RoundDown().IsSupported())
4610 return graph()->NewNode(mcgraph()->machine()->F32x4Floor(), inputs[0]);
4614 if (!mcgraph()->machine()->Float32RoundTruncate().IsSupported())
4616 return graph()->NewNode(mcgraph()->machine()->F32x4Trunc(), inputs[0]);
4620 if (!mcgraph()->machine()->Float32RoundTiesEven().IsSupported())
4622 return graph()->NewNode(mcgraph()->machine()->F32x4NearestInt(),
4625 return graph()->NewNode(mcgraph()->machine()->F32x4DemoteF64x2Zero(),
4628 return graph()->NewNode(mcgraph()->machine()->I64x2Splat(), inputs[0]);
4630 return graph()->NewNode(mcgraph()->machine()->I64x2Abs(), inputs[0]);
4632 return graph()->NewNode(mcgraph()->machine()->I64x2Neg(), inputs[0]);
4634 return graph()->NewNode(mcgraph()->machine()->I64x2SConvertI32x4Low(),
4637 return graph()->NewNode(mcgraph()->machine()->I64x2SConvertI32x4High(),
4640 return graph()->NewNode(mcgraph()->machine()->I64x2UConvertI32x4Low(),
4643 return graph()->NewNode(mcgraph()->machine()->I64x2UConvertI32x4High(),
4646 return graph()->NewNode(mcgraph()->machine()->I64x2BitMask(), inputs[0]);
4648 return graph()->NewNode(mcgraph()->machine()->I64x2Shl(), inputs[0],
4651 return graph()->NewNode(mcgraph()->machine()->I64x2ShrS(), inputs[0],
4654 return graph()->NewNode(mcgraph()->machine()->I64x2Add(), inputs[0],
4657 return graph()->NewNode(mcgraph()->machine()->I64x2Sub(), inputs[0],
4660 return graph()->NewNode(mcgraph()->machine()->I64x2Mul(), inputs[0],
4663 return graph()->NewNode(mcgraph()->machine()->I64x2Eq(), inputs[0],
4666 return graph()->NewNode(mcgraph()->machine()->I64x2Ne(), inputs[0],
4669 return graph()->NewNode(mcgraph()->machine()->I64x2GtS(), inputs[1],
4672 return graph()->NewNode(mcgraph()->machine()->I64x2GeS(), inputs[1],
4675 return graph()->NewNode(mcgraph()->machine()->I64x2GtS(), inputs[0],
4678 return graph()->NewNode(mcgraph()->machine()->I64x2GeS(), inputs[0],
4681 return graph()->NewNode(mcgraph()->machine()->I64x2ShrU(), inputs[0],
4684 return graph()->NewNode(mcgraph()->machine()->I64x2ExtMulLowI32x4S(),
4687 return graph()->NewNode(mcgraph()->machine()->I64x2ExtMulHighI32x4S(),
4690 return graph()->NewNode(mcgraph()->machine()->I64x2ExtMulLowI32x4U(),
4693 return graph()->NewNode(mcgraph()->machine()->I64x2ExtMulHighI32x4U(),
4696 return graph()->NewNode(mcgraph()->machine()->I32x4Splat(), inputs[0]);
4698 return graph()->NewNode(mcgraph()->machine()->I32x4SConvertF32x4(),
4701 return graph()->NewNode(mcgraph()->machine()->I32x4UConvertF32x4(),
4704 return graph()->NewNode(mcgraph()->machine()->I32x4SConvertI16x8Low(),
4707 return graph()->NewNode(mcgraph()->machine()->I32x4SConvertI16x8High(),
4710 return graph()->NewNode(mcgraph()->machine()->I32x4Neg(), inputs[0]);
4712 return graph()->NewNode(mcgraph()->machine()->I32x4Shl(), inputs[0],
4715 return graph()->NewNode(mcgraph()->machine()->I32x4ShrS(), inputs[0],
4718 return graph()->NewNode(mcgraph()->machine()->I32x4Add(), inputs[0],
4721 return graph()->NewNode(mcgraph()->machine()->I32x4Sub(), inputs[0],
4724 return graph()->NewNode(mcgraph()->machine()->I32x4Mul(), inputs[0],
4727 return graph()->NewNode(mcgraph()->machine()->I32x4MinS(), inputs[0],
4730 return graph()->NewNode(mcgraph()->machine()->I32x4MaxS(), inputs[0],
4733 return graph()->NewNode(mcgraph()->machine()->I32x4Eq(), inputs[0],
4736 return graph()->NewNode(mcgraph()->machine()->I32x4Ne(), inputs[0],
4739 return graph()->NewNode(mcgraph()->machine()->I32x4GtS(), inputs[1],
4742 return graph()->NewNode(mcgraph()->machine()->I32x4GeS(), inputs[1],
4745 return graph()->NewNode(mcgraph()->machine()->I32x4GtS(), inputs[0],
4748 return graph()->NewNode(mcgraph()->machine()->I32x4GeS(), inputs[0],
4751 return graph()->NewNode(mcgraph()->machine()->I32x4UConvertI16x8Low(),
4754 return graph()->NewNode(mcgraph()->machine()->I32x4UConvertI16x8High(),
4757 return graph()->NewNode(mcgraph()->machine()->I32x4ShrU(), inputs[0],
4760 return graph()->NewNode(mcgraph()->machine()->I32x4MinU(), inputs[0],
4763 return graph()->NewNode(mcgraph()->machine()->I32x4MaxU(), inputs[0],
4766 return graph()->NewNode(mcgraph()->machine()->I32x4GtU(), inputs[1],
4769 return graph()->NewNode(mcgraph()->machine()->I32x4GeU(), inputs[1],
4772 return graph()->NewNode(mcgraph()->machine()->I32x4GtU(), inputs[0],
4775 return graph()->NewNode(mcgraph()->machine()->I32x4GeU(), inputs[0],
4778 return graph()->NewNode(mcgraph()->machine()->I32x4Abs(), inputs[0]);
4780 return graph()->NewNode(mcgraph()->machine()->I32x4BitMask(), inputs[0]);
4782 return graph()->NewNode(mcgraph()->machine()->I32x4DotI16x8S(), inputs[0],
4785 return graph()->NewNode(mcgraph()->machine()->I32x4ExtMulLowI16x8S(),
4788 return graph()->NewNode(mcgraph()->machine()->I32x4ExtMulHighI16x8S(),
4791 return graph()->NewNode(mcgraph()->machine()->I32x4ExtMulLowI16x8U(),
4794 return graph()->NewNode(mcgraph()->machine()->I32x4ExtMulHighI16x8U(),
4797 return graph()->NewNode(mcgraph()->machine()->I32x4ExtAddPairwiseI16x8S(),
4800 return graph()->NewNode(mcgraph()->machine()->I32x4ExtAddPairwiseI16x8U(),
4803 return graph()->NewNode(mcgraph()->machine()->I32x4TruncSatF64x2SZero(),
4806 return graph()->NewNode(mcgraph()->machine()->I32x4TruncSatF64x2UZero(),
4809 return graph()->NewNode(mcgraph()->machine()->I16x8Splat(), inputs[0]);
4811 return graph()->NewNode(mcgraph()->machine()->I16x8SConvertI8x16Low(),
4814 return graph()->NewNode(mcgraph()->machine()->I16x8SConvertI8x16High(),
4817 return graph()->NewNode(mcgraph()->machine()->I16x8Shl(), inputs[0],
4820 return graph()->NewNode(mcgraph()->machine()->I16x8ShrS(), inputs[0],
4823 return graph()->NewNode(mcgraph()->machine()->I16x8Neg(), inputs[0]);
4825 return graph()->NewNode(mcgraph()->machine()->I16x8SConvertI32x4(),
4828 return graph()->NewNode(mcgraph()->machine()->I16x8Add(), inputs[0],
4831 return graph()->NewNode(mcgraph()->machine()->I16x8AddSatS(), inputs[0],
4834 return graph()->NewNode(mcgraph()->machine()->I16x8Sub(), inputs[0],
4837 return graph()->NewNode(mcgraph()->machine()->I16x8SubSatS(), inputs[0],
4840 return graph()->NewNode(mcgraph()->machine()->I16x8Mul(), inputs[0],
4843 return graph()->NewNode(mcgraph()->machine()->I16x8MinS(), inputs[0],
4846 return graph()->NewNode(mcgraph()->machine()->I16x8MaxS(), inputs[0],
4849 return graph()->NewNode(mcgraph()->machine()->I16x8Eq(), inputs[0],
4852 return graph()->NewNode(mcgraph()->machine()->I16x8Ne(), inputs[0],
4855 return graph()->NewNode(mcgraph()->machine()->I16x8GtS(), inputs[1],
4858 return graph()->NewNode(mcgraph()->machine()->I16x8GeS(), inputs[1],
4861 return graph()->NewNode(mcgraph()->machine()->I16x8GtS(), inputs[0],
4864 return graph()->NewNode(mcgraph()->machine()->I16x8GeS(), inputs[0],
4867 return graph()->NewNode(mcgraph()->machine()->I16x8UConvertI8x16Low(),
4870 return graph()->NewNode(mcgraph()->machine()->I16x8UConvertI8x16High(),
4873 return graph()->NewNode(mcgraph()->machine()->I16x8UConvertI32x4(),
4876 return graph()->NewNode(mcgraph()->machine()->I16x8ShrU(), inputs[0],
4879 return graph()->NewNode(mcgraph()->machine()->I16x8AddSatU(), inputs[0],
4882 return graph()->NewNode(mcgraph()->machine()->I16x8SubSatU(), inputs[0],
4885 return graph()->NewNode(mcgraph()->machine()->I16x8MinU(), inputs[0],
4888 return graph()->NewNode(mcgraph()->machine()->I16x8MaxU(), inputs[0],
4891 return graph()->NewNode(mcgraph()->machine()->I16x8GtU(), inputs[1],
4894 return graph()->NewNode(mcgraph()->machine()->I16x8GeU(), inputs[1],
4897 return graph()->NewNode(mcgraph()->machine()->I16x8GtU(), inputs[0],
4900 return graph()->NewNode(mcgraph()->machine()->I16x8GeU(), inputs[0],
4903 return graph()->NewNode(mcgraph()->machine()->I16x8RoundingAverageU(),
4906 return graph()->NewNode(mcgraph()->machine()->I16x8Q15MulRSatS(),
4909 return graph()->NewNode(mcgraph()->machine()->I16x8Abs(), inputs[0]);
4911 return graph()->NewNode(mcgraph()->machine()->I16x8BitMask(), inputs[0]);
4913 return graph()->NewNode(mcgraph()->machine()->I16x8ExtMulLowI8x16S(),
4916 return graph()->NewNode(mcgraph()->machine()->I16x8ExtMulHighI8x16S(),
4919 return graph()->NewNode(mcgraph()->machine()->I16x8ExtMulLowI8x16U(),
4922 return graph()->NewNode(mcgraph()->machine()->I16x8ExtMulHighI8x16U(),
4925 return graph()->NewNode(mcgraph()->machine()->I16x8ExtAddPairwiseI8x16S(),
4928 return graph()->NewNode(mcgraph()->machine()->I16x8ExtAddPairwiseI8x16U(),
4931 return graph()->NewNode(mcgraph()->machine()->I8x16Splat(), inputs[0]);
4933 return graph()->NewNode(mcgraph()->machine()->I8x16Neg(), inputs[0]);
4935 return graph()->NewNode(mcgraph()->machine()->I8x16Shl(), inputs[0],
4938 return graph()->NewNode(mcgraph()->machine()->I8x16ShrS(), inputs[0],
4941 return graph()->NewNode(mcgraph()->machine()->I8x16SConvertI16x8(),
4944 return graph()->NewNode(mcgraph()->machine()->I8x16Add(), inputs[0],
4947 return graph()->NewNode(mcgraph()->machine()->I8x16AddSatS(), inputs[0],
4950 return graph()->NewNode(mcgraph()->machine()->I8x16Sub(), inputs[0],
4953 return graph()->NewNode(mcgraph()->machine()->I8x16SubSatS(), inputs[0],
4956 return graph()->NewNode(mcgraph()->machine()->I8x16MinS(), inputs[0],
4959 return graph()->NewNode(mcgraph()->machine()->I8x16MaxS(), inputs[0],
4962 return graph()->NewNode(mcgraph()->machine()->I8x16Eq(), inputs[0],
4965 return graph()->NewNode(mcgraph()->machine()->I8x16Ne(), inputs[0],
4968 return graph()->NewNode(mcgraph()->machine()->I8x16GtS(), inputs[1],
4971 return graph()->NewNode(mcgraph()->machine()->I8x16GeS(), inputs[1],
4974 return graph()->NewNode(mcgraph()->machine()->I8x16GtS(), inputs[0],
4977 return graph()->NewNode(mcgraph()->machine()->I8x16GeS(), inputs[0],
4980 return graph()->NewNode(mcgraph()->machine()->I8x16ShrU(), inputs[0],
4983 return graph()->NewNode(mcgraph()->machine()->I8x16UConvertI16x8(),
4986 return graph()->NewNode(mcgraph()->machine()->I8x16AddSatU(), inputs[0],
4989 return graph()->NewNode(mcgraph()->machine()->I8x16SubSatU(), inputs[0],
4992 return graph()->NewNode(mcgraph()->machine()->I8x16MinU(), inputs[0],
4995 return graph()->NewNode(mcgraph()->machine()->I8x16MaxU(), inputs[0],
4998 return graph()->NewNode(mcgraph()->machine()->I8x16GtU(), inputs[1],
5001 return graph()->NewNode(mcgraph()->machine()->I8x16GeU(), inputs[1],
5004 return graph()->NewNode(mcgraph()->machine()->I8x16GtU(), inputs[0],
5007 return graph()->NewNode(mcgraph()->machine()->I8x16GeU(), inputs[0],
5010 return graph()->NewNode(mcgraph()->machine()->I8x16RoundingAverageU(),
5013 return graph()->NewNode(mcgraph()->machine()->I8x16Popcnt(), inputs[0]);
5015 return graph()->NewNode(mcgraph()->machine()->I8x16Abs(), inputs[0]);
5017 return graph()->NewNode(mcgraph()->machine()->I8x16BitMask(), inputs[0]);
5019 return graph()->NewNode(mcgraph()->machine()->S128And(), inputs[0],
5022 return graph()->NewNode(mcgraph()->machine()->S128Or(), inputs[0],
5025 return graph()->NewNode(mcgraph()->machine()->S128Xor(), inputs[0],
5028 return graph()->NewNode(mcgraph()->machine()->S128Not(), inputs[0]);
5030 return graph()->NewNode(mcgraph()->machine()->S128Select(), inputs[2],
5033 return graph()->NewNode(mcgraph()->machine()->S128AndNot(), inputs[0],
5036 return graph()->NewNode(mcgraph()->machine()->I64x2AllTrue(), inputs[0]);
5038 return graph()->NewNode(mcgraph()->machine()->I32x4AllTrue(), inputs[0]);
5040 return graph()->NewNode(mcgraph()->machine()->I16x8AllTrue(), inputs[0]);
5042 return graph()->NewNode(mcgraph()->machine()->V128AnyTrue(), inputs[0]);
5044 return graph()->NewNode(mcgraph()->machine()->I8x16AllTrue(), inputs[0]);
5046 return graph()->NewNode(mcgraph()->machine()->I8x16Swizzle(false),
5049 return graph()->NewNode(mcgraph()->machine()->I8x16Swizzle(true),
5053 return graph()->NewNode(mcgraph()->machine()->I8x16RelaxedLaneSelect(),
5056 return graph()->NewNode(mcgraph()->machine()->I16x8RelaxedLaneSelect(),
5059 return graph()->NewNode(mcgraph()->machine()->I32x4RelaxedLaneSelect(),
5062 return graph()->NewNode(mcgraph()->machine()->I64x2RelaxedLaneSelect(),
5065 return graph()->NewNode(mcgraph()->machine()->F32x4RelaxedMin(),
5068 return graph()->NewNode(mcgraph()->machine()->F32x4RelaxedMax(),
5071 return graph()->NewNode(mcgraph()->machine()->F64x2RelaxedMin(),
5074 return graph()->NewNode(mcgraph()->machine()->F64x2RelaxedMax(),
5078 mcgraph()->machine()->I32x4RelaxedTruncF64x2SZero(), inputs[0]);
5081 mcgraph()->machine()->I32x4RelaxedTruncF64x2UZero(), inputs[0]);
5083 return graph()->NewNode(mcgraph()->machine()->I32x4RelaxedTruncF32x4S(),
5086 return graph()->NewNode(mcgraph()->machine()->I32x4RelaxedTruncF32x4U(),
5098 return graph()->NewNode(mcgraph()->machine()->F64x2ExtractLane(lane),
5101 return graph()->NewNode(mcgraph()->machine()->F64x2ReplaceLane(lane),
5104 return graph()->NewNode(mcgraph()->machine()->F32x4ExtractLane(lane),
5107 return graph()->NewNode(mcgraph()->machine()->F32x4ReplaceLane(lane),
5110 return graph()->NewNode(mcgraph()->machine()->I64x2ExtractLane(lane),
5113 return graph()->NewNode(mcgraph()->machine()->I64x2ReplaceLane(lane),
5116 return graph()->NewNode(mcgraph()->machine()->I32x4ExtractLane(lane),
5119 return graph()->NewNode(mcgraph()->machine()->I32x4ReplaceLane(lane),
5122 return graph()->NewNode(mcgraph()->machine()->I16x8ExtractLaneS(lane),
5125 return graph()->NewNode(mcgraph()->machine()->I16x8ExtractLaneU(lane),
5128 return graph()->NewNode(mcgraph()->machine()->I16x8ReplaceLane(lane),
5131 return graph()->NewNode(mcgraph()->machine()->I8x16ExtractLaneS(lane),
5134 return graph()->NewNode(mcgraph()->machine()->I8x16ExtractLaneU(lane),
5137 return graph()->NewNode(mcgraph()->machine()->I8x16ReplaceLane(lane),
5147 return graph()->NewNode(mcgraph()->machine()->I8x16Shuffle(shuffle),
5324 op = (mcgraph()->machine()->*info.operator_by_type)(info.machine_type);
5326 op = (mcgraph()->machine()->*info.operator_by_rep)(
5329 op = (mcgraph()->machine()->*info.operator_by_atomic_load_params)(
5332 op = (mcgraph()->machine()->*info.operator_by_atomic_store_rep)(
5380 intptr_t target = mcgraph()->machine()->Is64()
5383 Node* call_target = mcgraph()->RelocatableIntPtrConstant(
5393 intptr_t target = mcgraph()->machine()->Is64()
5396 Node* call_target = mcgraph()->RelocatableIntPtrConstant(
5409 SetEffect(graph()->NewNode(mcgraph()->machine()->MemBarrier(), effect(),
5460 graph()->NewNode(mcgraph()->machine()->StackSlot(slot_size));
5566 graph()->NewNode(mcgraph()->common()->NumberConstant(table_index)), delta,
5587 graph()->NewNode(mcgraph()->common()->NumberConstant(table_index)), start,
5760 Node* branch = graph()->NewNode(mcgraph()->common()->Branch(hint),
5763 graph()->NewNode(mcgraph()->common()->IfTrue(), branch));
5765 SetControl(graph()->NewNode(mcgraph()->common()->IfFalse(), branch));
5769 Node* branch = graph()->NewNode(mcgraph()->common()->Branch(hint),
5772 graph()->NewNode(mcgraph()->common()->IfTrue(), branch));
5774 SetControl(graph()->NewNode(mcgraph()->common()->IfFalse(), branch));
5778 Node* branch = graph()->NewNode(mcgraph()->common()->Branch(hint),
5781 graph()->NewNode(mcgraph()->common()->IfFalse(), branch));
5783 SetControl(graph()->NewNode(mcgraph()->common()->IfTrue(), branch));
6206 WasmWrapperGraphBuilder(Zone* zone, MachineGraph* mcgraph,
6212 : WasmGraphBuilder(nullptr, zone, mcgraph, sig, spt, parameter_mode,
6245 ? mcgraph()->RelocatableIntPtrConstant(wasm_stub,
6272 CommonOperatorBuilder* common = mcgraph()->common();
6278 mcgraph()->zone(), WasmInt32ToHeapNumberDescriptor(), 0,
6304 CommonOperatorBuilder* common = mcgraph()->common();
6310 mcgraph()->zone(), WasmTaggedNonSmiToInt32Descriptor(), 0,
6328 CommonOperatorBuilder* common = mcgraph()->common();
6333 mcgraph()->zone(), WasmFloat32ToNumberDescriptor(), 0,
6341 CommonOperatorBuilder* common = mcgraph()->common();
6346 mcgraph()->zone(), WasmFloat64ToNumberDescriptor(), 0,
6355 CommonOperatorBuilder* common = mcgraph()->common();
6361 mcgraph()->zone(), WasmTaggedToFloat64Descriptor(), 0,
6544 if (mcgraph()->machine()->Is64()) {
6548 DCHECK(mcgraph()->machine()->Is32());
6561 if (mcgraph()->machine()->Is64()) {
6565 DCHECK(mcgraph()->machine()->Is32());
6586 mcgraph()->IntPtrConstant(
6592 Diamond type_check(graph(), mcgraph()->common(), check, BranchHint::kTrue);
6724 Diamond flag_check(graph(), mcgraph()->common(), check,
6788 mcgraph()->Uint32Constant(static_cast<uint32_t>(sig->return_count())));
7040 Diamond strict_d(graph(), mcgraph()->common(), strict_check,
7068 Node* call_target = mcgraph()->RelocatableIntPtrConstant(
7272 ? mcgraph()->IntPtrConstant(0)
7273 : graph()->NewNode(mcgraph()->machine()->StackSlot(
7300 Node* fp_value = graph()->NewNode(mcgraph()->machine()->LoadFramePointer());
7318 mcgraph()->common()->Branch(BranchHint::kTrue),
7319 gasm_->WordEqual(return_value, mcgraph()->IntPtrConstant(0)),
7322 graph()->NewNode(mcgraph()->common()->IfFalse(), exception_branch));
7325 mcgraph()->zone(), interface_descriptor,
7328 Node* call_target = mcgraph()->RelocatableIntPtrConstant(
7336 SetEffectControl(old_effect, graph()->NewNode(mcgraph()->common()->IfTrue(),
7397 args[pos++] = mcgraph()->ExternalConstant(
7554 Node* fp_value = graph()->NewNode(mcgraph()->machine()->LoadFramePointer());
7580 auto call_descriptor = GetWasmCallDescriptor(mcgraph()->zone(), sig_);
7585 Node* if_success = graph()->NewNode(mcgraph()->common()->IfSuccess(), call);
7587 graph()->NewNode(mcgraph()->common()->IfException(), call, call);
7600 : graph()->NewNode(mcgraph()->common()->Projection(pos),
7609 Return(mcgraph()->IntPtrConstant(0));
7611 if (mcgraph()->machine()->Is32() && ContainsInt64(sig_)) {
7623 Int64Lowering r(mcgraph()->graph(), mcgraph()->machine(),
7624 mcgraph()->common(), gasm_->simplified(),
7625 mcgraph()->zone(), &c_entry_sig);
7646 Zone* zone, MachineGraph* mcgraph, const wasm::FunctionSig* signature,
7651 WasmWrapperGraphBuilder builder(zone, mcgraph, signature, module,
7672 MachineGraph* mcgraph = zone->New<MachineGraph>(graph, common, machine);
7675 zone.get(), mcgraph, sig, module,
7992 MachineGraph* mcgraph = zone.New<MachineGraph>(
8004 WasmGraphBuilder builder(&env, mcgraph->zone(), mcgraph, sig,
8029 if (mcgraph->machine()->Is32()) {
8037 call_descriptor, mcgraph, CodeKind::WASM_TO_JS_FUNCTION, debug_name,
8075 MachineGraph* mcgraph = zone.New<MachineGraph>(graph, common, machine);
8081 &zone, mcgraph, sig, env->module,
8101 incoming, mcgraph, CodeKind::WASM_TO_JS_FUNCTION, func_name,
8124 MachineGraph* mcgraph = zone.New<MachineGraph>(
8132 &zone, mcgraph, sig, native_module->module(),
8141 if (mcgraph->machine()->Is32()) {
8147 call_descriptor, mcgraph, CodeKind::WASM_TO_CAPI_FUNCTION, debug_name,
8173 MachineGraph* mcgraph = zone.New<MachineGraph>(
8181 &zone, mcgraph, sig, native_module->module(),
8195 if (mcgraph->machine()->Is32()) {
8201 call_descriptor, mcgraph, CodeKind::WASM_TO_JS_FUNCTION, debug_name,
8230 MachineGraph* mcgraph = zone->New<MachineGraph>(graph, common, machine);
8232 WasmWrapperGraphBuilder builder(zone.get(), mcgraph, sig, nullptr,
8279 MachineGraph* mcgraph = zone->New<MachineGraph>(graph, common, machine);
8281 WasmWrapperGraphBuilder builder(zone.get(), mcgraph, sig, module,
8327 MachineGraph* mcgraph = zone->New<MachineGraph>(graph, common, machine);
8329 WasmWrapperGraphBuilder builder(zone.get(), mcgraph, sig, module,
8375 MachineGraph* mcgraph,
8380 WasmGraphBuilder builder(env, mcgraph->zone(), mcgraph, func_body.sig,
8395 auto sig = CreateMachineSignature(mcgraph->zone(), func_body.sig,
8446 MachineGraph* mcgraph = zone.New<MachineGraph>(
8468 info.trace_turbo_json() ? zone.New<NodeOriginTable>(mcgraph->graph())
8471 mcgraph->zone()->New<SourcePositionTable>(mcgraph->graph());
8477 if (!BuildGraphForWasmFunction(env, func_body, func_index, detected, mcgraph,
8488 if (mcgraph->machine()->Is32()) {
8498 &info, env, wire_byte_storage, mcgraph, call_descriptor, source_positions,
8503 static_cast<int>(mcgraph->graph()->zone()->allocation_size());