diff options
author | Chris Lattner <sabre@nondot.org> | 2010-02-02 18:44:12 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-02-02 18:44:12 +0000 |
commit | 0823d2a654cb3a075016f6efd21359ed4f5aca21 (patch) | |
tree | 174ad17988f0d18b0d2377d6cdcd69921cb64009 /lib | |
parent | 8991d51ddcea31e198aff1fd01c05af2679ee8f8 (diff) | |
download | external_llvm-0823d2a654cb3a075016f6efd21359ed4f5aca21.zip external_llvm-0823d2a654cb3a075016f6efd21359ed4f5aca21.tar.gz external_llvm-0823d2a654cb3a075016f6efd21359ed4f5aca21.tar.bz2 |
Inline addAssemblyEmitter into its one real caller and delete
the -print-emitted-asm option. The JIT shouldn't have to pull
in the asmprinter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95100 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/CodeGen/LLVMTargetMachine.cpp | 38 |
1 files changed, 7 insertions, 31 deletions
diff --git a/lib/CodeGen/LLVMTargetMachine.cpp b/lib/CodeGen/LLVMTargetMachine.cpp index 0c2fd8b..55c659a 100644 --- a/lib/CodeGen/LLVMTargetMachine.cpp +++ b/lib/CodeGen/LLVMTargetMachine.cpp @@ -57,8 +57,6 @@ static cl::opt<bool> PrintLSR("print-lsr-output", cl::Hidden, cl::desc("Print LLVM IR produced by the loop-reduce pass")); static cl::opt<bool> PrintISelInput("print-isel-input", cl::Hidden, cl::desc("Print LLVM IR input to isel pass")); -static cl::opt<bool> PrintEmittedAsm("print-emitted-asm", cl::Hidden, - cl::desc("Dump emitter generated instructions as assembly")); static cl::opt<bool> PrintGCInfo("print-gc", cl::Hidden, cl::desc("Dump garbage collector data")); static cl::opt<bool> VerifyMachineCode("verify-machineinstrs", cl::Hidden, @@ -110,29 +108,20 @@ LLVMTargetMachine::addPassesToEmitFile(PassManagerBase &PM, switch (FileType) { default: break; - case TargetMachine::AssemblyFile: - if (addAssemblyEmitter(PM, OptLevel, getAsmVerbosityDefault(), Out)) - return FileModel::Error; + case TargetMachine::AssemblyFile: { + FunctionPass *Printer = + getTarget().createAsmPrinter(Out, *this, getMCAsmInfo(), + getAsmVerbosityDefault()); + if (Printer == 0) break; + PM.add(Printer); return FileModel::AsmFile; + } case TargetMachine::ObjectFile: return FileModel::Error; } return FileModel::Error; } -bool LLVMTargetMachine::addAssemblyEmitter(PassManagerBase &PM, - CodeGenOpt::Level OptLevel, - bool Verbose, - formatted_raw_ostream &Out) { - FunctionPass *Printer = - getTarget().createAsmPrinter(Out, *this, getMCAsmInfo(), Verbose); - if (!Printer) - return true; - - PM.add(Printer); - return false; -} - /// addPassesToEmitFileFinish - If the passes to emit the specified file had to /// be split up (e.g., to add an object writer pass), this method can be used to /// finish up adding passes to emit the file, if necessary. @@ -144,8 +133,6 @@ bool LLVMTargetMachine::addPassesToEmitFileFinish(PassManagerBase &PM, if (MCE) addSimpleCodeEmitter(PM, OptLevel, *MCE); - if (PrintEmittedAsm) - addAssemblyEmitter(PM, OptLevel, true, ferrs()); PM.add(createGCInfoDeleter()); @@ -163,8 +150,6 @@ bool LLVMTargetMachine::addPassesToEmitFileFinish(PassManagerBase &PM, if (JCE) addSimpleCodeEmitter(PM, OptLevel, *JCE); - if (PrintEmittedAsm) - addAssemblyEmitter(PM, OptLevel, true, ferrs()); PM.add(createGCInfoDeleter()); @@ -180,9 +165,6 @@ bool LLVMTargetMachine::addPassesToEmitFileFinish(PassManagerBase &PM, // Make sure the code model is set. setCodeModelForStatic(); - if (PrintEmittedAsm) - addAssemblyEmitter(PM, OptLevel, true, ferrs()); - PM.add(createGCInfoDeleter()); return false; // success! @@ -205,9 +187,6 @@ bool LLVMTargetMachine::addPassesToEmitMachineCode(PassManagerBase &PM, return true; addCodeEmitter(PM, OptLevel, MCE); - if (PrintEmittedAsm) - addAssemblyEmitter(PM, OptLevel, true, ferrs()); - PM.add(createGCInfoDeleter()); return false; // success! @@ -230,9 +209,6 @@ bool LLVMTargetMachine::addPassesToEmitMachineCode(PassManagerBase &PM, return true; addCodeEmitter(PM, OptLevel, JCE); - if (PrintEmittedAsm) - addAssemblyEmitter(PM, OptLevel, true, ferrs()); - PM.add(createGCInfoDeleter()); return false; // success! |