clang
8.0.0
|
#include "/work/www-prereleases/8.0.0/rc3/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="") |
Address | CreateConstInBoundsGEP2_32 (Address Addr, unsigned Idx0, unsigned Idx1, const llvm::DataLayout &DL, 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.
Referenced by clang::CodeGen::CodeGenFunction::EmitPointerWithAlignment().
|
inline |
Definition at line 91 of file CGBuilder.h.
Referenced by BuildAppleKextVirtualCall(), createPlaceholderSlot(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitTypeCheck(), EmitX86_64VAArgFromMemory(), FindIvarInterface(), getBadTypeidFn(), isSimpleZero(), 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 clang::CodeGen::CodeGenFunction::EmitNVPTXDevicePrintfCallExpr(), and clang::CodeGen::CodeGenFunction::FinallyInfo::exit().
|
inline |
Definition at line 142 of file CGBuilder.h.
Referenced by AddDirectArgument(), AddVariableConstraints(), AdjustObjCObjectType(), ApplyNonVirtualAndVirtualOffset(), BuildAppleKextVirtualCall(), callSpecialFunction(), castValueToType(), CoerceIntOrPtrToIntOrPtr(), CreateCoercedLoad(), createUnnamedGlobalFrom(), 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::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), EmitBinaryAtomicPost(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCastLValue(), 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::EmitFieldAnnotations(), clang::CodeGen::CodeGenFunction::emitImplicitAssignmentOperatorBody(), clang::CodeGen::CodeGenFunction::EmitLifetimeEnd(), clang::CodeGen::CodeGenFunction::EmitLifetimeStart(), EmitNontemporalStore(), clang::CodeGen::CodeGenFunction::EmitNullInitialization(), clang::CodeGen::CodeGenFunction::EmitObjCBoxedExpr(), clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(), clang::CodeGen::CodeGenFunction::EmitObjCRelease(), clang::CodeGen::CodeGenFunction::EmitObjCThrowOperand(), emitObjCValueOperation(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), emitPointerArithmetic(), clang::CodeGen::CodeGenFunction::EmitPointerWithAlignment(), emitRTtypeidCall(), EmitSignBit(), emitStoresForConstant(), emitStructSetterCall(), clang::CodeGen::CodeGenFunction::EmitTypeCheck(), clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), clang::CodeGen::CodeGenFunction::EmitVarAnnotations(), emitWriteback(), emitWritebackArg(), EmitX86_64VAArgFromMemory(), EmitX86CompressStore(), EmitX86ExpandLoad(), EmitX86MaskedLoad(), EmitX86MaskedStore(), EmitX86MaskLogic(), EmitX86Muldq(), EmitX86ScalarSelect(), findBlockCapturedManagedEntities(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), getBadTypeidFn(), getBlockLayoutInfoString(), getMaskVecValue(), hasDefaultCXXMethodCC(), InitCatchParam(), isCheapEnoughToEvaluateUnconditionally(), isSimpleZero(), isWeakLinkedClass(), MakeAtomicCmpXchgValue(), MakeBinaryAtomicValue(), clang::CodeGen::markAsGlobalTarget(), performTypeAdjustment(), rewriteInputConstraintReferences(), shouldEmitSeparateBlockRetain(), clang::CodeGen::CodeGenFunction::ShouldNullCheckClassCastValue(), tryEmitFusedAutoreleaseOfResult(), 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 clang::CodeGen::emitDeclareSimdFunction(), emitReductionListCopy(), and clang::CodeGen::emitTaskInit().
|
inline |
Definition at line 240 of file CGBuilder.h.
Referenced by hasDefaultCXXMethodCC().
|
inline |
Definition at line 267 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.
Referenced by shuffleAndStore().
|
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(), hasDefaultCXXMethodCC(), clang::CodeGen::ABIInfo::isHomogeneousAggregate(), performTypeAdjustment(), and clang::CodeGen::CGCXXABI::ReadArrayCookie().
|
inline |
Definition at line 262 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::emitOutlinedFunctionCall(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitParallelCall(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitTeamsOutlinedFunction(), and performTypeAdjustment().
|
inline |
Definition at line 248 of file CGBuilder.h.
Referenced by emitOffloadingArraysArgument(), emitStoresForInitAfterBZero(), and hasDefaultCXXMethodCC().
|
inline |
Definition at line 122 of file CGBuilder.h.
|
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(), CreateCoercedLoad(), CreateCoercedStore(), emitAddressAtOffset(), clang::CodeGen::CodeGenFunction::EmitAggregateCopy(), clang::CodeGen::CodeGenFunction::emitArrayLength(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitArrayToPointerDecay(), clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), clang::CodeGen::CodeGenFunction::EmitCastLValue(), clang::CodeGen::ReductionCodeGen::emitCleanups(), clang::CodeGen::CodeGenFunction::EmitCXXUuidofExpr(), 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(), emitReductionListCopy(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), EmitThreadPrivateVarDeclLValue(), clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), emitVoidPtrDirectVAArg(), EmitX86_64VAArgFromMemory(), findPeephole(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), getTypeString(), hasDefaultCXXMethodCC(), clang::CodeGen::ABIInfo::isHomogeneousAggregate(), 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(), clang::CodeGen::CodeGenFunction::EmitARCDestroyStrong(), emitAtomicCmpXchg(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), EmitAtomicOp(), EmitAtomicUpdateValue(), EmitBitTestIntrinsic(), clang::CodeGen::CodeGenFunction::EmitCfiCheckFail(), EmitCleanup(), clang::CodeGen::CodeGenFunction::EmitConstructorBody(), 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(), clang::CodeGen::CodeGenFunction::EmitStoreThroughBitfieldLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughExtVectorComponentLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), clang::CodeGen::CodeGenFunction::EmitTypeCheck(), emitVoidPtrDirectVAArg(), emitVoidPtrVAArg(), emitWriteback(), EmitX86_64VAArgFromMemory(), findBlockCapturedManagedEntities(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalInitFunc(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), getNonNullAttr(), getTypeString(), hasDefaultCXXMethodCC(), isCheapEnoughToEvaluateUnconditionally(), clang::CodeGen::ABIInfo::isHomogeneousAggregate(), 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 274 of file CGBuilder.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), and clang::CharUnits::getQuantity().
Referenced by CreateCoercedLoad(), CreateCoercedStore(), clang::CodeGen::CodeGenFunction::EmitAggregateCopy(), clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), clang::CodeGen::CodeGenFunction::EmitConstructorBody(), emitNonZeroVLAInit(), EmitNullBaseClassInitialization(), clang::CodeGen::CodeGenFunction::EmitNullInitialization(), emitStoresForConstant(), clang::CodeGen::CGOpenMPRuntime::emitUpdateLocation(), and EmitX86_64VAArgFromMemory().
|
inline |
Definition at line 280 of file CGBuilder.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), and clang::CharUnits::getQuantity().
|
inline |
Definition at line 288 of file CGBuilder.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), and clang::CharUnits::getQuantity().
|
inline |
Definition at line 296 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(), emitStoresForConstant(), and isFullSizeType().
|
inline |
Definition at line 164 of file CGBuilder.h.
Referenced by clang::CodeGen::ReductionCodeGen::adjustPrivateAddress(), castToBase(), castValueToType(), clang::CodeGen::emitDeclareSimdFunction(), emitInterWarpCopyFunction(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitOutlinedFunctionCall(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitParallelCall(), emitPrivatesInit(), emitProxyTaskFunction(), emitReduceFiniFunction(), emitReductionListCopy(), emitShuffleAndReduceFunction(), clang::CodeGen::emitTaskInit(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitTeamsOutlinedFunction(), clang::CodeGen::CGOpenMPRuntimeNVPTX::getParameterAddress(), clang::CodeGen::TargetCodeGenInfo::performAddrSpaceCast(), and shuffleAndStore().
|
inline |
Definition at line 108 of file CGBuilder.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), and clang::CharUnits::getQuantity().
Referenced by BuildAggStore(), castToBase(), CreateCoercedStore(), clang::CodeGen::CodeGenFunction::EmitARCInitWeak(), EmitAtomicOp(), EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), EmitBitTestIntrinsic(), EmitCheckedMixedSignMultiply(), clang::CodeGen::CodeGenFunction::EmitCheckValue(), clang::CodeGen::CodeGenFunction::EmitExtVectorElementExpr(), clang::CodeGen::CGObjCRuntime::EmitInitOfCatchParam(), clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(), emitReduceFiniFunction(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), emitStoresForConstant(), emitStoresForInitAfterBZero(), clang::CodeGen::CodeGenFunction::EmitStoreThroughBitfieldLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughExtVectorComponentLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), EmitSystemZIntrinsicWithCC(), emitVoidPtrDirectVAArg(), emitWasmCatchPadBlock(), emitWritebackArg(), EmitX86_64VAArgFromMemory(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalInitFunc(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), getNonNullAttr(), hasDefaultCXXMethodCC(), InitCatchParam(), isTrivialFiller(), performTypeAdjustment(), clang::CodeGen::CodeGenFunction::PopCleanupBlocks(), clang::CodeGen::DominatingLLVMValue::save(), SetupCleanupBlockActivation(), and clang::CodeGen::CodeGenFunction::OMPMapVars::setVarAddr().
|
inline |
Definition at line 172 of file CGBuilder.h.
Referenced by BuildAggStore(), emitAddrOfFieldStorage(), clang::CodeGen::CodeGenFunction::EmitArrayToPointerDecay(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitNVPTXDevicePrintfCallExpr(), emitOMPArraySectionBase(), clang::CodeGen::emitTaskInit(), EmitX86_64VAArgFromMemory(), enterBlockScope(), EnterStructPointerForCoercedAccess(), findPeephole(), 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.