/// InitializeAllTargetMCs();
/// InitializeAllAsmPrinters();
/// InitializeAllAsmParsers();
- static LTOModule *makeLTOModule(const char *path, TargetOptions options,
- std::string &errMsg);
- static LTOModule *makeLTOModule(int fd, const char *path, size_t size,
- TargetOptions options, std::string &errMsg);
- static LTOModule *makeLTOModule(int fd, const char *path, size_t map_size,
- off_t offset, TargetOptions options,
- std::string &errMsg);
- static LTOModule *makeLTOModule(const void *mem, size_t length,
- TargetOptions options, std::string &errMsg,
- StringRef path = "");
+ static LTOModule *createFromFile(const char *path, TargetOptions options,
+ std::string &errMsg);
+ static LTOModule *createFromOpenFile(int fd, const char *path, size_t size,
+ TargetOptions options,
+ std::string &errMsg);
+ static LTOModule *createFromOpenFileSlice(int fd, const char *path,
+ size_t map_size, off_t offset,
+ TargetOptions options,
+ std::string &errMsg);
+ static LTOModule *createFromBuffer(const void *mem, size_t length,
+ TargetOptions options, std::string &errMsg,
+ StringRef path = "");
/// Return the Module's target triple.
const char *getTargetTriple() {
return strncmp(Triple.c_str(), triplePrefix, strlen(triplePrefix)) == 0;
}
-/// makeLTOModule - Create an LTOModule. N.B. These methods take ownership of
-/// the buffer.
-LTOModule *LTOModule::makeLTOModule(const char *path, TargetOptions options,
- std::string &errMsg) {
+LTOModule *LTOModule::createFromFile(const char *path, TargetOptions options,
+ std::string &errMsg) {
std::unique_ptr<MemoryBuffer> buffer;
if (std::error_code ec = MemoryBuffer::getFile(path, buffer)) {
errMsg = ec.message();
return makeLTOModule(std::move(buffer), options, errMsg);
}
-LTOModule *LTOModule::makeLTOModule(int fd, const char *path,
- size_t size, TargetOptions options,
- std::string &errMsg) {
- return makeLTOModule(fd, path, size, 0, options, errMsg);
+LTOModule *LTOModule::createFromOpenFile(int fd, const char *path, size_t size,
+ TargetOptions options,
+ std::string &errMsg) {
+ return createFromOpenFileSlice(fd, path, size, 0, options, errMsg);
}
-LTOModule *LTOModule::makeLTOModule(int fd, const char *path,
- size_t map_size,
- off_t offset,
- TargetOptions options,
- std::string &errMsg) {
+LTOModule *LTOModule::createFromOpenFileSlice(int fd, const char *path,
+ size_t map_size, off_t offset,
+ TargetOptions options,
+ std::string &errMsg) {
std::unique_ptr<MemoryBuffer> buffer;
if (std::error_code ec =
MemoryBuffer::getOpenFileSlice(fd, path, buffer, map_size, offset)) {
return makeLTOModule(std::move(buffer), options, errMsg);
}
-LTOModule *LTOModule::makeLTOModule(const void *mem, size_t length,
- TargetOptions options,
- std::string &errMsg, StringRef path) {
+LTOModule *LTOModule::createFromBuffer(const void *mem, size_t length,
+ TargetOptions options,
+ std::string &errMsg, StringRef path) {
std::unique_ptr<MemoryBuffer> buffer(makeBuffer(mem, length, path));
if (!buffer)
return nullptr;
return LDPS_OK;
std::string Error;
- M = LTOModule::makeLTOModule(view, file->filesize, TargetOpts, Error);
+ M = LTOModule::createFromBuffer(view, file->filesize, TargetOpts, Error);
if (!M) {
(*message)(LDPL_ERROR,
"LLVM gold plugin has failed to create LTO module: %s",
for (unsigned i = BaseArg; i < InputFilenames.size(); ++i) {
std::string error;
std::unique_ptr<LTOModule> Module(
- LTOModule::makeLTOModule(InputFilenames[i].c_str(), Options, error));
+ LTOModule::createFromFile(InputFilenames[i].c_str(), Options, error));
if (!error.empty()) {
errs() << argv[0] << ": error loading file '" << InputFilenames[i]
<< "': " << error << "\n";
lto_module_t lto_module_create(const char* path) {
lto_initialize();
llvm::TargetOptions Options = InitTargetOptionsFromCodeGenFlags();
- return wrap(LTOModule::makeLTOModule(path, Options, sLastErrorString));
+ return wrap(LTOModule::createFromFile(path, Options, sLastErrorString));
}
lto_module_t lto_module_create_from_fd(int fd, const char *path, size_t size) {
lto_initialize();
llvm::TargetOptions Options = InitTargetOptionsFromCodeGenFlags();
return wrap(
- LTOModule::makeLTOModule(fd, path, size, Options, sLastErrorString));
+ LTOModule::createFromOpenFile(fd, path, size, Options, sLastErrorString));
}
lto_module_t lto_module_create_from_fd_at_offset(int fd, const char *path,
off_t offset) {
lto_initialize();
llvm::TargetOptions Options = InitTargetOptionsFromCodeGenFlags();
- return wrap(LTOModule::makeLTOModule(fd, path, map_size, offset, Options,
- sLastErrorString));
+ return wrap(LTOModule::createFromOpenFileSlice(fd, path, map_size, offset,
+ Options, sLastErrorString));
}
lto_module_t lto_module_create_from_memory(const void* mem, size_t length) {
lto_initialize();
llvm::TargetOptions Options = InitTargetOptionsFromCodeGenFlags();
- return wrap(LTOModule::makeLTOModule(mem, length, Options, sLastErrorString));
+ return wrap(LTOModule::createFromBuffer(mem, length, Options, sLastErrorString));
}
lto_module_t lto_module_create_from_memory_with_path(const void* mem,
lto_initialize();
llvm::TargetOptions Options = InitTargetOptionsFromCodeGenFlags();
return wrap(
- LTOModule::makeLTOModule(mem, length, Options, sLastErrorString, path));
+ LTOModule::createFromBuffer(mem, length, Options, sLastErrorString, path));
}
void lto_module_dispose(lto_module_t mod) { delete unwrap(mod); }