diff options
Diffstat (limited to 'lib/CodeGen/AsmPrinter/AsmPrinter.cpp')
| -rw-r--r-- | lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index d9be7a1..b7fc663 100644 --- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -13,9 +13,11 @@ #define DEBUG_TYPE "asm-printer" #include "llvm/CodeGen/AsmPrinter.h" -#include "DwarfDebug.h" -#include "DwarfException.h" -#include "llvm/DebugInfo.h" +#if !defined(ANDROID_TARGET_BUILD) || defined(ANDROID_ENGINEERING_BUILD) +# include "DwarfDebug.h" +# include "DwarfException.h" +# include "llvm/DebugInfo.h" +#endif // !ANDROID_TARGET_BUILD || ANDROID_ENGINEERING_BUILD #include "llvm/Module.h" #include "llvm/CodeGen/GCMetadataPrinter.h" #include "llvm/CodeGen/MachineConstantPool.h" @@ -46,6 +48,7 @@ #include "llvm/Support/Format.h" #include "llvm/Support/MathExtras.h" #include "llvm/Support/Timer.h" +#include <ctype.h> using namespace llvm; static const char *DWARFGroupName = "DWARF Emission"; @@ -187,6 +190,7 @@ bool AsmPrinter::doInitialization(Module &M) { OutStreamer.AddBlankLine(); } +#if !defined(ANDROID_TARGET_BUILD) || defined(ANDROID_ENGINEERING_BUILD) if (MAI->doesSupportDebugInformation()) DD = new DwarfDebug(this, &M); @@ -204,6 +208,9 @@ bool AsmPrinter::doInitialization(Module &M) { DE = new Win64Exception(this); return false; } +#else + return false; +#endif // !ANDROID_TARGET_BUILD || ANDROID_ENGINEERING_BUILD llvm_unreachable("Unknown exception type."); } @@ -460,6 +467,7 @@ void AsmPrinter::EmitFunctionHeader() { } // Emit pre-function debug and/or EH information. +#if !defined(ANDROID_TARGET_BUILD) || defined(ANDROID_ENGINEERING_BUILD) if (DE) { NamedRegionTimer T(EHTimerName, DWARFGroupName, TimePassesIsEnabled); DE->BeginFunction(MF); @@ -468,6 +476,7 @@ void AsmPrinter::EmitFunctionHeader() { NamedRegionTimer T(DbgTimerName, DWARFGroupName, TimePassesIsEnabled); DD->beginFunction(MF); } +#endif // !ANDROID_TARGET_BUILD || ANDROID_ENGINEERING_BUILD } /// EmitFunctionEntryLabel - Emit the label that is the entrypoint for the @@ -665,13 +674,15 @@ void AsmPrinter::EmitFunctionBody() { if (!II->isLabel() && !II->isImplicitDef() && !II->isKill() && !II->isDebugValue()) { HasAnyRealCode = true; + ++EmittedInsts; } - +#if !defined(ANDROID_TARGET_BUILD) || defined(ANDROID_ENGINEERING_BUILD) if (ShouldPrintDebugScopes) { NamedRegionTimer T(DbgTimerName, DWARFGroupName, TimePassesIsEnabled); DD->beginInstruction(II); } +#endif // !ANDROID_TARGET_BUILD || ANDROID_ENGINEERING_BUILD if (isVerbose()) EmitComments(*II, OutStreamer.GetCommentOS()); @@ -708,10 +719,12 @@ void AsmPrinter::EmitFunctionBody() { break; } +#if !defined(ANDROID_TARGET_BUILD) || defined(ANDROID_ENGINEERING_BUILD) if (ShouldPrintDebugScopes) { NamedRegionTimer T(DbgTimerName, DWARFGroupName, TimePassesIsEnabled); DD->endInstruction(II); } +#endif // !ANDROID_TARGET_BUILD || ANDROID_ENGINEERING_BUILD } } @@ -767,6 +780,7 @@ void AsmPrinter::EmitFunctionBody() { } // Emit post-function debug information. +#if !defined(ANDROID_TARGET_BUILD) || defined(ANDROID_ENGINEERING_BUILD) if (DD) { NamedRegionTimer T(DbgTimerName, DWARFGroupName, TimePassesIsEnabled); DD->endFunction(MF); @@ -775,6 +789,7 @@ void AsmPrinter::EmitFunctionBody() { NamedRegionTimer T(EHTimerName, DWARFGroupName, TimePassesIsEnabled); DE->EndFunction(); } +#endif // !ANDROID_TARGET_BUILD || ANDROID_ENGINEERING_BUILD MMI->EndFunction(); // Print out jump tables referenced by the function. @@ -864,6 +879,7 @@ bool AsmPrinter::doFinalization(Module &M) { getObjFileLowering().emitModuleFlags(OutStreamer, ModuleFlags, Mang, TM); // Finalize debug and EH information. +#if !defined(ANDROID_TARGET_BUILD) || defined(ANDROID_ENGINEERING_BUILD) if (DE) { { NamedRegionTimer T(EHTimerName, DWARFGroupName, TimePassesIsEnabled); @@ -878,6 +894,7 @@ bool AsmPrinter::doFinalization(Module &M) { } delete DD; DD = 0; } +#endif // !ANDROID_TARGET_BUILD || ANDROID_ENGINEERING_BUILD // If the target wants to know about weak references, print them all. if (MAI->getWeakRefDirective()) { |
