|
LLVM
3.7.0
|
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 Instruction * | getStatepoint () |
| 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... | |
| Value * | getBasePtr () |
| Value * | getDerivedPtr () |
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.
Definition at line 312 of file Statepoint.h.
References llvm::isGCRelocate().
|
inline |
Definition at line 313 of file Statepoint.h.
References llvm::isGCRelocate().
|
inline |
Definition at line 316 of file Statepoint.h.
References llvm::isGCRelocate().
|
inline |
Definition at line 364 of file Statepoint.h.
References llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_begin(), llvm::CS, getBasePtrIndex(), and getStatepoint().
Referenced by simplifyRelocatesOffABase().
|
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().
|
inline |
Definition at line 369 of file Statepoint.h.
References llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_begin(), llvm::CS, getDerivedPtrIndex(), and getStatepoint().
Referenced by findPreviousSpillSlot(), insertRelocationStores(), isDereferenceablePointer(), simplifyRelocatesOffABase(), and llvm::InstCombiner::visitCallInst().
|
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().
|
inline |
The statepoint with which this gc.relocate is associated.
Definition at line 330 of file Statepoint.h.
References llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getArgument(), getParent(), llvm::BasicBlock::getTerminator(), and llvm::isStatepoint().
Referenced by findPreviousSpillSlot(), getBasePtr(), and getDerivedPtr().
|
inline |
Get enclosed relocate intrinsic.
Definition at line 327 of file Statepoint.h.
|
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().
1.8.6