clang  3.9.0
Public Member Functions | List of all members
clang::CodeGen::CGBuilderTy Class Reference

#include <CGBuilder.h>

Inheritance diagram for clang::CodeGen::CGBuilderTy:
[legend]
Collaboration diagram for clang::CodeGen::CGBuilderTy:
[legend]

Public Member Functions

 CGBuilderTy (const CodeGenTypeCache &TypeCache, llvm::LLVMContext &C)
 
 CGBuilderTy (const CodeGenTypeCache &TypeCache, llvm::LLVMContext &C, const llvm::ConstantFolder &F, const CGBuilderInserterTy &Inserter)
 
 CGBuilderTy (const CodeGenTypeCache &TypeCache, llvm::Instruction *I)
 
 CGBuilderTy (const CodeGenTypeCache &TypeCache, llvm::BasicBlock *BB)
 
llvm::ConstantInt * getSize (CharUnits N)
 
llvm::ConstantInt * getSize (uint64_t N)
 
llvm::LoadInst * CreateLoad (Address Addr, const llvm::Twine &Name="")
 
llvm::LoadInst * CreateLoad (Address Addr, const char *Name)
 
llvm::LoadInst * CreateLoad (Address Addr, bool IsVolatile, const llvm::Twine &Name="")
 
llvm::LoadInst * CreateAlignedLoad (llvm::Value *Addr, CharUnits Align, const llvm::Twine &Name="")
 
llvm::LoadInst * CreateAlignedLoad (llvm::Value *Addr, CharUnits Align, const char *Name)
 
llvm::LoadInst * CreateAlignedLoad (llvm::Type *Ty, llvm::Value *Addr, CharUnits Align, const llvm::Twine &Name="")
 
llvm::LoadInst * CreateAlignedLoad (llvm::Value *Addr, CharUnits Align, bool IsVolatile, const llvm::Twine &Name="")
 
llvm::StoreInst * CreateStore (llvm::Value *Val, Address Addr, bool IsVolatile=false)
 
llvm::StoreInst * CreateAlignedStore (llvm::Value *Val, llvm::Value *Addr, CharUnits Align, bool IsVolatile=false)
 
llvm::LoadInst * CreateDefaultAlignedLoad (llvm::Value *Addr, const llvm::Twine &Name="")
 
llvm::LoadInst * CreateDefaultAlignedLoad (llvm::Value *Addr, const char *Name)
 
llvm::LoadInst * CreateDefaultAlignedLoad (llvm::Value *Addr, bool IsVolatile, const llvm::Twine &Name="")
 
llvm::StoreInst * CreateDefaultAlignedStore (llvm::Value *Val, llvm::Value *Addr, bool IsVolatile=false)
 
llvm::LoadInst * CreateFlagLoad (llvm::Value *Addr, const llvm::Twine &Name="")
 Emit a load from an i1 flag variable. More...
 
llvm::StoreInst * CreateFlagStore (bool Value, llvm::Value *Addr)
 Emit a store to an i1 flag variable. More...
 
Address CreateBitCast (Address Addr, llvm::Type *Ty, const llvm::Twine &Name="")
 
Address CreateElementBitCast (Address Addr, llvm::Type *Ty, const llvm::Twine &Name="")
 Cast the element type of the given address to a different type, preserving information like the alignment and address space. More...
 
Address CreatePointerBitCastOrAddrSpaceCast (Address Addr, llvm::Type *Ty, const llvm::Twine &Name="")
 
Address CreateStructGEP (Address Addr, unsigned Index, CharUnits Offset, const llvm::Twine &Name="")
 
Address CreateStructGEP (Address Addr, unsigned Index, const llvm::StructLayout *Layout, const llvm::Twine &Name="")
 
Address CreateConstArrayGEP (Address Addr, uint64_t Index, CharUnits EltSize, const llvm::Twine &Name="")
 Given addr = [n x T]* ... More...
 
Address CreateConstInBoundsGEP (Address Addr, uint64_t Index, CharUnits EltSize, const llvm::Twine &Name="")
 Given addr = T* ... More...
 
Address CreateConstGEP (Address Addr, uint64_t Index, CharUnits EltSize, const llvm::Twine &Name="")
 Given addr = T* ... More...
 
Address CreateConstInBoundsByteGEP (Address Addr, CharUnits Offset, const llvm::Twine &Name="")
 Given a pointer to i8, adjust it by a given constant offset. More...
 
Address CreateConstByteGEP (Address Addr, CharUnits Offset, const llvm::Twine &Name="")
 
llvm::ValueCreateConstInBoundsByteGEP (llvm::Value *Ptr, CharUnits Offset, const llvm::Twine &Name="")
 
llvm::ValueCreateConstByteGEP (llvm::Value *Ptr, CharUnits Offset, const llvm::Twine &Name="")
 
llvm::CallInst * CreateMemCpy (Address Dest, Address Src, llvm::Value *Size, bool IsVolatile=false)
 
llvm::CallInst * CreateMemCpy (Address Dest, Address Src, uint64_t Size, bool IsVolatile=false)
 
llvm::CallInst * CreateMemMove (Address Dest, Address Src, llvm::Value *Size, bool IsVolatile=false)
 
llvm::CallInst * CreateMemSet (Address Dest, llvm::Value *Value, llvm::Value *Size, bool IsVolatile=false)
 

Detailed Description

Definition at line 45 of file CGBuilder.h.

Constructor & Destructor Documentation

clang::CodeGen::CGBuilderTy::CGBuilderTy ( const CodeGenTypeCache TypeCache,
llvm::LLVMContext &  C 
)
inline

Definition at line 50 of file CGBuilder.h.

clang::CodeGen::CGBuilderTy::CGBuilderTy ( const CodeGenTypeCache TypeCache,
llvm::LLVMContext &  C,
const llvm::ConstantFolder &  F,
const CGBuilderInserterTy Inserter 
)
inline

Definition at line 52 of file CGBuilder.h.

clang::CodeGen::CGBuilderTy::CGBuilderTy ( const CodeGenTypeCache TypeCache,
llvm::Instruction *  I 
)
inline

Definition at line 56 of file CGBuilder.h.

clang::CodeGen::CGBuilderTy::CGBuilderTy ( const CodeGenTypeCache TypeCache,
llvm::BasicBlock *  BB 
)
inline

Definition at line 58 of file CGBuilder.h.

Member Function Documentation

llvm::LoadInst* clang::CodeGen::CGBuilderTy::CreateAlignedLoad ( llvm::Value Addr,
CharUnits  Align,
const llvm::Twine &  Name = "" 
)
inline
llvm::LoadInst* clang::CodeGen::CGBuilderTy::CreateAlignedLoad ( llvm::Value Addr,
CharUnits  Align,
const char *  Name 
)
inline

Definition at line 95 of file CGBuilder.h.

References CreateAlignedLoad(), clang::CharUnits::getQuantity(), and clang::Name.

llvm::LoadInst* clang::CodeGen::CGBuilderTy::CreateAlignedLoad ( llvm::Type Ty,
llvm::Value Addr,
CharUnits  Align,
const llvm::Twine &  Name = "" 
)
inline

Definition at line 99 of file CGBuilder.h.

References CreateAlignedLoad(), clang::CharUnits::getQuantity(), and clang::Name.

llvm::LoadInst* clang::CodeGen::CGBuilderTy::CreateAlignedLoad ( llvm::Value Addr,
CharUnits  Align,
bool  IsVolatile,
const llvm::Twine &  Name = "" 
)
inline

Definition at line 105 of file CGBuilder.h.

References CreateAlignedLoad(), clang::CharUnits::getQuantity(), and clang::Name.

llvm::StoreInst* clang::CodeGen::CGBuilderTy::CreateAlignedStore ( llvm::Value Val,
llvm::Value Addr,
CharUnits  Align,
bool  IsVolatile = false 
)
inline
Address clang::CodeGen::CGBuilderTy::CreateBitCast ( Address  Addr,
llvm::Type Ty,
const llvm::Twine &  Name = "" 
)
inline

Definition at line 160 of file CGBuilder.h.

References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), and clang::Name.

Referenced by AddDirectArgument(), AdjustObjCObjectType(), ApplyNonVirtualAndVirtualOffset(), BuildAppleKextVirtualCall(), clang::CodeGen::CodeGenFunction::BuildBlockRelease(), CoerceIntOrPtrToIntOrPtr(), CreateCoercedLoad(), CreateCoercedStore(), CreateElementBitCast(), clang::CodeGen::CodeGenFunction::EmitAArch64BuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitAArch64CompareBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitAnnotationCall(), clang::CodeGen::CodeGenFunction::EmitAnyExprToExn(), emitARCCopyOperation(), clang::CodeGen::CodeGenFunction::EmitARCDestroyWeak(), emitARCLoadOperation(), clang::CodeGen::CodeGenFunction::EmitARCRelease(), clang::CodeGen::CodeGenFunction::EmitARCRetainAutorelease(), emitARCStoreOperation(), clang::CodeGen::CodeGenFunction::EmitARCStoreStrongCall(), emitARCValueOperation(), clang::CodeGen::CodeGenFunction::EmitARMBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitAsmStmt(), clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), clang::CodeGen::CGObjCRuntime::EmitAtSynchronizedStmt(), clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), EmitBinaryAtomicPost(), EmitBitCastOfLValueToProperType(), clang::CodeGen::CodeGenFunction::EmitBlockCallExpr(), clang::CodeGen::CodeGenFunction::EmitBlockLiteral(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCastToVoidPtr(), emitCatchDispatchBlock(), clang::CodeGen::CodeGenFunction::EmitCommonNeonBuiltinExpr(), EmitCommonNeonSISDBuiltinExpr(), emitCPPObjectAtomicGetterCall(), emitCPPObjectAtomicSetterCall(), clang::CodeGen::CodeGenFunction::EmitCXXNewExpr(), clang::CodeGen::CodeGenFunction::EmitCXXTypeidExpr(), clang::CodeGen::CodeGenFunction::EmitDeleteCall(), clang::CodeGen::CodeGenFunction::EmitExtendGCLifetime(), clang::CodeGen::CodeGenFunction::EmitFieldAnnotations(), EmitFunctionDeclLValue(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), clang::CodeGen::CodeGenFunction::EmitIndirectGotoStmt(), clang::CodeGen::CodeGenFunction::EmitInitializerForField(), clang::CodeGen::CodeGenFunction::EmitLifetimeEnd(), clang::CodeGen::CodeGenFunction::EmitLifetimeStart(), clang::CodeGen::CodeGenFunction::EmitMustTailThunk(), clang::CodeGen::CodeGenFunction::EmitNeonCall(), clang::CodeGen::CodeGenFunction::EmitNeonRShiftImm(), clang::CodeGen::CodeGenFunction::EmitNewArrayInitializer(), EmitNontemporalStore(), clang::CodeGen::CodeGenFunction::EmitNullInitialization(), clang::CodeGen::CodeGenFunction::EmitObjCBoxedExpr(), clang::CodeGen::CodeGenFunction::EmitObjCCollectionLiteral(), clang::CodeGen::CodeGenFunction::EmitObjCForCollectionStmt(), clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(), emitOffloadingArrays(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), emitPointerArithmetic(), clang::CodeGen::CodeGenFunction::EmitPPCBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitSEHExceptionCodeSave(), EmitSignBit(), emitStructGetterCall(), emitStructSetterCall(), clang::CodeGen::CodeGenFunction::EmitSynthesizedCXXCopyCtorCall(), clang::CodeGen::CGObjCRuntime::EmitTryCatchStmt(), clang::CodeGen::CodeGenFunction::EmitTypeCheck(), clang::CodeGen::CodeGenFunction::EmitTypeMetadataCodeForVCall(), clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), clang::CodeGen::CodeGenFunction::EmitVarAnnotations(), clang::CodeGen::CodeGenFunction::EmitVTablePtrCheck(), clang::CodeGen::CodeGenFunction::EmitVTableTypeCheckedLoad(), emitWriteback(), emitWritebackArg(), EmitX86_64VAArgFromMemory(), clang::CodeGen::CodeGenFunction::EmitX86BuiltinExpr(), EmitX86MaskedCompare(), EmitX86MaskedLoad(), EmitX86MaskedStore(), generateByrefCopyHelper(), generateByrefDisposeHelper(), clang::CodeGen::CodeGenFunction::GenerateCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateDestroyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateObjCCtorDtorMethod(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), clang::CodeGen::CodeGenFunction::GetAddressOfBaseClass(), clang::CodeGen::CodeGenFunction::GetAddressOfDerivedClass(), clang::CodeGen::CodeGenFunction::GetAddrOfBlockDecl(), getMaskVecValue(), InitCatchParam(), clang::CodeGen::CodeGenFunction::InitializeVTablePointer(), MakeAtomicCmpXchgValue(), MakeBinaryAtomicValue(), performTypeAdjustment(), clang::CodeGen::CodeGenFunction::recoverAddrOfEscapedLocal(), clang::CodeGen::CodeGenFunction::setBlockContextParameter(), tryEmitFusedAutoreleaseOfResult(), tryRemoveRetainOfSelf(), and clang::CodeGen::CodeGenFunction::vectorWrapScalar16().

Address clang::CodeGen::CGBuilderTy::CreateConstArrayGEP ( Address  Addr,
uint64_t  Index,
CharUnits  EltSize,
const llvm::Twine &  Name = "" 
)
inline

Given addr = [n x T]* ...

produce name = getelementptr inbounds addr, i64 0, i64 index where i64 is actually the target word size.

This API assumes that drilling into an array like this is always an inbounds operation.

Parameters
EltSize- the size of the type T in bytes

Definition at line 206 of file CGBuilder.h.

References clang::CharUnits::alignmentAtOffset(), clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), getSize(), clang::Name, and clang::CharUnits::Zero().

Referenced by emitAddrOfVarFromArray(), clang::CodeGen::CodeGenFunction::EmitObjCCollectionLiteral(), emitReductionFunction(), and clang::CodeGen::emitTaskCall().

Address clang::CodeGen::CGBuilderTy::CreateConstByteGEP ( Address  Addr,
CharUnits  Offset,
const llvm::Twine &  Name = "" 
)
inline
llvm::Value* clang::CodeGen::CGBuilderTy::CreateConstByteGEP ( llvm::Value Ptr,
CharUnits  Offset,
const llvm::Twine &  Name = "" 
)
inline

Definition at line 263 of file CGBuilder.h.

References getSize(), clang::CodeGen::CodeGenTypeCache::Int8Ty, and clang::Name.

Address clang::CodeGen::CGBuilderTy::CreateConstGEP ( Address  Addr,
uint64_t  Index,
CharUnits  EltSize,
const llvm::Twine &  Name = "" 
)
inline

Given addr = T* ...

produce name = getelementptr inbounds addr, i64 index where i64 is actually the target word size.

Parameters
EltSize- the size of the type T in bytes

Definition at line 237 of file CGBuilder.h.

References clang::CharUnits::alignmentAtOffset(), clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getElementType(), clang::CodeGen::Address::getPointer(), getSize(), and clang::Name.

Address clang::CodeGen::CGBuilderTy::CreateConstInBoundsByteGEP ( Address  Addr,
CharUnits  Offset,
const llvm::Twine &  Name = "" 
)
inline
llvm::Value* clang::CodeGen::CGBuilderTy::CreateConstInBoundsByteGEP ( llvm::Value Ptr,
CharUnits  Offset,
const llvm::Twine &  Name = "" 
)
inline

Definition at line 258 of file CGBuilder.h.

References getSize(), clang::CodeGen::CodeGenTypeCache::Int8Ty, and clang::Name.

Address clang::CodeGen::CGBuilderTy::CreateConstInBoundsGEP ( Address  Addr,
uint64_t  Index,
CharUnits  EltSize,
const llvm::Twine &  Name = "" 
)
inline

Given addr = T* ...

produce name = getelementptr inbounds addr, i64 index where i64 is actually the target word size.

Parameters
EltSize- the size of the type T in bytes

Definition at line 222 of file CGBuilder.h.

References clang::CharUnits::alignmentAtOffset(), clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getElementType(), clang::CodeGen::Address::getPointer(), getSize(), and clang::Name.

llvm::LoadInst* clang::CodeGen::CGBuilderTy::CreateDefaultAlignedLoad ( llvm::Value Addr,
const llvm::Twine &  Name = "" 
)
inline
llvm::LoadInst* clang::CodeGen::CGBuilderTy::CreateDefaultAlignedLoad ( llvm::Value Addr,
const char *  Name 
)
inline

Definition at line 131 of file CGBuilder.h.

llvm::LoadInst* clang::CodeGen::CGBuilderTy::CreateDefaultAlignedLoad ( llvm::Value Addr,
bool  IsVolatile,
const llvm::Twine &  Name = "" 
)
inline

Definition at line 135 of file CGBuilder.h.

References clang::Name.

llvm::StoreInst* clang::CodeGen::CGBuilderTy::CreateDefaultAlignedStore ( llvm::Value Val,
llvm::Value Addr,
bool  IsVolatile = false 
)
inline
Address clang::CodeGen::CGBuilderTy::CreateElementBitCast ( Address  Addr,
llvm::Type Ty,
const llvm::Twine &  Name = "" 
)
inline

Cast the element type of the given address to a different type, preserving information like the alignment and address space.

Definition at line 168 of file CGBuilder.h.

References CreateBitCast(), clang::CodeGen::Address::getAddressSpace(), and clang::Name.

Referenced by CheckAggExprForMemSetUse(), emitAddressAtOffset(), emitAddrOfVarFromArray(), clang::CodeGen::CodeGenFunction::EmitAggregateCopy(), clang::CodeGen::CodeGenFunction::EmitARMBuiltinExpr(), clang::CodeGen::CodeGenFunction::emitArrayLength(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCXXNewExpr(), clang::CodeGen::CodeGenFunction::EmitFunctionEpilog(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), clang::CodeGen::CodeGenFunction::EmitNewArrayInitializer(), emitNonZeroVLAInit(), EmitNullBaseClassInitialization(), clang::CodeGen::CodeGenFunction::EmitNullInitialization(), clang::CodeGen::CodeGenFunction::EmitObjCIsaExpr(), clang::CodeGen::CodeGenFunction::EmitOMPAggregateAssign(), EmitOMPAggregateInit(), emitOMPArraySectionBase(), clang::CodeGen::CodeGenFunction::EmitOMPReductionClauseInit(), EmitThreadPrivateVarDeclLValue(), clang::CodeGen::emitThreadPrivateVarDefinition(), clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), emitVoidPtrDirectVAArg(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), clang::CodeGen::CodeGenFunction::GetAddressOfDirectBaseInCompleteClass(), clang::CodeGen::CodeGenFunction::GetVTablePtr(), performTypeAdjustment(), clang::CodeGen::CGCXXABI::ReadArrayCookie(), and tryEmitARCCopyWeakInit().

llvm::LoadInst* clang::CodeGen::CGBuilderTy::CreateFlagLoad ( llvm::Value Addr,
const llvm::Twine &  Name = "" 
)
inline

Emit a load from an i1 flag variable.

Definition at line 147 of file CGBuilder.h.

References CreateAlignedLoad(), clang::Name, and clang::CharUnits::One().

llvm::StoreInst* clang::CodeGen::CGBuilderTy::CreateFlagStore ( bool  Value,
llvm::Value Addr 
)
inline
llvm::LoadInst* clang::CodeGen::CGBuilderTy::CreateLoad ( Address  Addr,
const llvm::Twine &  Name = "" 
)
inline

Definition at line 70 of file CGBuilder.h.

References CreateAlignedLoad(), clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), clang::CharUnits::getQuantity(), and clang::Name.

Referenced by CreateCoercedLoad(), clang::CodeGen::CodeGenFunction::EmitAArch64BuiltinExpr(), emitAddrOfVarFromArray(), EmitAggMemberInitializer(), clang::CodeGen::CodeGenFunction::EmitARCDestroyStrong(), clang::CodeGen::CodeGenFunction::EmitARMBuiltinExpr(), emitAtomicCmpXchg(), EmitAtomicOp(), clang::CodeGen::CodeGenFunction::emitBlockByrefAddress(), clang::CodeGen::CodeGenFunction::EmitBlockLiteral(), clang::CodeGen::CodeGenFunction::EmitCall(), EmitCleanup(), clang::CodeGen::CodeGenFunction::EmitCommonNeonBuiltinExpr(), emitCopyprivateCopyFunction(), clang::CodeGen::CodeGenFunction::EmitDelegateCallArg(), clang::CodeGen::CodeGenFunction::EmitFunctionEpilog(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), EmitMemberInitializer(), clang::CodeGen::CodeGenFunction::EmitObjCForCollectionStmt(), emitOMPArraySectionBase(), clang::CodeGen::CodeGenFunction::EmitOMPLastprivateClauseFinal(), emitReductionFunction(), clang::CodeGen::CodeGenFunction::EmitSEHExceptionCode(), clang::CodeGen::CGCXXABI::EmitThisParam(), emitVoidPtrDirectVAArg(), emitVoidPtrVAArg(), emitWriteback(), EmitX86_64VAArgFromMemory(), clang::CodeGen::CodeGenFunction::EmitX86BuiltinExpr(), clang::CodeGen::CodeGenFunction::GenerateBlockFunction(), generateByrefCopyHelper(), generateByrefDisposeHelper(), clang::CodeGen::CodeGenFunction::GenerateCapturedStmtFunction(), clang::CodeGen::CodeGenFunction::GenerateCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalInitFunc(), clang::CodeGen::CodeGenFunction::GenerateDestroyHelperFunction(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), clang::CodeGen::CodeGenFunction::GetAddrOfBlockDecl(), clang::CodeGen::CodeGenFunction::getExceptionFromSlot(), clang::CodeGen::CodeGenFunction::getSelectorFromSlot(), clang::CodeGen::CodeGenFunction::GetVTablePtr(), performTypeAdjustment(), and clang::CodeGen::CodeGenFunction::setBlockContextParameter().

llvm::LoadInst* clang::CodeGen::CGBuilderTy::CreateLoad ( Address  Addr,
const char *  Name 
)
inline
llvm::LoadInst* clang::CodeGen::CGBuilderTy::CreateLoad ( Address  Addr,
bool  IsVolatile,
const llvm::Twine &  Name = "" 
)
inline
llvm::CallInst* clang::CodeGen::CGBuilderTy::CreateMemCpy ( Address  Dest,
Address  Src,
llvm::Value Size,
bool  IsVolatile = false 
)
inline
llvm::CallInst* clang::CodeGen::CGBuilderTy::CreateMemCpy ( Address  Dest,
Address  Src,
uint64_t  Size,
bool  IsVolatile = false 
)
inline
llvm::CallInst* clang::CodeGen::CGBuilderTy::CreateMemMove ( Address  Dest,
Address  Src,
llvm::Value Size,
bool  IsVolatile = false 
)
inline
llvm::CallInst* clang::CodeGen::CGBuilderTy::CreateMemSet ( Address  Dest,
llvm::Value Value,
llvm::Value Size,
bool  IsVolatile = false 
)
inline
Address clang::CodeGen::CGBuilderTy::CreatePointerBitCastOrAddrSpaceCast ( Address  Addr,
llvm::Type Ty,
const llvm::Twine &  Name = "" 
)
inline
llvm::StoreInst* clang::CodeGen::CGBuilderTy::CreateStore ( llvm::Value Val,
Address  Addr,
bool  IsVolatile = false 
)
inline

Definition at line 113 of file CGBuilder.h.

References CreateAlignedStore(), clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), and clang::CharUnits::getQuantity().

Referenced by clang::CodeGen::CodeGenFunction::OMPPrivateScope::addPrivate(), BuildAggStore(), castToBase(), CreateCoercedStore(), EmitAggMemberInitializer(), clang::CodeGen::CodeGenFunction::EmitAMDGPUBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitARCInitWeak(), clang::CodeGen::CodeGenFunction::EmitARMBuiltinExpr(), emitAtomicCmpXchg(), clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), EmitAtomicOp(), clang::CodeGen::CodeGenFunction::EmitAtomicStore(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), clang::CodeGen::CodeGenFunction::EmitBlockLiteral(), clang::CodeGen::CodeGenFunction::emitByrefStructureInit(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), clang::CodeGen::CodeGenFunction::EmitInitializerForField(), clang::CodeGen::CGObjCRuntime::EmitInitOfCatchParam(), clang::CodeGen::CodeGenFunction::EmitLandingPad(), clang::CodeGen::CodeGenFunction::EmitMustTailThunk(), clang::CodeGen::CodeGenFunction::EmitNewArrayInitializer(), clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(), emitOffloadingArrays(), clang::CodeGen::CodeGenFunction::EmitReturnStmt(), clang::CodeGen::CodeGenFunction::EmitSEHExceptionCodeSave(), EmitSystemZIntrinsicWithCC(), clang::CodeGen::emitThreadPrivateVarDefinition(), clang::CodeGen::emitUpdateLocation(), emitVoidPtrDirectVAArg(), emitWritebackArg(), EmitX86_64VAArgFromMemory(), clang::CodeGen::CodeGenFunction::EmitX86BuiltinExpr(), clang::CodeGen::CodeGenFunction::ExitSEHTryStmt(), clang::CodeGen::CodeGenFunction::GenerateBlockFunction(), clang::CodeGen::CodeGenFunction::GenerateCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalInitFunc(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), clang::CodeGen::CodeGenFunction::GenerateSEHFilterFunction(), InitCatchParam(), clang::CodeGen::CodeGenFunction::initFullExprCleanup(), clang::CodeGen::CodeGenFunction::InitializeVTablePointer(), clang::CodeGen::DominatingLLVMValue::save(), clang::CodeGen::CodeGenFunction::setBlockContextParameter(), and SetupCleanupBlockActivation().

Address clang::CodeGen::CGBuilderTy::CreateStructGEP ( Address  Addr,
unsigned  Index,
CharUnits  Offset,
const llvm::Twine &  Name = "" 
)
inline
Address clang::CodeGen::CGBuilderTy::CreateStructGEP ( Address  Addr,
unsigned  Index,
const llvm::StructLayout *  Layout,
const llvm::Twine &  Name = "" 
)
inline

Definition at line 189 of file CGBuilder.h.

References CreateStructGEP(), clang::CharUnits::fromQuantity(), and clang::Name.

llvm::ConstantInt* clang::CodeGen::CGBuilderTy::getSize ( CharUnits  N)
inline
llvm::ConstantInt* clang::CodeGen::CGBuilderTy::getSize ( uint64_t  N)
inline

Definition at line 64 of file CGBuilder.h.

References clang::CodeGen::CodeGenTypeCache::SizeTy.


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