Always set target info, even when compiling to generic targets.

This allows the SROA pass eliminate a lot of allocas and loads and
stores, which helps a lot for performance.
This commit is contained in:
Matt Pharr
2012-04-17 15:10:30 -07:00
parent a0c9f7823b
commit b9d6ba2aa0

View File

@@ -256,12 +256,10 @@ Optimize(llvm::Module *module, int optLevel) {
optPM.add(llvm::createVerifierPass()); optPM.add(llvm::createVerifierPass());
if (g->target.isa != Target::GENERIC) {
llvm::TargetLibraryInfo *targetLibraryInfo = llvm::TargetLibraryInfo *targetLibraryInfo =
new llvm::TargetLibraryInfo(llvm::Triple(module->getTargetTriple())); new llvm::TargetLibraryInfo(llvm::Triple(module->getTargetTriple()));
optPM.add(targetLibraryInfo); optPM.add(targetLibraryInfo);
optPM.add(new llvm::TargetData(module)); optPM.add(new llvm::TargetData(module));
}
optPM.add(llvm::createIndVarSimplifyPass()); optPM.add(llvm::createIndVarSimplifyPass());