LLVM  mainline
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::ConstantTokenNone
ConstantTokenNone - a constant token which is empty. More...
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.