LLVM API Documentation

llvm::IRBuilder< preserveNames, T > Class Template Reference

#include <IRBuilder.h>

Collaboration diagram for llvm::IRBuilder< preserveNames, T >:
[legend]

List of all members.

Public Member Functions

 IRBuilder (const T &F=T())
 IRBuilder (BasicBlock *TheBB, const T &F=T())
 IRBuilder (BasicBlock *TheBB, BasicBlock::iterator IP, const T &F=T())
const T & getFolder ()
 getFolder - Get the constant folder being used.
void ClearInsertionPoint ()
BasicBlock * GetInsertBlock () const
void SetInsertPoint (BasicBlock *TheBB)
void SetInsertPoint (BasicBlock *TheBB, BasicBlock::iterator IP)
template<typename InstTy>
InstTy * Insert (InstTy *I, const char *Name="") const
 Insert - Insert and return the specified instruction.
void InsertHelper (Instruction *I, const char *Name) const
ReturnInst * CreateRetVoid ()
 CreateRetVoid - Create a 'ret void' instruction.
ReturnInst * CreateRet (Value *V)
ReturnInst * CreateAggregateRet (Value *const *retVals, unsigned N)
BranchInst * CreateBr (BasicBlock *Dest)
 CreateBr - Create an unconditional 'br label X' instruction.
BranchInst * CreateCondBr (Value *Cond, BasicBlock *True, BasicBlock *False)
SwitchInst * CreateSwitch (Value *V, BasicBlock *Dest, unsigned NumCases=10)
template<typename InputIterator>
InvokeInst * CreateInvoke (Value *Callee, BasicBlock *NormalDest, BasicBlock *UnwindDest, InputIterator ArgBegin, InputIterator ArgEnd, const char *Name="")
 CreateInvoke - Create an invoke instruction.
UnwindInst * CreateUnwind ()
UnreachableInst * CreateUnreachable ()
Value * CreateAdd (Value *LHS, Value *RHS, const char *Name="")
Value * CreateSub (Value *LHS, Value *RHS, const char *Name="")
Value * CreateMul (Value *LHS, Value *RHS, const char *Name="")
Value * CreateUDiv (Value *LHS, Value *RHS, const char *Name="")
Value * CreateSDiv (Value *LHS, Value *RHS, const char *Name="")
Value * CreateFDiv (Value *LHS, Value *RHS, const char *Name="")
Value * CreateURem (Value *LHS, Value *RHS, const char *Name="")
Value * CreateSRem (Value *LHS, Value *RHS, const char *Name="")
Value * CreateFRem (Value *LHS, Value *RHS, const char *Name="")
Value * CreateShl (Value *LHS, Value *RHS, const char *Name="")
Value * CreateLShr (Value *LHS, Value *RHS, const char *Name="")
Value * CreateAShr (Value *LHS, Value *RHS, const char *Name="")
Value * CreateAnd (Value *LHS, Value *RHS, const char *Name="")
Value * CreateOr (Value *LHS, Value *RHS, const char *Name="")
Value * CreateXor (Value *LHS, Value *RHS, const char *Name="")
Value * CreateBinOp (Instruction::BinaryOps Opc, Value *LHS, Value *RHS, const char *Name="")
Value * CreateNeg (Value *V, const char *Name="")
Value * CreateNot (Value *V, const char *Name="")
MallocInst * CreateMalloc (const Type *Ty, Value *ArraySize=0, const char *Name="")
AllocaInst * CreateAlloca (const Type *Ty, Value *ArraySize=0, const char *Name="")
FreeInst * CreateFree (Value *Ptr)
LoadInst * CreateLoad (Value *Ptr, const char *Name="")
LoadInst * CreateLoad (Value *Ptr, bool isVolatile, const char *Name="")
StoreInst * CreateStore (Value *Val, Value *Ptr, bool isVolatile=false)
template<typename InputIterator>
Value * CreateGEP (Value *Ptr, InputIterator IdxBegin, InputIterator IdxEnd, const char *Name="")
Value * CreateGEP (Value *Ptr, Value *Idx, const char *Name="")
Value * CreateStructGEP (Value *Ptr, unsigned Idx, const char *Name="")
Value * CreateGlobalString (const char *Str="", const char *Name="")
Value * CreateGlobalStringPtr (const char *Str="", const char *Name="")
Value * CreateTrunc (Value *V, const Type *DestTy, const char *Name="")
Value * CreateZExt (Value *V, const Type *DestTy, const char *Name="")
Value * CreateSExt (Value *V, const Type *DestTy, const char *Name="")
Value * CreateFPToUI (Value *V, const Type *DestTy, const char *Name="")
Value * CreateFPToSI (Value *V, const Type *DestTy, const char *Name="")
Value * CreateUIToFP (Value *V, const Type *DestTy, const char *Name="")
Value * CreateSIToFP (Value *V, const Type *DestTy, const char *Name="")
Value * CreateFPTrunc (Value *V, const Type *DestTy, const char *Name="")
Value * CreateFPExt (Value *V, const Type *DestTy, const char *Name="")
Value * CreatePtrToInt (Value *V, const Type *DestTy, const char *Name="")
Value * CreateIntToPtr (Value *V, const Type *DestTy, const char *Name="")
Value * CreateBitCast (Value *V, const Type *DestTy, const char *Name="")
Value * CreateCast (Instruction::CastOps Op, Value *V, const Type *DestTy, const char *Name="")
Value * CreateIntCast (Value *V, const Type *DestTy, bool isSigned, const char *Name="")
Value * CreateICmpEQ (Value *LHS, Value *RHS, const char *Name="")
Value * CreateICmpNE (Value *LHS, Value *RHS, const char *Name="")
Value * CreateICmpUGT (Value *LHS, Value *RHS, const char *Name="")
Value * CreateICmpUGE (Value *LHS, Value *RHS, const char *Name="")
Value * CreateICmpULT (Value *LHS, Value *RHS, const char *Name="")
Value * CreateICmpULE (Value *LHS, Value *RHS, const char *Name="")
Value * CreateICmpSGT (Value *LHS, Value *RHS, const char *Name="")
Value * CreateICmpSGE (Value *LHS, Value *RHS, const char *Name="")
Value * CreateICmpSLT (Value *LHS, Value *RHS, const char *Name="")
Value * CreateICmpSLE (Value *LHS, Value *RHS, const char *Name="")
Value * CreateFCmpOEQ (Value *LHS, Value *RHS, const char *Name="")
Value * CreateFCmpOGT (Value *LHS, Value *RHS, const char *Name="")
Value * CreateFCmpOGE (Value *LHS, Value *RHS, const char *Name="")
Value * CreateFCmpOLT (Value *LHS, Value *RHS, const char *Name="")
Value * CreateFCmpOLE (Value *LHS, Value *RHS, const char *Name="")
Value * CreateFCmpONE (Value *LHS, Value *RHS, const char *Name="")
Value * CreateFCmpORD (Value *LHS, Value *RHS, const char *Name="")
Value * CreateFCmpUNO (Value *LHS, Value *RHS, const char *Name="")
Value * CreateFCmpUEQ (Value *LHS, Value *RHS, const char *Name="")
Value * CreateFCmpUGT (Value *LHS, Value *RHS, const char *Name="")
Value * CreateFCmpUGE (Value *LHS, Value *RHS, const char *Name="")
Value * CreateFCmpULT (Value *LHS, Value *RHS, const char *Name="")
Value * CreateFCmpULE (Value *LHS, Value *RHS, const char *Name="")
Value * CreateFCmpUNE (Value *LHS, Value *RHS, const char *Name="")
Value * CreateICmp (CmpInst::Predicate P, Value *LHS, Value *RHS, const char *Name="")
Value * CreateFCmp (CmpInst::Predicate P, Value *LHS, Value *RHS, const char *Name="")
Value * CreateVICmp (CmpInst::Predicate P, Value *LHS, Value *RHS, const char *Name="")
Value * CreateVFCmp (CmpInst::Predicate P, Value *LHS, Value *RHS, const char *Name="")
PHINode * CreatePHI (const Type *Ty, const char *Name="")
CallInst * CreateCall (Value *Callee, const char *Name="")
CallInst * CreateCall (Value *Callee, Value *Arg, const char *Name="")
CallInst * CreateCall2 (Value *Callee, Value *Arg1, Value *Arg2, const char *Name="")
CallInst * CreateCall3 (Value *Callee, Value *Arg1, Value *Arg2, Value *Arg3, const char *Name="")
CallInst * CreateCall4 (Value *Callee, Value *Arg1, Value *Arg2, Value *Arg3, Value *Arg4, const char *Name="")
template<typename InputIterator>
CallInst * CreateCall (Value *Callee, InputIterator ArgBegin, InputIterator ArgEnd, const char *Name="")
Value * CreateSelect (Value *C, Value *True, Value *False, const char *Name="")
VAArgInst * CreateVAArg (Value *List, const Type *Ty, const char *Name="")
Value * CreateExtractElement (Value *Vec, Value *Idx, const char *Name="")
Value * CreateInsertElement (Value *Vec, Value *NewElt, Value *Idx, const char *Name="")
Value * CreateShuffleVector (Value *V1, Value *V2, Value *Mask, const char *Name="")
Value * CreateExtractValue (Value *Agg, unsigned Idx, const char *Name="")
template<typename InputIterator>
Value * CreateExtractValue (Value *Agg, InputIterator IdxBegin, InputIterator IdxEnd, const char *Name="")
Value * CreateInsertValue (Value *Agg, Value *Val, unsigned Idx, const char *Name="")
template<typename InputIterator>
Value * CreateInsertValue (Value *Agg, Value *Val, InputIterator IdxBegin, InputIterator IdxEnd, const char *Name="")
Value * CreateIsNull (Value *Arg, const char *Name="")
 CreateIsNull - Return an i1 value testing if.
Value * CreateIsNotNull (Value *Arg, const char *Name="")
 CreateIsNotNull - Return an i1 value testing if.


Detailed Description

template<bool preserveNames = true, typename T = ConstantFolder>
class llvm::IRBuilder< preserveNames, T >

IRBuilder - This provides a uniform API for creating instructions and inserting them into a basic block: either at the end of a BasicBlock, or at a specific iterator location in a block.

Note that the builder does not expose the full generality of LLVM instructions. For example, it cannot be used to create instructions with arbitrary names (specifically, names with nul characters in them) - It only supports nul-terminated C strings. For fully generic names, use I->setName(). For access to extra instruction properties, use the mutators (e.g. setVolatile) on the instructions after they have been created. The first template argument handles whether or not to preserve names in the final instruction output. This defaults to on. The second template argument specifies a class to use for creating constants. This defaults to creating minimally folded constants.

Definition at line 40 of file IRBuilder.h.


Constructor & Destructor Documentation

template<bool preserveNames = true, typename T = ConstantFolder>
llvm::IRBuilder< preserveNames, T >::IRBuilder ( const T &  F = T()  )  [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
llvm::IRBuilder< preserveNames, T >::IRBuilder ( BasicBlock *  TheBB,
const T &  F = T() 
) [inline, explicit]

Definition at line 46 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::SetInsertPoint().

template<bool preserveNames = true, typename T = ConstantFolder>
llvm::IRBuilder< preserveNames, T >::IRBuilder ( BasicBlock *  TheBB,
BasicBlock::iterator  IP,
const T &  F = T() 
) [inline]

Definition at line 48 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::SetInsertPoint().


Member Function Documentation

template<bool preserveNames = true, typename T = ConstantFolder>
const T& llvm::IRBuilder< preserveNames, T >::getFolder (  )  [inline]

getFolder - Get the constant folder being used.

Definition at line 52 of file IRBuilder.h.

template<bool preserveNames = true, typename T = ConstantFolder>
void llvm::IRBuilder< preserveNames, T >::ClearInsertionPoint (  )  [inline]

ClearInsertionPoint - Clear the insertion point: created instructions will not be inserted into a block.

Definition at line 60 of file IRBuilder.h.

Referenced by llvm::IRBuilder< preserveNames, T >::IRBuilder().

template<bool preserveNames = true, typename T = ConstantFolder>
BasicBlock* llvm::IRBuilder< preserveNames, T >::GetInsertBlock (  )  const [inline]

Definition at line 64 of file IRBuilder.h.

template<bool preserveNames = true, typename T = ConstantFolder>
void llvm::IRBuilder< preserveNames, T >::SetInsertPoint ( BasicBlock *  TheBB  )  [inline]

SetInsertPoint - This specifies that created instructions should be appended to the end of the specified block.

Definition at line 68 of file IRBuilder.h.

References llvm::BasicBlock::end().

Referenced by llvm::IRBuilder< preserveNames, T >::IRBuilder().

template<bool preserveNames = true, typename T = ConstantFolder>
void llvm::IRBuilder< preserveNames, T >::SetInsertPoint ( BasicBlock *  TheBB,
BasicBlock::iterator  IP 
) [inline]

SetInsertPoint - This specifies that created instructions should be inserted at the specified point.

Definition at line 75 of file IRBuilder.h.

template<bool preserveNames = true, typename T = ConstantFolder>
template<typename InstTy>
InstTy* llvm::IRBuilder< preserveNames, T >::Insert ( InstTy *  I,
const char *  Name = "" 
) const [inline]

Insert - Insert and return the specified instruction.

Definition at line 82 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::InsertHelper(), and Name.

Referenced by llvm::IRBuilder< preserveNames, T >::CreateAdd(), llvm::IRBuilder< preserveNames, T >::CreateAggregateRet(), llvm::IRBuilder< preserveNames, T >::CreateAlloca(), llvm::IRBuilder< preserveNames, T >::CreateAnd(), llvm::IRBuilder< preserveNames, T >::CreateAShr(), llvm::IRBuilder< preserveNames, T >::CreateBinOp(), llvm::IRBuilder< preserveNames, T >::CreateBr(), llvm::IRBuilder< preserveNames, T >::CreateCall(), llvm::IRBuilder< preserveNames, T >::CreateCall2(), llvm::IRBuilder< preserveNames, T >::CreateCall3(), llvm::IRBuilder< preserveNames, T >::CreateCall4(), llvm::IRBuilder< preserveNames, T >::CreateCast(), llvm::IRBuilder< preserveNames, T >::CreateCondBr(), llvm::IRBuilder< preserveNames, T >::CreateExtractElement(), llvm::IRBuilder< preserveNames, T >::CreateExtractValue(), llvm::IRBuilder< preserveNames, T >::CreateFCmp(), llvm::IRBuilder< preserveNames, T >::CreateFDiv(), llvm::IRBuilder< preserveNames, T >::CreateFree(), llvm::IRBuilder< preserveNames, T >::CreateFRem(), llvm::IRBuilder< preserveNames, T >::CreateGEP(), llvm::IRBuilder< preserveNames, T >::CreateICmp(), llvm::IRBuilder< preserveNames, T >::CreateInsertElement(), llvm::IRBuilder< preserveNames, T >::CreateInsertValue(), llvm::IRBuilder< preserveNames, T >::CreateIntCast(), llvm::IRBuilder< preserveNames, T >::CreateInvoke(), llvm::IRBuilder< preserveNames, T >::CreateLoad(), llvm::IRBuilder< preserveNames, T >::CreateLShr(), llvm::IRBuilder< preserveNames, T >::CreateMalloc(), llvm::IRBuilder< preserveNames, T >::CreateMul(), llvm::IRBuilder< preserveNames, T >::CreateNeg(), llvm::IRBuilder< preserveNames, T >::CreateNot(), llvm::IRBuilder< preserveNames, T >::CreateOr(), llvm::IRBuilder< preserveNames, T >::CreatePHI(), llvm::IRBuilder< preserveNames, T >::CreateRet(), llvm::IRBuilder< preserveNames, T >::CreateRetVoid(), llvm::IRBuilder< preserveNames, T >::CreateSDiv(), llvm::IRBuilder< preserveNames, T >::CreateSelect(), llvm::IRBuilder< preserveNames, T >::CreateShl(), llvm::IRBuilder< preserveNames, T >::CreateShuffleVector(), llvm::IRBuilder< preserveNames, T >::CreateSRem(), llvm::IRBuilder< preserveNames, T >::CreateStore(), llvm::IRBuilder< preserveNames, T >::CreateStructGEP(), llvm::IRBuilder< preserveNames, T >::CreateSub(), llvm::IRBuilder< preserveNames, T >::CreateSwitch(), llvm::IRBuilder< preserveNames, T >::CreateUDiv(), llvm::IRBuilder< preserveNames, T >::CreateUnreachable(), llvm::IRBuilder< preserveNames, T >::CreateUnwind(), llvm::IRBuilder< preserveNames, T >::CreateURem(), llvm::IRBuilder< preserveNames, T >::CreateVAArg(), llvm::IRBuilder< preserveNames, T >::CreateVFCmp(), llvm::IRBuilder< preserveNames, T >::CreateVICmp(), and llvm::IRBuilder< preserveNames, T >::CreateXor().

template<bool preserveNames = true, typename T = ConstantFolder>
void llvm::IRBuilder< preserveNames, T >::InsertHelper ( Instruction *  I,
const char *  Name 
) const [inline]

InsertHelper - Insert the specified instruction at the specified insertion point. This is split out of Insert so that it isn't duplicated for every template instantiation.

Definition at line 90 of file IRBuilder.h.

References llvm::BasicBlock::getInstList(), and llvm::Value::setName().

Referenced by llvm::IRBuilder< preserveNames, T >::Insert().

template<bool preserveNames = true, typename T = ConstantFolder>
ReturnInst* llvm::IRBuilder< preserveNames, T >::CreateRetVoid (  )  [inline]

CreateRetVoid - Create a 'ret void' instruction.

Definition at line 101 of file IRBuilder.h.

References llvm::ReturnInst::Create(), and llvm::IRBuilder< preserveNames, T >::Insert().

template<bool preserveNames = true, typename T = ConstantFolder>
ReturnInst* llvm::IRBuilder< preserveNames, T >::CreateRet ( Value *  V  )  [inline]

      CreateRet - Create a 'ret <val>' instruction.
      

Definition at line 108 of file IRBuilder.h.

References llvm::ReturnInst::Create(), and llvm::IRBuilder< preserveNames, T >::Insert().

template<bool preserveNames = true, typename T = ConstantFolder>
ReturnInst* llvm::IRBuilder< preserveNames, T >::CreateAggregateRet ( Value *const *  retVals,
unsigned  N 
) [inline]

CreateAggregateRet - Create a sequence of N insertvalue instructions, with one Value from the retVals array each, that build a aggregate return value one value at a time, and a ret instruction to return the resulting aggregate value. This is a convenience function for code that uses aggregate return values as a vehicle for having multiple return values.

Definition at line 119 of file IRBuilder.h.

References llvm::ReturnInst::Create(), llvm::IRBuilder< preserveNames, T >::CreateInsertValue(), llvm::UndefValue::get(), llvm::BasicBlock::getParent(), llvm::Function::getReturnType(), llvm::IRBuilder< preserveNames, T >::Insert(), and V.

template<bool preserveNames = true, typename T = ConstantFolder>
BranchInst* llvm::IRBuilder< preserveNames, T >::CreateBr ( BasicBlock *  Dest  )  [inline]

CreateBr - Create an unconditional 'br label X' instruction.

Definition at line 128 of file IRBuilder.h.

References llvm::BranchInst::Create(), and llvm::IRBuilder< preserveNames, T >::Insert().

template<bool preserveNames = true, typename T = ConstantFolder>
BranchInst* llvm::IRBuilder< preserveNames, T >::CreateCondBr ( Value *  Cond,
BasicBlock *  True,
BasicBlock *  False 
) [inline]

CreateCondBr - Create a conditional 'br Cond, TrueDest, FalseDest' instruction.

Definition at line 134 of file IRBuilder.h.

References llvm::BranchInst::Create(), and llvm::IRBuilder< preserveNames, T >::Insert().

template<bool preserveNames = true, typename T = ConstantFolder>
SwitchInst* llvm::IRBuilder< preserveNames, T >::CreateSwitch ( Value *  V,
BasicBlock *  Dest,
unsigned  NumCases = 10 
) [inline]

CreateSwitch - Create a switch instruction with the specified value, default dest, and with a hint for the number of cases that will be added (for efficient allocation).

Definition at line 141 of file IRBuilder.h.

References llvm::SwitchInst::Create(), and llvm::IRBuilder< preserveNames, T >::Insert().

template<bool preserveNames = true, typename T = ConstantFolder>
template<typename InputIterator>
InvokeInst* llvm::IRBuilder< preserveNames, T >::CreateInvoke ( Value *  Callee,
BasicBlock *  NormalDest,
BasicBlock *  UnwindDest,
InputIterator  ArgBegin,
InputIterator  ArgEnd,
const char *  Name = "" 
) [inline]

CreateInvoke - Create an invoke instruction.

Definition at line 147 of file IRBuilder.h.

References llvm::InvokeInst::Create(), llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
UnwindInst* llvm::IRBuilder< preserveNames, T >::CreateUnwind (  )  [inline]

Definition at line 154 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert().

template<bool preserveNames = true, typename T = ConstantFolder>
UnreachableInst* llvm::IRBuilder< preserveNames, T >::CreateUnreachable (  )  [inline]

Definition at line 158 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert().

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateAdd ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

Definition at line 166 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateSub ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

Definition at line 172 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateMul ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

Definition at line 178 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateUDiv ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

Definition at line 184 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateSDiv ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

Definition at line 190 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFDiv ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

Definition at line 196 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateURem ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

Definition at line 202 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateSRem ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

Definition at line 208 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFRem ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

Definition at line 214 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateShl ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

Definition at line 220 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateLShr ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

Definition at line 226 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateAShr ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

Definition at line 232 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateAnd ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

Definition at line 238 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateOr ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

Definition at line 244 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateXor ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

Definition at line 250 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateBinOp ( Instruction::BinaryOps  Opc,
Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateNeg ( Value *  V,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateNot ( Value *  V,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
MallocInst* llvm::IRBuilder< preserveNames, T >::CreateMalloc ( const Type *  Ty,
Value *  ArraySize = 0,
const char *  Name = "" 
) [inline]

Definition at line 280 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
AllocaInst* llvm::IRBuilder< preserveNames, T >::CreateAlloca ( const Type *  Ty,
Value *  ArraySize = 0,
const char *  Name = "" 
) [inline]

Definition at line 284 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
FreeInst* llvm::IRBuilder< preserveNames, T >::CreateFree ( Value *  Ptr  )  [inline]

Definition at line 288 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert().

template<bool preserveNames = true, typename T = ConstantFolder>
LoadInst* llvm::IRBuilder< preserveNames, T >::CreateLoad ( Value *  Ptr,
const char *  Name = "" 
) [inline]

Definition at line 291 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
LoadInst* llvm::IRBuilder< preserveNames, T >::CreateLoad ( Value *  Ptr,
bool  isVolatile,
const char *  Name = "" 
) [inline]

Definition at line 294 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
StoreInst* llvm::IRBuilder< preserveNames, T >::CreateStore ( Value *  Val,
Value *  Ptr,
bool  isVolatile = false 
) [inline]

Definition at line 297 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert().

template<bool preserveNames = true, typename T = ConstantFolder>
template<typename InputIterator>
Value* llvm::IRBuilder< preserveNames, T >::CreateGEP ( Value *  Ptr,
InputIterator  IdxBegin,
InputIterator  IdxEnd,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateGEP ( Value *  Ptr,
Value *  Idx,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateStructGEP ( Value *  Ptr,
unsigned  Idx,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateGlobalString ( const char *  Str = "",
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateGlobalStringPtr ( const char *  Str = "",
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateTrunc ( Value *  V,
const Type *  DestTy,
const char *  Name = "" 
) [inline]

Definition at line 354 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::CreateCast(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateZExt ( Value *  V,
const Type *  DestTy,
const char *  Name = "" 
) [inline]

Definition at line 357 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::CreateCast(), Name, and ZExt.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateSExt ( Value *  V,
const Type *  DestTy,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFPToUI ( Value *  V,
const Type *  DestTy,
const char *  Name = "" 
) [inline]

Definition at line 363 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::CreateCast(), FPToUI, and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFPToSI ( Value *  V,
const Type *  DestTy,
const char *  Name = "" 
) [inline]

Definition at line 366 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::CreateCast(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateUIToFP ( Value *  V,
const Type *  DestTy,
const char *  Name = "" 
) [inline]

Definition at line 369 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::CreateCast(), Name, and UIToFP.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateSIToFP ( Value *  V,
const Type *  DestTy,
const char *  Name = "" 
) [inline]

Definition at line 372 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::CreateCast(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFPTrunc ( Value *  V,
const Type *  DestTy,
const char *  Name = "" 
) [inline]

Definition at line 375 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::CreateCast(), FPTrunc, and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFPExt ( Value *  V,
const Type *  DestTy,
const char *  Name = "" 
) [inline]

Definition at line 379 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::CreateCast(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreatePtrToInt ( Value *  V,
const Type *  DestTy,
const char *  Name = "" 
) [inline]

Definition at line 382 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::CreateCast(), Name, and PtrToInt.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateIntToPtr ( Value *  V,
const Type *  DestTy,
const char *  Name = "" 
) [inline]

Definition at line 386 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::CreateCast(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateBitCast ( Value *  V,
const Type *  DestTy,
const char *  Name = "" 
) [inline]

Definition at line 390 of file IRBuilder.h.

References BitCast, llvm::IRBuilder< preserveNames, T >::CreateCast(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateCast ( Instruction::CastOps  Op,
Value *  V,
const Type *  DestTy,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateIntCast ( Value *  V,
const Type *  DestTy,
bool  isSigned,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateICmpEQ ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateICmpNE ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateICmpUGT ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateICmpUGE ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateICmpULT ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateICmpULE ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateICmpSGT ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateICmpSGE ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateICmpSLT ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateICmpSLE ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFCmpOEQ ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFCmpOGT ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFCmpOGE ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFCmpOLT ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFCmpOLE ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFCmpONE ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFCmpORD ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFCmpUNO ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFCmpUEQ ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFCmpUGT ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFCmpUGE ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFCmpULT ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFCmpULE ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFCmpUNE ( Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateICmp ( CmpInst::Predicate  P,
Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateFCmp ( CmpInst::Predicate  P,
Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateVICmp ( CmpInst::Predicate  P,
Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

Definition at line 505 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateVFCmp ( CmpInst::Predicate  P,
Value *  LHS,
Value *  RHS,
const char *  Name = "" 
) [inline]

Definition at line 512 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
PHINode* llvm::IRBuilder< preserveNames, T >::CreatePHI ( const Type *  Ty,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
CallInst* llvm::IRBuilder< preserveNames, T >::CreateCall ( Value *  Callee,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
CallInst* llvm::IRBuilder< preserveNames, T >::CreateCall ( Value *  Callee,
Value *  Arg,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
CallInst* llvm::IRBuilder< preserveNames, T >::CreateCall2 ( Value *  Callee,
Value *  Arg1,
Value *  Arg2,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
CallInst* llvm::IRBuilder< preserveNames, T >::CreateCall3 ( Value *  Callee,
Value *  Arg1,
Value *  Arg2,
Value *  Arg3,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
CallInst* llvm::IRBuilder< preserveNames, T >::CreateCall4 ( Value *  Callee,
Value *  Arg1,
Value *  Arg2,
Value *  Arg3,
Value *  Arg4,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
template<typename InputIterator>
CallInst* llvm::IRBuilder< preserveNames, T >::CreateCall ( Value *  Callee,
InputIterator  ArgBegin,
InputIterator  ArgEnd,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateSelect ( Value *  C,
Value *  True,
Value *  False,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
VAArgInst* llvm::IRBuilder< preserveNames, T >::CreateVAArg ( Value *  List,
const Type *  Ty,
const char *  Name = "" 
) [inline]

Definition at line 565 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateExtractElement ( Value *  Vec,
Value *  Idx,
const char *  Name = "" 
) [inline]

Definition at line 569 of file IRBuilder.h.

References IC, llvm::IRBuilder< preserveNames, T >::Insert(), Name, and llvm::ARMCC::VC.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateInsertElement ( Value *  Vec,
Value *  NewElt,
Value *  Idx,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateShuffleVector ( Value *  V1,
Value *  V2,
Value *  Mask,
const char *  Name = "" 
) [inline]

Definition at line 586 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::Insert(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateExtractValue ( Value *  Agg,
unsigned  Idx,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
template<typename InputIterator>
Value* llvm::IRBuilder< preserveNames, T >::CreateExtractValue ( Value *  Agg,
InputIterator  IdxBegin,
InputIterator  IdxEnd,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateInsertValue ( Value *  Agg,
Value *  Val,
unsigned  Idx,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
template<typename InputIterator>
Value* llvm::IRBuilder< preserveNames, T >::CreateInsertValue ( Value *  Agg,
Value *  Val,
InputIterator  IdxBegin,
InputIterator  IdxEnd,
const char *  Name = "" 
) [inline]

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateIsNull ( Value *  Arg,
const char *  Name = "" 
) [inline]

CreateIsNull - Return an i1 value testing if.

  • Arg is null.

Definition at line 637 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::CreateICmpEQ(), llvm::Constant::getNullValue(), llvm::Value::getType(), and Name.

template<bool preserveNames = true, typename T = ConstantFolder>
Value* llvm::IRBuilder< preserveNames, T >::CreateIsNotNull ( Value *  Arg,
const char *  Name = "" 
) [inline]

CreateIsNotNull - Return an i1 value testing if.

  • Arg is not null.

Definition at line 643 of file IRBuilder.h.

References llvm::IRBuilder< preserveNames, T >::CreateICmpNE(), llvm::Constant::getNullValue(), llvm::Value::getType(), and Name.


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