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