|
|
|||
File indexing completed on 2026-05-10 08:44:11
0001 //===- llvm/MC/MCRelocationInfo.h -------------------------------*- C++ -*-===// 0002 // 0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 0004 // See https://llvm.org/LICENSE.txt for license information. 0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 0006 // 0007 //===----------------------------------------------------------------------===// 0008 // 0009 // This file declares the MCRelocationInfo class, which provides methods to 0010 // create MCExprs from relocations, either found in an object::ObjectFile 0011 // (object::RelocationRef), or provided through the C API. 0012 // 0013 //===----------------------------------------------------------------------===// 0014 0015 #ifndef LLVM_MC_MCDISASSEMBLER_MCRELOCATIONINFO_H 0016 #define LLVM_MC_MCDISASSEMBLER_MCRELOCATIONINFO_H 0017 0018 namespace llvm { 0019 0020 class MCContext; 0021 class MCExpr; 0022 0023 /// Create MCExprs from relocations found in an object file. 0024 class MCRelocationInfo { 0025 protected: 0026 MCContext &Ctx; 0027 0028 public: 0029 MCRelocationInfo(MCContext &Ctx); 0030 MCRelocationInfo(const MCRelocationInfo &) = delete; 0031 MCRelocationInfo &operator=(const MCRelocationInfo &) = delete; 0032 virtual ~MCRelocationInfo(); 0033 0034 /// Create an MCExpr for the target-specific \p VariantKind. 0035 /// The VariantKinds are defined in llvm-c/Disassembler.h. 0036 /// Used by MCExternalSymbolizer. 0037 /// \returns If possible, an MCExpr corresponding to VariantKind, else 0. 0038 virtual const MCExpr *createExprForCAPIVariantKind(const MCExpr *SubExpr, 0039 unsigned VariantKind); 0040 }; 0041 0042 } // end namespace llvm 0043 0044 #endif // LLVM_MC_MCDISASSEMBLER_MCRELOCATIONINFO_H
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|