aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Target/TargetMachine.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-02-22 20:19:42 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-02-22 20:19:42 +0000
commit4c1aa866578f7a358407a22fe55b454f52a24325 (patch)
treef5c6f24b1fedfb42a7024b7ba4c0aa5f21280c8b /include/llvm/Target/TargetMachine.h
parent0420f2aaf9551a10e2060d076de2fcdd7b316370 (diff)
downloadexternal_llvm-4c1aa866578f7a358407a22fe55b454f52a24325.zip
external_llvm-4c1aa866578f7a358407a22fe55b454f52a24325.tar.gz
external_llvm-4c1aa866578f7a358407a22fe55b454f52a24325.tar.bz2
- Added option -relocation-model to set relocation model. Valid values include static, pic,
dynamic-no-pic, and default. PPC and x86 default is dynamic-no-pic for Darwin, pic for others. - Removed options -enable-pic and -ppc-static. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26315 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target/TargetMachine.h')
-rw-r--r--include/llvm/Target/TargetMachine.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetMachine.h b/include/llvm/Target/TargetMachine.h
index d13a4ed..5a58951 100644
--- a/include/llvm/Target/TargetMachine.h
+++ b/include/llvm/Target/TargetMachine.h
@@ -34,6 +34,16 @@ class PassManager;
class Pass;
class IntrinsicLowering;
+// Relocation model types.
+namespace Reloc {
+ enum Model {
+ Default,
+ Static,
+ PIC,
+ DynamicNoPIC
+ };
+}
+
//===----------------------------------------------------------------------===//
///
/// TargetMachine - Primary interface to the complete machine description for
@@ -135,6 +145,13 @@ public:
virtual const TargetSchedInfo *getSchedInfo() const { return 0; }
virtual const SparcV9RegInfo *getRegInfo() const { return 0; }
+ /// getRelocationModel - Returns the code generation relocation model. The
+ /// choices are static, PIC, and dynamic-no-pic, and target default.
+ static Reloc::Model getRelocationModel();
+
+ /// setRelocationModel - Sets the code generation relocation model.
+ static void setRelocationModel(Reloc::Model Model);
+
/// CodeGenFileType - These enums are meant to be passed into
/// addPassesToEmitFile to indicate what type of file to emit.
enum CodeGenFileType {