LLVM API Documentation
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