Change some methods in MCDwarf.cpp to be able to handle an arbitrary

MCStreamer instead of just MCObjectStreamer. Address changes cannot
be as efficient as we have to use DW_LNE_set_addres, but at least
most of the logic is shared.

This will be used so that, with CodeGen still using EmitDwarfLocDirective,
llvm-gcc is able to produce debug_line sections without needing an
assembler that supports .loc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119777 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola
2010-11-19 02:26:16 +00:00
parent 602890dd8e
commit 195a0ce484
9 changed files with 128 additions and 43 deletions

View File

@@ -28,6 +28,7 @@ namespace llvm {
class MCSymbol;
class StringRef;
class TargetAsmBackend;
class TargetLoweringObjectFile;
class Twine;
class raw_ostream;
class formatted_raw_ostream;
@@ -388,6 +389,14 @@ namespace llvm {
MCCodeEmitter *CE = 0,
bool ShowInst = false);
MCStreamer *createAsmStreamerNoLoc(MCContext &Ctx, formatted_raw_ostream &OS,
bool isLittleEndian, bool isVerboseAsm,
const TargetLoweringObjectFile *TLOF,
int PointerSize,
MCInstPrinter *InstPrint = 0,
MCCodeEmitter *CE = 0,
bool ShowInst = false);
/// createMachOStreamer - Create a machine code streamer which will generate
/// Mach-O format object files.
///