comma::CodeGenRoutine Class Reference

#include <CodeGenRoutine.h>

Collaboration diagram for comma::CodeGenRoutine:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 CodeGenRoutine (CGContext &CGC, SRInfo *info)
CodeGengetCodeGen ()
 Returns the code generator.
CGContextgetCGC ()
 Returns the code generator context.
SRInfogetSRInfo ()
 Returns the SRInfo object corresponding to the subroutine being generated.
SRFramegetSRFrame ()
llvm::Value * getImplicitContext () const
void emit ()
CValue emitValue (Expr *expr)
CValue emitReference (Expr *expr)
CValue emitArrayExpr (Expr *expr, llvm::Value *dst, bool genTmp)
CValue emitRecordExpr (Expr *expr, llvm::Value *dst, bool genTmp)
CValue emitCompositeExpr (Expr *expr, llvm::Value *dst, bool genTmp)
void emitStmt (Stmt *stmt)
CValue emitSimpleCall (FunctionCallExpr *expr)
CValue emitFunctionCall (FunctionCallExpr *expr)
CValue emitCompositeCall (FunctionCallExpr *expr, llvm::Value *dst)
CValue emitVStackCall (FunctionCallExpr *expr)
void emitArrayCopy (llvm::Value *source, llvm::Value *destination, ArrayType *arrTy)
void emitArrayCopy (llvm::Value *source, llvm::Value *destination, llvm::Value *length, const llvm::Type *componentTy)
CValue emitIndexedArrayRef (IndexedArrayExpr *expr)
CValue emitSelectedRef (SelectedExpr *expr)
TyperesolveType (Type *type)
TyperesolveType (Expr *expr)
void emitNullAccessCheck (llvm::Value *pointer, Location loc)
 Emits a null check for the given pointer value.

Detailed Description

Definition at line 33 of file CodeGenRoutine.h.


Constructor & Destructor Documentation

CodeGenRoutine::CodeGenRoutine ( CGContext CGC,
SRInfo info 
)

Definition at line 32 of file CodeGenRoutine.cpp.


Member Function Documentation

void CodeGenRoutine::emit (  ) 

Definition at line 41 of file CodeGenRoutine.cpp.

void CodeGenRoutine::emitArrayCopy ( llvm::Value *  source,
llvm::Value *  destination,
llvm::Value *  length,
const llvm::Type *  componentTy 
)

Definition at line 1315 of file CodeGenAgg.cpp.

void CodeGenRoutine::emitArrayCopy ( llvm::Value *  source,
llvm::Value *  destination,
ArrayType arrTy 
)

Definition at line 1284 of file CodeGenAgg.cpp.

CValue CodeGenRoutine::emitArrayExpr ( Expr expr,
llvm::Value *  dst,
bool  genTmp 
)

Definition at line 1340 of file CodeGenAgg.cpp.

CValue CodeGenRoutine::emitCompositeCall ( FunctionCallExpr expr,
llvm::Value *  dst 
)

Emits a function call using the sret calling convention.

Parameters:
call The function call to emit. This must be a function returning a constrained aggregate type.
dst A pointer to storage capable of holding the result of this call. If dst is null then a temporary is allocated.
Returns:
A CValue containing dst or the allocated temporary.

Definition at line 931 of file CodeGenCall.cpp.

CValue CodeGenRoutine::emitCompositeExpr ( Expr expr,
llvm::Value *  dst,
bool  genTmp 
)

Definition at line 1353 of file CodeGenAgg.cpp.

CValue CodeGenRoutine::emitFunctionCall ( FunctionCallExpr expr  ) 

Definition at line 915 of file CodeGenCall.cpp.

CValue CodeGenRoutine::emitIndexedArrayRef ( IndexedArrayExpr expr  ) 

Definition at line 120 of file CodeGenExpr.cpp.

void CodeGenRoutine::emitNullAccessCheck ( llvm::Value *  pointer,
Location  loc 
)

Emits a null check for the given pointer value.

Definition at line 429 of file CodeGenExpr.cpp.

CValue CodeGenRoutine::emitRecordExpr ( Expr expr,
llvm::Value *  dst,
bool  genTmp 
)

Definition at line 1346 of file CodeGenAgg.cpp.

CValue CodeGenRoutine::emitReference ( Expr expr  ) 

Definition at line 143 of file CodeGenRoutine.cpp.

CValue CodeGenRoutine::emitSelectedRef ( SelectedExpr expr  ) 

Definition at line 228 of file CodeGenExpr.cpp.

CValue CodeGenRoutine::emitSimpleCall ( FunctionCallExpr expr  ) 

Definition at line 925 of file CodeGenCall.cpp.

void CodeGenRoutine::emitStmt ( Stmt stmt  ) 

Definition at line 27 of file CodeGenStmt.cpp.

CValue CodeGenRoutine::emitValue ( Expr expr  ) 

Definition at line 167 of file CodeGenRoutine.cpp.

CValue CodeGenRoutine::emitVStackCall ( FunctionCallExpr expr  ) 

Definition at line 938 of file CodeGenCall.cpp.

CGContext& comma::CodeGenRoutine::getCGC (  )  [inline]

Returns the code generator context.

Definition at line 56 of file CodeGenRoutine.h.

CodeGen& comma::CodeGenRoutine::getCodeGen (  )  [inline]

Returns the code generator.

Definition at line 53 of file CodeGenRoutine.h.

llvm::Value* comma::CodeGenRoutine::getImplicitContext (  )  const [inline]

Definition at line 66 of file CodeGenRoutine.h.

SRFrame* comma::CodeGenRoutine::getSRFrame (  )  [inline]

Returns the SRFrame object corresponding to the subroutine being generated.

Definition at line 64 of file CodeGenRoutine.h.

SRInfo* comma::CodeGenRoutine::getSRInfo (  )  [inline]

Returns the SRInfo object corresponding to the subroutine being generated.

Definition at line 60 of file CodeGenRoutine.h.

Type* comma::CodeGenRoutine::resolveType ( Expr expr  )  [inline]

Definition at line 109 of file CodeGenRoutine.h.

Type * CodeGenRoutine::resolveType ( Type type  ) 

Definition at line 283 of file CodeGenRoutine.cpp.


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

Generated on 1 Feb 2010 for Comma by  doxygen 1.6.1

Rabisu Mirror Service We provide mirrors to support Open source communities. Our mirror server is located in Istanbul/Turkey region.

Please do not hesitate to contact mirror@rabisu.com for new open source mirror submissions.