From: Chris Lattner Date: Fri, 18 Feb 2011 22:13:01 +0000 (+0000) Subject: Have opt set up a specific TargetLibraryInfo for modules X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=2a66acafaf8d5ceedfef56c00526f6253ac176be;p=oota-llvm.git Have opt set up a specific TargetLibraryInfo for modules with a triple. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125970 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index 0a945df7f7b..8ccd8e877b9 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -24,7 +24,9 @@ #include "llvm/Analysis/RegionPass.h" #include "llvm/Analysis/CallGraph.h" #include "llvm/Target/TargetData.h" +#include "llvm/Target/TargetLibraryInfo.h" #include "llvm/Target/TargetMachine.h" +#include "llvm/ADT/Triple.h" #include "llvm/Support/PassNameParser.h" #include "llvm/Support/Signals.h" #include "llvm/Support/Debug.h" @@ -525,11 +527,15 @@ int main(int argc, char **argv) { NoOutput = true; // Create a PassManager to hold and optimize the collection of passes we are - // about to build... + // about to build. // PassManager Passes; - // Add an appropriate TargetData instance for this module... + // Add an appropriate TargetLibraryInfo pass for the module's triple. + if (!M->getTargetTriple().empty()) + Passes.add(new TargetLibraryInfo(Triple(M->getTargetTriple()))); + + // Add an appropriate TargetData instance for this module. TargetData *TD = 0; const std::string &ModuleDataLayout = M.get()->getDataLayout(); if (!ModuleDataLayout.empty())