summaryrefslogtreecommitdiff
path: root/lib/Target/PowerPC/PPC.h
diff options
context:
space:
mode:
authorRoman Divacky <rdivacky@freebsd.org>2012-06-04 17:36:38 +0000
committerRoman Divacky <rdivacky@freebsd.org>2012-06-04 17:36:38 +0000
commitfd42ed676e37c29364f53f848320b7cb706111e0 (patch)
treeee33f96b4a5dbf02c1648d10b23cf97686a6c68b /lib/Target/PowerPC/PPC.h
parent70a07c7fc437045a2421d279a99b19981f08acc2 (diff)
downloadllvm-fd42ed676e37c29364f53f848320b7cb706111e0.tar.gz
llvm-fd42ed676e37c29364f53f848320b7cb706111e0.tar.bz2
llvm-fd42ed676e37c29364f53f848320b7cb706111e0.tar.xz
Implement local-exec TLS on PowerPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157935 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPC.h')
-rw-r--r--lib/Target/PowerPC/PPC.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/lib/Target/PowerPC/PPC.h b/lib/Target/PowerPC/PPC.h
index 24a7178d1f..e7e72da11f 100644
--- a/lib/Target/PowerPC/PPC.h
+++ b/lib/Target/PowerPC/PPC.h
@@ -50,21 +50,27 @@ namespace llvm {
/// and jumps to external functions on Tiger and earlier.
MO_DARWIN_STUB = 1,
- /// MO_LO16, MO_HA16 - lo16(symbol) and ha16(symbol)
- MO_LO16 = 4, MO_HA16 = 8,
-
/// MO_PIC_FLAG - If this bit is set, the symbol reference is relative to
/// the function's picbase, e.g. lo16(symbol-picbase).
- MO_PIC_FLAG = 16,
+ MO_PIC_FLAG = 4,
/// MO_NLP_FLAG - If this bit is set, the symbol reference is actually to
/// the non_lazy_ptr for the global, e.g. lo16(symbol$non_lazy_ptr-picbase).
- MO_NLP_FLAG = 32,
+ MO_NLP_FLAG = 8,
/// MO_NLP_HIDDEN_FLAG - If this bit is set, the symbol reference is to a
/// symbol with hidden visibility. This causes a different kind of
/// non-lazy-pointer to be generated.
- MO_NLP_HIDDEN_FLAG = 64
+ MO_NLP_HIDDEN_FLAG = 16,
+
+ /// The next are not flags but distinct values.
+ MO_ACCESS_MASK = 224,
+
+ /// MO_LO16, MO_HA16 - lo16(symbol) and ha16(symbol)
+ MO_LO16 = 32, MO_HA16 = 64,
+
+ MO_TPREL16_HA = 96,
+ MO_TPREL16_LO = 128
};
} // end namespace PPCII