diff options
| author | Chris Lattner <sabre@nondot.org> | 2010-02-03 01:00:52 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2010-02-03 01:00:52 +0000 |
| commit | 41ad1905c91b3bbedbacf42b12f8edef59466084 (patch) | |
| tree | 20029a4be384d19e7b02a2ada0ba3aa2d452a87e /llvm/lib/CodeGen | |
| parent | 2adddcae7ed197ec163d5bd52283ec457657cf86 (diff) | |
| download | bcm5719-llvm-41ad1905c91b3bbedbacf42b12f8edef59466084.tar.gz bcm5719-llvm-41ad1905c91b3bbedbacf42b12f8edef59466084.zip | |
sink handling of target-independent machine instrs (other
than DEBUG_VALUE :( ) into the target indep AsmPrinter.cpp
file. This allows elimination of the
NO_ASM_WRITER_BOILERPLATE hack among other things.
llvm-svn: 95177
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index fea06badcae..71668f5e25d 100644 --- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -346,8 +346,25 @@ void AsmPrinter::EmitFunctionBody() { // FIXME: Clean up processDebugLoc. processDebugLoc(II, true); - EmitInstruction(II); - + switch (II->getOpcode()) { + case TargetInstrInfo::DBG_LABEL: + case TargetInstrInfo::EH_LABEL: + case TargetInstrInfo::GC_LABEL: + printLabel(II); + break; + case TargetInstrInfo::INLINEASM: + printInlineAsm(II); + break; + case TargetInstrInfo::IMPLICIT_DEF: + printImplicitDef(II); + break; + case TargetInstrInfo::KILL: + printKill(II); + break; + default: + EmitInstruction(II); + break; + } if (VerboseAsm) EmitComments(*II); O << '\n'; |

