LLVM  mainline
Classes | Namespaces
Constants.h File Reference

This file contains the declarations for the subclasses of Constant, which represent the different flavors of constant values that live in LLVM. More...

#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/OperandTraits.h"
Include dependency graph for Constants.h:

Go to the source code of this file.

Classes

class  llvm::ConstantInt
 This is the shared class of boolean and integer constants. More...
class  llvm::ConstantFP
 ConstantFP - Floating Point Values [float, double]. More...
class  llvm::ConstantAggregateZero
 ConstantAggregateZero - All zero aggregate value. More...
class  llvm::ConstantArray
 ConstantArray - Constant Array Declarations. More...
struct  llvm::OperandTraits< ConstantArray >
class  llvm::ConstantStruct
struct  llvm::OperandTraits< ConstantStruct >
class  llvm::ConstantVector
 ConstantVector - Constant Vector Declarations. More...
struct  llvm::OperandTraits< ConstantVector >
class  llvm::ConstantPointerNull
 ConstantPointerNull - a constant pointer value that points to null. More...
class  llvm::ConstantDataSequential
 ConstantDataSequential - A vector or array constant whose element type is a simple 1/2/4/8-byte integer or float/double, and whose elements are just simple data values (i.e. More...
class  llvm::ConstantDataArray
 ConstantDataArray - An array constant whose element type is a simple 1/2/4/8-byte integer or float/double, and whose elements are just simple data values (i.e. More...
class  llvm::ConstantDataVector
 ConstantDataVector - A vector constant whose element type is a simple 1/2/4/8-byte integer or float/double, and whose elements are just simple data values (i.e. More...
class  llvm::BlockAddress
 BlockAddress - The address of a basic block. More...
struct  llvm::OperandTraits< BlockAddress >
class  llvm::ConstantExpr
 ConstantExpr - a constant value that is initialized with an expression using other constant values. More...
struct  llvm::OperandTraits< ConstantExpr >
class  llvm::UndefValue
 UndefValue - 'undef' values are things that do not have specified contents. More...

Namespaces

namespace  llvm
 

Compute iterated dominance frontiers using a linear time algorithm.



Detailed Description

This file contains the declarations for the subclasses of Constant, which represent the different flavors of constant values that live in LLVM.

Note that Constants are immutable (once created they never change) and are fully shared by structural equivalence. This means that two structurally equivalent constants will always have the same address. Constants are created on demand as needed and never deleted: thus clients don't have to worry about the lifetime of the objects.

Definition in file Constants.h.