50 #ifndef LLVM_CODEGEN_GCSTRATEGY_H 51 #define LLVM_CODEGEN_GCSTRATEGY_H 137 #endif // LLVM_CODEGEN_GCSTRATEGY_H bool UsesMetadata
If set, backend must emit metadata tables.
Type
MessagePack types as defined in the standard, with the exception of Integer being divided into a sign...
This class represents lattice values for constants.
A global registry used in conjunction with static constructors to make pluggable components (like tar...
amdgpu Simplify well known AMD library false Value Value const Twine & Name
An analysis pass which caches information about the entire Module.
const std::string & getName() const
Return the name of the GC strategy.
virtual Optional< bool > isGCManagedPointer(const Type *Ty) const
If the type specified can be reliably distinguished, returns true for pointers to GC managed location...
bool useStatepoints() const
Returns true if this strategy is expecting the use of gc.statepoints, and false otherwise.
The instances of the Type class are immutable: once they are created, they are never changed...
bool NeededSafePoints
Uses gc.statepoints as opposed to gc.roots, if set, none of the other options can be anything but the...
bool usesMetadata() const
If set, appropriate metadata tables must be emitted by the back-end (assembler, JIT, or otherwise).
GCStrategy describes a garbage collector algorithm's code generation requirements, and provides overridable hooks for those needs which cannot be abstractly described.
virtual ~GCStrategy()=default
bool needsSafePoints() const
True if safe points need to be inferred on call sites.