Path: blob/main/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsFixupKinds.h
35294 views
//===-- MipsFixupKinds.h - Mips Specific Fixup Entries ----------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSFIXUPKINDS_H9#define LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSFIXUPKINDS_H1011#include "llvm/MC/MCFixup.h"1213namespace llvm {14namespace Mips {15// Although most of the current fixup types reflect a unique relocation16// one can have multiple fixup types for a given relocation and thus need17// to be uniquely named.18//19// This table *must* be in the same order of20// MCFixupKindInfo Infos[Mips::NumTargetFixupKinds]21// in MipsAsmBackend.cpp.22//23enum Fixups {24// Branch fixups resulting in R_MIPS_16.25fixup_Mips_16 = FirstTargetFixupKind,2627// Pure 32 bit data fixup resulting in - R_MIPS_32.28fixup_Mips_32,2930// Full 32 bit data relative data fixup resulting in - R_MIPS_REL32.31fixup_Mips_REL32,3233// Jump 26 bit fixup resulting in - R_MIPS_26.34fixup_Mips_26,3536// Pure upper 16 bit fixup resulting in - R_MIPS_HI16.37fixup_Mips_HI16,3839// Pure lower 16 bit fixup resulting in - R_MIPS_LO16.40fixup_Mips_LO16,4142// 16 bit fixup for GP offest resulting in - R_MIPS_GPREL16.43fixup_Mips_GPREL16,4445// 16 bit literal fixup resulting in - R_MIPS_LITERAL.46fixup_Mips_LITERAL,4748// Symbol fixup resulting in - R_MIPS_GOT16.49fixup_Mips_GOT,5051// PC relative branch fixup resulting in - R_MIPS_PC16.52fixup_Mips_PC16,5354// resulting in - R_MIPS_CALL16.55fixup_Mips_CALL16,5657// resulting in - R_MIPS_GPREL32.58fixup_Mips_GPREL32,5960// resulting in - R_MIPS_SHIFT5.61fixup_Mips_SHIFT5,6263// resulting in - R_MIPS_SHIFT6.64fixup_Mips_SHIFT6,6566// Pure 64 bit data fixup resulting in - R_MIPS_64.67fixup_Mips_64,6869// resulting in - R_MIPS_TLS_GD.70fixup_Mips_TLSGD,7172// resulting in - R_MIPS_TLS_GOTTPREL.73fixup_Mips_GOTTPREL,7475// resulting in - R_MIPS_TLS_TPREL_HI16.76fixup_Mips_TPREL_HI,7778// resulting in - R_MIPS_TLS_TPREL_LO16.79fixup_Mips_TPREL_LO,8081// resulting in - R_MIPS_TLS_LDM.82fixup_Mips_TLSLDM,8384// resulting in - R_MIPS_TLS_DTPREL_HI16.85fixup_Mips_DTPREL_HI,8687// resulting in - R_MIPS_TLS_DTPREL_LO16.88fixup_Mips_DTPREL_LO,8990// PC relative branch fixup resulting in - R_MIPS_PC1691fixup_Mips_Branch_PCRel,9293// resulting in - R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI1694// R_MICROMIPS_GPREL16/R_MICROMIPS_SUB/R_MICROMIPS_HI1695fixup_Mips_GPOFF_HI,96fixup_MICROMIPS_GPOFF_HI,9798// resulting in - R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO1699// R_MICROMIPS_GPREL16/R_MICROMIPS_SUB/R_MICROMIPS_LO16100fixup_Mips_GPOFF_LO,101fixup_MICROMIPS_GPOFF_LO,102103// resulting in - R_MIPS_PAGE104fixup_Mips_GOT_PAGE,105106// resulting in - R_MIPS_GOT_OFST107fixup_Mips_GOT_OFST,108109// resulting in - R_MIPS_GOT_DISP110fixup_Mips_GOT_DISP,111112// resulting in - R_MIPS_HIGHER/R_MICROMIPS_HIGHER113fixup_Mips_HIGHER,114fixup_MICROMIPS_HIGHER,115116// resulting in - R_MIPS_HIGHEST/R_MICROMIPS_HIGHEST117fixup_Mips_HIGHEST,118fixup_MICROMIPS_HIGHEST,119120// resulting in - R_MIPS_GOT_HI16121fixup_Mips_GOT_HI16,122123// resulting in - R_MIPS_GOT_LO16124fixup_Mips_GOT_LO16,125126// resulting in - R_MIPS_CALL_HI16127fixup_Mips_CALL_HI16,128129// resulting in - R_MIPS_CALL_LO16130fixup_Mips_CALL_LO16,131132// resulting in - R_MIPS_PC18_S3133fixup_MIPS_PC18_S3,134135// resulting in - R_MIPS_PC19_S2136fixup_MIPS_PC19_S2,137138// resulting in - R_MIPS_PC21_S2139fixup_MIPS_PC21_S2,140141// resulting in - R_MIPS_PC26_S2142fixup_MIPS_PC26_S2,143144// resulting in - R_MIPS_PCHI16145fixup_MIPS_PCHI16,146147// resulting in - R_MIPS_PCLO16148fixup_MIPS_PCLO16,149150// resulting in - R_MICROMIPS_26_S1151fixup_MICROMIPS_26_S1,152153// resulting in - R_MICROMIPS_HI16154fixup_MICROMIPS_HI16,155156// resulting in - R_MICROMIPS_LO16157fixup_MICROMIPS_LO16,158159// resulting in - R_MICROMIPS_GOT16160fixup_MICROMIPS_GOT16,161162// resulting in - R_MICROMIPS_PC7_S1163fixup_MICROMIPS_PC7_S1,164165// resulting in - R_MICROMIPS_PC10_S1166fixup_MICROMIPS_PC10_S1,167168// resulting in - R_MICROMIPS_PC16_S1169fixup_MICROMIPS_PC16_S1,170171// resulting in - R_MICROMIPS_PC26_S1172fixup_MICROMIPS_PC26_S1,173174// resulting in - R_MICROMIPS_PC19_S2175fixup_MICROMIPS_PC19_S2,176177// resulting in - R_MICROMIPS_PC18_S3178fixup_MICROMIPS_PC18_S3,179180// resulting in - R_MICROMIPS_PC21_S1181fixup_MICROMIPS_PC21_S1,182183// resulting in - R_MICROMIPS_CALL16184fixup_MICROMIPS_CALL16,185186// resulting in - R_MICROMIPS_GOT_DISP187fixup_MICROMIPS_GOT_DISP,188189// resulting in - R_MICROMIPS_GOT_PAGE190fixup_MICROMIPS_GOT_PAGE,191192// resulting in - R_MICROMIPS_GOT_OFST193fixup_MICROMIPS_GOT_OFST,194195// resulting in - R_MICROMIPS_TLS_GD196fixup_MICROMIPS_TLS_GD,197198// resulting in - R_MICROMIPS_TLS_LDM199fixup_MICROMIPS_TLS_LDM,200201// resulting in - R_MICROMIPS_TLS_DTPREL_HI16202fixup_MICROMIPS_TLS_DTPREL_HI16,203204// resulting in - R_MICROMIPS_TLS_DTPREL_LO16205fixup_MICROMIPS_TLS_DTPREL_LO16,206207// resulting in - R_MICROMIPS_TLS_GOTTPREL.208fixup_MICROMIPS_GOTTPREL,209210// resulting in - R_MICROMIPS_TLS_TPREL_HI16211fixup_MICROMIPS_TLS_TPREL_HI16,212213// resulting in - R_MICROMIPS_TLS_TPREL_LO16214fixup_MICROMIPS_TLS_TPREL_LO16,215216// resulting in - R_MIPS_SUB/R_MICROMIPS_SUB217fixup_Mips_SUB,218fixup_MICROMIPS_SUB,219220// resulting in - R_MIPS_JALR/R_MICROMIPS_JALR221fixup_Mips_JALR,222fixup_MICROMIPS_JALR,223224// Marker225LastTargetFixupKind,226NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind227};228} // namespace Mips229} // namespace llvm230231232#endif233234235