comma::SRFrame Class Reference
#include <Frame.h>
List of all members.
Classes |
class | ActivationEntry |
class | Subframe |
Public Member Functions |
| SRFrame (SRInfo *routineInfo, CodeGenRoutine &CGR, llvm::IRBuilder<> &Builder) |
| ~SRFrame () |
SRInfo * | getSRInfo () |
| Returns the SRInfo object this SRFrame represents.
|
SubroutineDecl * | getDeclaration () |
| Returns the subroutine associated with this frame.
|
llvm::Function * | getLLVMFunction () |
| Returns the LLVM function managed by this frame.
|
llvm::IRBuilder & | getIRBuilder () |
llvm::BasicBlock * | makeBasicBlock (const std::string &name="", llvm::BasicBlock *insertBefore=0) |
| Creates a basic block for this frame.
|
bool | hasLandingPad () |
| Returns true if there exists a subframe with an active landing pad.
|
llvm::BasicBlock * | getLandingPad () |
void | removeLandingPad () |
| Removes the innermost landing pad from the subframe stack, if any.
|
void | emitReturn () |
llvm::Value * | getReturnValue () |
llvm::Value * | getImplicitContext () |
void | emitPrologue (llvm::BasicBlock *bodyBB) |
void | emitEpilogue () |
|
|
void | pushFrame (llvm::BasicBlock *associatedBB) |
| Pushes a new subframe and associates it with the given basic block.
|
void | popFrame () |
| Pop's the current subframe.
|
void | stacksave () |
| Marks the current subframe as a stacksave frame.
|
void | addLandingPad () |
| Adds a landing pad to the current subframe.
|
|
|
llvm::Value * | createTemp (const llvm::Type *type) |
void | associate (const ValueDecl *decl, activation::Tag tag, llvm::Value *slot) |
llvm::Value * | lookup (const ValueDecl *decl, activation::Tag tag) |
llvm::Value * | createEntry (const ValueDecl *decl, activation::Tag tag, const llvm::Type *type) |
|
|
void | associate (const PrimaryType *type, activation::Tag tag, llvm::Value *value) |
llvm::Value * | lookup (const PrimaryType *type, activation::Tag tag) |
Detailed Description
Definition at line 51 of file Frame.h.
Constructor & Destructor Documentation
Member Function Documentation
void SRFrame::addLandingPad |
( |
|
) |
|
Adds a landing pad to the current subframe.
Definition at line 134 of file Frame.cpp.
llvm::Value* comma::SRFrame::createEntry |
( |
const ValueDecl * |
decl, |
|
|
activation::Tag |
tag, |
|
|
const llvm::Type * |
type | |
|
) |
| | [inline] |
llvm::Value * SRFrame::createTemp |
( |
const llvm::Type * |
type |
) |
|
void SRFrame::emitEpilogue |
( |
|
) |
|
void SRFrame::emitPrologue |
( |
llvm::BasicBlock * |
bodyBB |
) |
|
void SRFrame::emitReturn |
( |
|
) |
|
Returns the subroutine associated with this frame.
Definition at line 63 of file Frame.h.
llvm::Value* comma::SRFrame::getImplicitContext |
( |
|
) |
[inline] |
llvm::IRBuilder& comma::SRFrame::getIRBuilder |
( |
|
) |
[inline] |
Returns the IRBuilder which should be used to emit code for this subroutine.
Definition at line 70 of file Frame.h.
llvm::BasicBlock * SRFrame::getLandingPad |
( |
|
) |
|
Returns the basic block for use as a landing pad, or null if hasLandingPad returns false.
Definition at line 144 of file Frame.cpp.
llvm::Function* comma::SRFrame::getLLVMFunction |
( |
|
) |
[inline] |
Returns the LLVM function managed by this frame.
Definition at line 66 of file Frame.h.
llvm::Value* comma::SRFrame::getReturnValue |
( |
|
) |
[inline] |
SRInfo* comma::SRFrame::getSRInfo |
( |
|
) |
[inline] |
bool SRFrame::hasLandingPad |
( |
|
) |
|
Returns true if there exists a subframe with an active landing pad.
Definition at line 139 of file Frame.cpp.
llvm::BasicBlock * SRFrame::makeBasicBlock |
( |
const std::string & |
name = "" , |
|
|
llvm::BasicBlock * |
insertBefore = 0 | |
|
) |
| | |
Creates a basic block for this frame.
Definition at line 329 of file Frame.cpp.
void SRFrame::popFrame |
( |
|
) |
|
Pop's the current subframe.
Definition at line 173 of file Frame.cpp.
void SRFrame::pushFrame |
( |
llvm::BasicBlock * |
associatedBB |
) |
|
Pushes a new subframe and associates it with the given basic block.
Definition at line 168 of file Frame.cpp.
void SRFrame::removeLandingPad |
( |
|
) |
|
Removes the innermost landing pad from the subframe stack, if any.
Definition at line 156 of file Frame.cpp.
void SRFrame::stacksave |
( |
|
) |
|
Marks the current subframe as a stacksave frame.
Definition at line 129 of file Frame.cpp.
The documentation for this class was generated from the following files: