LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
Constants.cpp File Reference
#include "llvm/IR/Constants.h"
#include "ConstantFold.h"
#include "LLVMContextImpl.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Operator.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/GetElementPtrTypeIterator.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cstdarg>
Include dependency graph for Constants.cpp:

Go to the source code of this file.

Functions

static bool canTrapImpl (const Constant *C, SmallPtrSet< const ConstantExpr *, 4 > &NonTrappingOps)
 
static bool removeDeadUsersOfConstant (const Constant *C)
 
static const fltSemanticsTypeToFloatSemantics (Type *Ty)
 
template<typename ItTy , typename EltTy >
static bool rangeOnlyContains (ItTy Start, ItTy End, EltTy Elt)
 
static ConstantgetFoldedCast (Instruction::CastOps opc, Constant *C, Type *Ty)
 
static bool isAllZeros (StringRef Arr)
 isAllZeros - return true if the array is empty or all zeros. More...
 

Function Documentation

static bool canTrapImpl ( const Constant C,
SmallPtrSet< const ConstantExpr *, 4 > &  NonTrappingOps 
)
static
static Constant* getFoldedCast ( Instruction::CastOps  opc,
Constant C,
Type Ty 
)
inlinestatic
static bool isAllZeros ( StringRef  Arr)
static

isAllZeros - return true if the array is empty or all zeros.

Definition at line 2237 of file Constants.cpp.

References llvm::StringRef::begin(), llvm::StringRef::end(), and I.

Referenced by llvm::ConstantDataSequential::getImpl(), and llvm::ConstantStruct::replaceUsesOfWithOnConstant().

template<typename ItTy , typename EltTy >
static bool rangeOnlyContains ( ItTy  Start,
ItTy  End,
EltTy  Elt 
)
static

Definition at line 726 of file Constants.cpp.

Referenced by llvm::ConstantArray::get().

static bool removeDeadUsersOfConstant ( const Constant C)
static

removeDeadUsersOfConstant - If the specified constantexpr is dead, remove it. This involves recursively eliminating any dead users of the constantexpr.

Definition at line 376 of file Constants.cpp.

References llvm::CallingConv::C, llvm::dyn_cast(), llvm::Value::use_back(), and llvm::Value::use_empty().

Referenced by llvm::Constant::removeDeadConstantUsers().

static const fltSemantics* TypeToFloatSemantics ( Type Ty)
static