diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-12-09 23:48:29 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-12-09 23:48:29 +0000 |
| commit | 56eb7412370ba82756913f9f6003f93770a2741f (patch) | |
| tree | b0f3431e9be319e0bc22420cd262c2d954048818 /llvm/lib/CodeGen/LLVMTargetMachine.cpp | |
| parent | afcfae5f16f81a38cf4682a860a032aa997ca736 (diff) | |
| download | bcm5719-llvm-56eb7412370ba82756913f9f6003f93770a2741f.tar.gz bcm5719-llvm-56eb7412370ba82756913f9f6003f93770a2741f.zip | |
Initial support for the cfi directives. This is just enough to get
f:
.cfi_startproc
nop
.cfi_endproc
assembled (on ELF).
llvm-svn: 121434
Diffstat (limited to 'llvm/lib/CodeGen/LLVMTargetMachine.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/LLVMTargetMachine.cpp | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/llvm/lib/CodeGen/LLVMTargetMachine.cpp b/llvm/lib/CodeGen/LLVMTargetMachine.cpp index 5954f62da95..af94365218c 100644 --- a/llvm/lib/CodeGen/LLVMTargetMachine.cpp +++ b/llvm/lib/CodeGen/LLVMTargetMachine.cpp @@ -24,6 +24,7 @@ #include "llvm/Target/TargetOptions.h" #include "llvm/MC/MCAsmInfo.h" #include "llvm/MC/MCStreamer.h" +#include "llvm/Target/TargetAsmInfo.h" #include "llvm/Target/TargetData.h" #include "llvm/Target/TargetRegistry.h" #include "llvm/Transforms/Scalar.h" @@ -145,27 +146,12 @@ bool LLVMTargetMachine::addPassesToEmitFile(PassManagerBase &PM, if (ShowMCEncoding) MCE = getTarget().createCodeEmitter(*this, *Context); - const TargetLoweringObjectFile &TLOF = - getTargetLowering()->getObjFileLowering(); - int PointerSize = getTargetData()->getPointerSize(); - - MCStreamer *S; - if (hasMCUseLoc()) - S = getTarget().createAsmStreamer(*Context, Out, - getTargetData()->isLittleEndian(), - getVerboseAsm(), - InstPrinter, - MCE, - ShowMCInst); - else - S = createAsmStreamerNoLoc(*Context, Out, - getTargetData()->isLittleEndian(), - getVerboseAsm(), - &TLOF, - PointerSize, - InstPrinter, - MCE, - ShowMCInst); + MCStreamer *S = getTarget().createAsmStreamer(*Context, Out, + getVerboseAsm(), + hasMCUseLoc(), + InstPrinter, + MCE, + ShowMCInst); AsmStreamer.reset(S); break; } @@ -344,7 +330,8 @@ bool LLVMTargetMachine::addCommonCodeGenPasses(PassManagerBase &PM, // Install a MachineModuleInfo class, which is an immutable pass that holds // all the per-module stuff we're generating, including MCContext. - MachineModuleInfo *MMI = new MachineModuleInfo(*getMCAsmInfo()); + TargetAsmInfo *TAI = new TargetAsmInfo(*this); + MachineModuleInfo *MMI = new MachineModuleInfo(*getMCAsmInfo(), TAI); PM.add(MMI); OutContext = &MMI->getContext(); // Return the MCContext specifically by-ref. |

