LLVM  6.0.0svn
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/ADT/None.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/OperandTraits.h"
#include "llvm/IR/User.h"
#include "llvm/IR/Value.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
Include dependency graph for Constants.h:

Go to the source code of this file.

Classes

struct  llvm::ConstantAggrKeyType< ConstantClass >
 
class  llvm::ConstantData
 Base class for constants with no operands. More...
 
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
 All zero aggregate value. More...
 
class  llvm::ConstantAggregate
 Base class for aggregate constants (with operands). More...
 
struct  llvm::OperandTraits< ConstantAggregate >
 
class  llvm::ConstantArray
 ConstantArray - Constant Array Declarations. More...
 
class  llvm::ConstantStruct
 
class  llvm::ConstantVector
 Constant Vector Declarations. More...
 
class  llvm::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
 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
 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
 A constant token which is empty. More...
 
class  llvm::BlockAddress
 The address of a basic block. More...
 
struct  llvm::OperandTraits< BlockAddress >
 
class  llvm::ConstantExpr
 A constant value that is initialized with an expression using other constant values. More...
 
struct  llvm::OperandTraits< ConstantExpr >
 
class  llvm::UndefValue
 'undef' values are things that do not have specified contents. More...
 

Namespaces

 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.