WebAssembly does not have physical registers, so even if LLVM uses physical
registers like SP, they'll need to be lowered to virtual registers before
AsmPrinter time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253644
91177308-0d34-0410-b5e6-
96231b3b80d8
std::string WebAssemblyAsmPrinter::regToString(const MachineOperand &MO) {
unsigned RegNo = MO.getReg();
- if (TargetRegisterInfo::isPhysicalRegister(RegNo))
- return WebAssemblyInstPrinter::getRegisterName(RegNo);
-
+ assert(TargetRegisterInfo::isVirtualRegister(RegNo) &&
+ "Unlowered physical register encountered during assembly printing");
assert(!MFI->isVRegStackified(RegNo));
unsigned WAReg = MFI->getWAReg(RegNo);
assert(WAReg != WebAssemblyFunctionInfo::UnusedReg);