|
clang 23.0.0git
|
#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGBuilder.h"
Public Member Functions | |
| CGBuilderTy (const CodeGenModule &CGM, llvm::LLVMContext &C) | |
| CGBuilderTy (const CodeGenModule &CGM, llvm::LLVMContext &C, const CGBuilderInserterTy &Inserter) | |
| CGBuilderTy (const CodeGenModule &CGM, llvm::Instruction *I) | |
| CGBuilderTy (const CodeGenModule &CGM, 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::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. | |
| llvm::StoreInst * | CreateFlagStore (bool Value, llvm::Value *Addr) |
| Emit a store to an i1 flag variable. | |
| llvm::AtomicCmpXchgInst * | CreateAtomicCmpXchg (Address Addr, llvm::Value *Cmp, llvm::Value *New, llvm::AtomicOrdering SuccessOrdering, llvm::AtomicOrdering FailureOrdering, llvm::SyncScope::ID SSID=llvm::SyncScope::System) |
| llvm::AtomicRMWInst * | CreateAtomicRMW (llvm::AtomicRMWInst::BinOp Op, Address Addr, llvm::Value *Val, llvm::AtomicOrdering Ordering, llvm::SyncScope::ID SSID=llvm::SyncScope::System) |
| Address | CreateAddrSpaceCast (Address Addr, llvm::Type *Ty, llvm::Type *ElementTy, const llvm::Twine &Name="") |
| Address | CreatePointerBitCastOrAddrSpaceCast (Address Addr, llvm::Type *Ty, llvm::Type *ElementTy, 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]* ... produce name = getelementptr inbounds addr, i64 0, i64 index where i64 is actually the target word size. | |
| Address | CreateConstInBoundsGEP (Address Addr, uint64_t Index, const llvm::Twine &Name="") |
| Given addr = T* ... produce name = getelementptr inbounds addr, i64 index where i64 is actually the target word size. | |
| Address | CreateConstGEP (Address Addr, uint64_t Index, const llvm::Twine &Name="") |
| Given addr = T* ... produce name = getelementptr inbounds addr, i64 index where i64 is actually the target word size. | |
| Address | CreateGEP (CodeGenFunction &CGF, Address Addr, llvm::Value *Index, const llvm::Twine &Name="") |
| Address | CreateConstInBoundsByteGEP (Address Addr, CharUnits Offset, const llvm::Twine &Name="") |
| Given a pointer to i8, adjust it by a given constant offset. | |
| Address | CreateConstByteGEP (Address Addr, CharUnits Offset, const llvm::Twine &Name="") |
| Address | CreateConstInBoundsGEP2_32 (Address Addr, unsigned Idx0, unsigned Idx1, const llvm::Twine &Name="") |
| Address | CreateConstGEP2_32 (Address Addr, unsigned Idx0, unsigned Idx1, const llvm::Twine &Name="") |
| Address | CreateGEP (Address Addr, ArrayRef< llvm::Value * > IdxList, llvm::Type *ElementType, CharUnits Align, const Twine &Name="", llvm::GEPNoWrapFlags NW=llvm::GEPNoWrapFlags::none()) |
| Address | CreateInBoundsGEP (Address Addr, ArrayRef< llvm::Value * > IdxList, llvm::Type *ElementType, CharUnits Align, const Twine &Name="") |
| llvm::Value * | CreateIsNull (Address Addr, const 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 * | CreateMemCpyInline (Address Dest, Address Src, uint64_t Size) |
| 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) |
| llvm::CallInst * | CreateMemSetInline (Address Dest, llvm::Value *Value, uint64_t Size) |
| Address | CreatePreserveStructAccessIndex (Address Addr, unsigned Index, unsigned FieldIndex, llvm::MDNode *DbgInfo) |
| Address | CreatePreserveUnionAccessIndex (Address Addr, unsigned FieldIndex, llvm::MDNode *DbgInfo) |
| Address | CreateLaunderInvariantGroup (Address Addr) |
| Address | CreateStripInvariantGroup (Address Addr) |
Friends | |
| class | Address |
Definition at line 52 of file CGBuilder.h.
|
inline |
Definition at line 94 of file CGBuilder.h.
References clang::C.
|
inline |
Definition at line 97 of file CGBuilder.h.
References clang::C.
|
inline |
Definition at line 101 of file CGBuilder.h.
|
inline |
Definition at line 105 of file CGBuilder.h.
|
inline |
Definition at line 199 of file CGBuilder.h.
References clang::Addr, Address, and CreateAddrSpaceCast().
Referenced by CreateAddrSpaceCast(), CreatePointerBitCastOrAddrSpaceCast(), clang::CodeGen::CGOpenMPRuntime::emitCriticalRegion(), and EmitPointerWithAlignment().
|
inline |
Definition at line 138 of file CGBuilder.h.
References clang::Addr, CreateAlignedLoad(), and clang::CharUnits::getAsAlign().
Referenced by BuildAppleKextVirtualCall(), CreateAlignedLoad(), CreateFlagLoad(), CreateLoad(), CreateLoad(), CreateLoad(), createPlaceholderSlot(), EmitISOVolatileLoad(), performTypeAdjustment(), and clang::CodeGen::DominatingLLVMValue::restore().
|
inline |
Definition at line 153 of file CGBuilder.h.
References clang::Addr, CreateAlignedStore(), and clang::CharUnits::getAsAlign().
Referenced by CreateAlignedStore(), CreateFlagStore(), CreateStore(), EmitISOVolatileStore(), clang::CodeGen::CodeGenFunction::FinallyInfo::exit(), and clang::CodeGen::DominatingLLVMValue::save().
|
inline |
Definition at line 179 of file CGBuilder.h.
References clang::Addr, Address, Cmp, and New.
Referenced by emitAtomicCmpXchg(), EmitAtomicCmpXchg128ForMSIntrin(), EmitAtomicCmpXchgForMSIntrin(), and MakeAtomicCmpXchgValue().
|
inline |
Definition at line 190 of file CGBuilder.h.
References clang::Addr, and Address.
Referenced by EmitAtomicDecrementValue(), EmitAtomicIncrementValue(), EmitBinaryAtomicPost(), EmitBitTestIntrinsic(), and MakeBinaryAtomicValue().
|
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 251 of file CGBuilder.h.
References clang::Addr, Address, clang::cast(), CreateInBoundsGEP(), clang::CharUnits::fromQuantity(), and clang::CodeGen::Address::getElementType().
Referenced by emitAddrOfVarFromArray(), clang::CodeGen::CGOpenMPRuntime::emitDependClause(), clang::CodeGen::CGOpenMPRuntime::emitDoacrossInit(), EmitDoacrossOrdered(), emitOMPArraySectionBase(), clang::CodeGen::CGOpenMPRuntimeGPU::emitParallelCall(), clang::CodeGen::CGOpenMPRuntime::emitReduction(), clang::CodeGen::CGOpenMPRuntime::emitReductionFunction(), clang::CodeGen::CGOpenMPRuntime::emitSingleRegion(), and clang::CodeGen::CGOpenMPRuntime::emitTaskInit().
|
inline |
Definition at line 325 of file CGBuilder.h.
References clang::Addr, Address, CreateGEP(), and getSize().
Referenced by emitAddrOfZeroSizeField().
|
inline |
Given addr = T* ... produce name = getelementptr inbounds addr, i64 index where i64 is actually the target word size.
Definition at line 288 of file CGBuilder.h.
References clang::Addr, Address, CreateGEP(), clang::CharUnits::fromQuantity(), and getSize().
Referenced by emitDependData(), clang::CodeGen::CGOpenMPRuntime::emitDepobjDependClause(), clang::CodeGen::CGOpenMPRuntime::emitTaskInit(), and clang::CodeGen::CGOpenMPRuntime::emitUpdateClause().
|
inline |
Definition at line 341 of file CGBuilder.h.
References clang::Addr, and Address.
Referenced by emitRawAddrOfFieldStorage(), and forConstantArrayExpansion().
|
inline |
Given a pointer to i8, adjust it by a given constant offset.
Definition at line 315 of file CGBuilder.h.
References clang::Addr, Address, CreateInBoundsGEP(), and getSize().
Referenced by complexTempStructure(), CreatePFPCoercedLoad(), CreatePFPCoercedStore(), emitAddressAtOffset(), emitAddrOfZeroSizeField(), EmitNullBaseClassInitialization(), clang::CodeGen::emitVoidPtrDirectVAArg(), performTypeAdjustment(), clang::CodeGen::CGCXXABI::ReadArrayCookie(), 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 271 of file CGBuilder.h.
References clang::Addr, Address, CreateInBoundsGEP(), clang::CharUnits::fromQuantity(), and getSize().
Referenced by clang::CodeGen::CGCUDARuntime::EmitCUDADeviceKernelCallExpr().
|
inline |
Definition at line 335 of file CGBuilder.h.
References clang::Addr, and Address.
|
inline |
Definition at line 161 of file CGBuilder.h.
References clang::Addr.
|
inline |
Emit a load from an i1 flag variable.
Definition at line 168 of file CGBuilder.h.
References clang::Addr, CreateAlignedLoad(), and clang::CharUnits::One().
|
inline |
Emit a store to an i1 flag variable.
Definition at line 174 of file CGBuilder.h.
References clang::Addr, CreateAlignedStore(), and clang::CharUnits::One().
Referenced by clang::CodeGen::CodeGenFunction::FinallyInfo::enter(), and clang::CodeGen::CodeGenFunction::FinallyInfo::exit().
|
inline |
Definition at line 346 of file CGBuilder.h.
References clang::Addr, Address, and CreateGEP().
|
inline |
Definition at line 302 of file CGBuilder.h.
References clang::Addr, Address, CreateGEP(), and clang::CharUnits::fromQuantity().
Referenced by clang::CodeGen::ReductionCodeGen::adjustPrivateAddress(), CreateConstByteGEP(), CreateConstGEP(), CreateGEP(), CreateGEP(), emitArraySubscriptGEP(), emitArraySubscriptGEP(), clang::CodeGen::CGHLSLRuntime::emitBufferArraySubscriptExpr(), emitDependData(), clang::CodeGen::CGOpenMPRuntime::emitDepobjElements(), clang::CodeGen::CGOpenMPRuntime::emitDestroyClause(), EmitOMPAggregateInit(), EmitOMPAggregateReduction(), clang::CodeGen::CGOpenMPRuntime::emitTaskInit(), clang::CodeGen::CGOpenMPRuntime::emitUpdateClause(), EmitX86_64VAArgFromMemory(), and clang::CodeGen::CGOpenMPRuntime::getDepobjElements().
|
inline |
Definition at line 356 of file CGBuilder.h.
References clang::Addr, Address, and CreateInBoundsGEP().
Referenced by ApplyNonVirtualAndVirtualOffset(), CreateConstArrayGEP(), CreateConstInBoundsByteGEP(), CreateConstInBoundsGEP(), CreateInBoundsGEP(), EmitArrayDelete(), EmitBitTestIntrinsic(), EmitConditionalArrayDtorCall(), emitPartialArrayDestroy(), clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), and performTypeAdjustment().
|
inline |
Definition at line 366 of file CGBuilder.h.
References clang::Addr, Address, and CreateIsNull().
Referenced by CreateIsNull(), EmitConditionalArrayDtorCall(), EmitTypeidFromVTable(), emitWriteback(), emitWritebackArg(), and PerformReturnAdjustment().
Definition at line 447 of file CGBuilder.h.
References clang::Addr, Address, and CreateLaunderInvariantGroup().
Referenced by CreateLaunderInvariantGroup().
|
inline |
Definition at line 130 of file CGBuilder.h.
References clang::Addr, Address, and CreateAlignedLoad().
|
inline |
Definition at line 123 of file CGBuilder.h.
References clang::Addr, Address, and CreateAlignedLoad().
|
inline |
Definition at line 118 of file CGBuilder.h.
References clang::Addr, Address, and CreateAlignedLoad().
Referenced by complexTempStructure(), CreateCoercedLoad(), CreatePFPCoercedLoad(), emitAddrOfVarFromArray(), emitAtomicCmpXchg(), EmitAtomicCmpXchg128ForMSIntrin(), EmitAtomicOp(), EmitBitTestIntrinsic(), EmitCleanup(), emitCmdValueForGetterSetterBody(), emitCopyprivateCopyFunction(), emitDistributeParallelForDistributeInnerBoundParams(), EmitHLSLElementwiseCast(), EmitMemberInitializer(), emitOMPArraySectionBase(), clang::CodeGen::CGOpenMPRuntime::emitReductionFunction(), clang::CodeGen::CGOpenMPRuntime::emitSingleRegion(), emitTlsGuardCheck(), clang::CodeGen::emitVoidPtrDirectVAArg(), clang::CodeGen::emitVoidPtrVAArg(), emitWriteback(), EmitX86_64VAArgFromMemory(), generateByrefCopyHelper(), generateByrefDisposeHelper(), clang::CodeGen::CGCXXABI::loadIncomingCXXThis(), and clang::CodeGen::CodeGenFunction::processInReduction().
|
inline |
Definition at line 375 of file CGBuilder.h.
References Address, CreateMemCpy(), clang::CodeGen::Address::getAlignment(), and clang::CharUnits::getAsAlign().
Referenced by CreateCoercedLoad(), CreateMemCpy(), CreateMemCpy(), emitAtomicCmpXchg(), clang::CodeGen::CGOpenMPRuntime::emitDepobjElements(), and EmitNullBaseClassInitialization().
|
inline |
Definition at line 382 of file CGBuilder.h.
References Address, CreateMemCpy(), clang::CodeGen::Address::getAlignment(), and clang::CharUnits::getAsAlign().
|
inline |
Definition at line 391 of file CGBuilder.h.
References Address, CreateMemCpyInline(), clang::CodeGen::Address::getAlignment(), and clang::CharUnits::getAsAlign().
Referenced by CreateMemCpyInline().
|
inline |
Definition at line 399 of file CGBuilder.h.
References Address, CreateMemMove(), clang::CodeGen::Address::getAlignment(), and clang::CharUnits::getAsAlign().
Referenced by CreateMemMove().
|
inline |
Definition at line 408 of file CGBuilder.h.
References Address, CreateMemSet(), clang::CodeGen::Address::getAlignment(), and clang::CharUnits::getAsAlign().
Referenced by CheckAggExprForMemSetUse(), CreateMemSet(), EmitNullBaseClassInitialization(), and initializeAlloca().
|
inline |
Definition at line 415 of file CGBuilder.h.
References Address, CreateMemSetInline(), clang::CodeGen::Address::getAlignment(), and clang::CharUnits::getAsAlign().
Referenced by CreateMemSetInline().
|
inline |
Definition at line 213 of file CGBuilder.h.
References clang::Addr, Address, and CreateAddrSpaceCast().
Referenced by clang::CodeGen::ReductionCodeGen::adjustPrivateAddress(), castToBase(), clang::CodeGen::CGOpenMPRuntime::checkAndEmitLastprivateConditional(), emitCopyprivateCopyFunction(), clang::CodeGen::CGOpenMPRuntime::emitDependClause(), clang::CodeGen::CGOpenMPRuntime::emitDepobjDependClause(), clang::CodeGen::CGOpenMPRuntime::emitDestroyClause(), clang::CodeGen::CGOpenMPRuntime::emitDoacrossInit(), clang::CodeGen::CGOpenMPRuntimeGPU::emitOutlinedFunctionCall(), clang::CodeGen::CGOpenMPRuntimeGPU::emitParallelCall(), emitPrivatesInit(), emitProxyTaskFunction(), clang::CodeGen::CGOpenMPRuntime::emitReduction(), clang::CodeGen::CGOpenMPRuntime::emitReductionFunction(), clang::CodeGen::CGOpenMPRuntime::emitSingleRegion(), clang::CodeGen::CGOpenMPRuntime::emitTaskInit(), clang::CodeGen::CGOpenMPRuntime::emitTaskLoopCall(), clang::CodeGen::CGOpenMPRuntime::emitTaskReductionInit(), clang::CodeGen::CGOpenMPRuntime::emitUsesAllocatorsInit(), clang::CodeGen::CGOpenMPRuntime::getAddressOfLocalVariable(), clang::CodeGen::CGOpenMPRuntimeGPU::getAddressOfLocalVariable(), clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers::getAddressOfLocalVariable(), clang::CodeGen::CGOpenMPRuntime::getAddrOfArtificialThreadPrivate(), clang::CodeGen::CGOpenMPRuntimeGPU::getParameterAddress(), and clang::CodeGen::CGOpenMPRuntime::getTaskReductionItem().
|
inline |
Definition at line 423 of file CGBuilder.h.
References clang::Addr, Address, clang::cast(), CreatePreserveStructAccessIndex(), clang::CharUnits::fromQuantity(), and clang::CodeGen::Address::getElementType().
Referenced by CreatePreserveStructAccessIndex(), and emitPreserveStructAccess().
|
inline |
Definition at line 439 of file CGBuilder.h.
References clang::Addr, Address, and CreatePreserveUnionAccessIndex().
Referenced by CreatePreserveUnionAccessIndex().
|
inline |
Definition at line 146 of file CGBuilder.h.
References clang::Addr, Address, and CreateAlignedStore().
Referenced by castToBase(), CreatePFPCoercedStore(), clang::CodeGen::CodeGenFunction::createTLSAtExitStub(), emitAtomicCmpXchg(), EmitAtomicCmpXchg128ForMSIntrin(), EmitAtomicOp(), EmitBitTestIntrinsic(), emitBufferStride(), EmitCheckedMixedSignMultiply(), EmitCheckedUnsignedMultiplySignedResult(), clang::CodeGen::CGOpenMPRuntime::emitDepobjElementsSizes(), clang::CodeGen::CGObjCRuntime::EmitInitOfCatchParam(), clang::CodeGen::CGOpenMPRuntime::emitParallelCall(), clang::CodeGen::CGOpenMPRuntime::emitReduction(), emitSincosBuiltin(), clang::CodeGen::CGOpenMPRuntime::emitSingleRegion(), EmitSystemZIntrinsicWithCC(), clang::CodeGen::CGOpenMPRuntime::emitTaskReductionFixups(), clang::CodeGen::CGOpenMPRuntimeGPU::emitTeamsCall(), clang::CodeGen::CGOpenMPRuntime::emitThreadPrivateVarDefinition(), clang::CodeGen::EmitVAArgInstr(), clang::CodeGen::emitVoidPtrDirectVAArg(), emitWasmCatchPadBlock(), emitWritebackArg(), EmitX86_64VAArgFromMemory(), handleHlslSplitdouble(), InitCatchParam(), clang::CodeGen::CodeGenFunction::PopCleanupBlocks(), SetupCleanupBlockActivation(), and clang::CodeGen::CodeGenFunction::OMPMapVars::setVarAddr().
Definition at line 453 of file CGBuilder.h.
References clang::Addr, Address, and CreateStripInvariantGroup().
Referenced by CreateStripInvariantGroup().
|
inline |
Definition at line 229 of file CGBuilder.h.
References clang::Addr, Address, clang::cast(), CreateStructGEP(), clang::CharUnits::fromQuantity(), and clang::CodeGen::Address::getElementType().
Referenced by CreateStructGEP(), clang::CodeGen::CGHLSLRuntime::emitBufferMemberExpr(), emitRawAddrOfFieldStorage(), EmitX86_64VAArgFromMemory(), and EnterStructPointerForCoercedAccess().
|
inline |
Definition at line 109 of file CGBuilder.h.
References clang::CharUnits::getQuantity().
Referenced by CreateConstByteGEP(), CreateConstGEP(), CreateConstInBoundsByteGEP(), CreateConstInBoundsGEP(), and EmitPointerAuthCommon().
|
inline |
Definition at line 112 of file CGBuilder.h.
|
friend |
Definition at line 53 of file CGBuilder.h.
References Address.
Referenced by Address, CreateAddrSpaceCast(), CreateAtomicCmpXchg(), CreateAtomicRMW(), CreateConstArrayGEP(), CreateConstByteGEP(), CreateConstGEP(), CreateConstGEP2_32(), CreateConstInBoundsByteGEP(), CreateConstInBoundsGEP(), CreateConstInBoundsGEP2_32(), CreateGEP(), CreateGEP(), CreateInBoundsGEP(), CreateIsNull(), CreateLaunderInvariantGroup(), CreateLoad(), CreateLoad(), CreateLoad(), CreateMemCpy(), CreateMemCpy(), CreateMemCpyInline(), CreateMemMove(), CreateMemSet(), CreateMemSetInline(), CreatePointerBitCastOrAddrSpaceCast(), CreatePreserveStructAccessIndex(), CreatePreserveUnionAccessIndex(), CreateStore(), CreateStripInvariantGroup(), and CreateStructGEP().