Go to the documentation of this file.
47 #ifndef LLVM_IR_GCSTRATEGY_H
48 #define LLVM_IR_GCSTRATEGY_H
136 #endif // LLVM_IR_GCSTRATEGY_H
This is an optimization pass for GlobalISel generic memory operations.
GCStrategy describes a garbage collector algorithm's code generation requirements,...
const std::string & getName() const
Return the name of the GC strategy.
The instances of the Type class are immutable: once they are created, they are never changed.
bool needsSafePoints() const
True if safe points need to be inferred on call sites.
bool usesMetadata() const
If set, appropriate metadata tables must be emitted by the back-end (assembler, JIT,...
StringRef - Represent a constant reference to a string, i.e.
virtual Optional< bool > isGCManagedPointer(const Type *Ty) const
If the type specified can be reliably distinguished, returns true for pointers to GC managed location...
virtual ~GCStrategy()=default
bool NeededSafePoints
Uses gc.statepoints as opposed to gc.roots, if set, none of the other options can be anything but the...
A global registry used in conjunction with static constructors to make pluggable components (like tar...
bool useStatepoints() const
Returns true if this strategy is expecting the use of gc.statepoints, and false otherwise.
std::unique_ptr< GCStrategy > getGCStrategy(const StringRef Name)
Lookup the GCStrategy object associated with the given gc name.
An analysis pass which caches information about the entire Module.
bool UsesMetadata
If set, backend must emit metadata tables.