Lines Matching refs:WebAssembly
56 Subtarget->hasAddr64() ? WebAssembly::SP64 : WebAssembly::SP32); in WebAssemblyTargetLowering()
58 addRegisterClass(MVT::i32, &WebAssembly::I32RegClass); in WebAssemblyTargetLowering()
59 addRegisterClass(MVT::i64, &WebAssembly::I64RegClass); in WebAssemblyTargetLowering()
60 addRegisterClass(MVT::f32, &WebAssembly::F32RegClass); in WebAssemblyTargetLowering()
61 addRegisterClass(MVT::f64, &WebAssembly::F64RegClass); in WebAssemblyTargetLowering()
63 addRegisterClass(MVT::v16i8, &WebAssembly::V128RegClass); in WebAssemblyTargetLowering()
64 addRegisterClass(MVT::v8i16, &WebAssembly::V128RegClass); in WebAssemblyTargetLowering()
65 addRegisterClass(MVT::v4i32, &WebAssembly::V128RegClass); in WebAssemblyTargetLowering()
66 addRegisterClass(MVT::v4f32, &WebAssembly::V128RegClass); in WebAssemblyTargetLowering()
67 addRegisterClass(MVT::v2i64, &WebAssembly::V128RegClass); in WebAssemblyTargetLowering()
68 addRegisterClass(MVT::v2f64, &WebAssembly::V128RegClass); in WebAssemblyTargetLowering()
71 addRegisterClass(MVT::externref, &WebAssembly::EXTERNREFRegClass); in WebAssemblyTargetLowering()
72 addRegisterClass(MVT::funcref, &WebAssembly::FUNCREFRegClass); in WebAssemblyTargetLowering()
380 return WebAssembly::createFastISel(FuncInfo, LibInfo); in createFastISel()
416 unsigned Abs = Float64 ? WebAssembly::ABS_F64 : WebAssembly::ABS_F32; in LowerFPToInt()
417 unsigned FConst = Float64 ? WebAssembly::CONST_F64 : WebAssembly::CONST_F32; in LowerFPToInt()
418 unsigned LT = Float64 ? WebAssembly::LT_F64 : WebAssembly::LT_F32; in LowerFPToInt()
419 unsigned GE = Float64 ? WebAssembly::GE_F64 : WebAssembly::GE_F32; in LowerFPToInt()
420 unsigned IConst = Int64 ? WebAssembly::CONST_I64 : WebAssembly::CONST_I32; in LowerFPToInt()
421 unsigned Eqz = WebAssembly::EQZ_I32; in LowerFPToInt()
422 unsigned And = WebAssembly::AND_I32; in LowerFPToInt()
452 CmpReg = MRI.createVirtualRegister(&WebAssembly::I32RegClass); in LowerFPToInt()
453 EqzReg = MRI.createVirtualRegister(&WebAssembly::I32RegClass); in LowerFPToInt()
473 MRI.createVirtualRegister(&WebAssembly::I32RegClass); in LowerFPToInt()
474 Register AndReg = MRI.createVirtualRegister(&WebAssembly::I32RegClass); in LowerFPToInt()
486 BuildMI(BB, DL, TII.get(WebAssembly::BR_IF)).addMBB(TrueMBB).addReg(EqzReg); in LowerFPToInt()
488 BuildMI(FalseMBB, DL, TII.get(WebAssembly::BR)).addMBB(DoneMBB); in LowerFPToInt()
504 assert(CallParams.getOpcode() == WebAssembly::CALL_PARAMS); in LowerCallResults()
505 assert(CallResults.getOpcode() == WebAssembly::CALL_RESULTS || in LowerCallResults()
506 CallResults.getOpcode() == WebAssembly::RET_CALL_RESULTS); in LowerCallResults()
509 bool IsRetCall = CallResults.getOpcode() == WebAssembly::RET_CALL_RESULTS; in LowerCallResults()
517 IsFuncrefCall = (TRC == &WebAssembly::FUNCREFRegClass); in LowerCallResults()
523 CallOp = WebAssembly::RET_CALL_INDIRECT; in LowerCallResults()
525 CallOp = WebAssembly::CALL_INDIRECT; in LowerCallResults()
527 CallOp = WebAssembly::RET_CALL; in LowerCallResults()
529 CallOp = WebAssembly::CALL; in LowerCallResults()
542 MF.getRegInfo().createVirtualRegister(&WebAssembly::I32RegClass); in LowerCallResults()
545 TII.get(WebAssembly::I32_WRAP_I64), Reg32) in LowerCallResults()
565 ? WebAssembly::getOrCreateFuncrefCallTableSymbol( in LowerCallResults()
567 : WebAssembly::getOrCreateFunctionTableSymbol( in LowerCallResults()
597 MCSymbolWasm *Table = WebAssembly::getOrCreateFuncrefCallTableSymbol( in LowerCallResults()
600 MF.getRegInfo().createVirtualRegister(&WebAssembly::I32RegClass); in LowerCallResults()
602 BuildMI(MF, DL, TII.get(WebAssembly::CONST_I32), RegZero).addImm(0); in LowerCallResults()
606 MF.getRegInfo().createVirtualRegister(&WebAssembly::FUNCREFRegClass); in LowerCallResults()
608 BuildMI(MF, DL, TII.get(WebAssembly::REF_NULL_FUNCREF), RegFuncref) in LowerCallResults()
609 .addImm(static_cast<int32_t>(WebAssembly::HeapType::Funcref)); in LowerCallResults()
613 BuildMI(MF, DL, TII.get(WebAssembly::TABLE_SET_FUNCREF)) in LowerCallResults()
631 case WebAssembly::FP_TO_SINT_I32_F32: in EmitInstrWithCustomInserter()
633 WebAssembly::I32_TRUNC_S_F32); in EmitInstrWithCustomInserter()
634 case WebAssembly::FP_TO_UINT_I32_F32: in EmitInstrWithCustomInserter()
636 WebAssembly::I32_TRUNC_U_F32); in EmitInstrWithCustomInserter()
637 case WebAssembly::FP_TO_SINT_I64_F32: in EmitInstrWithCustomInserter()
639 WebAssembly::I64_TRUNC_S_F32); in EmitInstrWithCustomInserter()
640 case WebAssembly::FP_TO_UINT_I64_F32: in EmitInstrWithCustomInserter()
642 WebAssembly::I64_TRUNC_U_F32); in EmitInstrWithCustomInserter()
643 case WebAssembly::FP_TO_SINT_I32_F64: in EmitInstrWithCustomInserter()
645 WebAssembly::I32_TRUNC_S_F64); in EmitInstrWithCustomInserter()
646 case WebAssembly::FP_TO_UINT_I32_F64: in EmitInstrWithCustomInserter()
648 WebAssembly::I32_TRUNC_U_F64); in EmitInstrWithCustomInserter()
649 case WebAssembly::FP_TO_SINT_I64_F64: in EmitInstrWithCustomInserter()
651 WebAssembly::I64_TRUNC_S_F64); in EmitInstrWithCustomInserter()
652 case WebAssembly::FP_TO_UINT_I64_F64: in EmitInstrWithCustomInserter()
654 WebAssembly::I64_TRUNC_U_F64); in EmitInstrWithCustomInserter()
655 case WebAssembly::CALL_RESULTS: in EmitInstrWithCustomInserter()
656 case WebAssembly::RET_CALL_RESULTS: in EmitInstrWithCustomInserter()
689 return std::make_pair(0U, &WebAssembly::V128RegClass); in getRegForInlineAsmConstraint()
693 return std::make_pair(0U, &WebAssembly::I32RegClass); in getRegForInlineAsmConstraint()
695 return std::make_pair(0U, &WebAssembly::I64RegClass); in getRegForInlineAsmConstraint()
700 return std::make_pair(0U, &WebAssembly::F32RegClass); in getRegForInlineAsmConstraint()
702 return std::make_pair(0U, &WebAssembly::F64RegClass); in getRegForInlineAsmConstraint()
1100 MCSymbolWasm *Table = WebAssembly::getOrCreateFuncrefCallTableSymbol( in LowerCall()
1183 MF.getRegInfo().addLiveIn(WebAssembly::ARGUMENTS); in LowerFormalArguments()
1333 return WebAssembly::isWasmVarAddressSpace(GA->getAddressSpace()); in IsWebAssemblyGlobal()
1438 SDValue Copy(DAG.getMachineNode(VT == MVT::i32 ? WebAssembly::COPY_I32 in LowerCopyToReg()
1439 : WebAssembly::COPY_I64, in LowerCopyToReg()
1520 auto GlobalGet = PtrVT == MVT::i64 ? WebAssembly::GLOBAL_GET_I64 in LowerGlobalTLSAddress()
1521 : WebAssembly::GLOBAL_GET_I32; in LowerGlobalTLSAddress()
1543 if (!WebAssembly::isValidAddressSpace(GA->getAddressSpace())) in LowerGlobalAddress()
1648 if (Tag != WebAssembly::CPP_EXCEPTION) in getCppExceptionSymNode()