36 #ifndef LLVM_CODEGEN_GCSTRATEGY_H
37 #define LLVM_CODEGEN_GCSTRATEGY_H
bool usesMetadata() const
bool UsesMetadata
If set, backend must emit metadata tables.
virtual bool performCustomLowering(Function &F)
The main container class for the LLVM Intermediate Representation.
virtual bool findCustomSafePoints(GCFunctionInfo &FI, MachineFunction &MF)
bool InitRoots
If set, roots are nulled during lowering.
std::vector< GCFunctionInfo * > list_type
unsigned NeededSafePoints
Bitmask of required safe points.
Registry< GCStrategy > GCRegistry
const std::string & getName() const
bool customReadBarrier() const
bool CustomReadBarriers
Default is to insert loads.
bool CustomWriteBarriers
Default is to insert stores.
bool initializeRoots() const
initializeRoots - If set, gcroot intrinsics should initialize their
list_type::iterator iterator
bool needsSafePoint(GC::PointKind Kind) const
needsSafePoint(Kind) - True if the given kind of safe point is
bool needsSafePoints() const
needsSafePoitns - True if safe points of any kind are required. By
bool CustomRoots
Default is to pass through to backend.
bool customWriteBarrier() const
GCFunctionInfo * insertFunctionInfo(const Function &F)
bool customSafePoints() const
const Module & getModule() const
virtual bool initializeCustomLowering(Module &F)