LLVM API Documentation
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. More...
#include <IRBuilder.h>


Public Member Functions | |
| IRBuilder (LLVMContext &C, const T &F, const Inserter &I=Inserter(), MDNode *FPMathTag=0) | |
| IRBuilder (LLVMContext &C, MDNode *FPMathTag=0) | |
| IRBuilder (BasicBlock *TheBB, const T &F, MDNode *FPMathTag=0) | |
| IRBuilder (BasicBlock *TheBB, MDNode *FPMathTag=0) | |
| IRBuilder (Instruction *IP, MDNode *FPMathTag=0) | |
| IRBuilder (Use &U, MDNode *FPMathTag=0) | |
| IRBuilder (BasicBlock *TheBB, BasicBlock::iterator IP, const T &F, MDNode *FPMathTag=0) | |
| IRBuilder (BasicBlock *TheBB, BasicBlock::iterator IP, MDNode *FPMathTag=0) | |
| const T & | getFolder () |
| Get the constant folder being used. | |
| MDNode * | getDefaultFPMathTag () const |
| Get the floating point math metadata being used. | |
| FastMathFlags | getFastMathFlags () const |
| Get the flags to be applied to created floating point ops. | |
| void | clearFastMathFlags () |
| Clear the fast-math flags. | |
| void | SetDefaultFPMathTag (MDNode *FPMathTag) |
| SetDefaultFPMathTag - Set the floating point math metadata to be used. | |
| void | SetFastMathFlags (FastMathFlags NewFMF) |
| Set the fast-math flags to be used with generated fp-math operators. | |
| bool | isNamePreserving () const |
| Return true if this builder is configured to actually add the requested names to IR created through it. | |
| template<typename InstTy > | |
| InstTy * | Insert (InstTy *I, const Twine &Name="") const |
| Insert and return the specified instruction. | |
| Constant * | Insert (Constant *C, const Twine &="") const |
| No-op overload to handle constants. | |
| ReturnInst * | CreateRetVoid () |
| Create a 'ret void' instruction. | |
| ReturnInst * | CreateRet (Value *V) |
| Create a 'ret <val>' instruction. | |
| ReturnInst * | CreateAggregateRet (Value *const *retVals, unsigned N) |
| 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. | |
| BranchInst * | CreateBr (BasicBlock *Dest) |
| Create an unconditional 'br label X' instruction. | |
| BranchInst * | CreateCondBr (Value *Cond, BasicBlock *True, BasicBlock *False, MDNode *BranchWeights=0) |
| Create a conditional 'br Cond, TrueDest, FalseDest' instruction. | |
| SwitchInst * | CreateSwitch (Value *V, BasicBlock *Dest, unsigned NumCases=10, MDNode *BranchWeights=0) |
| 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). | |
| IndirectBrInst * | CreateIndirectBr (Value *Addr, unsigned NumDests=10) |
| Create an indirect branch instruction with the specified address operand, with an optional hint for the number of destinations that will be added (for efficient allocation). | |
| InvokeInst * | CreateInvoke (Value *Callee, BasicBlock *NormalDest, BasicBlock *UnwindDest, const Twine &Name="") |
| InvokeInst * | CreateInvoke (Value *Callee, BasicBlock *NormalDest, BasicBlock *UnwindDest, Value *Arg1, const Twine &Name="") |
| InvokeInst * | CreateInvoke3 (Value *Callee, BasicBlock *NormalDest, BasicBlock *UnwindDest, Value *Arg1, Value *Arg2, Value *Arg3, const Twine &Name="") |
| InvokeInst * | CreateInvoke (Value *Callee, BasicBlock *NormalDest, BasicBlock *UnwindDest, ArrayRef< Value * > Args, const Twine &Name="") |
| Create an invoke instruction. | |
| ResumeInst * | CreateResume (Value *Exn) |
| UnreachableInst * | CreateUnreachable () |
| Value * | CreateAdd (Value *LHS, Value *RHS, const Twine &Name="", bool HasNUW=false, bool HasNSW=false) |
| Value * | CreateNSWAdd (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateNUWAdd (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFAdd (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=0) |
| Value * | CreateSub (Value *LHS, Value *RHS, const Twine &Name="", bool HasNUW=false, bool HasNSW=false) |
| Value * | CreateNSWSub (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateNUWSub (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFSub (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=0) |
| Value * | CreateMul (Value *LHS, Value *RHS, const Twine &Name="", bool HasNUW=false, bool HasNSW=false) |
| Value * | CreateNSWMul (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateNUWMul (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFMul (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=0) |
| Value * | CreateUDiv (Value *LHS, Value *RHS, const Twine &Name="", bool isExact=false) |
| Value * | CreateExactUDiv (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateSDiv (Value *LHS, Value *RHS, const Twine &Name="", bool isExact=false) |
| Value * | CreateExactSDiv (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFDiv (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=0) |
| Value * | CreateURem (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateSRem (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFRem (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=0) |
| Value * | CreateShl (Value *LHS, Value *RHS, const Twine &Name="", bool HasNUW=false, bool HasNSW=false) |
| Value * | CreateShl (Value *LHS, const APInt &RHS, const Twine &Name="", bool HasNUW=false, bool HasNSW=false) |
| Value * | CreateShl (Value *LHS, uint64_t RHS, const Twine &Name="", bool HasNUW=false, bool HasNSW=false) |
| Value * | CreateLShr (Value *LHS, Value *RHS, const Twine &Name="", bool isExact=false) |
| Value * | CreateLShr (Value *LHS, const APInt &RHS, const Twine &Name="", bool isExact=false) |
| Value * | CreateLShr (Value *LHS, uint64_t RHS, const Twine &Name="", bool isExact=false) |
| Value * | CreateAShr (Value *LHS, Value *RHS, const Twine &Name="", bool isExact=false) |
| Value * | CreateAShr (Value *LHS, const APInt &RHS, const Twine &Name="", bool isExact=false) |
| Value * | CreateAShr (Value *LHS, uint64_t RHS, const Twine &Name="", bool isExact=false) |
| Value * | CreateAnd (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateAnd (Value *LHS, const APInt &RHS, const Twine &Name="") |
| Value * | CreateAnd (Value *LHS, uint64_t RHS, const Twine &Name="") |
| Value * | CreateOr (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateOr (Value *LHS, const APInt &RHS, const Twine &Name="") |
| Value * | CreateOr (Value *LHS, uint64_t RHS, const Twine &Name="") |
| Value * | CreateXor (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateXor (Value *LHS, const APInt &RHS, const Twine &Name="") |
| Value * | CreateXor (Value *LHS, uint64_t RHS, const Twine &Name="") |
| Value * | CreateBinOp (Instruction::BinaryOps Opc, Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateNeg (Value *V, const Twine &Name="", bool HasNUW=false, bool HasNSW=false) |
| Value * | CreateNSWNeg (Value *V, const Twine &Name="") |
| Value * | CreateNUWNeg (Value *V, const Twine &Name="") |
| Value * | CreateFNeg (Value *V, const Twine &Name="", MDNode *FPMathTag=0) |
| Value * | CreateNot (Value *V, const Twine &Name="") |
| AllocaInst * | CreateAlloca (Type *Ty, Value *ArraySize=0, const Twine &Name="") |
| LoadInst * | CreateLoad (Value *Ptr, const char *Name) |
| LoadInst * | CreateLoad (Value *Ptr, const Twine &Name="") |
| LoadInst * | CreateLoad (Value *Ptr, bool isVolatile, const Twine &Name="") |
| StoreInst * | CreateStore (Value *Val, Value *Ptr, bool isVolatile=false) |
| LoadInst * | CreateAlignedLoad (Value *Ptr, unsigned Align, const char *Name) |
| LoadInst * | CreateAlignedLoad (Value *Ptr, unsigned Align, const Twine &Name="") |
| LoadInst * | CreateAlignedLoad (Value *Ptr, unsigned Align, bool isVolatile, const Twine &Name="") |
| StoreInst * | CreateAlignedStore (Value *Val, Value *Ptr, unsigned Align, bool isVolatile=false) |
| FenceInst * | CreateFence (AtomicOrdering Ordering, SynchronizationScope SynchScope=CrossThread) |
| AtomicCmpXchgInst * | CreateAtomicCmpXchg (Value *Ptr, Value *Cmp, Value *New, AtomicOrdering Ordering, SynchronizationScope SynchScope=CrossThread) |
| AtomicRMWInst * | CreateAtomicRMW (AtomicRMWInst::BinOp Op, Value *Ptr, Value *Val, AtomicOrdering Ordering, SynchronizationScope SynchScope=CrossThread) |
| Value * | CreateGEP (Value *Ptr, ArrayRef< Value * > IdxList, const Twine &Name="") |
| Value * | CreateInBoundsGEP (Value *Ptr, ArrayRef< Value * > IdxList, const Twine &Name="") |
| Value * | CreateGEP (Value *Ptr, Value *Idx, const Twine &Name="") |
| Value * | CreateInBoundsGEP (Value *Ptr, Value *Idx, const Twine &Name="") |
| Value * | CreateConstGEP1_32 (Value *Ptr, unsigned Idx0, const Twine &Name="") |
| Value * | CreateConstInBoundsGEP1_32 (Value *Ptr, unsigned Idx0, const Twine &Name="") |
| Value * | CreateConstGEP2_32 (Value *Ptr, unsigned Idx0, unsigned Idx1, const Twine &Name="") |
| Value * | CreateConstInBoundsGEP2_32 (Value *Ptr, unsigned Idx0, unsigned Idx1, const Twine &Name="") |
| Value * | CreateConstGEP1_64 (Value *Ptr, uint64_t Idx0, const Twine &Name="") |
| Value * | CreateConstInBoundsGEP1_64 (Value *Ptr, uint64_t Idx0, const Twine &Name="") |
| Value * | CreateConstGEP2_64 (Value *Ptr, uint64_t Idx0, uint64_t Idx1, const Twine &Name="") |
| Value * | CreateConstInBoundsGEP2_64 (Value *Ptr, uint64_t Idx0, uint64_t Idx1, const Twine &Name="") |
| Value * | CreateStructGEP (Value *Ptr, unsigned Idx, const Twine &Name="") |
| Value * | CreateGlobalStringPtr (StringRef Str, const Twine &Name="") |
| Same as CreateGlobalString, but return a pointer with "i8*" type instead of a pointer to array of i8. | |
| Value * | CreateTrunc (Value *V, Type *DestTy, const Twine &Name="") |
| Value * | CreateZExt (Value *V, Type *DestTy, const Twine &Name="") |
| Value * | CreateSExt (Value *V, Type *DestTy, const Twine &Name="") |
| Value * | CreateZExtOrTrunc (Value *V, Type *DestTy, const Twine &Name="") |
| Create a ZExt or Trunc from the integer value V to DestTy. Return the value untouched if the type of V is already DestTy. | |
| Value * | CreateSExtOrTrunc (Value *V, Type *DestTy, const Twine &Name="") |
| Create a SExt or Trunc from the integer value V to DestTy. Return the value untouched if the type of V is already DestTy. | |
| Value * | CreateFPToUI (Value *V, Type *DestTy, const Twine &Name="") |
| Value * | CreateFPToSI (Value *V, Type *DestTy, const Twine &Name="") |
| Value * | CreateUIToFP (Value *V, Type *DestTy, const Twine &Name="") |
| Value * | CreateSIToFP (Value *V, Type *DestTy, const Twine &Name="") |
| Value * | CreateFPTrunc (Value *V, Type *DestTy, const Twine &Name="") |
| Value * | CreateFPExt (Value *V, Type *DestTy, const Twine &Name="") |
| Value * | CreatePtrToInt (Value *V, Type *DestTy, const Twine &Name="") |
| Value * | CreateIntToPtr (Value *V, Type *DestTy, const Twine &Name="") |
| Value * | CreateBitCast (Value *V, Type *DestTy, const Twine &Name="") |
| Value * | CreateZExtOrBitCast (Value *V, Type *DestTy, const Twine &Name="") |
| Value * | CreateSExtOrBitCast (Value *V, Type *DestTy, const Twine &Name="") |
| Value * | CreateTruncOrBitCast (Value *V, Type *DestTy, const Twine &Name="") |
| Value * | CreateCast (Instruction::CastOps Op, Value *V, Type *DestTy, const Twine &Name="") |
| Value * | CreatePointerCast (Value *V, Type *DestTy, const Twine &Name="") |
| Value * | CreateIntCast (Value *V, Type *DestTy, bool isSigned, const Twine &Name="") |
| Value * | CreateFPCast (Value *V, Type *DestTy, const Twine &Name="") |
| Value * | CreateICmpEQ (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateICmpNE (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateICmpUGT (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateICmpUGE (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateICmpULT (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateICmpULE (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateICmpSGT (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateICmpSGE (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateICmpSLT (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateICmpSLE (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFCmpOEQ (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFCmpOGT (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFCmpOGE (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFCmpOLT (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFCmpOLE (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFCmpONE (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFCmpORD (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFCmpUNO (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFCmpUEQ (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFCmpUGT (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFCmpUGE (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFCmpULT (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFCmpULE (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFCmpUNE (Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateICmp (CmpInst::Predicate P, Value *LHS, Value *RHS, const Twine &Name="") |
| Value * | CreateFCmp (CmpInst::Predicate P, Value *LHS, Value *RHS, const Twine &Name="") |
| PHINode * | CreatePHI (Type *Ty, unsigned NumReservedValues, const Twine &Name="") |
| CallInst * | CreateCall (Value *Callee, const Twine &Name="") |
| CallInst * | CreateCall (Value *Callee, Value *Arg, const Twine &Name="") |
| CallInst * | CreateCall2 (Value *Callee, Value *Arg1, Value *Arg2, const Twine &Name="") |
| CallInst * | CreateCall3 (Value *Callee, Value *Arg1, Value *Arg2, Value *Arg3, const Twine &Name="") |
| CallInst * | CreateCall4 (Value *Callee, Value *Arg1, Value *Arg2, Value *Arg3, Value *Arg4, const Twine &Name="") |
| CallInst * | CreateCall5 (Value *Callee, Value *Arg1, Value *Arg2, Value *Arg3, Value *Arg4, Value *Arg5, const Twine &Name="") |
| CallInst * | CreateCall (Value *Callee, ArrayRef< Value * > Args, const Twine &Name="") |
| Value * | CreateSelect (Value *C, Value *True, Value *False, const Twine &Name="") |
| VAArgInst * | CreateVAArg (Value *List, Type *Ty, const Twine &Name="") |
| Value * | CreateExtractElement (Value *Vec, Value *Idx, const Twine &Name="") |
| Value * | CreateInsertElement (Value *Vec, Value *NewElt, Value *Idx, const Twine &Name="") |
| Value * | CreateShuffleVector (Value *V1, Value *V2, Value *Mask, const Twine &Name="") |
| Value * | CreateExtractValue (Value *Agg, ArrayRef< unsigned > Idxs, const Twine &Name="") |
| Value * | CreateInsertValue (Value *Agg, Value *Val, ArrayRef< unsigned > Idxs, const Twine &Name="") |
| LandingPadInst * | CreateLandingPad (Type *Ty, Value *PersFn, unsigned NumClauses, const Twine &Name="") |
| Value * | CreateIsNull (Value *Arg, const Twine &Name="") |
Return an i1 value testing if Arg is null. | |
| Value * | CreateIsNotNull (Value *Arg, const Twine &Name="") |
Return an i1 value testing if Arg is not null. | |
| Value * | CreatePtrDiff (Value *LHS, Value *RHS, const Twine &Name="") |
| Return the i64 difference between two pointer values, dividing out the size of the pointed-to objects. | |
| Value * | CreateVectorSplat (unsigned NumElts, Value *V, const Twine &Name="") |
| Return a vector value that contains. | |
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 access to extra instruction properties, use the mutators (e.g. setVolatile) on the instructions after they have been created. Convenience state exists to specify fast-math flags and fp-math tags.
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. The fourth template argument allows clients to specify custom insertion hooks that are called on every newly created insertion.
Definition at line 374 of file IRBuilder.h.
| llvm::IRBuilder< preserveNames, T, Inserter >::IRBuilder | ( | LLVMContext & | C, |
| const T & | F, | ||
| const Inserter & | I = Inserter(), |
||
| MDNode * | FPMathTag = 0 |
||
| ) | [inline] |
Definition at line 379 of file IRBuilder.h.
| llvm::IRBuilder< preserveNames, T, Inserter >::IRBuilder | ( | LLVMContext & | C, |
| MDNode * | FPMathTag = 0 |
||
| ) | [inline, explicit] |
Definition at line 385 of file IRBuilder.h.
| llvm::IRBuilder< preserveNames, T, Inserter >::IRBuilder | ( | BasicBlock * | TheBB, |
| const T & | F, | ||
| MDNode * | FPMathTag = 0 |
||
| ) | [inline, explicit] |
Definition at line 389 of file IRBuilder.h.
| llvm::IRBuilder< preserveNames, T, Inserter >::IRBuilder | ( | BasicBlock * | TheBB, |
| MDNode * | FPMathTag = 0 |
||
| ) | [inline, explicit] |
Definition at line 395 of file IRBuilder.h.
| llvm::IRBuilder< preserveNames, T, Inserter >::IRBuilder | ( | Instruction * | IP, |
| MDNode * | FPMathTag = 0 |
||
| ) | [inline, explicit] |
Definition at line 401 of file IRBuilder.h.
| llvm::IRBuilder< preserveNames, T, Inserter >::IRBuilder | ( | Use & | U, |
| MDNode * | FPMathTag = 0 |
||
| ) | [inline, explicit] |
Definition at line 408 of file IRBuilder.h.
| llvm::IRBuilder< preserveNames, T, Inserter >::IRBuilder | ( | BasicBlock * | TheBB, |
| BasicBlock::iterator | IP, | ||
| const T & | F, | ||
| MDNode * | FPMathTag = 0 |
||
| ) | [inline] |
Definition at line 415 of file IRBuilder.h.
| llvm::IRBuilder< preserveNames, T, Inserter >::IRBuilder | ( | BasicBlock * | TheBB, |
| BasicBlock::iterator | IP, | ||
| MDNode * | FPMathTag = 0 |
||
| ) | [inline] |
Definition at line 422 of file IRBuilder.h.
| void llvm::IRBuilder< preserveNames, T, Inserter >::clearFastMathFlags | ( | ) | [inline] |
Clear the fast-math flags.
Definition at line 438 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateAdd | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "", |
||
| bool | HasNUW = false, |
||
| bool | HasNSW = false |
||
| ) | [inline] |
Definition at line 592 of file IRBuilder.h.
Referenced by convertMemSetToLoop(), convertTransferToLoop(), llvm::IRBuilder< true, TargetFolder >::CreateNSWAdd(), llvm::IRBuilder< true, TargetFolder >::CreateNUWAdd(), EvaluateGEPOffsetExpression(), foldSelectICmpAnd(), generateUnsignedDivisionCode(), TurnSwitchRangeIntoICmp(), and llvm::ObjectSizeOffsetEvaluator::visitGEPOperator().
| ReturnInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateAggregateRet | ( | Value *const * | retVals, |
| unsigned | N | ||
| ) | [inline] |
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 495 of file IRBuilder.h.
| LoadInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateAlignedLoad | ( | Value * | Ptr, |
| unsigned | Align, | ||
| const char * | Name | ||
| ) | [inline] |
Definition at line 871 of file IRBuilder.h.
| LoadInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateAlignedLoad | ( | Value * | Ptr, |
| unsigned | Align, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 876 of file IRBuilder.h.
| LoadInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateAlignedLoad | ( | Value * | Ptr, |
| unsigned | Align, | ||
| bool | isVolatile, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 882 of file IRBuilder.h.
| StoreInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateAlignedStore | ( | Value * | Val, |
| Value * | Ptr, | ||
| unsigned | Align, | ||
| bool | isVolatile = false |
||
| ) | [inline] |
Definition at line 888 of file IRBuilder.h.
| AllocaInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateAlloca | ( | Type * | Ty, |
| Value * | ArraySize = 0, |
||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 850 of file IRBuilder.h.
Referenced by llvm::InstCombiner::visitAllocaInst().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateAnd | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 766 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateAnd(), foldLogOpOfMaskedICmps(), generateUnsignedDivisionCode(), GetShiftedValue(), and llvm::IntrinsicLowering::LowerIntrinsicCall().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateAnd | ( | Value * | LHS, |
| const APInt & | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 775 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateAnd | ( | Value * | LHS, |
| uint64_t | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 778 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateAShr | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "", |
||
| bool | isExact = false |
||
| ) | [inline] |
Definition at line 748 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateAShr(), generateSignedDivisionCode(), generateSignedRemainderCode(), and generateUnsignedDivisionCode().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateAShr | ( | Value * | LHS, |
| const APInt & | RHS, | ||
| const Twine & | Name = "", |
||
| bool | isExact = false |
||
| ) | [inline] |
Definition at line 757 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateAShr | ( | Value * | LHS, |
| uint64_t | RHS, | ||
| const Twine & | Name = "", |
||
| bool | isExact = false |
||
| ) | [inline] |
Definition at line 761 of file IRBuilder.h.
| AtomicCmpXchgInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateAtomicCmpXchg | ( | Value * | Ptr, |
| Value * | Cmp, | ||
| Value * | New, | ||
| AtomicOrdering | Ordering, | ||
| SynchronizationScope | SynchScope = CrossThread |
||
| ) | [inline] |
Definition at line 898 of file IRBuilder.h.
| AtomicRMWInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateAtomicRMW | ( | AtomicRMWInst::BinOp | Op, |
| Value * | Ptr, | ||
| Value * | Val, | ||
| AtomicOrdering | Ordering, | ||
| SynchronizationScope | SynchScope = CrossThread |
||
| ) | [inline] |
Definition at line 903 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateBinOp | ( | Instruction::BinaryOps | Opc, |
| Value * | LHS, | ||
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 811 of file IRBuilder.h.
Referenced by llvm::FoldBranchToCommonDest(), and FoldOperationIntoSelectOperand().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateBitCast | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1109 of file IRBuilder.h.
Referenced by llvm::CastToCStr(), OptimizeIntToFloatBitCast(), OptimizeVectorResize(), and llvm::UpgradeIntrinsicCall().
| BranchInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateBr | ( | BasicBlock * | Dest | ) | [inline] |
Create an unconditional 'br label X' instruction.
Definition at line 503 of file IRBuilder.h.
Referenced by llvm::ConstantFoldTerminator(), FoldTwoEntryPHINode(), generateUnsignedDivisionCode(), removeUndefIntroducingPredecessor(), SimplifyTerminatorOnSelect(), SwitchToLookupTable(), and TryToSimplifyUncondBranchWithICmpInIt().
| CallInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall | ( | Value * | Callee, |
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1277 of file IRBuilder.h.
Referenced by llvm::EmitPutChar(), llvm::EmitPutS(), llvm::EmitStrLen(), llvm::EmitUnaryFloatFnCall(), and llvm::UpgradeIntrinsicCall().
| CallInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall | ( | Value * | Callee, |
| Value * | Arg, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1280 of file IRBuilder.h.
| CallInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall | ( | Value * | Callee, |
| ArrayRef< Value * > | Args, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1304 of file IRBuilder.h.
| CallInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall2 | ( | Value * | Callee, |
| Value * | Arg1, | ||
| Value * | Arg2, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1283 of file IRBuilder.h.
Referenced by llvm::EmitFPutC(), llvm::EmitFPutS(), llvm::EmitStrChr(), llvm::EmitStrCpy(), llvm::EmitStrNLen(), GenerateARCBBTerminatorAnnotation(), generateUnsignedDivisionCode(), ProcessUAddIdiom(), ProcessUGT_ADDCST_ADD(), and llvm::UpgradeIntrinsicCall().
| CallInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall3 | ( | Value * | Callee, |
| Value * | Arg1, | ||
| Value * | Arg2, | ||
| Value * | Arg3, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1288 of file IRBuilder.h.
Referenced by llvm::EmitMemChr(), llvm::EmitMemCmp(), llvm::EmitStrNCmp(), llvm::EmitStrNCpy(), and llvm::UpgradeIntrinsicCall().
| CallInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall4 | ( | Value * | Callee, |
| Value * | Arg1, | ||
| Value * | Arg2, | ||
| Value * | Arg3, | ||
| Value * | Arg4, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1293 of file IRBuilder.h.
Referenced by llvm::EmitFWrite(), and llvm::EmitMemCpyChk().
| CallInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall5 | ( | Value * | Callee, |
| Value * | Arg1, | ||
| Value * | Arg2, | ||
| Value * | Arg3, | ||
| Value * | Arg4, | ||
| Value * | Arg5, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1298 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateCast | ( | Instruction::CastOps | Op, |
| Value * | V, | ||
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1137 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateBitCast(), llvm::IRBuilder< true, TargetFolder >::CreateFPExt(), llvm::IRBuilder< true, TargetFolder >::CreateFPToSI(), llvm::IRBuilder< true, TargetFolder >::CreateFPToUI(), llvm::IRBuilder< true, TargetFolder >::CreateFPTrunc(), llvm::IRBuilder< true, TargetFolder >::CreateIntToPtr(), llvm::IRBuilder< true, TargetFolder >::CreatePtrToInt(), llvm::IRBuilder< true, TargetFolder >::CreateSExt(), llvm::IRBuilder< true, TargetFolder >::CreateSIToFP(), llvm::IRBuilder< true, TargetFolder >::CreateTrunc(), llvm::IRBuilder< true, TargetFolder >::CreateUIToFP(), llvm::IRBuilder< true, TargetFolder >::CreateZExt(), FoldOperationIntoSelectOperand(), and InstCombineStoreToCast().
| BranchInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateCondBr | ( | Value * | Cond, |
| BasicBlock * | True, | ||
| BasicBlock * | False, | ||
| MDNode * | BranchWeights = 0 |
||
| ) | [inline] |
Create a conditional 'br Cond, TrueDest, FalseDest' instruction.
Definition at line 509 of file IRBuilder.h.
Referenced by llvm::ConstantFoldTerminator(), convertMemSetToLoop(), convertTransferToLoop(), generateUnsignedDivisionCode(), SimplifyBranchOnICmpChain(), SimplifyTerminatorOnSelect(), SwitchToLookupTable(), and TurnSwitchRangeIntoICmp().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateConstGEP1_32 | ( | Value * | Ptr, |
| unsigned | Idx0, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 946 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateConstGEP1_64 | ( | Value * | Ptr, |
| uint64_t | Idx0, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 987 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateConstGEP2_32 | ( | Value * | Ptr, |
| unsigned | Idx0, | ||
| unsigned | Idx1, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 963 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateConstGEP2_64 | ( | Value * | Ptr, |
| uint64_t | Idx0, | ||
| uint64_t | Idx1, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1004 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateConstInBoundsGEP1_32 | ( | Value * | Ptr, |
| unsigned | Idx0, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 954 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateConstInBoundsGEP1_64 | ( | Value * | Ptr, |
| uint64_t | Idx0, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 995 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateConstInBoundsGEP2_32 | ( | Value * | Ptr, |
| unsigned | Idx0, | ||
| unsigned | Idx1, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 975 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateStructGEP().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateConstInBoundsGEP2_64 | ( | Value * | Ptr, |
| uint64_t | Idx0, | ||
| uint64_t | Idx1, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1016 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateExactSDiv | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 679 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreatePtrDiff().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateExactUDiv | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 667 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateExtractElement | ( | Value * | Vec, |
| Value * | Idx, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1322 of file IRBuilder.h.
Referenced by llvm::BoUpSLP::vectorizeArith(), and llvm::BoUpSLP::vectorizeTree().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateExtractValue | ( | Value * | Agg, |
| ArrayRef< unsigned > | Idxs, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1348 of file IRBuilder.h.
Referenced by ProcessUAddIdiom(), and ProcessUGT_ADDCST_ADD().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFAdd | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "", |
||
| MDNode * | FPMathTag = 0 |
||
| ) | [inline] |
Definition at line 606 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFCmp | ( | CmpInst::Predicate | P, |
| Value * | LHS, | ||
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1260 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateFCmpOEQ(), llvm::IRBuilder< true, TargetFolder >::CreateFCmpOGE(), llvm::IRBuilder< true, TargetFolder >::CreateFCmpOGT(), llvm::IRBuilder< true, TargetFolder >::CreateFCmpOLE(), llvm::IRBuilder< true, TargetFolder >::CreateFCmpOLT(), llvm::IRBuilder< true, TargetFolder >::CreateFCmpONE(), llvm::IRBuilder< true, TargetFolder >::CreateFCmpORD(), llvm::IRBuilder< true, TargetFolder >::CreateFCmpUEQ(), llvm::IRBuilder< true, TargetFolder >::CreateFCmpUGE(), llvm::IRBuilder< true, TargetFolder >::CreateFCmpUGT(), llvm::IRBuilder< true, TargetFolder >::CreateFCmpULE(), llvm::IRBuilder< true, TargetFolder >::CreateFCmpULT(), llvm::IRBuilder< true, TargetFolder >::CreateFCmpUNE(), llvm::IRBuilder< true, TargetFolder >::CreateFCmpUNO(), createMinMaxOp(), and getFCmpValue().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFCmpOEQ | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1210 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFCmpOGE | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1216 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFCmpOGT | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1213 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFCmpOLE | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1222 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFCmpOLT | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1219 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFCmpONE | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1225 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFCmpORD | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1228 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFCmpUEQ | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1234 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFCmpUGE | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1240 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFCmpUGT | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1237 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFCmpULE | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1246 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFCmpULT | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1243 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFCmpUNE | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1249 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFCmpUNO | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1231 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFDiv | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "", |
||
| MDNode * | FPMathTag = 0 |
||
| ) | [inline] |
Definition at line 682 of file IRBuilder.h.
| FenceInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFence | ( | AtomicOrdering | Ordering, |
| SynchronizationScope | SynchScope = CrossThread |
||
| ) | [inline] |
Definition at line 894 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFMul | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "", |
||
| MDNode * | FPMathTag = 0 |
||
| ) | [inline] |
Definition at line 650 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFNeg | ( | Value * | V, |
| const Twine & | Name = "", |
||
| MDNode * | FPMathTag = 0 |
||
| ) | [inline] |
Definition at line 834 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFPCast | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1167 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFPExt | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1098 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFPToSI | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1085 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFPToUI | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1082 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFPTrunc | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1094 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFRem | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "", |
||
| MDNode * | FPMathTag = 0 |
||
| ) | [inline] |
Definition at line 702 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateFSub | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "", |
||
| MDNode * | FPMathTag = 0 |
||
| ) | [inline] |
Definition at line 628 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateGEP | ( | Value * | Ptr, |
| ArrayRef< Value * > | IdxList, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 908 of file IRBuilder.h.
Referenced by convertMemSetToLoop(), convertTransferToLoop(), and genLoopLimit().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateGEP | ( | Value * | Ptr, |
| Value * | Idx, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 934 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateGlobalStringPtr | ( | StringRef | Str, |
| const Twine & | Name = "" |
||
| ) | [inline] |
Same as CreateGlobalString, but return a pointer with "i8*" type instead of a pointer to array of i8.
Definition at line 1034 of file IRBuilder.h.
Referenced by GenerateARCBBTerminatorAnnotation().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmp | ( | CmpInst::Predicate | P, |
| Value * | LHS, | ||
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1253 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateICmpEQ(), llvm::IRBuilder< true, TargetFolder >::CreateICmpNE(), llvm::IRBuilder< true, TargetFolder >::CreateICmpSGE(), llvm::IRBuilder< true, TargetFolder >::CreateICmpSGT(), llvm::IRBuilder< true, TargetFolder >::CreateICmpSLE(), llvm::IRBuilder< true, TargetFolder >::CreateICmpSLT(), llvm::IRBuilder< true, TargetFolder >::CreateICmpUGE(), llvm::IRBuilder< true, TargetFolder >::CreateICmpUGT(), llvm::IRBuilder< true, TargetFolder >::CreateICmpULE(), llvm::IRBuilder< true, TargetFolder >::CreateICmpULT(), createMinMaxOp(), foldLogOpOfMaskedICmps(), FoldOperationIntoSelectOperand(), and getNewICmpValue().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpEQ | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1179 of file IRBuilder.h.
Referenced by llvm::ConstantFoldTerminator(), llvm::IRBuilder< true, TargetFolder >::CreateIsNull(), generateUnsignedDivisionCode(), and llvm::UpgradeIntrinsicCall().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpNE | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1182 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateIsNotNull().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpSGE | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1200 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpSGT | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1197 of file IRBuilder.h.
Referenced by llvm::UpgradeIntrinsicCall().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpSLE | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1206 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpSLT | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1203 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpUGE | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1188 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpUGT | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1185 of file IRBuilder.h.
Referenced by generateUnsignedDivisionCode().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpULE | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1194 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpULT | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1191 of file IRBuilder.h.
Referenced by convertMemSetToLoop(), convertTransferToLoop(), SwitchToLookupTable(), and TurnSwitchRangeIntoICmp().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateInBoundsGEP | ( | Value * | Ptr, |
| ArrayRef< Value * > | IdxList, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 921 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateGlobalStringPtr(), and InstCombineStoreToCast().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateInBoundsGEP | ( | Value * | Ptr, |
| Value * | Idx, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 940 of file IRBuilder.h.
| IndirectBrInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateIndirectBr | ( | Value * | Addr, |
| unsigned | NumDests = 10 |
||
| ) | [inline] |
Create an indirect branch instruction with the specified address operand, with an optional hint for the number of destinations that will be added (for efficient allocation).
Definition at line 527 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateInsertElement | ( | Value * | Vec, |
| Value * | NewElt, | ||
| Value * | Idx, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1330 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateVectorSplat(), and OptimizeIntegerToVectorInsertions().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateInsertValue | ( | Value * | Agg, |
| Value * | Val, | ||
| ArrayRef< unsigned > | Idxs, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1356 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateAggregateRet().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateIntCast | ( | Value * | V, |
| Type * | DestTy, | ||
| bool | isSigned, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1153 of file IRBuilder.h.
Referenced by llvm::EmitFPutC(), llvm::EmitPutChar(), EvaluateGEPOffsetExpression(), llvm::SimplifyFortifiedLibCalls::fold(), and llvm::InstCombiner::visitAllocaInst().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateIntToPtr | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1105 of file IRBuilder.h.
| InvokeInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateInvoke | ( | Value * | Callee, |
| BasicBlock * | NormalDest, | ||
| BasicBlock * | UnwindDest, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 531 of file IRBuilder.h.
| InvokeInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateInvoke | ( | Value * | Callee, |
| BasicBlock * | NormalDest, | ||
| BasicBlock * | UnwindDest, | ||
| Value * | Arg1, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 537 of file IRBuilder.h.
| InvokeInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateInvoke | ( | Value * | Callee, |
| BasicBlock * | NormalDest, | ||
| BasicBlock * | UnwindDest, | ||
| ArrayRef< Value * > | Args, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Create an invoke instruction.
Definition at line 552 of file IRBuilder.h.
| InvokeInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateInvoke3 | ( | Value * | Callee, |
| BasicBlock * | NormalDest, | ||
| BasicBlock * | UnwindDest, | ||
| Value * | Arg1, | ||
| Value * | Arg2, | ||
| Value * | Arg3, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 543 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateIsNotNull | ( | Value * | Arg, |
| const Twine & | Name = "" |
||
| ) | [inline] |
Return an i1 value testing if Arg is not null.
Definition at line 1381 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateIsNull | ( | Value * | Arg, |
| const Twine & | Name = "" |
||
| ) | [inline] |
Return an i1 value testing if Arg is null.
Definition at line 1375 of file IRBuilder.h.
| LandingPadInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateLandingPad | ( | Type * | Ty, |
| Value * | PersFn, | ||
| unsigned | NumClauses, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1365 of file IRBuilder.h.
| LoadInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateLoad | ( | Value * | Ptr, |
| const char * | Name | ||
| ) | [inline] |
Definition at line 856 of file IRBuilder.h.
Referenced by convertTransferToLoop(), llvm::IRBuilder< true, TargetFolder >::CreateAlignedLoad(), InstCombineLoadCast(), and llvm::InstCombiner::visitLoadInst().
| LoadInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateLoad | ( | Value * | Ptr, |
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 859 of file IRBuilder.h.
| LoadInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateLoad | ( | Value * | Ptr, |
| bool | isVolatile, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 862 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateLShr | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "", |
||
| bool | isExact = false |
||
| ) | [inline] |
Definition at line 730 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateLShr(), foldSelectICmpAnd(), foldSelectICmpAndOr(), generateUnsignedDivisionCode(), GetShiftedValue(), and llvm::InstCombiner::SliceUpIllegalIntegerPHI().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateLShr | ( | Value * | LHS, |
| const APInt & | RHS, | ||
| const Twine & | Name = "", |
||
| bool | isExact = false |
||
| ) | [inline] |
Definition at line 739 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateLShr | ( | Value * | LHS, |
| uint64_t | RHS, | ||
| const Twine & | Name = "", |
||
| bool | isExact = false |
||
| ) | [inline] |
Definition at line 743 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateMul | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "", |
||
| bool | HasNUW = false, |
||
| bool | HasNSW = false |
||
| ) | [inline] |
Definition at line 636 of file IRBuilder.h.
Referenced by buildMultiplyTree(), llvm::IRBuilder< true, TargetFolder >::CreateNSWMul(), llvm::IRBuilder< true, TargetFolder >::CreateNUWMul(), generatedUnsignedRemainderCode(), llvm::ObjectSizeOffsetEvaluator::visitAllocaInst(), and llvm::ObjectSizeOffsetEvaluator::visitCallSite().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateNeg | ( | Value * | V, |
| const Twine & | Name = "", |
||
| bool | HasNUW = false, |
||
| bool | HasNSW = false |
||
| ) | [inline] |
Definition at line 819 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateNSWNeg(), and llvm::IRBuilder< true, TargetFolder >::CreateNUWNeg().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateNot | ( | Value * | V, |
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 840 of file IRBuilder.h.
Referenced by llvm::FoldBranchToCommonDest(), and SimplifyCondBranchToCondBranch().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateNSWAdd | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 600 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateNSWMul | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 644 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateNSWNeg | ( | Value * | V, |
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 828 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateNSWSub | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 622 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateNUWAdd | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 603 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateNUWMul | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 647 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateNUWNeg | ( | Value * | V, |
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 831 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateNUWSub | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 625 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateOr | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 782 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateOr(), foldLogOpOfMaskedICmps(), foldSelectICmpAndOr(), generateUnsignedDivisionCode(), and SimplifyCondBranchToCondBranch().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateOr | ( | Value * | LHS, |
| const APInt & | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 791 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateOr | ( | Value * | LHS, |
| uint64_t | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 794 of file IRBuilder.h.
| PHINode* llvm::IRBuilder< preserveNames, T, Inserter >::CreatePHI | ( | Type * | Ty, |
| unsigned | NumReservedValues, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1272 of file IRBuilder.h.
Referenced by convertMemSetToLoop(), convertTransferToLoop(), generateUnsignedDivisionCode(), and llvm::ObjectSizeOffsetEvaluator::visitPHINode().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreatePointerCast | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1145 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreatePtrDiff | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Return the i64 difference between two pointer values, dividing out the size of the pointed-to objects.
This is intended to implement C-style pointer subtraction. As such, the pointers must be appropriately aligned for their element types and pointing into the same object.
Definition at line 1392 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreatePtrToInt | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1101 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreatePtrDiff(), and SimplifyBranchOnICmpChain().
| ResumeInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateResume | ( | Value * | Exn | ) | [inline] |
Definition at line 559 of file IRBuilder.h.
| ReturnInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateRet | ( | Value * | V | ) | [inline] |
Create a 'ret <val>' instruction.
Definition at line 484 of file IRBuilder.h.
Referenced by SimplifyCondBranchToTwoReturns(), and SwitchToLookupTable().
| ReturnInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateRetVoid | ( | ) | [inline] |
Create a 'ret void' instruction.
Definition at line 479 of file IRBuilder.h.
Referenced by SimplifyCondBranchToTwoReturns().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateSDiv | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "", |
||
| bool | isExact = false |
||
| ) | [inline] |
Definition at line 670 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateExactSDiv(), llvm::expandDivisionUpTo32Bits(), and insertFastDiv().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateSelect | ( | Value * | C, |
| Value * | True, | ||
| Value * | False, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1309 of file IRBuilder.h.
Referenced by createMinMaxOp(), FoldTwoEntryPHINode(), generateUnsignedDivisionCode(), HoistThenElseCodeToIf(), SimplifyCondBranchToCondBranch(), SimplifyCondBranchToTwoReturns(), SpeculativelyExecuteBB(), and llvm::ObjectSizeOffsetEvaluator::visitSelectInst().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateSExt | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1051 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateSExtOrTrunc(), llvm::expandDivisionUpTo32Bits(), llvm::expandRemainderUpTo32Bits(), and llvm::UpgradeIntrinsicCall().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateSExtOrBitCast | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1121 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateSExtOrTrunc | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Create a SExt or Trunc from the integer value V to DestTy. Return the value untouched if the type of V is already DestTy.
Definition at line 1070 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateShl | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "", |
||
| bool | HasNUW = false, |
||
| bool | HasNSW = false |
||
| ) | [inline] |
Definition at line 711 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateShl(), foldSelectICmpAnd(), foldSelectICmpAndOr(), generateUnsignedDivisionCode(), GetShiftedValue(), and simplifyValueKnownNonZero().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateShl | ( | Value * | LHS, |
| const APInt & | RHS, | ||
| const Twine & | Name = "", |
||
| bool | HasNUW = false, |
||
| bool | HasNSW = false |
||
| ) | [inline] |
Definition at line 719 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateShl | ( | Value * | LHS, |
| uint64_t | RHS, | ||
| const Twine & | Name = "", |
||
| bool | HasNUW = false, |
||
| bool | HasNSW = false |
||
| ) | [inline] |
Definition at line 724 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateShuffleVector | ( | Value * | V1, |
| Value * | V2, | ||
| Value * | Mask, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1339 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateVectorSplat(), and llvm::UpgradeIntrinsicCall().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateSIToFP | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1091 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateSRem | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 696 of file IRBuilder.h.
Referenced by llvm::expandRemainderUpTo32Bits().
| StoreInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateStore | ( | Value * | Val, |
| Value * | Ptr, | ||
| bool | isVolatile = false |
||
| ) | [inline] |
Definition at line 865 of file IRBuilder.h.
Referenced by convertMemSetToLoop(), convertTransferToLoop(), llvm::IRBuilder< true, TargetFolder >::CreateAlignedStore(), and llvm::UpgradeIntrinsicCall().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateStructGEP | ( | Value * | Ptr, |
| unsigned | Idx, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1028 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateSub | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "", |
||
| bool | HasNUW = false, |
||
| bool | HasNSW = false |
||
| ) | [inline] |
Definition at line 614 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateNSWSub(), llvm::IRBuilder< true, TargetFolder >::CreateNUWSub(), llvm::IRBuilder< true, TargetFolder >::CreatePtrDiff(), generatedUnsignedRemainderCode(), generateSignedDivisionCode(), generateSignedRemainderCode(), generateUnsignedDivisionCode(), simplifyValueKnownNonZero(), and SwitchToLookupTable().
| SwitchInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateSwitch | ( | Value * | V, |
| BasicBlock * | Dest, | ||
| unsigned | NumCases = 10, |
||
| MDNode * | BranchWeights = 0 |
||
| ) | [inline] |
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 518 of file IRBuilder.h.
Referenced by SimplifyBranchOnICmpChain().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateTrunc | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1045 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateSExtOrTrunc(), llvm::IRBuilder< true, TargetFolder >::CreateZExtOrTrunc(), EvaluateGEPOffsetExpression(), llvm::expandDivisionUpTo32Bits(), llvm::expandRemainderUpTo32Bits(), ProcessUGT_ADDCST_ADD(), and llvm::InstCombiner::SliceUpIllegalIntegerPHI().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateTruncOrBitCast | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1129 of file IRBuilder.h.
Referenced by llvm::SCEVExpander::replaceCongruentIVs().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateUDiv | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "", |
||
| bool | isExact = false |
||
| ) | [inline] |
Definition at line 658 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateExactUDiv(), llvm::expandDivisionUpTo32Bits(), generatedUnsignedRemainderCode(), generateSignedDivisionCode(), and insertFastDiv().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateUIToFP | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1088 of file IRBuilder.h.
| UnreachableInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateUnreachable | ( | ) | [inline] |
Definition at line 563 of file IRBuilder.h.
Referenced by removeUndefIntroducingPredecessor().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateURem | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 690 of file IRBuilder.h.
Referenced by llvm::expandRemainderUpTo32Bits(), and generateSignedRemainderCode().
| VAArgInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateVAArg | ( | Value * | List, |
| Type * | Ty, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1318 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateVectorSplat | ( | unsigned | NumElts, |
| Value * | V, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Return a vector value that contains.
NumElts elements. Definition at line 1406 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateXor | ( | Value * | LHS, |
| Value * | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 798 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateXor(), foldSelectICmpAnd(), foldSelectICmpAndOr(), generateSignedDivisionCode(), and generateSignedRemainderCode().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateXor | ( | Value * | LHS, |
| const APInt & | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 804 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateXor | ( | Value * | LHS, |
| uint64_t | RHS, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 807 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateZExt | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1048 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateZExtOrTrunc(), llvm::expandDivisionUpTo32Bits(), llvm::expandRemainderUpTo32Bits(), ProcessUGT_ADDCST_ADD(), and llvm::ObjectSizeOffsetEvaluator::visitCallSite().
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateZExtOrBitCast | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Definition at line 1113 of file IRBuilder.h.
| Value* llvm::IRBuilder< preserveNames, T, Inserter >::CreateZExtOrTrunc | ( | Value * | V, |
| Type * | DestTy, | ||
| const Twine & | Name = "" |
||
| ) | [inline] |
Create a ZExt or Trunc from the integer value V to DestTy. Return the value untouched if the type of V is already DestTy.
Definition at line 1056 of file IRBuilder.h.
Referenced by foldSelectICmpAndOr().
| MDNode* llvm::IRBuilder< preserveNames, T, Inserter >::getDefaultFPMathTag | ( | ) | const [inline] |
Get the floating point math metadata being used.
Definition at line 432 of file IRBuilder.h.
| FastMathFlags llvm::IRBuilder< preserveNames, T, Inserter >::getFastMathFlags | ( | ) | const [inline] |
Get the flags to be applied to created floating point ops.
Definition at line 435 of file IRBuilder.h.
| const T& llvm::IRBuilder< preserveNames, T, Inserter >::getFolder | ( | ) | [inline] |
Get the constant folder being used.
Definition at line 429 of file IRBuilder.h.
| InstTy* llvm::IRBuilder< preserveNames, T, Inserter >::Insert | ( | InstTy * | I, |
| const Twine & | Name = "" |
||
| ) | const [inline] |
Insert and return the specified instruction.
Definition at line 452 of file IRBuilder.h.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateAdd(), llvm::IRBuilder< true, TargetFolder >::CreateAggregateRet(), llvm::IRBuilder< true, TargetFolder >::CreateAlloca(), llvm::IRBuilder< true, TargetFolder >::CreateAnd(), llvm::IRBuilder< true, TargetFolder >::CreateAShr(), llvm::IRBuilder< true, TargetFolder >::CreateAtomicCmpXchg(), llvm::IRBuilder< true, TargetFolder >::CreateAtomicRMW(), llvm::IRBuilder< true, TargetFolder >::CreateBinOp(), llvm::IRBuilder< true, TargetFolder >::CreateBr(), llvm::IRBuilder< true, TargetFolder >::CreateCall(), llvm::IRBuilder< true, TargetFolder >::CreateCall2(), llvm::IRBuilder< true, TargetFolder >::CreateCall3(), llvm::IRBuilder< true, TargetFolder >::CreateCall4(), llvm::IRBuilder< true, TargetFolder >::CreateCall5(), llvm::IRBuilder< true, TargetFolder >::CreateCast(), llvm::IRBuilder< true, TargetFolder >::CreateCondBr(), llvm::IRBuilder< true, TargetFolder >::CreateConstGEP1_32(), llvm::IRBuilder< true, TargetFolder >::CreateConstGEP1_64(), llvm::IRBuilder< true, TargetFolder >::CreateConstGEP2_32(), llvm::IRBuilder< true, TargetFolder >::CreateConstGEP2_64(), llvm::IRBuilder< true, TargetFolder >::CreateConstInBoundsGEP1_32(), llvm::IRBuilder< true, TargetFolder >::CreateConstInBoundsGEP1_64(), llvm::IRBuilder< true, TargetFolder >::CreateConstInBoundsGEP2_32(), llvm::IRBuilder< true, TargetFolder >::CreateConstInBoundsGEP2_64(), llvm::IRBuilder< true, TargetFolder >::CreateExtractElement(), llvm::IRBuilder< true, TargetFolder >::CreateExtractValue(), llvm::IRBuilder< true, TargetFolder >::CreateFAdd(), llvm::IRBuilder< true, TargetFolder >::CreateFCmp(), llvm::IRBuilder< true, TargetFolder >::CreateFDiv(), llvm::IRBuilder< true, TargetFolder >::CreateFence(), llvm::IRBuilder< true, TargetFolder >::CreateFMul(), llvm::IRBuilder< true, TargetFolder >::CreateFNeg(), llvm::IRBuilder< true, TargetFolder >::CreateFPCast(), llvm::IRBuilder< true, TargetFolder >::CreateFRem(), llvm::IRBuilder< true, TargetFolder >::CreateFSub(), llvm::IRBuilder< true, TargetFolder >::CreateGEP(), llvm::IRBuilder< true, TargetFolder >::CreateICmp(), llvm::IRBuilder< true, TargetFolder >::CreateInBoundsGEP(), llvm::IRBuilder< true, TargetFolder >::CreateIndirectBr(), llvm::IRBuilder< true, TargetFolder >::CreateInsertElement(), llvm::IRBuilder< true, TargetFolder >::CreateInsertValue(), llvm::IRBuilder< true, TargetFolder >::CreateIntCast(), llvm::IRBuilder< true, TargetFolder >::CreateInvoke(), llvm::IRBuilder< true, TargetFolder >::CreateInvoke3(), llvm::IRBuilder< true, TargetFolder >::CreateLandingPad(), llvm::IRBuilder< true, TargetFolder >::CreateLoad(), llvm::IRBuilder< true, TargetFolder >::CreateLShr(), llvm::IRBuilder< true, TargetFolder >::CreateMul(), llvm::IRBuilder< true, TargetFolder >::CreateNeg(), llvm::IRBuilder< true, TargetFolder >::CreateNot(), llvm::IRBuilder< true, TargetFolder >::CreateOr(), llvm::IRBuilder< true, TargetFolder >::CreatePHI(), llvm::IRBuilder< true, TargetFolder >::CreatePointerCast(), llvm::IRBuilder< true, TargetFolder >::CreateResume(), llvm::IRBuilder< true, TargetFolder >::CreateRet(), llvm::IRBuilder< true, TargetFolder >::CreateRetVoid(), llvm::IRBuilder< true, TargetFolder >::CreateSDiv(), llvm::IRBuilder< true, TargetFolder >::CreateSelect(), llvm::IRBuilder< true, TargetFolder >::CreateSExtOrBitCast(), llvm::IRBuilder< true, TargetFolder >::CreateShl(), llvm::IRBuilder< true, TargetFolder >::CreateShuffleVector(), llvm::IRBuilder< true, TargetFolder >::CreateSRem(), llvm::IRBuilder< true, TargetFolder >::CreateStore(), llvm::IRBuilder< true, TargetFolder >::CreateSub(), llvm::IRBuilder< true, TargetFolder >::CreateSwitch(), llvm::IRBuilder< true, TargetFolder >::CreateTruncOrBitCast(), llvm::IRBuilder< true, TargetFolder >::CreateUDiv(), llvm::IRBuilder< true, TargetFolder >::CreateUnreachable(), llvm::IRBuilder< true, TargetFolder >::CreateURem(), llvm::IRBuilder< true, TargetFolder >::CreateVAArg(), llvm::IRBuilder< true, TargetFolder >::CreateXor(), and llvm::IRBuilder< true, TargetFolder >::CreateZExtOrBitCast().
| Constant* llvm::IRBuilder< preserveNames, T, Inserter >::Insert | ( | Constant * | C, |
| const Twine & | = "" |
||
| ) | const [inline] |
No-op overload to handle constants.
Definition at line 459 of file IRBuilder.h.
| bool llvm::IRBuilder< preserveNames, T, Inserter >::isNamePreserving | ( | ) | const [inline] |
Return true if this builder is configured to actually add the requested names to IR created through it.
Definition at line 448 of file IRBuilder.h.
| void llvm::IRBuilder< preserveNames, T, Inserter >::SetDefaultFPMathTag | ( | MDNode * | FPMathTag | ) | [inline] |
SetDefaultFPMathTag - Set the floating point math metadata to be used.
Definition at line 441 of file IRBuilder.h.
| void llvm::IRBuilder< preserveNames, T, Inserter >::SetFastMathFlags | ( | FastMathFlags | NewFMF | ) | [inline] |
Set the fast-math flags to be used with generated fp-math operators.
Definition at line 444 of file IRBuilder.h.