Lines Matching refs:WebAssembly
59 Subtarget->hasAddr64() ? WebAssembly::SP64 : WebAssembly::SP32); in WebAssemblyTargetLowering()
61 addRegisterClass(MVT::i32, &WebAssembly::I32RegClass); in WebAssemblyTargetLowering()
62 addRegisterClass(MVT::i64, &WebAssembly::I64RegClass); in WebAssemblyTargetLowering()
63 addRegisterClass(MVT::f32, &WebAssembly::F32RegClass); in WebAssemblyTargetLowering()
64 addRegisterClass(MVT::f64, &WebAssembly::F64RegClass); in WebAssemblyTargetLowering()
66 addRegisterClass(MVT::v16i8, &WebAssembly::V128RegClass); in WebAssemblyTargetLowering()
67 addRegisterClass(MVT::v8i16, &WebAssembly::V128RegClass); in WebAssemblyTargetLowering()
68 addRegisterClass(MVT::v4i32, &WebAssembly::V128RegClass); in WebAssemblyTargetLowering()
69 addRegisterClass(MVT::v4f32, &WebAssembly::V128RegClass); in WebAssemblyTargetLowering()
70 addRegisterClass(MVT::v2i64, &WebAssembly::V128RegClass); in WebAssemblyTargetLowering()
71 addRegisterClass(MVT::v2f64, &WebAssembly::V128RegClass); in WebAssemblyTargetLowering()
74 addRegisterClass(MVT::externref, &WebAssembly::EXTERNREFRegClass); in WebAssemblyTargetLowering()
75 addRegisterClass(MVT::funcref, &WebAssembly::FUNCREFRegClass); in WebAssemblyTargetLowering()
367 if (AS == WebAssembly::WasmAddressSpace::WASM_ADDRESS_SPACE_EXTERNREF) in getPointerTy()
369 if (AS == WebAssembly::WasmAddressSpace::WASM_ADDRESS_SPACE_FUNCREF) in getPointerTy()
376 if (AS == WebAssembly::WasmAddressSpace::WASM_ADDRESS_SPACE_EXTERNREF) in getPointerMemTy()
378 if (AS == WebAssembly::WasmAddressSpace::WASM_ADDRESS_SPACE_FUNCREF) in getPointerMemTy()
422 return WebAssembly::createFastISel(FuncInfo, LibInfo); in createFastISel()
458 unsigned Abs = Float64 ? WebAssembly::ABS_F64 : WebAssembly::ABS_F32; in LowerFPToInt()
459 unsigned FConst = Float64 ? WebAssembly::CONST_F64 : WebAssembly::CONST_F32; in LowerFPToInt()
460 unsigned LT = Float64 ? WebAssembly::LT_F64 : WebAssembly::LT_F32; in LowerFPToInt()
461 unsigned GE = Float64 ? WebAssembly::GE_F64 : WebAssembly::GE_F32; in LowerFPToInt()
462 unsigned IConst = Int64 ? WebAssembly::CONST_I64 : WebAssembly::CONST_I32; in LowerFPToInt()
463 unsigned Eqz = WebAssembly::EQZ_I32; in LowerFPToInt()
464 unsigned And = WebAssembly::AND_I32; in LowerFPToInt()
494 CmpReg = MRI.createVirtualRegister(&WebAssembly::I32RegClass); in LowerFPToInt()
495 EqzReg = MRI.createVirtualRegister(&WebAssembly::I32RegClass); in LowerFPToInt()
515 MRI.createVirtualRegister(&WebAssembly::I32RegClass); in LowerFPToInt()
516 Register AndReg = MRI.createVirtualRegister(&WebAssembly::I32RegClass); in LowerFPToInt()
528 BuildMI(BB, DL, TII.get(WebAssembly::BR_IF)).addMBB(TrueMBB).addReg(EqzReg); in LowerFPToInt()
530 BuildMI(FalseMBB, DL, TII.get(WebAssembly::BR)).addMBB(DoneMBB); in LowerFPToInt()
546 assert(CallParams.getOpcode() == WebAssembly::CALL_PARAMS); in LowerCallResults()
547 assert(CallResults.getOpcode() == WebAssembly::CALL_RESULTS || in LowerCallResults()
548 CallResults.getOpcode() == WebAssembly::RET_CALL_RESULTS); in LowerCallResults()
552 bool IsRetCall = CallResults.getOpcode() == WebAssembly::RET_CALL_RESULTS; in LowerCallResults()
560 IsFuncrefCall = (TRC == &WebAssembly::FUNCREFRegClass); in LowerCallResults()
566 CallOp = WebAssembly::RET_CALL_INDIRECT; in LowerCallResults()
568 CallOp = WebAssembly::CALL_INDIRECT; in LowerCallResults()
570 CallOp = WebAssembly::RET_CALL; in LowerCallResults()
572 CallOp = WebAssembly::CALL; in LowerCallResults()
585 MF.getRegInfo().createVirtualRegister(&WebAssembly::I32RegClass); in LowerCallResults()
588 TII.get(WebAssembly::I32_WRAP_I64), Reg32) in LowerCallResults()
605 MF.getRegInfo().createVirtualRegister(&WebAssembly::I32RegClass); in LowerCallResults()
607 BuildMI(MF, DL, TII.get(WebAssembly::CONST_I32), RegZero).addImm(0); in LowerCallResults()
623 ? WebAssembly::getOrCreateFuncrefCallTableSymbol( in LowerCallResults()
625 : WebAssembly::getOrCreateFunctionTableSymbol( in LowerCallResults()
655 MCSymbolWasm *Table = WebAssembly::getOrCreateFuncrefCallTableSymbol( in LowerCallResults()
658 MF.getRegInfo().createVirtualRegister(&WebAssembly::I32RegClass); in LowerCallResults()
660 BuildMI(MF, DL, TII.get(WebAssembly::CONST_I32), RegZero).addImm(0); in LowerCallResults()
664 MF.getRegInfo().createVirtualRegister(&WebAssembly::FUNCREFRegClass); in LowerCallResults()
666 BuildMI(MF, DL, TII.get(WebAssembly::REF_NULL_FUNCREF), RegFuncref); in LowerCallResults()
670 BuildMI(MF, DL, TII.get(WebAssembly::TABLE_SET_FUNCREF)) in LowerCallResults()
688 case WebAssembly::FP_TO_SINT_I32_F32: in EmitInstrWithCustomInserter()
690 WebAssembly::I32_TRUNC_S_F32); in EmitInstrWithCustomInserter()
691 case WebAssembly::FP_TO_UINT_I32_F32: in EmitInstrWithCustomInserter()
693 WebAssembly::I32_TRUNC_U_F32); in EmitInstrWithCustomInserter()
694 case WebAssembly::FP_TO_SINT_I64_F32: in EmitInstrWithCustomInserter()
696 WebAssembly::I64_TRUNC_S_F32); in EmitInstrWithCustomInserter()
697 case WebAssembly::FP_TO_UINT_I64_F32: in EmitInstrWithCustomInserter()
699 WebAssembly::I64_TRUNC_U_F32); in EmitInstrWithCustomInserter()
700 case WebAssembly::FP_TO_SINT_I32_F64: in EmitInstrWithCustomInserter()
702 WebAssembly::I32_TRUNC_S_F64); in EmitInstrWithCustomInserter()
703 case WebAssembly::FP_TO_UINT_I32_F64: in EmitInstrWithCustomInserter()
705 WebAssembly::I32_TRUNC_U_F64); in EmitInstrWithCustomInserter()
706 case WebAssembly::FP_TO_SINT_I64_F64: in EmitInstrWithCustomInserter()
708 WebAssembly::I64_TRUNC_S_F64); in EmitInstrWithCustomInserter()
709 case WebAssembly::FP_TO_UINT_I64_F64: in EmitInstrWithCustomInserter()
711 WebAssembly::I64_TRUNC_U_F64); in EmitInstrWithCustomInserter()
712 case WebAssembly::CALL_RESULTS: in EmitInstrWithCustomInserter()
713 case WebAssembly::RET_CALL_RESULTS: in EmitInstrWithCustomInserter()
746 return std::make_pair(0U, &WebAssembly::V128RegClass); in getRegForInlineAsmConstraint()
750 return std::make_pair(0U, &WebAssembly::I32RegClass); in getRegForInlineAsmConstraint()
752 return std::make_pair(0U, &WebAssembly::I64RegClass); in getRegForInlineAsmConstraint()
757 return std::make_pair(0U, &WebAssembly::F32RegClass); in getRegForInlineAsmConstraint()
759 return std::make_pair(0U, &WebAssembly::F64RegClass); in getRegForInlineAsmConstraint()
1242 if (CLI.CB && WebAssembly::isWebAssemblyFuncrefType( in LowerCall()
1252 MCSymbolWasm *Table = WebAssembly::getOrCreateFuncrefCallTableSymbol( in LowerCall()
1262 WebAssembly::WasmAddressSpace::WASM_ADDRESS_SPACE_FUNCREF), in LowerCall()
1336 MF.getRegInfo().addLiveIn(WebAssembly::ARGUMENTS); in LowerFormalArguments()
1498 return WebAssembly::isWasmVarAddressSpace(GA->getAddressSpace()); in IsWebAssemblyGlobal()
1543 if (WebAssembly::isWasmVarAddressSpace(SN->getAddressSpace())) in LowerStore()
1583 if (WebAssembly::isWasmVarAddressSpace(LN->getAddressSpace())) in LowerLoad()
1604 SDValue Copy(DAG.getMachineNode(VT == MVT::i32 ? WebAssembly::COPY_I32 in LowerCopyToReg()
1605 : WebAssembly::COPY_I64, in LowerCopyToReg()
1690 auto GlobalGet = PtrVT == MVT::i64 ? WebAssembly::GLOBAL_GET_I64 in LowerGlobalTLSAddress()
1691 : WebAssembly::GLOBAL_GET_I32; in LowerGlobalTLSAddress()
1723 if (!WebAssembly::isValidAddressSpace(GA->getAddressSpace())) in LowerGlobalAddress()
1731 !WebAssembly::isWebAssemblyTableType(GV->getValueType())) { in LowerGlobalAddress()