clang
10.0.0git
|
#include "/work/www-prereleases/10.0.0/rc2/docsbuild/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, const llvm::Twine &Name="") |
Address | CreateConstArrayGEP (Address Addr, uint64_t Index, const llvm::Twine &Name="") |
Given addr = [n x T]* ... More... | |
Address | CreateConstInBoundsGEP (Address Addr, uint64_t Index, const llvm::Twine &Name="") |
Given addr = T* ... More... | |
Address | CreateConstGEP (Address Addr, uint64_t Index, 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::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) |
Address | CreatePreserveStructAccessIndex (Address Addr, unsigned Index, unsigned FieldIndex, llvm::MDNode *DbgInfo) |
Definition at line 44 of file CGBuilder.h.
|
inline |
Definition at line 49 of file CGBuilder.h.
|
inline |
Definition at line 51 of file CGBuilder.h.
|
inline |
Definition at line 55 of file CGBuilder.h.
|
inline |
Definition at line 57 of file CGBuilder.h.
|
inline |
Definition at line 148 of file CGBuilder.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitPointerWithAlignment().
|
inline |
Definition at line 90 of file CGBuilder.h.
Referenced by BuildAppleKextVirtualCall(), createPlaceholderSlot(), clang::CodeGen::CodeGenFunction::EmitCall(), EmitISOVolatileLoad(), clang::CodeGen::CodeGenFunction::EmitTypeCheck(), EmitX86_64VAArgFromMemory(), FindIvarInterface(), getBadTypeidFn(), isBlockVarRef(), isSimpleZero(), performTypeAdjustment(), clang::CodeGen::DominatingLLVMValue::restore(), and clang::CodeGen::CodeGenFunction::StartFunction().
|
inline |
Definition at line 94 of file CGBuilder.h.
|
inline |
Definition at line 98 of file CGBuilder.h.
|
inline |
Definition at line 114 of file CGBuilder.h.
References clang::CharUnits::getQuantity().
Referenced by EmitISOVolatileStore(), clang::CodeGen::CodeGenFunction::EmitNVPTXDevicePrintfCallExpr(), and clang::CodeGen::CodeGenFunction::FinallyInfo::exit().
|
inline |
Definition at line 141 of file CGBuilder.h.
Referenced by AddDirectArgument(), AddVariableConstraints(), AdjustObjCObjectType(), ApplyNonVirtualAndVirtualOffset(), BuildAppleKextVirtualCall(), callSpecialFunction(), castValueToType(), CoerceIntOrPtrToIntOrPtr(), CreateCoercedLoad(), createUnnamedGlobalForMemcpyFrom(), decomposeTypeForEH(), 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(), clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), 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(), clang::CodeGen::CodeGenFunction::EmitExtendGCLifetime(), clang::CodeGen::CodeGenFunction::EmitFieldAnnotations(), clang::CodeGen::CodeGenFunction::emitImplicitAssignmentOperatorBody(), EmitISOVolatileLoad(), EmitISOVolatileStore(), 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(), clang::CodeGen::emitRequiresDirectiveRegFun(), emitRTtypeidCall(), EmitSignBit(), emitStoresForConstant(), emitStructSetterCall(), clang::CodeGen::CodeGenFunction::EmitTypeCheck(), clang::CodeGen::emitUserDefinedMapper(), clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), clang::CodeGen::CodeGenFunction::EmitVarAnnotations(), emitWriteback(), emitWritebackArg(), EmitX86_64VAArgFromMemory(), EmitX86CompressStore(), EmitX86CvtBF16ToFloatExpr(), 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(), 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.
Definition at line 198 of file CGBuilder.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitArrayToPointerDecay(), clang::CodeGen::emitDeclareSimdFunction(), emitGlobalToListCopyFunction(), emitGlobalToListReduceFunction(), emitListToGlobalCopyFunction(), emitListToGlobalReduceFunction(), emitOMPArraySectionBase(), emitReductionListCopy(), emitStoresForConstant(), and clang::CodeGen::emitTaskInit().
|
inline |
Definition at line 250 of file CGBuilder.h.
Referenced by hasDefaultCXXMethodCC().
|
inline |
Given addr = T* ...
produce name = getelementptr inbounds addr, i64 index where i64 is actually the target word size.
Definition at line 232 of file CGBuilder.h.
Referenced by shuffleAndStore().
|
inline |
Given a pointer to i8, adjust it by a given constant offset.
Definition at line 244 of file CGBuilder.h.
Referenced by emitAddressAtOffset(), emitAddrOfZeroSizeField(), EmitNullBaseClassInitialization(), emitVoidPtrDirectVAArg(), EmitX86_64VAArgFromMemory(), hasDefaultCXXMethodCC(), performTypeAdjustment(), and clang::CodeGen::CGCXXABI::ReadArrayCookie().
|
inline |
Given addr = T* ...
produce name = getelementptr inbounds addr, i64 index where i64 is actually the target word size.
Definition at line 216 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 258 of file CGBuilder.h.
Referenced by emitOffloadingArraysArgument(), emitStoresForInitAfterBZero(), and hasDefaultCXXMethodCC().
|
inline |
Definition at line 121 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 156 of file CGBuilder.h.
Referenced by CheckAggExprForMemSetUse(), CreateCoercedLoad(), CreateCoercedStore(), emitAddressAtOffset(), emitAddrOfZeroSizeField(), clang::CodeGen::CodeGenFunction::EmitAggregateCopy(), clang::CodeGen::CodeGenFunction::emitArrayLength(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitArrayToPointerDecay(), 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::CodeGenFunction::isTrivialInitializer(), loadToBegin(), performTypeAdjustment(), clang::CodeGen::CGCXXABI::ReadArrayCookie(), clang::CodeGen::CodeGenFunction::ShouldNullCheckClassCastValue(), and tryEmitARCCopyWeakInit().
|
inline |
Emit a load from an i1 flag variable.
Definition at line 128 of file CGBuilder.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitStaticVarDecl().
|
inline |
Emit a store to an i1 flag variable.
Definition at line 135 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 69 of file CGBuilder.h.
Referenced by AddVariableConstraints(), CreateCoercedLoad(), clang::CodeGen::CodeGenFunction::DecodeAddrUsedInPrologue(), decomposeTypeForEH(), clang::CodeGen::CodeGenFunction::EmitARCDestroyStrong(), emitAtomicCmpXchg(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), EmitAtomicOp(), EmitAtomicUpdateValue(), EmitBitTestIntrinsic(), clang::CodeGen::CodeGenFunction::EmitCfiCheckFail(), EmitCleanup(), clang::CodeGen::CodeGenFunction::EmitConstructorBody(), 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::CGCXXABI::loadIncomingCXXThis(), and performTypeAdjustment().
|
inline |
Definition at line 74 of file CGBuilder.h.
|
inline |
Definition at line 81 of file CGBuilder.h.
|
inline |
Definition at line 274 of file CGBuilder.h.
References clang::CodeGen::Address::getAlignment(), clang::CharUnits::getAsAlign(), and clang::CodeGen::Address::getPointer().
Referenced by CreateCoercedLoad(), CreateCoercedStore(), clang::CodeGen::CodeGenFunction::EmitAggregateCopy(), clang::CodeGen::CodeGenFunction::EmitConstructorBody(), emitNonZeroVLAInit(), EmitNullBaseClassInitialization(), clang::CodeGen::CodeGenFunction::EmitNullInitialization(), emitStoresForConstant(), clang::CodeGen::CGOpenMPRuntime::emitUpdateLocation(), EmitX86_64VAArgFromMemory(), findPeephole(), and clang::CodeGen::CodeGenFunction::isTrivialInitializer().
|
inline |
Definition at line 280 of file CGBuilder.h.
References clang::CodeGen::Address::getAlignment(), clang::CharUnits::getAsAlign(), and clang::CodeGen::Address::getPointer().
|
inline |
Definition at line 288 of file CGBuilder.h.
References clang::CodeGen::Address::getAlignment(), clang::CharUnits::getAsAlign(), and clang::CodeGen::Address::getPointer().
|
inline |
Definition at line 296 of file CGBuilder.h.
References clang::CodeGen::Address::getAlignment(), clang::CharUnits::getAsAlign(), and clang::CodeGen::Address::getPointer().
Referenced by CheckAggExprForMemSetUse(), EmitNullBaseClassInitialization(), clang::CodeGen::CodeGenFunction::EmitNullInitialization(), emitStoresForConstant(), initializeAlloca(), isFullSizeType(), and clang::CodeGen::CodeGenFunction::isTrivialInitializer().
|
inline |
Definition at line 163 of file CGBuilder.h.
Referenced by clang::CodeGen::ReductionCodeGen::adjustPrivateAddress(), castToBase(), castValueToType(), CreateCoercedStore(), clang::CodeGen::emitDeclareSimdFunction(), clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(), emitGlobalToListCopyFunction(), emitGlobalToListReduceFunction(), emitInterWarpCopyFunction(), emitListToGlobalCopyFunction(), emitListToGlobalReduceFunction(), 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(), shuffleAndStore(), and clang::CodeGen::CodeGenFunction::StartFunction().
|
inline |
Definition at line 303 of file CGBuilder.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitLValueForField(), and emitPreserveStructAccess().
|
inline |
Definition at line 107 of file CGBuilder.h.
References clang::CodeGen::Address::getAlignment(), clang::CharUnits::getAsAlign(), and clang::CodeGen::Address::getPointer().
Referenced by BuildAggStore(), castToBase(), CreateCoercedStore(), clang::CodeGen::CodeGenFunction::EmitARCInitWeak(), EmitAtomicOp(), EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), EmitBitTestIntrinsic(), EmitCheckedMixedSignMultiply(), clang::CodeGen::CodeGenFunction::EmitCheckValue(), emitGlobalToListReduceFunction(), clang::CodeGen::CGObjCRuntime::EmitInitOfCatchParam(), emitListToGlobalReduceFunction(), 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(), clang::CodeGen::CodeGenFunction::OMPMapVars::setVarAddr(), and clang::CodeGen::CodeGenFunction::StartFunction().
|
inline |
Definition at line 178 of file CGBuilder.h.
Referenced by BuildAggStore(), emitAddrOfFieldStorage(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitNVPTXDevicePrintfCallExpr(), emitStoresForConstant(), EmitX86_64VAArgFromMemory(), enterBlockScope(), EnterStructPointerForCoercedAccess(), findPeephole(), and clang::CodeGen::CodeGenFunction::StartFunction().
|
inline |
Definition at line 60 of file CGBuilder.h.
References clang::CharUnits::getQuantity(), and clang::CodeGen::CodeGenTypeCache::SizeTy.
|
inline |
Definition at line 63 of file CGBuilder.h.
References clang::CodeGen::CodeGenTypeCache::SizeTy.