LLVM
8.0.1
|
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>
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 | |
This class represents lattice values for constants. | |
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.