Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

SH::ShEvalOpInfo Struct Reference

Note: Everything here is meant for internal use. More...

#include <ShEval.hpp>

Inheritance diagram for SH::ShEvalOpInfo:

Inheritance graph
[legend]
Collaboration diagram for SH::ShEvalOpInfo:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ShEvalOpInfo (ShOperation op, const ShEvalOp *evalOp, ShValueType dest, ShValueType src0, ShValueType src1, ShValueType src2)
ShStatementInfoclone () const
std::string encode () const

Public Attributes

ShOperation m_op
const ShEvalOp * m_evalOp
ShValueType m_dest
ShValueType m_src [3]

Detailed Description

Note: Everything here is meant for internal use.

Type specific definitions for the internal instructions as they are used in host computations.

Each ShEvalOp can evaluate a subset of operations for specific input types (i.e. arithmetic ops, with T <- T x T)

Most normal ops fall into the dest & src typse all = T category, but some (like interval lo/hi accessors) have different dest type from src type.

Initially, each evalOp registers all the ops it can handle with the ShEval (the (opcode X src types) must be unique for now). Then ShInstructions passes ShEval a bunch of stuff and ShEval will look up the appropriate evalOp for an operation.

Extend later to handle n-ary operations if necessary (there are a few in the shref, but none implemented as IR operations yet...)

Definition at line 45 of file ShEval.hpp.


The documentation for this struct was generated from the following files:
Generated on Mon Jan 24 18:38:08 2005 for Sh by  doxygen 1.4.1