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 | ff259dbe71427fbe989d2f886f08c00e369df771 (patch) | |
tree | d31ee6cae9289ca7b8771cc4bfd60870038cbfe3 /lib/CodeGen/AsmPrinter/AsmPrinter.cpp | |
parent | fa4e853215e887efaf9537c1331ed3c1dfebb662 (diff) | |
download | external_llvm-ff259dbe71427fbe989d2f886f08c00e369df771.tar.gz external_llvm-ff259dbe71427fbe989d2f886f08c00e369df771.tar.bz2 external_llvm-ff259dbe71427fbe989d2f886f08c00e369df771.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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95177 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter/AsmPrinter.cpp')
-rw-r--r-- | lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index fea06badca..71668f5e25 100644 --- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/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'; |