summaryrefslogtreecommitdiff
path: root/lib/Target/SystemZ/SystemZInstrInfo.h
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2009-07-16 14:16:05 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2009-07-16 14:16:05 +0000
commit6fe326c713c25e33e7e3ea3d1202ba19a19090c5 (patch)
treee8b7e30b19761f001bf7ef80cf05472f74948967 /lib/Target/SystemZ/SystemZInstrInfo.h
parent48e8b3cc5841f0652430aa9f0ce3eb9fa09bdcda (diff)
downloadllvm-6fe326c713c25e33e7e3ea3d1202ba19a19090c5.tar.gz
llvm-6fe326c713c25e33e7e3ea3d1202ba19a19090c5.tar.bz2
llvm-6fe326c713c25e33e7e3ea3d1202ba19a19090c5.tar.xz
Implement 'large' PIC model
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76006 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SystemZ/SystemZInstrInfo.h')
-rw-r--r--lib/Target/SystemZ/SystemZInstrInfo.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/Target/SystemZ/SystemZInstrInfo.h b/lib/Target/SystemZ/SystemZInstrInfo.h
index 541c38bab7..812509a0ce 100644
--- a/lib/Target/SystemZ/SystemZInstrInfo.h
+++ b/lib/Target/SystemZ/SystemZInstrInfo.h
@@ -23,6 +23,30 @@ namespace llvm {
class SystemZTargetMachine;
+/// SystemZII - This namespace holds all of the target specific flags that
+/// instruction info tracks.
+///
+namespace SystemZII {
+ enum {
+ //===------------------------------------------------------------------===//
+ // SystemZ Specific MachineOperand flags.
+
+ MO_NO_FLAG = 0,
+
+ /// MO_GOTENT - On a symbol operand this indicates that the immediate is
+ /// the offset to the location of the symbol name from the base of the GOT.
+ ///
+ /// SYMBOL_LABEL @GOTENT
+ MO_GOTENT = 1,
+
+ /// MO_PLT - On a symbol operand this indicates that the immediate is
+ /// offset to the PLT entry of symbol name from the current code location.
+ ///
+ /// SYMBOL_LABEL @PLT
+ MO_PLT = 2
+ };
+}
+
class SystemZInstrInfo : public TargetInstrInfoImpl {
const SystemZRegisterInfo RI;
SystemZTargetMachine &TM;