GPUOcelot
Public Types | Public Member Functions

ir::LLVMKernel Class Reference

A class containing a complete representation of an LLVM kernel. More...

#include <LLVMKernel.h>

Inheritance diagram for ir::LLVMKernel:
Inheritance graph
[legend]
Collaboration diagram for ir::LLVMKernel:
Collaboration graph
[legend]

List of all members.

Public Types

typedef std::vector
< LLVMInstruction * > 
LLVMInstructionVector
 A vector of LLVM instructions.
typedef std::deque< LLVMStatementLLVMStatementVector
 A vector of LLVM Statements.

Public Member Functions

 LLVMKernel ()
 Sets the ISA.
 LLVMKernel (const Kernel &k)
 Initialized the base class from a kernel and executive.
void push_back (const LLVMStatement &statement)
 Add a statement to the end.
void push_front (const LLVMStatement &statement)
 Add a statement to the beginning.
void assemble ()
 Assemble the LLVM kernel from the set of statements.
bool assembled () const
 Is the kernel assembled?
const std::string & code () const
 Get the assembly code.
std::string numberedCode () const
 Get the assembly code with line numbers.
const LLVMStatementVectorllvmStatements () const
 Get the set of statements.

Detailed Description

A class containing a complete representation of an LLVM kernel.


Member Typedef Documentation

A vector of LLVM instructions.

A vector of LLVM Statements.


Constructor & Destructor Documentation

ir::LLVMKernel::LLVMKernel ( )

Sets the ISA.

ir::LLVMKernel::LLVMKernel ( const Kernel k)

Initialized the base class from a kernel and executive.


Member Function Documentation

void ir::LLVMKernel::assemble ( )

Assemble the LLVM kernel from the set of statements.

bool ir::LLVMKernel::assembled ( ) const

Is the kernel assembled?

const std::string & ir::LLVMKernel::code ( ) const

Get the assembly code.

const LLVMKernel::LLVMStatementVector & ir::LLVMKernel::llvmStatements ( ) const

Get the set of statements.

std::string ir::LLVMKernel::numberedCode ( ) const

Get the assembly code with line numbers.

void ir::LLVMKernel::push_back ( const LLVMStatement statement)

Add a statement to the end.

void ir::LLVMKernel::push_front ( const LLVMStatement statement)

Add a statement to the beginning.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines