LLVM API Documentation

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

llvm::ExprType Struct Reference

#include <Expressions.h>

Collaboration diagram for llvm::ExprType:

Collaboration graph
[legend]
List of all members.

Public Types

enum  ExpressionType { Constant, Linear, ScaledLinear }

Public Member Functions

 ExprType (const ConstantInt *CPV=0)
 ExprType (Value *Val)
 ExprType (const ConstantInt *scale, Value *var, const ConstantInt *offset)
const TypegetExprType (const Type *Default) const

Public Attributes

enum llvm::ExprType::ExpressionType ExprTy
const ConstantIntOffset
ValueVar
const ConstantIntScale

Detailed Description

ExprType Class - Represent an expression of the form CONST*VAR+CONST or simpler. The expression form that yields the least information about the expression is just the Linear form with no offset.

Definition at line 37 of file Expressions.h.


Member Enumeration Documentation

enum llvm::ExprType::ExpressionType
 

Enumerator:
Constant 
Linear 
ScaledLinear 

Definition at line 38 of file Expressions.h.


Constructor & Destructor Documentation

llvm::ExprType::ExprType const ConstantInt CPV = 0  )  [inline]
 

Definition at line 48 of file Expressions.h.

References ExprTy, Offset, Scale, and Var.

ExprType::ExprType Value Val  ) 
 

Definition at line 25 of file Expressions.cpp.

References ExprTy, Linear, Offset, Scale, and Var.

ExprType::ExprType const ConstantInt scale,
Value var,
const ConstantInt offset
 

Definition at line 40 of file Expressions.cpp.

References ExprTy, llvm::ConstantInt::isNullValue(), Linear, Offset, Scale, ScaledLinear, and Var.


Member Function Documentation

const Type * ExprType::getExprType const Type Default  )  const
 

If this expression has an intrinsic type, return it. If it is zero, return the specified type.

Definition at line 51 of file Expressions.cpp.

References llvm::Value::getType(), Offset, Scale, and Var.

Referenced by llvm::ClassifyExpr().


Member Data Documentation

enum llvm::ExprType::ExpressionType llvm::ExprType::ExprTy
 

Referenced by llvm::ClassifyExpr(), ExprType(), and handleAddition().

const ConstantInt* llvm::ExprType::Offset
 

Definition at line 44 of file Expressions.h.

Referenced by llvm::ClassifyExpr(), ConvertMallocToType(), ExprType(), getExprType(), handleAddition(), MallocConvertibleToType(), and negate().

const ConstantInt* llvm::ExprType::Scale
 

Definition at line 46 of file Expressions.h.

Referenced by llvm::ClassifyExpr(), ConvertMallocToType(), ExprType(), getExprType(), handleAddition(), MallocConvertibleToType(), and negate().

Value* llvm::ExprType::Var
 

Definition at line 45 of file Expressions.h.

Referenced by llvm::ClassifyExpr(), ConvertMallocToType(), ExprType(), getExprType(), handleAddition(), MallocConvertibleToType(), and negate().


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