summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/IA64
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-06-16 20:12:29 +0000
committerDouglas Gregor <dgregor@apple.com>2009-06-16 20:12:29 +0000
commit1b731d5dbe66e095c8cb778c20cbfca09ed24c59 (patch)
tree3b70585f419f3d21aabb3abc46666f5062efef26 /llvm/lib/Target/IA64
parent392da9c56d0ae1889e35dbebf4da6d8a34c4e0c8 (diff)
downloadbcm5719-llvm-1b731d5dbe66e095c8cb778c20cbfca09ed24c59.tar.gz
bcm5719-llvm-1b731d5dbe66e095c8cb778c20cbfca09ed24c59.zip
Introduce new headers whose inclusion forces linking and
initialization of all targets (InitializeAllTargets.h) or assembler printers (InitializeAllAsmPrinters.h). This is a step toward the elimination of relinked object files, so that we can build normal archives. llvm-svn: 73543
Diffstat (limited to 'llvm/lib/Target/IA64')
-rw-r--r--llvm/lib/Target/IA64/AsmPrinter/IA64AsmPrinter.cpp6
-rw-r--r--llvm/lib/Target/IA64/IA64TargetMachine.cpp5
2 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/Target/IA64/AsmPrinter/IA64AsmPrinter.cpp b/llvm/lib/Target/IA64/AsmPrinter/IA64AsmPrinter.cpp
index fc54e23a44d..a324b0a1564 100644
--- a/llvm/lib/Target/IA64/AsmPrinter/IA64AsmPrinter.cpp
+++ b/llvm/lib/Target/IA64/AsmPrinter/IA64AsmPrinter.cpp
@@ -374,3 +374,9 @@ FunctionPass *llvm::createIA64CodePrinterPass(raw_ostream &o,
bool verbose) {
return new IA64AsmPrinter(o, tm, tm.getTargetAsmInfo(), OptLevel, verbose);
}
+
+// Force static initialization when called from
+// llvm/InitializeAllAsmPrinters.h
+namespace llvm {
+ void InitializeIA64AsmPrinter() { }
+}
diff --git a/llvm/lib/Target/IA64/IA64TargetMachine.cpp b/llvm/lib/Target/IA64/IA64TargetMachine.cpp
index 878a00a4451..6642c66570f 100644
--- a/llvm/lib/Target/IA64/IA64TargetMachine.cpp
+++ b/llvm/lib/Target/IA64/IA64TargetMachine.cpp
@@ -29,6 +29,11 @@ int IA64TargetMachineModule = 0;
static RegisterTarget<IA64TargetMachine> X("ia64",
"IA-64 (Itanium) [experimental]");
+// Force static initialization when called from llvm/InitializeAllTargets.h
+namespace llvm {
+ void InitializeIA64Target() { }
+}
+
const TargetAsmInfo *IA64TargetMachine::createTargetAsmInfo() const {
return new IA64TargetAsmInfo(*this);
}
OpenPOWER on IntegriCloud