1 //===-- LanaiFixupKinds.h - Lanai Specific Fixup Entries --------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef LLVM_LIB_TARGET_LANAI_MCTARGETDESC_LANAIFIXUPKINDS_H 11 #define LLVM_LIB_TARGET_LANAI_MCTARGETDESC_LANAIFIXUPKINDS_H 12 13 #include "llvm/MC/MCFixup.h" 14 15 namespace llvm { 16 namespace Lanai { 17 // Although most of the current fixup types reflect a unique relocation 18 // one can have multiple fixup types for a given relocation and thus need 19 // to be uniquely named. 20 // 21 // This table *must* be in the save order of 22 // MCFixupKindInfo Infos[Lanai::NumTargetFixupKinds] 23 // in LanaiAsmBackend.cpp. 24 // 25 enum Fixups { 26 // Results in R_Lanai_NONE 27 FIXUP_LANAI_NONE = FirstTargetFixupKind, 28 29 FIXUP_LANAI_21, // 21-bit symbol relocation 30 FIXUP_LANAI_21_F, // 21-bit symbol relocation, last two bits masked to 0 31 FIXUP_LANAI_25, // 25-bit branch targets 32 FIXUP_LANAI_32, // general 32-bit relocation 33 FIXUP_LANAI_HI16, // upper 16-bits of a symbolic relocation 34 FIXUP_LANAI_LO16, // lower 16-bits of a symbolic relocation 35 36 // Marker 37 LastTargetFixupKind, 38 NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind 39 }; 40 } // namespace Lanai 41 } // namespace llvm 42 43 #endif // LLVM_LIB_TARGET_LANAI_MCTARGETDESC_LANAIFIXUPKINDS_H 44