LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::AllocationInst Class Reference

#include <Instructions.h>

Inheritance diagram for llvm::AllocationInst:

Inheritance graph
[legend]
Collaboration diagram for llvm::AllocationInst:

Collaboration graph
[legend]
List of all members.

Public Member Functions

bool isArrayAllocation () const
const ValuegetArraySize () const
ValuegetArraySize ()
const PointerTypegetType () const
const TypegetAllocatedType () const
virtual Instructionclone () const =0

Static Public Member Functions

static bool classof (const AllocationInst *)
static bool classof (const Instruction *I)
 Methods for support type inquiry through isa, cast, and dyn_cast:.
static bool classof (const Value *V)

Protected Member Functions

void init (const Type *Ty, Value *ArraySize, unsigned iTy)
 AllocationInst (const Type *Ty, Value *ArraySize, unsigned iTy, const std::string &Name="", Instruction *InsertBefore=0)
 AllocationInst (const Type *Ty, Value *ArraySize, unsigned iTy, const std::string &Name, BasicBlock *InsertAtEnd)

Detailed Description

AllocationInst - This class is the common base class of MallocInst and AllocaInst.

Definition at line 34 of file Instructions.h.


Constructor & Destructor Documentation

AllocationInst::AllocationInst const Type Ty,
Value ArraySize,
unsigned  iTy,
const std::string &  Name = "",
Instruction InsertBefore = 0
[protected]
 

Definition at line 287 of file Instructions.cpp.

References llvm::cl::init().

AllocationInst::AllocationInst const Type Ty,
Value ArraySize,
unsigned  iTy,
const std::string &  Name,
BasicBlock InsertAtEnd
[protected]
 

Definition at line 294 of file Instructions.cpp.

References llvm::cl::init().


Member Function Documentation

static bool llvm::AllocationInst::classof const Value V  )  [inline, static]
 

Reimplemented from llvm::Instruction.

Reimplemented in llvm::MallocInst, and llvm::AllocaInst.

Definition at line 74 of file Instructions.h.

References classof().

static bool llvm::AllocationInst::classof const Instruction I  )  [inline, static]
 

Methods for support type inquiry through isa, cast, and dyn_cast:.

Reimplemented from llvm::Instruction.

Reimplemented in llvm::MallocInst, and llvm::AllocaInst.

Definition at line 70 of file Instructions.h.

References llvm::Instruction::Alloca, llvm::Instruction::getOpcode(), and llvm::Instruction::Malloc.

static bool llvm::AllocationInst::classof const AllocationInst  )  [inline, static]
 

Definition at line 69 of file Instructions.h.

Referenced by classof().

virtual Instruction* llvm::AllocationInst::clone  )  const [pure virtual]
 

clone() - Create a copy of 'this' instruction that is identical in all ways except the following: The instruction has no parent The instruction has no name

Implements llvm::Instruction.

Implemented in llvm::MallocInst, and llvm::AllocaInst.

const Type * AllocationInst::getAllocatedType  )  const
 

getAllocatedType - Return the type that is being allocated by the instruction.

Definition at line 305 of file Instructions.cpp.

References llvm::SequentialType::getElementType(), and getType().

Referenced by OptimizeGlobalAddressOfMalloc().

Value* llvm::AllocationInst::getArraySize  )  [inline]
 

Definition at line 53 of file Instructions.h.

References llvm::User::Operands.

const Value* llvm::AllocationInst::getArraySize  )  const [inline]
 

getArraySize - Get the number of element allocated, for a simple allocation of a single element, this will return a constant 1 value.

Definition at line 52 of file Instructions.h.

References llvm::User::Operands.

Referenced by ConvertMallocToType(), MallocConvertibleToType(), and OptimizeGlobalAddressOfMalloc().

const PointerType* llvm::AllocationInst::getType  )  const [inline]
 

getType - Overload to return most specific pointer type

Reimplemented from llvm::Value.

Definition at line 57 of file Instructions.h.

References llvm::Value::getType().

Referenced by ConvertMallocToType(), getAllocatedType(), MallocConvertibleToType(), and llvm::Interpreter::visitAllocationInst().

void AllocationInst::init const Type Ty,
Value ArraySize,
unsigned  iTy
[protected]
 

Definition at line 275 of file Instructions.cpp.

References llvm::ConstantUInt::get(), llvm::Value::getType(), llvm::User::Operands, llvm::Type::UIntTy, and llvm::Type::VoidTy.

bool AllocationInst::isArrayAllocation  )  const
 

isArrayAllocation - Return true if there is an allocation size parameter to the allocation instruction that is not 1.

Definition at line 301 of file Instructions.cpp.

References llvm::ConstantUInt::get(), llvm::User::getOperand(), and llvm::Type::UIntTy.


The documentation for this class was generated from the following files: