diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2009-08-26 13:44:29 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2009-08-26 13:44:29 +0000 |
commit | cd76128f182b9a9f3986384523cf90f4c30e4d35 (patch) | |
tree | 939263e00edd02b6b91f26752a3249449f7632e0 /lib/Target/MSP430/AsmPrinter | |
parent | 3772fb11feabfa304faddaaf902eaf57307766af (diff) | |
download | llvm-cd76128f182b9a9f3986384523cf90f4c30e4d35.tar.gz llvm-cd76128f182b9a9f3986384523cf90f4c30e4d35.tar.bz2 llvm-cd76128f182b9a9f3986384523cf90f4c30e4d35.tar.xz |
Add dummy inline asm handling for 'r' constraint. This fixes PR4778
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80085 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/MSP430/AsmPrinter')
-rw-r--r-- | lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp b/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp index 8724eefc69..6e2e9599df 100644 --- a/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp +++ b/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp @@ -58,6 +58,9 @@ namespace { void printCCOperand(const MachineInstr *MI, int OpNum); void printInstruction(const MachineInstr *MI); // autogenerated. void printMachineInstruction(const MachineInstr * MI); + bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo, + unsigned AsmVariant, + const char *ExtraCode); void emitFunctionHeader(const MachineFunction &MF); bool runOnMachineFunction(MachineFunction &F); @@ -243,6 +246,19 @@ void MSP430AsmPrinter::printCCOperand(const MachineInstr *MI, int OpNum) { } } +/// PrintAsmOperand - Print out an operand for an inline asm expression. +/// +bool MSP430AsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNo, + unsigned AsmVariant, + const char *ExtraCode) { + // Does this asm operand have a single letter operand modifier? + if (ExtraCode && ExtraCode[0]) + return true; // Unknown modifier. + + printOperand(MI, OpNo); + return false; +} + // Force static initialization. extern "C" void LLVMInitializeMSP430AsmPrinter() { RegisterAsmPrinter<MSP430AsmPrinter> X(TheMSP430Target); |