clang
6.0.0
|
#include "/work/www-prereleases/6.0.0/rc2/docsbuild/llvm.src/tools/clang/lib/CodeGen/CGBuilder.h"
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::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::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 | CreateAddrSpaceCast (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::Value * | CreateConstInBoundsByteGEP (llvm::Value *Ptr, CharUnits Offset, const llvm::Twine &Name="") |
llvm::Value * | CreateConstByteGEP (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) |
Definition at line 45 of file CGBuilder.h.
|
inline |
Definition at line 50 of file CGBuilder.h.
|
inline |
Definition at line 52 of file CGBuilder.h.
|
inline |
Definition at line 56 of file CGBuilder.h.
|
inline |
Definition at line 58 of file CGBuilder.h.
|
inline |
Definition at line 149 of file CGBuilder.h.
|
inline |
Definition at line 91 of file CGBuilder.h.
Referenced by BuildAppleKextVirtualCall(), createPlaceholderSlot(), clang::CodeGen::CodeGenFunction::EmitTypeCheck(), EmitX86_64VAArgFromMemory(), EmitX86MaskedLoad(), EmitX86SubVectorBroadcast(), getBadTypeidFn(), performTypeAdjustment(), clang::CodeGen::DominatingLLVMValue::restore(), and clang::CodeGen::CodeGenFunction::StartFunction().
|
inline |
Definition at line 95 of file CGBuilder.h.
|
inline |
Definition at line 99 of file CGBuilder.h.
|
inline |
Definition at line 115 of file CGBuilder.h.
References clang::CharUnits::getQuantity().
Referenced by EmitX86MaskedStore(), and clang::CodeGen::CodeGenFunction::FinallyInfo::exit().
|
inline |
Definition at line 142 of file CGBuilder.h.
Referenced by AddDirectArgument(), AddVariableConstraints(), AdjustObjCObjectType(), ApplyNonVirtualAndVirtualOffset(), BuildAppleKextVirtualCall(), CoerceIntOrPtrToIntOrPtr(), CreateCoercedLoad(), CreateCoercedStore(), clang::CodeGen::CodeGenFunction::EmitAnnotationCall(), emitARCCopyOperation(), clang::CodeGen::CodeGenFunction::EmitARCDestroyWeak(), emitARCLoadOperation(), clang::CodeGen::CodeGenFunction::EmitARCRelease(), clang::CodeGen::CodeGenFunction::EmitARCRetainAutorelease(), emitARCStoreOperation(), clang::CodeGen::CodeGenFunction::EmitARCStoreStrongCall(), emitARCValueOperation(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), clang::CodeGen::CodeGenFunction::EmitCastToVoidPtr(), emitCatchDispatchBlock(), clang::CodeGen::CodeGenFunction::EmitCfiSlowPathCheck(), clang::CodeGen::CodeGenFunction::EmitCheck(), clang::CodeGen::CodeGenFunction::EmitCheckValue(), EmitCommonNeonSISDBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitConstructorBody(), emitCPPObjectAtomicGetterCall(), emitCPPObjectAtomicSetterCall(), emitCXXDestructor(), clang::CodeGen::CodeGenFunction::EmitExtendGCLifetime(), clang::CodeGen::CodeGenFunction::EmitLifetimeEnd(), clang::CodeGen::CodeGenFunction::EmitLifetimeStart(), clang::CodeGen::CodeGenFunction::EmitNullInitialization(), clang::CodeGen::CodeGenFunction::EmitObjCThrowOperand(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitParallelCall(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), emitPointerArithmetic(), emitRTtypeidCall(), EmitSignBit(), emitStructSetterCall(), clang::CodeGen::CodeGenFunction::EmitTypeCheck(), clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), emitWriteback(), emitWritebackArg(), EmitX86_64VAArgFromMemory(), EmitX86MaskedLoad(), EmitX86MaskedStore(), EmitX86MaskLogic(), clang::CodeGen::CodeGenFunction::GenerateObjCCtorDtorMethod(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), getBadTypeidFn(), GetGCAttrTypeForType(), getMaskVecValue(), InitCatchParam(), isCheapEnoughToEvaluateUnconditionally(), isWeakLinkedClass(), performTypeAdjustment(), rewriteInputConstraintReferences(), clang::CodeGen::CodeGenFunction::ShouldNullCheckClassCastValue(), and tryRemoveRetainOfSelf().
|
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.
EltSize | - the size of the type T in bytes |
Definition at line 195 of file CGBuilder.h.
Referenced by emitAddrOfVarFromArray().
|
inline |
Definition at line 240 of file CGBuilder.h.
|
inline |
Definition at line 252 of file CGBuilder.h.
|
inline |
Given addr = T* ...
produce name = getelementptr inbounds addr, i64 index where i64 is actually the target word size.
EltSize | - the size of the type T in bytes |
Definition at line 226 of file CGBuilder.h.
|
inline |
Given a pointer to i8, adjust it by a given constant offset.
Definition at line 234 of file CGBuilder.h.
Referenced by emitAddressAtOffset(), EmitNullBaseClassInitialization(), emitVoidPtrDirectVAArg(), EmitX86_64VAArgFromMemory(), performTypeAdjustment(), and clang::CodeGen::CGCXXABI::ReadArrayCookie().
|
inline |
Definition at line 247 of file CGBuilder.h.
|
inline |
Given addr = T* ...
produce name = getelementptr inbounds addr, i64 index where i64 is actually the target word size.
EltSize | - the size of the type T in bytes |
Definition at line 211 of file CGBuilder.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitExtVectorElementLValue(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitParallelCall(), and performTypeAdjustment().
|
inline |
Definition at line 122 of file CGBuilder.h.
Referenced by emitStoresForInitAfterMemset().
|
inline |
Cast the element type of the given address to a different type, preserving information like the alignment and address space.
Definition at line 157 of file CGBuilder.h.
Referenced by CheckAggExprForMemSetUse(), CreateCoercedStore(), emitAddressAtOffset(), emitAddrOfVarFromArray(), clang::CodeGen::CodeGenFunction::EmitAggregateCopy(), clang::CodeGen::CodeGenFunction::emitArrayLength(), clang::CodeGen::ReductionCodeGen::emitCleanups(), clang::CodeGen::CodeGenFunction::EmitExtVectorElementLValue(), clang::CodeGen::ReductionCodeGen::emitInitialization(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitLValueForFieldInitialization(), emitNonZeroVLAInit(), EmitNullBaseClassInitialization(), clang::CodeGen::CodeGenFunction::EmitNullInitialization(), clang::CodeGen::CodeGenFunction::EmitObjCIsaExpr(), EmitOMPAggregateInit(), emitOMPArraySectionBase(), emitReduceCombFunction(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), EmitThreadPrivateVarDeclLValue(), clang::CodeGen::emitThreadPrivateVarInit(), clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), emitVoidPtrDirectVAArg(), EmitX86_64VAArgFromMemory(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), hasDefaultCXXMethodCC(), loadToBegin(), performTypeAdjustment(), clang::CodeGen::CGCXXABI::ReadArrayCookie(), clang::CodeGen::CodeGenFunction::ShouldNullCheckClassCastValue(), and tryEmitARCCopyWeakInit().
|
inline |
Emit a load from an i1 flag variable.
Definition at line 129 of file CGBuilder.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitStaticVarDecl().
|
inline |
Emit a store to an i1 flag variable.
Definition at line 136 of file CGBuilder.h.
References clang::CharUnits::One().
Referenced by clang::CodeGen::CodeGenFunction::FinallyInfo::enter(), and clang::CodeGen::CodeGenFunction::FinallyInfo::exit().
|
inline |
Definition at line 70 of file CGBuilder.h.
Referenced by AddVariableConstraints(), CreateCoercedLoad(), clang::CodeGen::CodeGenFunction::DecodeAddrUsedInPrologue(), emitAddrOfVarFromArray(), clang::CodeGen::CodeGenFunction::EmitARCDestroyStrong(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitCfiCheckFail(), EmitCleanup(), clang::CodeGen::CodeGenFunction::EmitConstructorBody(), emitCopyprivateCopyFunction(), emitCXXDestructor(), clang::CodeGen::CodeGenFunction::EmitLoadOfBitfieldLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfExtVectorElementLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfPointer(), clang::CodeGen::CodeGenFunction::EmitLoadOfReference(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), EmitMemberInitializer(), clang::CodeGen::CodeGenFunction::EmitObjCMRRAutoreleasePoolPop(), emitOMPArraySectionBase(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), emitPartialArrayDestroy(), emitReductionCombiner(), clang::CodeGen::CodeGenFunction::EmitStoreThroughBitfieldLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughExtVectorComponentLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), clang::CodeGen::CodeGenFunction::EmitTypeCheck(), emitVoidPtrDirectVAArg(), emitVoidPtrVAArg(), emitWriteback(), EmitX86_64VAArgFromMemory(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalInitFunc(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), getNonNullAttr(), isCheapEnoughToEvaluateUnconditionally(), clang::CodeGen::CGCXXABI::loadIncomingCXXThis(), and performTypeAdjustment().
|
inline |
Definition at line 75 of file CGBuilder.h.
|
inline |
Definition at line 82 of file CGBuilder.h.
|
inline |
Definition at line 259 of file CGBuilder.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), and min().
Referenced by CreateCoercedLoad(), CreateCoercedStore(), clang::CodeGen::CodeGenFunction::EmitAggregateCopy(), clang::CodeGen::CodeGenFunction::EmitConstructorBody(), emitNonZeroVLAInit(), EmitNullBaseClassInitialization(), clang::CodeGen::CodeGenFunction::EmitNullInitialization(), and EmitX86_64VAArgFromMemory().
|
inline |
Definition at line 265 of file CGBuilder.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), and min().
|
inline |
Definition at line 273 of file CGBuilder.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), and min().
|
inline |
Definition at line 281 of file CGBuilder.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), and clang::CharUnits::getQuantity().
Referenced by CheckAggExprForMemSetUse(), clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), EmitNullBaseClassInitialization(), clang::CodeGen::CodeGenFunction::EmitNullInitialization(), and isFullSizeType().
|
inline |
Definition at line 164 of file CGBuilder.h.
Referenced by clang::CodeGen::ReductionCodeGen::adjustPrivateAddress(), castToBase(), emitCopyprivateCopyFunction(), emitPrivatesInit(), emitProxyTaskFunction(), emitReduceFiniFunction(), emitReductionCombiner(), clang::CodeGen::CGOpenMPRuntimeNVPTX::getParameterAddress(), and clang::CodeGen::TargetCodeGenInfo::performAddrSpaceCast().
|
inline |
Definition at line 108 of file CGBuilder.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), and clang::CharUnits::getQuantity().
Referenced by clang::CodeGen::CodeGenFunction::OMPPrivateScope::addPrivate(), BuildAggStore(), castToBase(), CreateCoercedStore(), clang::CodeGen::CodeGenFunction::EmitARCInitWeak(), EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), EmitCheckedMixedSignMultiply(), clang::CodeGen::CodeGenFunction::EmitCheckValue(), clang::CodeGen::CGObjCRuntime::EmitInitOfCatchParam(), emitReduceFiniFunction(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), clang::CodeGen::CodeGenFunction::EmitStoreThroughBitfieldLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughExtVectorComponentLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), clang::CodeGen::emitThreadPrivateVarInit(), emitVoidPtrDirectVAArg(), emitWritebackArg(), EmitX86_64VAArgFromMemory(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalInitFunc(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), getNonNullAttr(), InitCatchParam(), isTrivialFiller(), performTypeAdjustment(), clang::CodeGen::CodeGenFunction::PopCleanupBlocks(), clang::CodeGen::DominatingLLVMValue::save(), SetupCleanupBlockActivation(), and SymbolNameForMethod().
|
inline |
Definition at line 172 of file CGBuilder.h.
Referenced by BuildAggStore(), emitAddrOfFieldStorage(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), emitOMPArraySectionBase(), EmitX86_64VAArgFromMemory(), enterBlockScope(), EnterStructPointerForCoercedAccess(), and clang::CodeGen::CodeGenFunction::StartFunction().
|
inline |
Definition at line 178 of file CGBuilder.h.
|
inline |
Definition at line 61 of file CGBuilder.h.
References clang::CharUnits::getQuantity(), and clang::CodeGen::CodeGenTypeCache::SizeTy.
|
inline |
Definition at line 64 of file CGBuilder.h.
References clang::CodeGen::CodeGenTypeCache::SizeTy.