|
clang 24.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 * | CreateAccessChain (bool Logical, llvm::Type *BaseType, llvm::Value *PtrBase, ArrayRef< llvm::Value * > IdxList, const Twine &Name="") |
| Address | CreateAccessChain (bool Logical, 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) |
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 98 of file CGBuilder.h.
References clang::C.
|
inline |
Definition at line 103 of file CGBuilder.h.
|
inline |
Definition at line 107 of file CGBuilder.h.
|
inline |
Definition at line 378 of file CGBuilder.h.
References clang::Addr, Address, and CreateAccessChain().
|
inline |
Definition at line 368 of file CGBuilder.h.
References CreateInBoundsGEP().
Referenced by CreateAccessChain().
|
inline |
Definition at line 201 of file CGBuilder.h.
References clang::Addr, Address, and CreateAddrSpaceCast().
Referenced by CreateAddrSpaceCast(), CreatePointerBitCastOrAddrSpaceCast(), clang::CodeGen::CGOpenMPRuntime::emitCriticalRegion(), and EmitPointerWithAlignment().
|
inline |
Definition at line 140 of file CGBuilder.h.
References clang::Addr, CreateAlignedLoad(), and clang::CharUnits::getAsAlign().
Referenced by BuildAppleKextVirtualCall(), CreateAlignedLoad(), CreateFlagLoad(), CreateLoad(), CreateLoad(), CreateLoad(), createPlaceholderSlot(), EmitISOVolatileLoad(), emitOutlinedFunctionPrologueAggregate(), clang::CodeGen::CodeGenFunction::GenerateOpenMPCapturedStmtFunctionAggregate(), performTypeAdjustment(), and clang::CodeGen::DominatingLLVMValue::restore().
|
inline |
Definition at line 155 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 181 of file CGBuilder.h.
References clang::Addr, Address, Cmp, and clang::New.
Referenced by emitAtomicCmpXchg(), EmitAtomicCmpXchg128ForMSIntrin(), EmitAtomicCmpXchgForMSIntrin(), EmitAtomicCmpXchgForZOSIntrin(), handleInterlockedCompareOp(), and MakeAtomicCmpXchgValue().
|
inline |
Definition at line 192 of file CGBuilder.h.
References clang::Addr, and Address.
Referenced by EmitAtomicDecrementValue(), EmitAtomicIncrementValue(), EmitBinaryAtomicPost(), EmitBitTestIntrinsic(), handleInterlockedOp(), 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 253 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 327 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 290 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::emitUpdateDependObjectsClause().
|
inline |
Definition at line 343 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 317 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 273 of file CGBuilder.h.
References clang::Addr, Address, CreateInBoundsGEP(), clang::CharUnits::fromQuantity(), and getSize().
Referenced by clang::CodeGen::CGCUDARuntime::EmitCUDADeviceKernelCallExpr().
|
inline |
Definition at line 337 of file CGBuilder.h.
References clang::Addr, and Address.
|
inline |
Definition at line 163 of file CGBuilder.h.
References clang::Addr.
|
inline |
Emit a load from an i1 flag variable.
Definition at line 170 of file CGBuilder.h.
References clang::Addr, CreateAlignedLoad(), and clang::CharUnits::One().
|
inline |
Emit a store to an i1 flag variable.
Definition at line 176 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 348 of file CGBuilder.h.
References clang::Addr, Address, and CreateGEP().
|
inline |
Definition at line 304 of file CGBuilder.h.
References clang::Addr, Address, CreateGEP(), and clang::CharUnits::fromQuantity().
Referenced by clang::CodeGen::ReductionCodeGen::adjustPrivateAddress(), ClearPadding(), 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::emitUpdateDependObjectsClause(), EmitX86_64VAArgFromMemory(), clang::CodeGen::CGOpenMPRuntime::getDepobjElements(), and getHLSLAtomicDestAddr().
|
inline |
Definition at line 358 of file CGBuilder.h.
References clang::Addr, Address, and CreateInBoundsGEP().
Referenced by ApplyNonVirtualAndVirtualOffset(), CreateAccessChain(), CreateConstArrayGEP(), CreateConstInBoundsByteGEP(), CreateConstInBoundsGEP(), CreateInBoundsGEP(), EmitArrayDelete(), EmitBitTestIntrinsic(), EmitConditionalArrayDtorCall(), emitPartialArrayDestroy(), clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), and performTypeAdjustment().
|
inline |
Definition at line 390 of file CGBuilder.h.
References clang::Addr, Address, and CreateIsNull().
Referenced by CreateIsNull(), EmitConditionalArrayDtorCall(), EmitTypeidOperand(), emitWriteback(), emitWritebackArg(), and PerformReturnAdjustment().
Definition at line 471 of file CGBuilder.h.
References clang::Addr, Address, and CreateLaunderInvariantGroup().
Referenced by CreateLaunderInvariantGroup().
|
inline |
Definition at line 132 of file CGBuilder.h.
References clang::Addr, Address, and CreateAlignedLoad().
|
inline |
Definition at line 125 of file CGBuilder.h.
References clang::Addr, Address, and CreateAlignedLoad().
|
inline |
Definition at line 120 of file CGBuilder.h.
References clang::Addr, Address, and CreateAlignedLoad().
Referenced by ClearPadding(), complexTempStructure(), CreateCoercedLoad(), CreatePFPCoercedLoad(), emitAddrOfVarFromArray(), emitAtomicCmpXchg(), EmitAtomicCmpXchg128ForMSIntrin(), EmitAtomicCmpXchgForZOSIntrin(), EmitAtomicOp(), EmitBitTestIntrinsic(), EmitCleanup(), emitCmdValueForGetterSetterBody(), emitCopyprivateCopyFunction(), emitDistributeParallelForDistributeInnerBoundParams(), EmitMemberInitializer(), emitOMPArraySectionBase(), emitOutlinedFunctionPrologueAggregate(), 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 399 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 406 of file CGBuilder.h.
References Address, CreateMemCpy(), clang::CodeGen::Address::getAlignment(), and clang::CharUnits::getAsAlign().
|
inline |
Definition at line 415 of file CGBuilder.h.
References Address, CreateMemCpyInline(), clang::CodeGen::Address::getAlignment(), and clang::CharUnits::getAsAlign().
Referenced by CreateMemCpyInline().
|
inline |
Definition at line 423 of file CGBuilder.h.
References Address, CreateMemMove(), clang::CodeGen::Address::getAlignment(), and clang::CharUnits::getAsAlign().
Referenced by CreateMemMove().
|
inline |
Definition at line 432 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 439 of file CGBuilder.h.
References Address, CreateMemSetInline(), clang::CodeGen::Address::getAlignment(), and clang::CharUnits::getAsAlign().
Referenced by CreateMemSetInline().
|
inline |
Definition at line 215 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 447 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 463 of file CGBuilder.h.
References clang::Addr, Address, and CreatePreserveUnionAccessIndex().
Referenced by CreatePreserveUnionAccessIndex().
|
inline |
Definition at line 148 of file CGBuilder.h.
References clang::Addr, Address, and CreateAlignedStore().
Referenced by castToBase(), ClearPadding(), CreatePFPCoercedStore(), clang::CodeGen::CodeGenFunction::createTLSAtExitStub(), emitAtomicCmpXchg(), EmitAtomicCmpXchg128ForMSIntrin(), EmitAtomicCmpXchgForZOSIntrin(), EmitAtomicOp(), EmitBitTestIntrinsic(), emitBufferStride(), EmitCheckedMixedSignMultiply(), EmitCheckedUnsignedMultiplySignedResult(), clang::CodeGen::CGOpenMPRuntime::emitDepobjElementsSizes(), emitGetDimensions(), 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().
|
inline |
Definition at line 231 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 111 of file CGBuilder.h.
References clang::CharUnits::getQuantity().
Referenced by CreateConstByteGEP(), CreateConstGEP(), CreateConstInBoundsByteGEP(), CreateConstInBoundsGEP(), and EmitPointerAuthCommon().
|
inline |
Definition at line 114 of file CGBuilder.h.
|
friend |
Definition at line 53 of file CGBuilder.h.
References Address.
Referenced by Address, CreateAccessChain(), 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(), and CreateStructGEP().