From b9d6ba2aa042286f87ab02efae944a54e9ef95c3 Mon Sep 17 00:00:00 2001 From: Matt Pharr Date: Tue, 17 Apr 2012 15:10:30 -0700 Subject: [PATCH] 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. --- opt.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/opt.cpp b/opt.cpp index 6630331a..70649d39 100644 --- a/opt.cpp +++ b/opt.cpp @@ -256,12 +256,10 @@ Optimize(llvm::Module *module, int optLevel) { optPM.add(llvm::createVerifierPass()); - if (g->target.isa != Target::GENERIC) { - llvm::TargetLibraryInfo *targetLibraryInfo = - new llvm::TargetLibraryInfo(llvm::Triple(module->getTargetTriple())); - optPM.add(targetLibraryInfo); - optPM.add(new llvm::TargetData(module)); - } + llvm::TargetLibraryInfo *targetLibraryInfo = + new llvm::TargetLibraryInfo(llvm::Triple(module->getTargetTriple())); + optPM.add(targetLibraryInfo); + optPM.add(new llvm::TargetData(module)); optPM.add(llvm::createIndVarSimplifyPass());