9#ifndef LLVM_SUPPORT_LIBRARYOPTIONSCONTEXT_H
10#define LLVM_SUPPORT_LIBRARYOPTIONSCONTEXT_H
45 template <
typename T>
const T &
get()
const {
46 if (
const void *Opts = Values.lookup(&T::Global))
47 return *
static_cast<const T *
>(Opts);
55 return C ?
C->get<
T>() : T::Global;
This file defines the BumpPtrAllocator interface.
static GCRegistry::Add< ShadowStackGC > C("shadow-stack", "Very portable GC for uncooperative code generators")
This file defines the DenseMap class.
static llvm::Error parse(GsymDataExtractor &Data, uint64_t BaseAddr, LineEntryCallback const &Callback)
This file defines the SmallVector class.
Represent a constant reference to an array (0 or more elements consecutively in memory),...
Lightweight error class with error context and mandatory checking.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
ArrayRef< const char * > args() const
void assign(const LibraryOptionsContext &Other)
static const T & get(const LibraryOptionsContext *C)
The options of a library that declares them in TableGen rather than as cl::opt (see llvm/Option/Libra...
This namespace contains all of the command line option processing machinery.
This is an optimization pass for GlobalISel generic memory operations.
RelativeUniformCounterPtr Values
BumpPtrAllocatorImpl<> BumpPtrAllocator
The standard BumpPtrAllocator which just uses the default template parameters.