Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1461)

Unified Diff: tools/pnacl-llc/pnacl-llc.cpp

Issue 940243003: PNaCl localmod mods in LLVM to 223109 (local files only) (Closed)
Patch Set: fix comment Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/pnacl-llc/pnacl-llc.cpp
diff --git a/tools/pnacl-llc/pnacl-llc.cpp b/tools/pnacl-llc/pnacl-llc.cpp
index 27c7a07ac690dd820d42c9486d1380f0f346d7c9..c02f1ef4179cfbafe8382bef52965ad5a9644e2b 100644
--- a/tools/pnacl-llc/pnacl-llc.cpp
+++ b/tools/pnacl-llc/pnacl-llc.cpp
@@ -16,7 +16,6 @@
#include "llvm/Bitcode/NaCl/NaClReaderWriter.h"
#include "llvm/Bitcode/ReaderWriter.h"
#include "llvm/CodeGen/CommandFlags.h"
-#include "llvm/CodeGen/LinkAllAsmWriterComponents.h"
#include "llvm/CodeGen/LinkAllCodegenComponents.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/LLVMContext.h"
@@ -34,16 +33,16 @@
#include "llvm/Support/FormattedStream.h"
#include "llvm/Support/Host.h"
#include "llvm/Support/ManagedStatic.h"
-#include "llvm/Support/Mutex.h"
#include "llvm/Support/PrettyStackTrace.h"
#include "llvm/Support/Signals.h"
#include "llvm/Support/SourceMgr.h"
-#include "llvm/Support/StreamableMemoryObject.h"
+#include "llvm/Support/StreamingMemoryObject.h"
#include "llvm/Support/TargetRegistry.h"
#include "llvm/Support/TargetSelect.h"
#include "llvm/Support/ToolOutputFile.h"
#include "llvm/Target/TargetLibraryInfo.h"
#include "llvm/Target/TargetMachine.h"
+#include "llvm/Target/TargetSubtargetInfo.h"
#include "llvm/Transforms/NaCl.h"
#include "ThreadedFunctionQueue.h"
@@ -226,14 +225,13 @@ static tool_output_file *GetOutputStream(const char *TargetName,
}
// Open the file.
- std::string error;
+ std::error_code EC;
sys::fs::OpenFlags OpenFlags = sys::fs::F_None;
if (!Binary)
OpenFlags |= sys::fs::F_Text;
- tool_output_file *FDOut =
- new tool_output_file(Filename.c_str(), error, OpenFlags);
- if (!error.empty()) {
- errs() << error << '\n';
+ tool_output_file *FDOut = new tool_output_file(Filename, EC, OpenFlags);
+ if (EC) {
+ errs() << EC.message() << '\n';
delete FDOut;
return nullptr;
}
@@ -321,7 +319,7 @@ static void CheckABIVerifyErrors(PNaClABIErrorReporter &Reporter,
static Module* getModule(StringRef ProgramName, LLVMContext &Context,
JF 2015/02/24 05:35:37 This could now be a unique_ptr. One of the two use
jvoung (off chromium) 2015/02/24 18:38:48 Converted the function to return a unique_ptr. Th
JF 2015/02/24 19:32:55 sgtm
StreamingMemoryObject *StreamingObject) {
- Module *M = nullptr;
+ std::unique_ptr<Module> M;
SMDiagnostic Err;
std::string VerboseBuffer;
raw_string_ostream VerboseStrm(VerboseBuffer);
@@ -329,15 +327,15 @@ static Module* getModule(StringRef ProgramName, LLVMContext &Context,
std::string StrError;
switch (InputFileFormat) {
case PNaClFormat:
- M = getNaClStreamedBitcodeModule(
+ M.reset(getNaClStreamedBitcodeModule(
InputFilename,
new ThreadedStreamingCache(StreamingObject), Context, &VerboseStrm,
- &StrError);
+ &StrError));
break;
case LLVMFormat:
- M = getStreamedBitcodeModule(
+ M.reset(getStreamedBitcodeModule(
InputFilename,
- new ThreadedStreamingCache(StreamingObject), Context, &StrError);
+ new ThreadedStreamingCache(StreamingObject), Context, &StrError));
break;
case AutodetectFileFormat:
report_fatal_error("Command can't autodetect file format!");
@@ -364,7 +362,7 @@ static Module* getModule(StringRef ProgramName, LLVMContext &Context,
return nullptr;
#endif
}
- return M;
+ return M.release();
}
static cl::opt<bool>
@@ -436,9 +434,9 @@ static int runCompilePasses(Module *mod,
PM.reset(new PassManager());
// Add the target data from the target machine, if it exists, or the module.
- if (const DataLayout *DL = Target.getDataLayout())
+ if (const DataLayout *DL = Target.getSubtargetImpl()->getDataLayout())
mod->setDataLayout(DL);
- PM->add(new DataLayoutPass(mod));
+ PM->add(new DataLayoutPass());
// For conformance with llc, we let the user disable LLVM IR verification with
// -disable-verify. Unlike llc, when LLVM IR verification is enabled we only
@@ -592,7 +590,7 @@ static int compileSplitModule(const TargetOptions &Options,
if (!Out) return 1;
formatted_raw_ostream FOS(Out->os());
#else
- raw_fd_ostream ROS(getObjectFileFD(ModuleIndex), true, sys::fs::F_None);
+ raw_fd_ostream ROS(getObjectFileFD(ModuleIndex), /* ShouldClose */ true);
ROS.SetBufferSize(1 << 20);
formatted_raw_ostream FOS(ROS);
#endif

Powered by Google App Engine
This is Rietveld 408576698