diff options
author | Roman Divacky <rdivacky@freebsd.org> | 2012-06-04 17:36:38 +0000 |
---|---|---|
committer | Roman Divacky <rdivacky@freebsd.org> | 2012-06-04 17:36:38 +0000 |
commit | fd42ed676e37c29364f53f848320b7cb706111e0 (patch) | |
tree | ee33f96b4a5dbf02c1648d10b23cf97686a6c68b /lib/Target/PowerPC/PPC.h | |
parent | 70a07c7fc437045a2421d279a99b19981f08acc2 (diff) | |
download | llvm-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.h | 18 |
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 |