Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
Show First 20 Lines • Show All 51 Lines • ▼ Show 20 Lines | case MachineOperand::MO_Register: | ||||
MCOp = MCOperand::createReg(MO.getReg()); | MCOp = MCOperand::createReg(MO.getReg()); | ||||
break; | break; | ||||
case MachineOperand::MO_RegisterMask: | case MachineOperand::MO_RegisterMask: | ||||
// Regmasks are like implicit defs. | // Regmasks are like implicit defs. | ||||
return false; | return false; | ||||
case MachineOperand::MO_Immediate: | case MachineOperand::MO_Immediate: | ||||
MCOp = MCOperand::createImm(MO.getImm()); | MCOp = MCOperand::createImm(MO.getImm()); | ||||
break; | break; | ||||
case MachineOperand::MO_ConstantPoolIndex: | |||||
MCOp = lowerSymbolOperand(MO, AP.GetCPISymbol(MO.getIndex()), AP); | |||||
break; | |||||
case MachineOperand::MO_GlobalAddress: | case MachineOperand::MO_GlobalAddress: | ||||
MCOp = lowerSymbolOperand(MO, AP.getSymbolPreferLocal(*MO.getGlobal()), AP); | MCOp = lowerSymbolOperand(MO, AP.getSymbolPreferLocal(*MO.getGlobal()), AP); | ||||
break; | break; | ||||
case MachineOperand::MO_MachineBasicBlock: | case MachineOperand::MO_MachineBasicBlock: | ||||
MCOp = lowerSymbolOperand(MO, MO.getMBB()->getSymbol(), AP); | MCOp = lowerSymbolOperand(MO, MO.getMBB()->getSymbol(), AP); | ||||
break; | break; | ||||
// TODO: lower special operands | // TODO: lower special operands | ||||
case MachineOperand::MO_BlockAddress: | case MachineOperand::MO_BlockAddress: | ||||
case MachineOperand::MO_ExternalSymbol: | case MachineOperand::MO_ExternalSymbol: | ||||
case MachineOperand::MO_ConstantPoolIndex: | |||||
case MachineOperand::MO_JumpTableIndex: | case MachineOperand::MO_JumpTableIndex: | ||||
break; | break; | ||||
} | } | ||||
return true; | return true; | ||||
} | } | ||||
bool llvm::lowerLoongArchMachineInstrToMCInst(const MachineInstr *MI, | bool llvm::lowerLoongArchMachineInstrToMCInst(const MachineInstr *MI, | ||||
MCInst &OutMI, AsmPrinter &AP) { | MCInst &OutMI, AsmPrinter &AP) { | ||||
Show All 9 Lines |