Lines Matching refs:WebAssembly
58 Subtarget->hasAddr64() ? WebAssembly::SP64 : WebAssembly::SP32); in WebAssemblyTargetLowering()
60 addRegisterClass(MVT::i32, &WebAssembly::I32RegClass); in WebAssemblyTargetLowering()
61 addRegisterClass(MVT::i64, &WebAssembly::I64RegClass); in WebAssemblyTargetLowering()
62 addRegisterClass(MVT::f32, &WebAssembly::F32RegClass); in WebAssemblyTargetLowering()
63 addRegisterClass(MVT::f64, &WebAssembly::F64RegClass); in WebAssemblyTargetLowering()
65 addRegisterClass(MVT::v16i8, &WebAssembly::V128RegClass); in WebAssemblyTargetLowering()
66 addRegisterClass(MVT::v8i16, &WebAssembly::V128RegClass); in WebAssemblyTargetLowering()
67 addRegisterClass(MVT::v4i32, &WebAssembly::V128RegClass); in WebAssemblyTargetLowering()
68 addRegisterClass(MVT::v4f32, &WebAssembly::V128RegClass); in WebAssemblyTargetLowering()
69 addRegisterClass(MVT::v2i64, &WebAssembly::V128RegClass); in WebAssemblyTargetLowering()
70 addRegisterClass(MVT::v2f64, &WebAssembly::V128RegClass); in WebAssemblyTargetLowering()
73 addRegisterClass(MVT::externref, &WebAssembly::EXTERNREFRegClass); in WebAssemblyTargetLowering()
74 addRegisterClass(MVT::funcref, &WebAssembly::FUNCREFRegClass); in WebAssemblyTargetLowering()
349 if (AS == WebAssembly::WasmAddressSpace::WASM_ADDRESS_SPACE_EXTERNREF) in getPointerTy()
351 if (AS == WebAssembly::WasmAddressSpace::WASM_ADDRESS_SPACE_FUNCREF) in getPointerTy()
358 if (AS == WebAssembly::WasmAddressSpace::WASM_ADDRESS_SPACE_EXTERNREF) in getPointerMemTy()
360 if (AS == WebAssembly::WasmAddressSpace::WASM_ADDRESS_SPACE_FUNCREF) in getPointerMemTy()
404 return WebAssembly::createFastISel(FuncInfo, LibInfo); in createFastISel()
440 unsigned Abs = Float64 ? WebAssembly::ABS_F64 : WebAssembly::ABS_F32; in LowerFPToInt()
441 unsigned FConst = Float64 ? WebAssembly::CONST_F64 : WebAssembly::CONST_F32; in LowerFPToInt()
442 unsigned LT = Float64 ? WebAssembly::LT_F64 : WebAssembly::LT_F32; in LowerFPToInt()
443 unsigned GE = Float64 ? WebAssembly::GE_F64 : WebAssembly::GE_F32; in LowerFPToInt()
444 unsigned IConst = Int64 ? WebAssembly::CONST_I64 : WebAssembly::CONST_I32; in LowerFPToInt()
445 unsigned Eqz = WebAssembly::EQZ_I32; in LowerFPToInt()
446 unsigned And = WebAssembly::AND_I32; in LowerFPToInt()
476 CmpReg = MRI.createVirtualRegister(&WebAssembly::I32RegClass); in LowerFPToInt()
477 EqzReg = MRI.createVirtualRegister(&WebAssembly::I32RegClass); in LowerFPToInt()
497 MRI.createVirtualRegister(&WebAssembly::I32RegClass); in LowerFPToInt()
498 Register AndReg = MRI.createVirtualRegister(&WebAssembly::I32RegClass); in LowerFPToInt()
510 BuildMI(BB, DL, TII.get(WebAssembly::BR_IF)).addMBB(TrueMBB).addReg(EqzReg); in LowerFPToInt()
512 BuildMI(FalseMBB, DL, TII.get(WebAssembly::BR)).addMBB(DoneMBB); in LowerFPToInt()
528 assert(CallParams.getOpcode() == WebAssembly::CALL_PARAMS); in LowerCallResults()
529 assert(CallResults.getOpcode() == WebAssembly::CALL_RESULTS || in LowerCallResults()
530 CallResults.getOpcode() == WebAssembly::RET_CALL_RESULTS); in LowerCallResults()
533 bool IsRetCall = CallResults.getOpcode() == WebAssembly::RET_CALL_RESULTS; in LowerCallResults()
541 IsFuncrefCall = (TRC == &WebAssembly::FUNCREFRegClass); in LowerCallResults()
547 CallOp = WebAssembly::RET_CALL_INDIRECT; in LowerCallResults()
549 CallOp = WebAssembly::CALL_INDIRECT; in LowerCallResults()
551 CallOp = WebAssembly::RET_CALL; in LowerCallResults()
553 CallOp = WebAssembly::CALL; in LowerCallResults()
566 MF.getRegInfo().createVirtualRegister(&WebAssembly::I32RegClass); in LowerCallResults()
569 TII.get(WebAssembly::I32_WRAP_I64), Reg32) in LowerCallResults()
586 MF.getRegInfo().createVirtualRegister(&WebAssembly::I32RegClass); in LowerCallResults()
588 BuildMI(MF, DL, TII.get(WebAssembly::CONST_I32), RegZero).addImm(0); in LowerCallResults()
604 ? WebAssembly::getOrCreateFuncrefCallTableSymbol( in LowerCallResults()
606 : WebAssembly::getOrCreateFunctionTableSymbol( in LowerCallResults()
636 MCSymbolWasm *Table = WebAssembly::getOrCreateFuncrefCallTableSymbol( in LowerCallResults()
639 MF.getRegInfo().createVirtualRegister(&WebAssembly::I32RegClass); in LowerCallResults()
641 BuildMI(MF, DL, TII.get(WebAssembly::CONST_I32), RegZero).addImm(0); in LowerCallResults()
645 MF.getRegInfo().createVirtualRegister(&WebAssembly::FUNCREFRegClass); in LowerCallResults()
647 BuildMI(MF, DL, TII.get(WebAssembly::REF_NULL_FUNCREF), RegFuncref); in LowerCallResults()
651 BuildMI(MF, DL, TII.get(WebAssembly::TABLE_SET_FUNCREF)) in LowerCallResults()
669 case WebAssembly::FP_TO_SINT_I32_F32: in EmitInstrWithCustomInserter()
671 WebAssembly::I32_TRUNC_S_F32); in EmitInstrWithCustomInserter()
672 case WebAssembly::FP_TO_UINT_I32_F32: in EmitInstrWithCustomInserter()
674 WebAssembly::I32_TRUNC_U_F32); in EmitInstrWithCustomInserter()
675 case WebAssembly::FP_TO_SINT_I64_F32: in EmitInstrWithCustomInserter()
677 WebAssembly::I64_TRUNC_S_F32); in EmitInstrWithCustomInserter()
678 case WebAssembly::FP_TO_UINT_I64_F32: in EmitInstrWithCustomInserter()
680 WebAssembly::I64_TRUNC_U_F32); in EmitInstrWithCustomInserter()
681 case WebAssembly::FP_TO_SINT_I32_F64: in EmitInstrWithCustomInserter()
683 WebAssembly::I32_TRUNC_S_F64); in EmitInstrWithCustomInserter()
684 case WebAssembly::FP_TO_UINT_I32_F64: in EmitInstrWithCustomInserter()
686 WebAssembly::I32_TRUNC_U_F64); in EmitInstrWithCustomInserter()
687 case WebAssembly::FP_TO_SINT_I64_F64: in EmitInstrWithCustomInserter()
689 WebAssembly::I64_TRUNC_S_F64); in EmitInstrWithCustomInserter()
690 case WebAssembly::FP_TO_UINT_I64_F64: in EmitInstrWithCustomInserter()
692 WebAssembly::I64_TRUNC_U_F64); in EmitInstrWithCustomInserter()
693 case WebAssembly::CALL_RESULTS: in EmitInstrWithCustomInserter()
694 case WebAssembly::RET_CALL_RESULTS: in EmitInstrWithCustomInserter()
727 return std::make_pair(0U, &WebAssembly::V128RegClass); in getRegForInlineAsmConstraint()
731 return std::make_pair(0U, &WebAssembly::I32RegClass); in getRegForInlineAsmConstraint()
733 return std::make_pair(0U, &WebAssembly::I64RegClass); in getRegForInlineAsmConstraint()
738 return std::make_pair(0U, &WebAssembly::F32RegClass); in getRegForInlineAsmConstraint()
740 return std::make_pair(0U, &WebAssembly::F64RegClass); in getRegForInlineAsmConstraint()
1200 WebAssembly::isFuncrefType(CLI.CB->getCalledOperand()->getType())) { in LowerCall()
1209 MCSymbolWasm *Table = WebAssembly::getOrCreateFuncrefCallTableSymbol( in LowerCall()
1219 WebAssembly::WasmAddressSpace::WASM_ADDRESS_SPACE_FUNCREF), in LowerCall()
1293 MF.getRegInfo().addLiveIn(WebAssembly::ARGUMENTS); in LowerFormalArguments()
1447 return WebAssembly::isWasmVarAddressSpace(GA->getAddressSpace()); in IsWebAssemblyGlobal()
1463 if (GA && WebAssembly::isWasmVarAddressSpace(GA->getAddressSpace())) { in IsWebAssemblyTable()
1467 if (Ty->isArrayTy() && WebAssembly::isRefType(Ty->getArrayElementType())) in IsWebAssemblyTable()
1655 SDValue Copy(DAG.getMachineNode(VT == MVT::i32 ? WebAssembly::COPY_I32 in LowerCopyToReg()
1656 : WebAssembly::COPY_I64, in LowerCopyToReg()
1741 auto GlobalGet = PtrVT == MVT::i64 ? WebAssembly::GLOBAL_GET_I64 in LowerGlobalTLSAddress()
1742 : WebAssembly::GLOBAL_GET_I32; in LowerGlobalTLSAddress()
1774 if (!WebAssembly::isValidAddressSpace(GA->getAddressSpace())) in LowerGlobalAddress()