Lines Matching full:webassembly
1 //===-- WebAssemblyRegisterInfo.cpp - WebAssembly Register Information ----===//
11 /// \brief This file contains the WebAssembly implementation of the
48 for (auto Reg : {WebAssembly::SP32, WebAssembly::SP64, WebAssembly::FP32, in getReservedRegs()
49 WebAssembly::FP64}) in getReservedRegs()
69 if (MI.mayLoadOrStore() && FIOperandNum == WebAssembly::MemOpAddressOperandNo) { in eliminateFrameIndex()
76 .ChangeToRegister(WebAssembly::SP32, /*IsDef=*/false); in eliminateFrameIndex()
83 if (MI.getOpcode() == WebAssembly::ADD_I32) { in eliminateFrameIndex()
92 if (Def && Def->getOpcode() == WebAssembly::CONST_I32 && in eliminateFrameIndex()
97 .ChangeToRegister(WebAssembly::SP32, /*IsDef=*/false); in eliminateFrameIndex()
107 unsigned FIRegOperand = WebAssembly::SP32; in eliminateFrameIndex()
113 BuildMI(MBB, *II, II->getDebugLoc(), TII->get(WebAssembly::CONST_I32), in eliminateFrameIndex()
117 BuildMI(MBB, *II, II->getDebugLoc(), TII->get(WebAssembly::ADD_I32), in eliminateFrameIndex()
119 .addReg(WebAssembly::SP32) in eliminateFrameIndex()
129 /* !hasFP */ {WebAssembly::SP32, WebAssembly::SP64}, in getFrameRegister()
130 /* hasFP */ {WebAssembly::FP32, WebAssembly::FP64}}; in getFrameRegister()
138 assert(Kind == 0 && "Only one kind of pointer on WebAssembly"); in getPointerRegClass()
140 return &WebAssembly::I64RegClass; in getPointerRegClass()
141 return &WebAssembly::I32RegClass; in getPointerRegClass()