LLVM API Documentation

MipsFixupKinds.h
Go to the documentation of this file.
00001 //===-- MipsFixupKinds.h - Mips Specific Fixup Entries ----------*- C++ -*-===//
00002 //
00003 //                     The LLVM Compiler Infrastructure
00004 //
00005 // This file is distributed under the University of Illinois Open Source
00006 // License. See LICENSE.TXT for details.
00007 //
00008 //===----------------------------------------------------------------------===//
00009 
00010 #ifndef LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSFIXUPKINDS_H
00011 #define LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSFIXUPKINDS_H
00012 
00013 #include "llvm/MC/MCFixup.h"
00014 
00015 namespace llvm {
00016 namespace Mips {
00017   // Although most of the current fixup types reflect a unique relocation
00018   // one can have multiple fixup types for a given relocation and thus need
00019   // to be uniquely named.
00020   //
00021   // This table *must* be in the save order of
00022   // MCFixupKindInfo Infos[Mips::NumTargetFixupKinds]
00023   // in MipsAsmBackend.cpp.
00024   //
00025   enum Fixups {
00026     // Branch fixups resulting in R_MIPS_16.
00027     fixup_Mips_16 = FirstTargetFixupKind,
00028 
00029     // Pure 32 bit data fixup resulting in - R_MIPS_32.
00030     fixup_Mips_32,
00031 
00032     // Full 32 bit data relative data fixup resulting in - R_MIPS_REL32.
00033     fixup_Mips_REL32,
00034 
00035     // Jump 26 bit fixup resulting in - R_MIPS_26.
00036     fixup_Mips_26,
00037 
00038     // Pure upper 16 bit fixup resulting in - R_MIPS_HI16.
00039     fixup_Mips_HI16,
00040 
00041     // Pure lower 16 bit fixup resulting in - R_MIPS_LO16.
00042     fixup_Mips_LO16,
00043 
00044     // 16 bit fixup for GP offest resulting in - R_MIPS_GPREL16.
00045     fixup_Mips_GPREL16,
00046 
00047     // 16 bit literal fixup resulting in - R_MIPS_LITERAL.
00048     fixup_Mips_LITERAL,
00049 
00050     // Global symbol fixup resulting in - R_MIPS_GOT16.
00051     fixup_Mips_GOT_Global,
00052 
00053     // Local symbol fixup resulting in - R_MIPS_GOT16.
00054     fixup_Mips_GOT_Local,
00055 
00056     // PC relative branch fixup resulting in - R_MIPS_PC16.
00057     fixup_Mips_PC16,
00058 
00059     // resulting in - R_MIPS_CALL16.
00060     fixup_Mips_CALL16,
00061 
00062     // resulting in - R_MIPS_GPREL32.
00063     fixup_Mips_GPREL32,
00064 
00065     // resulting in - R_MIPS_SHIFT5.
00066     fixup_Mips_SHIFT5,
00067 
00068     // resulting in - R_MIPS_SHIFT6.
00069     fixup_Mips_SHIFT6,
00070 
00071     // Pure 64 bit data fixup resulting in - R_MIPS_64.
00072     fixup_Mips_64,
00073 
00074     // resulting in - R_MIPS_TLS_GD.
00075     fixup_Mips_TLSGD,
00076 
00077     // resulting in - R_MIPS_TLS_GOTTPREL.
00078     fixup_Mips_GOTTPREL,
00079 
00080     // resulting in - R_MIPS_TLS_TPREL_HI16.
00081     fixup_Mips_TPREL_HI,
00082 
00083     // resulting in - R_MIPS_TLS_TPREL_LO16.
00084     fixup_Mips_TPREL_LO,
00085 
00086     // resulting in - R_MIPS_TLS_LDM.
00087     fixup_Mips_TLSLDM,
00088 
00089     // resulting in - R_MIPS_TLS_DTPREL_HI16.
00090     fixup_Mips_DTPREL_HI,
00091 
00092     // resulting in - R_MIPS_TLS_DTPREL_LO16.
00093     fixup_Mips_DTPREL_LO,
00094 
00095     // PC relative branch fixup resulting in - R_MIPS_PC16
00096     fixup_Mips_Branch_PCRel,
00097 
00098     // resulting in - R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16
00099     fixup_Mips_GPOFF_HI,
00100 
00101     // resulting in - R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16
00102     fixup_Mips_GPOFF_LO,
00103 
00104     // resulting in - R_MIPS_PAGE
00105     fixup_Mips_GOT_PAGE,
00106 
00107     // resulting in - R_MIPS_GOT_OFST
00108     fixup_Mips_GOT_OFST,
00109 
00110     // resulting in - R_MIPS_GOT_DISP
00111     fixup_Mips_GOT_DISP,
00112 
00113     // resulting in - R_MIPS_GOT_HIGHER
00114     fixup_Mips_HIGHER,
00115 
00116     // resulting in - R_MIPS_HIGHEST
00117     fixup_Mips_HIGHEST,
00118 
00119     // resulting in - R_MIPS_GOT_HI16
00120     fixup_Mips_GOT_HI16,
00121 
00122     // resulting in - R_MIPS_GOT_LO16
00123     fixup_Mips_GOT_LO16,
00124 
00125     // resulting in - R_MIPS_CALL_HI16
00126     fixup_Mips_CALL_HI16,
00127 
00128     // resulting in - R_MIPS_CALL_LO16
00129     fixup_Mips_CALL_LO16,
00130 
00131     // resulting in - R_MIPS_PC18_S3
00132     fixup_MIPS_PC18_S3,
00133 
00134     // resulting in - R_MIPS_PC19_S2
00135     fixup_MIPS_PC19_S2,
00136 
00137     // resulting in - R_MIPS_PC21_S2
00138     fixup_MIPS_PC21_S2,
00139 
00140     // resulting in - R_MIPS_PC26_S2
00141     fixup_MIPS_PC26_S2,
00142 
00143     // resulting in - R_MIPS_PCHI16
00144     fixup_MIPS_PCHI16,
00145 
00146     // resulting in - R_MIPS_PCLO16
00147     fixup_MIPS_PCLO16,
00148 
00149     // resulting in - R_MICROMIPS_26_S1
00150     fixup_MICROMIPS_26_S1,
00151 
00152     // resulting in - R_MICROMIPS_HI16
00153     fixup_MICROMIPS_HI16,
00154 
00155     // resulting in - R_MICROMIPS_LO16
00156     fixup_MICROMIPS_LO16,
00157 
00158     // resulting in - R_MICROMIPS_GOT16
00159     fixup_MICROMIPS_GOT16,
00160 
00161     // resulting in - R_MICROMIPS_PC16_S1
00162     fixup_MICROMIPS_PC16_S1,
00163 
00164     // resulting in - R_MICROMIPS_CALL16
00165     fixup_MICROMIPS_CALL16,
00166 
00167     // resulting in - R_MICROMIPS_GOT_DISP
00168     fixup_MICROMIPS_GOT_DISP,
00169 
00170     // resulting in - R_MICROMIPS_GOT_PAGE
00171     fixup_MICROMIPS_GOT_PAGE,
00172 
00173     // resulting in - R_MICROMIPS_GOT_OFST
00174     fixup_MICROMIPS_GOT_OFST,
00175 
00176     // resulting in - R_MICROMIPS_TLS_GD
00177     fixup_MICROMIPS_TLS_GD,
00178 
00179     // resulting in - R_MICROMIPS_TLS_LDM
00180     fixup_MICROMIPS_TLS_LDM,
00181 
00182     // resulting in - R_MICROMIPS_TLS_DTPREL_HI16
00183     fixup_MICROMIPS_TLS_DTPREL_HI16,
00184 
00185     // resulting in - R_MICROMIPS_TLS_DTPREL_LO16
00186     fixup_MICROMIPS_TLS_DTPREL_LO16,
00187 
00188     // resulting in - R_MICROMIPS_TLS_TPREL_HI16
00189     fixup_MICROMIPS_TLS_TPREL_HI16,
00190 
00191     // resulting in - R_MICROMIPS_TLS_TPREL_LO16
00192     fixup_MICROMIPS_TLS_TPREL_LO16,
00193 
00194     // Marker
00195     LastTargetFixupKind,
00196     NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
00197   };
00198 } // namespace Mips
00199 } // namespace llvm
00200 
00201 
00202 #endif