1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00

Just use the Module unique_ptr object directly in many places instead of separate pointer that's kept in sync with it.

llvm-svn: 224004
This commit is contained in:
Craig Topper 2014-12-11 07:04:52 +00:00
parent bf59c48bcd
commit e241661f0e

View File

@ -205,7 +205,6 @@ static int compileModule(char **argv, LLVMContext &Context) {
// Load the module to be compiled...
SMDiagnostic Err;
std::unique_ptr<Module> M;
Module *mod = nullptr;
Triple TheTriple;
bool SkipModule = MCPU == "help" ||
@ -220,16 +219,15 @@ static int compileModule(char **argv, LLVMContext &Context) {
// If user just wants to list available options, skip module loading
if (!SkipModule) {
M = parseIRFile(InputFilename, Err, Context);
mod = M.get();
if (mod == nullptr) {
if (!M) {
Err.print(argv[0], errs());
return 1;
}
// If we are supposed to override the target triple, do so now.
if (!TargetTriple.empty())
mod->setTargetTriple(Triple::normalize(TargetTriple));
TheTriple = Triple(mod->getTargetTriple());
M->setTargetTriple(Triple::normalize(TargetTriple));
TheTriple = Triple(M->getTargetTriple());
} else {
TheTriple = Triple(Triple::normalize(TargetTriple));
}
@ -284,7 +282,7 @@ static int compileModule(char **argv, LLVMContext &Context) {
if (SkipModule)
return 0;
assert(mod && "Should have exited if we didn't have a module!");
assert(M && "Should have exited if we didn't have a module!");
TargetMachine &Target = *target.get();
if (GenerateSoftFloatCalls)
@ -306,7 +304,7 @@ static int compileModule(char **argv, LLVMContext &Context) {
// Add the target data from the target machine, if it exists, or the module.
if (const DataLayout *DL = Target.getSubtargetImpl()->getDataLayout())
mod->setDataLayout(DL);
M->setDataLayout(DL);
PM.add(new DataLayoutPass());
if (RelaxAll.getNumOccurrences() > 0 &&
@ -348,7 +346,7 @@ static int compileModule(char **argv, LLVMContext &Context) {
// Before executing passes, print the final values of the LLVM options.
cl::PrintOptionValues();
PM.run(*mod);
PM.run(*M);
}
// Declare success.