LLVM  3.7.0
Public Member Functions | List of all members
llvm::GCRelocateOperands Class Reference

Wraps a call to a gc.relocate and provides access to it's operands. More...

#include <Statepoint.h>

Public Member Functions

 GCRelocateOperands (const User *U)
 
 GCRelocateOperands (const Instruction *inst)
 
 GCRelocateOperands (CallSite CS)
 
bool isTiedToInvoke () const
 Return true if this relocate is tied to the invoke statepoint. More...
 
ImmutableCallSite getUnderlyingCallSite ()
 Get enclosed relocate intrinsic. More...
 
const InstructiongetStatepoint ()
 The statepoint with which this gc.relocate is associated. More...
 
unsigned getBasePtrIndex ()
 The index into the associate statepoint's argument list which contains the base pointer of the pointer whose relocation this gc.relocate describes. More...
 
unsigned getDerivedPtrIndex ()
 The index into the associate statepoint's argument list which contains the pointer whose relocation this gc.relocate describes. More...
 
ValuegetBasePtr ()
 
ValuegetDerivedPtr ()
 

Detailed Description

Wraps a call to a gc.relocate and provides access to it's operands.

TODO: This should likely be refactored to resememble the wrappers in InstrinsicInst.h.

Definition at line 308 of file Statepoint.h.

Constructor & Destructor Documentation

llvm::GCRelocateOperands::GCRelocateOperands ( const User U)
inline

Definition at line 312 of file Statepoint.h.

References llvm::isGCRelocate().

llvm::GCRelocateOperands::GCRelocateOperands ( const Instruction inst)
inline

Definition at line 313 of file Statepoint.h.

References llvm::isGCRelocate().

llvm::GCRelocateOperands::GCRelocateOperands ( CallSite  CS)
inline

Definition at line 316 of file Statepoint.h.

References llvm::isGCRelocate().

Member Function Documentation

Value* llvm::GCRelocateOperands::getBasePtr ( )
inline
unsigned llvm::GCRelocateOperands::getBasePtrIndex ( )
inline

The index into the associate statepoint's argument list which contains the base pointer of the pointer whose relocation this gc.relocate describes.

Definition at line 354 of file Statepoint.h.

References llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getArgument().

Referenced by computeBaseDerivedRelocateMap(), getBasePtr(), and simplifyRelocatesOffABase().

Value* llvm::GCRelocateOperands::getDerivedPtr ( )
inline
unsigned llvm::GCRelocateOperands::getDerivedPtrIndex ( )
inline

The index into the associate statepoint's argument list which contains the pointer whose relocation this gc.relocate describes.

Definition at line 360 of file Statepoint.h.

References llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getArgument().

Referenced by computeBaseDerivedRelocateMap(), getDerivedPtr(), and simplifyRelocatesOffABase().

const Instruction* llvm::GCRelocateOperands::getStatepoint ( )
inline
ImmutableCallSite llvm::GCRelocateOperands::getUnderlyingCallSite ( )
inline

Get enclosed relocate intrinsic.

Definition at line 327 of file Statepoint.h.

bool llvm::GCRelocateOperands::isTiedToInvoke ( ) const
inline

Return true if this relocate is tied to the invoke statepoint.

This includes relocates which are on the unwinding path.

Definition at line 320 of file Statepoint.h.

References llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getArgument().


The documentation for this class was generated from the following file: