LLVM 22.0.0git
MCRelocationInfo.h
Go to the documentation of this file.
1//===- llvm/MC/MCRelocationInfo.h -------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file declares the MCRelocationInfo class, which provides methods to
10// create MCExprs from relocations, either found in an object::ObjectFile
11// (object::RelocationRef), or provided through the C API.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef LLVM_MC_MCDISASSEMBLER_MCRELOCATIONINFO_H
16#define LLVM_MC_MCDISASSEMBLER_MCRELOCATIONINFO_H
17
19
20namespace llvm {
21
22class MCContext;
23class MCExpr;
24
25/// Create MCExprs from relocations found in an object file.
27protected:
29
30public:
35
36 /// Create an MCExpr for the target-specific \p VariantKind.
37 /// The VariantKinds are defined in llvm-c/Disassembler.h.
38 /// Used by MCExternalSymbolizer.
39 /// \returns If possible, an MCExpr corresponding to VariantKind, else 0.
40 virtual const MCExpr *createExprForCAPIVariantKind(const MCExpr *SubExpr,
41 unsigned VariantKind);
42};
43
44} // end namespace llvm
45
46#endif // LLVM_MC_MCDISASSEMBLER_MCRELOCATIONINFO_H
#define LLVM_ABI
Definition: Compiler.h:213
Context object for machine code objects.
Definition: MCContext.h:83
Base class for the full range of assembler expressions which are needed for parsing.
Definition: MCExpr.h:34
Create MCExprs from relocations found in an object file.
MCRelocationInfo & operator=(const MCRelocationInfo &)=delete
MCRelocationInfo(const MCRelocationInfo &)=delete
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18