Path: blob/main/contrib/llvm-project/llvm/lib/Target/Lanai/MCTargetDesc/LanaiFixupKinds.h
35295 views
//===-- LanaiFixupKinds.h - Lanai 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_LANAI_MCTARGETDESC_LANAIFIXUPKINDS_H9#define LLVM_LIB_TARGET_LANAI_MCTARGETDESC_LANAIFIXUPKINDS_H1011#include "llvm/MC/MCFixup.h"1213namespace llvm {14namespace Lanai {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 save order of20// MCFixupKindInfo Infos[Lanai::NumTargetFixupKinds]21// in LanaiAsmBackend.cpp.22//23enum Fixups {24// Results in R_Lanai_NONE25FIXUP_LANAI_NONE = FirstTargetFixupKind,2627FIXUP_LANAI_21, // 21-bit symbol relocation28FIXUP_LANAI_21_F, // 21-bit symbol relocation, last two bits masked to 029FIXUP_LANAI_25, // 25-bit branch targets30FIXUP_LANAI_32, // general 32-bit relocation31FIXUP_LANAI_HI16, // upper 16-bits of a symbolic relocation32FIXUP_LANAI_LO16, // lower 16-bits of a symbolic relocation3334// Marker35LastTargetFixupKind,36NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind37};38} // namespace Lanai39} // namespace llvm4041#endif // LLVM_LIB_TARGET_LANAI_MCTARGETDESC_LANAIFIXUPKINDS_H424344