LLVM API Documentation

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.
static InstructioncreateMalloc (Instruction *InsertBefore, BasicBlock *InsertAtEnd, Type *IntPtrTy, Type *AllocTy, Value *AllocSize, Value *ArraySize, Function *MallocF, const Twine &Name)
static InstructioncreateFree (Value *Source, Instruction *InsertBefore, BasicBlock *InsertAtEnd)
static ValuegetAISize (LLVMContext &Context, Value *Amt)
template<typename IndexTy >
static TypegetIndexedTypeInternal (Type *Ptr, ArrayRef< IndexTy > IdxList)
static bool isConstantAllOnes (const Value *V)

Function Documentation

static Instruction* createFree ( Value Source,
Instruction InsertBefore,
BasicBlock InsertAtEnd 
) [static]
static Instruction* createMalloc ( Instruction InsertBefore,
BasicBlock InsertAtEnd,
Type IntPtrTy,
Type AllocTy,
Value AllocSize,
Value ArraySize,
Function MallocF,
const Twine Name 
) [static]
static Value* getAISize ( LLVMContext Context,
Value Amt 
) [static]
template<typename IndexTy >
static Type* getIndexedTypeInternal ( Type Ptr,
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 1373 of file Instructions.cpp.

References llvm::dyn_cast(), llvm::ArrayRef< T >::empty(), llvm::SequentialType::getElementType(), llvm::Type::getScalarType(), 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) [inline, static]
static bool IsConstantOne ( Value val) [static]

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

Definition at line 366 of file Instructions.cpp.

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

Referenced by createMalloc().