From 4c877cc89bd7b29917002f370b97bc19b114459e Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Thu, 23 Oct 2008 05:59:43 +0000 Subject: [PATCH] Hook "fast" code generation to -O0. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58035 91177308-0d34-0410-b5e6-96231b3b80d8 --- Driver/Backend.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/Driver/Backend.cpp b/Driver/Backend.cpp index dd372b195d..f8cfa997e2 100644 --- a/Driver/Backend.cpp +++ b/Driver/Backend.cpp @@ -65,12 +65,9 @@ namespace { /// AddEmitPasses - Add passes necessary to emit assembly or LLVM /// IR. /// - /// \arg Fast - Whether "fast" native compilation should be - /// used. This implies local register allocation and fast - /// instruction selection. /// \return True on success. On failure \arg Error will be set to /// a user readable error message. - bool AddEmitPasses(bool Fast, std::string &Error); + bool AddEmitPasses(std::string &Error); void EmitAssembly(); @@ -150,7 +147,7 @@ FunctionPassManager *BackendConsumer::getPerFunctionPasses() const { return PerFunctionPasses; } -bool BackendConsumer::AddEmitPasses(bool Fast, std::string &Error) { +bool BackendConsumer::AddEmitPasses(std::string &Error) { if (OutputFile == "-" || (InputFile == "-" && OutputFile.empty())) { AsmOutStream = new raw_stdout_ostream(); sys::Program::ChangeStdoutToBinary(); @@ -179,6 +176,8 @@ bool BackendConsumer::AddEmitPasses(bool Fast, std::string &Error) { } else if (Action == Backend_EmitLL) { getPerModulePasses()->add(createPrintModulePass(AsmOutStream)); } else { + bool Fast = CompileOpts.OptimizationLevel == 0; + // Create the TargetMachine for generating code. const TargetMachineRegistry::entry *TME = TargetMachineRegistry::getClosestStaticTargetForModule(*TheModule, Error); @@ -316,8 +315,6 @@ void BackendConsumer::EmitAssembly() { if (!TheModule || !TheTargetData) return; - bool Optimize = false; // FIXME - // Make sure IR generation is happy with the module. // FIXME: Release this. Module *M = Gen->ReleaseModule(); @@ -331,7 +328,7 @@ void BackendConsumer::EmitAssembly() { CreatePasses(); std::string Error; - if (!AddEmitPasses(!Optimize, Error)) { + if (!AddEmitPasses(Error)) { // FIXME: Don't fail this way. llvm::cerr << "ERROR: " << Error << "\n"; ::exit(1); -- 2.40.0