From: Rafael Espindola Date: Thu, 9 Apr 2015 21:06:11 +0000 (+0000) Subject: Update for LLVM api changes. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e9834380edfd4ce76bf08581a34c90c7df933bad;p=clang Update for LLVM api changes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@234536 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/BackendUtil.cpp b/lib/CodeGen/BackendUtil.cpp index bdab637a10..90f594fe15 100644 --- a/lib/CodeGen/BackendUtil.cpp +++ b/lib/CodeGen/BackendUtil.cpp @@ -27,7 +27,6 @@ #include "llvm/IR/Verifier.h" #include "llvm/MC/SubtargetFeature.h" #include "llvm/Support/CommandLine.h" -#include "llvm/Support/FormattedStream.h" #include "llvm/Support/PrettyStackTrace.h" #include "llvm/Support/TargetRegistry.h" #include "llvm/Support/Timer.h" @@ -110,7 +109,7 @@ private: /// AddEmitPasses - Add passes necessary to emit assembly or LLVM IR. /// /// \return True on success. - bool AddEmitPasses(BackendAction Action, formatted_raw_ostream &OS); + bool AddEmitPasses(BackendAction Action, raw_ostream &OS); public: EmitAssemblyHelper(DiagnosticsEngine &_Diags, @@ -548,8 +547,7 @@ TargetMachine *EmitAssemblyHelper::CreateTargetMachine(bool MustCreateTM) { return TM; } -bool EmitAssemblyHelper::AddEmitPasses(BackendAction Action, - formatted_raw_ostream &OS) { +bool EmitAssemblyHelper::AddEmitPasses(BackendAction Action, raw_ostream &OS) { // Create the code generator passes. legacy::PassManager *PM = getCodeGenPasses(); @@ -588,7 +586,6 @@ bool EmitAssemblyHelper::AddEmitPasses(BackendAction Action, void EmitAssemblyHelper::EmitAssembly(BackendAction Action, raw_ostream *OS) { TimeRegion Region(llvm::TimePassesIsEnabled ? &CodeGenerationTime : nullptr); - llvm::formatted_raw_ostream FormattedOS; bool UsesCodeGen = (Action != Backend_EmitNothing && Action != Backend_EmitBC && @@ -608,13 +605,11 @@ void EmitAssemblyHelper::EmitAssembly(BackendAction Action, raw_ostream *OS) { break; case Backend_EmitLL: - FormattedOS.setStream(*OS, formatted_raw_ostream::PRESERVE_STREAM); - getPerModulePasses()->add(createPrintModulePass(FormattedOS)); + getPerModulePasses()->add(createPrintModulePass(*OS)); break; default: - FormattedOS.setStream(*OS, formatted_raw_ostream::PRESERVE_STREAM); - if (!AddEmitPasses(Action, FormattedOS)) + if (!AddEmitPasses(Action, *OS)) return; } diff --git a/tools/driver/cc1as_main.cpp b/tools/driver/cc1as_main.cpp index 89dd46714c..46f5c2e44e 100644 --- a/tools/driver/cc1as_main.cpp +++ b/tools/driver/cc1as_main.cpp @@ -19,6 +19,7 @@ #include "clang/Frontend/FrontendDiagnostic.h" #include "clang/Frontend/TextDiagnosticPrinter.h" #include "clang/Frontend/Utils.h" +#include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringSwitch.h" #include "llvm/ADT/Triple.h" #include "llvm/IR/DataLayout.h" @@ -254,9 +255,8 @@ bool AssemblerInvocation::CreateFromArgs(AssemblerInvocation &Opts, return Success; } -static formatted_raw_ostream *GetOutputStream(AssemblerInvocation &Opts, - DiagnosticsEngine &Diags, - bool Binary) { +static raw_ostream *GetOutputStream(AssemblerInvocation &Opts, + DiagnosticsEngine &Diags, bool Binary) { if (Opts.OutputPath.empty()) Opts.OutputPath = "-"; @@ -275,7 +275,7 @@ static formatted_raw_ostream *GetOutputStream(AssemblerInvocation &Opts, return nullptr; } - return new formatted_raw_ostream(*Out, formatted_raw_ostream::DELETE_STREAM); + return Out; } static bool ExecuteAssembler(AssemblerInvocation &Opts, @@ -315,8 +315,7 @@ static bool ExecuteAssembler(AssemblerInvocation &Opts, MAI->setCompressDebugSections(true); bool IsBinary = Opts.OutputType == AssemblerInvocation::FT_Obj; - std::unique_ptr Out( - GetOutputStream(Opts, Diags, IsBinary)); + std::unique_ptr Out(GetOutputStream(Opts, Diags, IsBinary)); if (!Out) return true; @@ -366,10 +365,10 @@ static bool ExecuteAssembler(AssemblerInvocation &Opts, CE = TheTarget->createMCCodeEmitter(*MCII, *MRI, Ctx); MAB = TheTarget->createMCAsmBackend(*MRI, Opts.Triple, Opts.CPU); } - Str.reset(TheTarget->createAsmStreamer(Ctx, *Out, /*asmverbose*/true, - /*useDwarfDirectory*/ true, - IP, CE, MAB, - Opts.ShowInst)); + auto FOut = llvm::make_unique(*Out); + Str.reset(TheTarget->createAsmStreamer( + Ctx, std::move(FOut), /*asmverbose*/ true, + /*useDwarfDirectory*/ true, IP, CE, MAB, Opts.ShowInst)); } else if (Opts.OutputType == AssemblerInvocation::FT_Null) { Str.reset(createNullStreamer(Ctx)); } else {