1//===- RelocVisitor.h - Visitor for object file relocations -----*- C++ -*-===//
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
7//===----------------------------------------------------------------------===//
9// This file provides a wrapper around all the different types of relocations
10// in different file formats, such that a client can handle them in a unified
11// manner by only implementing a minimal number of functions.
13//===----------------------------------------------------------------------===//
15#ifndef LLVM_OBJECT_RELOCATIONRESOLVER_H
16#define LLVM_OBJECT_RELOCATIONRESOLVER_H
33LLVM_ABI std::pair<SupportsRelocation, RelocationResolver>
40}
// end namespace object
41}
// end namespace llvm
43#endif // LLVM_OBJECT_RELOCATIONRESOLVER_H
Interface for looking up the initializer for a variable name, used by Init::resolveReferences.
The instances of the Type class are immutable: once they are created, they are never changed.
This class is the base class for all object file types.
This is a value type class that represents a single relocation in the list of relocations in the obje...
LLVM_ABI uint64_t resolveRelocation(RelocationResolver Resolver, const RelocationRef &R, uint64_t S, uint64_t LocData)
uint64_t(*)(uint64_t Type, uint64_t Offset, uint64_t S, uint64_t LocData, int64_t Addend) RelocationResolver
LLVM_ABI std::pair< SupportsRelocation, RelocationResolver > getRelocationResolver(const ObjectFile &Obj)
bool(*)(uint64_t) SupportsRelocation
This is an optimization pass for GlobalISel generic memory operations.