summaryrefslogtreecommitdiff
path: root/include/llvm/LinkTimeOptimizer.h
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2006-10-24 18:41:02 +0000
committerDevang Patel <dpatel@apple.com>2006-10-24 18:41:02 +0000
commit6152b7ec25b8d225dc1e146e241d1c6061c8221b (patch)
tree2e1f6f415b543a7de8225b281da895e7f3bce385 /include/llvm/LinkTimeOptimizer.h
parent2452595927a19a84ab20f012f1e2414a18f65ffb (diff)
downloadllvm-6152b7ec25b8d225dc1e146e241d1c6061c8221b.tar.gz
llvm-6152b7ec25b8d225dc1e146e241d1c6061c8221b.tar.bz2
llvm-6152b7ec25b8d225dc1e146e241d1c6061c8221b.tar.xz
Instead of hard coding global prefix, use TargetAsmInfo.
Add LTO destructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31168 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/LinkTimeOptimizer.h')
-rw-r--r--include/llvm/LinkTimeOptimizer.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/llvm/LinkTimeOptimizer.h b/include/llvm/LinkTimeOptimizer.h
index 6c58706cf9..b52c578efe 100644
--- a/include/llvm/LinkTimeOptimizer.h
+++ b/include/llvm/LinkTimeOptimizer.h
@@ -24,6 +24,7 @@ namespace llvm {
class Module;
class GlobalValue;
+ class TargetMachine;
enum LTOStatus {
LTO_UNKNOWN,
@@ -114,13 +115,24 @@ namespace llvm {
void getTargetTriple(const std::string &InputFilename, std::string &targetTriple);
void removeModule (const std::string &InputFilename);
+ // Constructors and destructors
+ LTO() {
+ /// TODO: Use Target info, it is available at this time.
+ Target = NULL;
+ }
+ ~LTO();
+
private:
Module *getModule (const std::string &InputFilename);
+ enum LTOStatus optimize(Module *, std::ostream &,
+ std::vector<const char *> &);
+ void getTarget(Module *);
private:
std::vector<Module *> modules;
NameToSymbolMap allSymbols;
NameToModuleMap allModules;
+ TargetMachine *Target;
};
} // End llvm namespace