LLVM  8.0.1
Classes | Namespaces | Enumerations | Functions
Statepoint.h File Reference
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/CallSite.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/MathExtras.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <vector>
Include dependency graph for Statepoint.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::StatepointBase< FunTy, InstructionTy, ValueTy, CallSiteTy >
 Analogous to CallSiteBase, this provides most of the actual functionality for Statepoint and ImmutableStatepoint. More...
 
class  llvm::ImmutableStatepoint
 A specialization of it's base class for read only access to a gc.statepoint. More...
 
class  llvm::Statepoint
 A specialization of it's base class for read-write access to a gc.statepoint. More...
 
class  llvm::GCProjectionInst
 Common base class for representing values projected from a statepoint. More...
 
class  llvm::GCRelocateInst
 Represents calls to the gc.relocate intrinsic. More...
 
class  llvm::GCResultInst
 Represents calls to the gc.result intrinsic. More...
 
struct  llvm::StatepointDirectives
 Call sites that get wrapped by a gc.statepoint (currently only in RewriteStatepointsForGC and potentially in other passes in the future) can have attributes that describe properties of gc.statepoint call they will be eventually be wrapped in. More...
 

Namespaces

 llvm
 This class represents lattice values for constants.
 

Enumerations

enum  llvm::StatepointFlags { llvm::StatepointFlags::None = 0, llvm::StatepointFlags::GCTransition = 1, llvm::StatepointFlags::DeoptLiveIn = 2, llvm::StatepointFlags::MaskAll = 3 }
 The statepoint intrinsic accepts a set of flags as its third argument. More...
 

Functions

bool llvm::isStatepoint (ImmutableCallSite CS)
 
bool llvm::isStatepoint (const Value *V)
 
bool llvm::isStatepoint (const Value &V)
 
bool llvm::isGCRelocate (ImmutableCallSite CS)
 
bool llvm::isGCRelocate (const Value *V)
 
bool llvm::isGCResult (ImmutableCallSite CS)
 
bool llvm::isGCResult (const Value *V)
 
StatepointDirectives llvm::parseStatepointDirectivesFromAttrs (AttributeList AS)
 Parse out statepoint directives from the function attributes present in AS. More...
 
bool llvm::isStatepointDirectiveAttr (Attribute Attr)
 Return true if the Attr is an attribute that is a statepoint directive. More...