LLVM  4.0.0
Functions
Instructions.cpp File Reference
#include "llvm/IR/Instructions.h"
#include "LLVMContextImpl.h"
#include "llvm/IR/CallSite.h"
#include "llvm/IR/ConstantRange.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Operator.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
Include dependency graph for Instructions.cpp:

Go to the source code of this file.

Functions

static bool IsConstantOne (Value *val)
 IsConstantOne - Return true only if val is constant int 1. More...
 
static InstructioncreateMalloc (Instruction *InsertBefore, BasicBlock *InsertAtEnd, Type *IntPtrTy, Type *AllocTy, Value *AllocSize, Value *ArraySize, ArrayRef< OperandBundleDef > OpB, Function *MallocF, const Twine &Name)
 
static InstructioncreateFree (Value *Source, ArrayRef< OperandBundleDef > Bundles, Instruction *InsertBefore, BasicBlock *InsertAtEnd)
 
static ValuegetAISize (LLVMContext &Context, Value *Amt)
 
template<typename IndexTy >
static TypegetIndexedTypeInternal (Type *Agg, ArrayRef< IndexTy > IdxList)
 getIndexedType - Returns the type of the element that would be accessed with a gep instruction with the specified parameters. More...
 
static bool isConstantAllOnes (const Value *V)
 

Function Documentation

static Instruction* createFree ( Value Source,
ArrayRef< OperandBundleDef Bundles,
Instruction InsertBefore,
BasicBlock InsertAtEnd 
)
static
static Instruction* createMalloc ( Instruction InsertBefore,
BasicBlock InsertAtEnd,
Type IntPtrTy,
Type AllocTy,
Value AllocSize,
Value ArraySize,
ArrayRef< OperandBundleDef OpB,
Function MallocF,
const Twine Name 
)
static
static Value* getAISize ( LLVMContext Context,
Value Amt 
)
static
template<typename IndexTy >
static Type* getIndexedTypeInternal ( Type Agg,
ArrayRef< IndexTy >  IdxList 
)
static

getIndexedType - Returns the type of the element that would be accessed with a gep instruction with the specified parameters.

The Idxs pointer should point to a continuous piece of memory containing the indices, either as Value* or uint64_t.

A null type is returned if the indices are invalid for the specified pointer type.

Definition at line 1623 of file Instructions.cpp.

References llvm::dyn_cast(), llvm::ArrayRef< T >::empty(), llvm::CompositeType::getTypeAtIndex(), llvm::CompositeType::indexValid(), llvm::Type::isPointerTy(), llvm::Type::isSized(), and llvm::ArrayRef< T >::size().

Referenced by llvm::GetElementPtrInst::getIndexedType().

static bool isConstantAllOnes ( const Value V)
inlinestatic
static bool IsConstantOne ( Value val)
static

IsConstantOne - Return true only if val is constant int 1.

Definition at line 412 of file Instructions.cpp.

References assert(), llvm::dyn_cast(), and llvm::ConstantInt::isOne().

Referenced by createMalloc().