LLVM 20.0.0git
Classes | Namespaces | Typedefs | Functions
ExecutorAddress.h File Reference
#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/ADT/identity.h"
#include "llvm/ExecutionEngine/Orc/Shared/SimplePackedSerialization.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <type_traits>

Go to the source code of this file.

Classes

class  llvm::orc::ExecutorAddr
 Represents an address in the executor process. More...
 
class  llvm::orc::ExecutorAddr::Tag
 Merges a tag into the raw address value: P' = P | (TagValue << TagOffset). More...
 
class  llvm::orc::ExecutorAddr::Untag
 Strips a tag of the given length from the given offset within the pointer: P' = P & ~(((1 << TagLen) -1) << TagOffset) More...
 
struct  llvm::orc::ExecutorAddrRange
 Represents an address range in the exceutor process. More...
 
class  llvm::orc::shared::SPSExecutorAddr
 
class  llvm::orc::shared::SPSSerializationTraits< SPSExecutorAddr, ExecutorAddr >
 SPS serializatior for ExecutorAddr. More...
 
class  llvm::orc::shared::SPSSerializationTraits< SPSExecutorAddrRange, ExecutorAddrRange >
 Serialization traits for address ranges. More...
 
struct  llvm::DenseMapInfo< orc::ExecutorAddr >
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::orc
 
namespace  llvm::orc::shared
 

Typedefs

using llvm::orc::ExecutorAddrDiff = uint64_t
 
using llvm::orc::shared::SPSExecutorAddrRange = SPSTuple< SPSExecutorAddr, SPSExecutorAddr >
 
using llvm::orc::shared::SPSExecutorAddrRangeSequence = SPSSequence< SPSExecutorAddrRange >
 

Functions

ExecutorAddrDiff llvm::orc::operator- (const ExecutorAddr &LHS, const ExecutorAddr &RHS)
 Subtracting two addresses yields an offset.
 
ExecutorAddr llvm::orc::operator+ (const ExecutorAddr &LHS, const ExecutorAddrDiff &RHS)
 Adding an offset and an address yields an address.
 
ExecutorAddr llvm::orc::operator+ (const ExecutorAddrDiff &LHS, const ExecutorAddr &RHS)
 Adding an address and an offset yields an address.
 
ExecutorAddr llvm::orc::operator- (const ExecutorAddr &LHS, const ExecutorAddrDiff &RHS)
 Subtracting an offset from an address yields an address.
 
ExecutorAddrDiff llvm::orc::operator% (const ExecutorAddr &LHS, const ExecutorAddrDiff &RHS)
 Taking the modulus of an address and a diff yields a diff.
 
raw_ostream & llvm::orc::operator<< (raw_ostream &OS, const ExecutorAddr &A)
 
raw_ostream & llvm::orc::operator<< (raw_ostream &OS, const ExecutorAddrRange &R)