LLVM 20.0.0git
|
#include "llvm/Frontend/Atomic/Atomic.h"
Static Public Member Functions | |
static bool | shouldCastToInt (llvm::Type *ValTy, bool CmpXchg) |
static CallInst * | EmitAtomicLibcall (IRBuilderTy *Builder, StringRef fnName, Type *ResultType, ArrayRef< Value * > Args) |
Public Attributes | |
IRBuilderTy * | Builder |
Type * | Ty |
uint64_t | AtomicSizeInBits |
uint64_t | ValueSizeInBits |
llvm::Align | AtomicAlign |
llvm::Align | ValueAlign |
bool | UseLibcall |
|
inline |
|
virtualdefault |
|
inline |
Definition at line 150 of file Atomic.h.
Referenced by llvm::AtomicInfo< IRBuilderTy >::getAtomicAddressAsAtomicIntPointer().
|
pure virtual |
Implemented in llvm::OpenMPIRBuilder::AtomicInfo.
Referenced by llvm::AtomicInfo< IRBuilderTy >::EmitAtomicLoadLibcall().
|
pure virtual |
Implemented in llvm::OpenMPIRBuilder::AtomicInfo.
Referenced by llvm::AtomicInfo< IRBuilderTy >::EmitAtomicLoadOp().
|
inline |
Definition at line 178 of file Atomic.h.
References llvm::AtomicInfo< IRBuilderTy >::EmitAtomicCompareExchangeLibcall(), llvm::AtomicInfo< IRBuilderTy >::EmitAtomicCompareExchangeOp(), llvm::AtomicInfo< IRBuilderTy >::shouldUseLibcall(), and Success.
|
inline |
Definition at line 117 of file Atomic.h.
References llvm::AtomicInfo< IRBuilderTy >::Builder, llvm::AtomicInfo< IRBuilderTy >::EmitAtomicLibcall(), llvm::IntegerType::get(), llvm::AtomicInfo< IRBuilderTy >::getAtomicPointer(), llvm::AtomicInfo< IRBuilderTy >::getAtomicSizeValue(), llvm::Type::getInt1Ty(), llvm::Constant::getIntegerValue(), llvm::AtomicInfo< IRBuilderTy >::getLLVMContext(), and Success.
Referenced by llvm::AtomicInfo< IRBuilderTy >::EmitAtomicCompareExchange().
|
inline |
Definition at line 159 of file Atomic.h.
References Addr, llvm::AtomicInfo< IRBuilderTy >::Builder, llvm::AtomicInfo< IRBuilderTy >::getAtomicAddressAsAtomicIntPointer(), llvm::AtomicInfo< IRBuilderTy >::getAtomicAlignment(), Success, and llvm::SyncScope::System.
Referenced by llvm::AtomicInfo< IRBuilderTy >::EmitAtomicCompareExchange().
|
inlinestatic |
Definition at line 86 of file Atomic.h.
References llvm::AttrBuilder::addAttribute(), llvm::AtomicInfo< IRBuilderTy >::Builder, llvm::AttributeList::FunctionIndex, llvm::AttributeList::get(), llvm::FunctionType::get(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by llvm::AtomicInfo< IRBuilderTy >::EmitAtomicCompareExchangeLibcall().
|
inline |
Definition at line 193 of file Atomic.h.
References llvm::AtomicInfo< IRBuilderTy >::Builder, llvm::AtomicInfo< IRBuilderTy >::CreateAlloca(), DL, llvm::FunctionType::get(), llvm::AtomicInfo< IRBuilderTy >::getAtomicPointer(), llvm::AtomicInfo< IRBuilderTy >::getAtomicSizeInBits(), llvm::Type::getInt32Ty(), llvm::Type::getIntNTy(), llvm::AtomicInfo< IRBuilderTy >::getLLVMContext(), getName(), llvm::PointerType::getUnqual(), llvm::Type::getVoidTy(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::AllocaInst::setAlignment(), llvm::toCABI(), and llvm::AtomicInfo< IRBuilderTy >::Ty.
Referenced by llvm::OpenMPIRBuilder::createAtomicRead().
|
inline |
Definition at line 71 of file Atomic.h.
References llvm::AtomicInfo< IRBuilderTy >::AtomicAlign, llvm::AtomicInfo< IRBuilderTy >::AtomicSizeInBits, llvm::AtomicInfo< IRBuilderTy >::Builder, llvm::AtomicInfo< IRBuilderTy >::decorateWithTBAA(), llvm::IntegerType::get(), llvm::AtomicInfo< IRBuilderTy >::getAtomicPointer(), llvm::AtomicInfo< IRBuilderTy >::getLLVMContext(), Ptr, llvm::AtomicInfo< IRBuilderTy >::shouldCastToInt(), and llvm::AtomicInfo< IRBuilderTy >::Ty.
|
inline |
Definition at line 154 of file Atomic.h.
References llvm::AtomicInfo< IRBuilderTy >::castToAtomicIntPointer(), and llvm::AtomicInfo< IRBuilderTy >::getAtomicPointer().
Referenced by llvm::AtomicInfo< IRBuilderTy >::EmitAtomicCompareExchangeOp().
|
inline |
Definition at line 43 of file Atomic.h.
References llvm::AtomicInfo< IRBuilderTy >::AtomicAlign.
Referenced by llvm::AtomicInfo< IRBuilderTy >::EmitAtomicCompareExchangeOp().
|
pure virtual |
Implemented in llvm::OpenMPIRBuilder::AtomicInfo.
Referenced by llvm::AtomicInfo< IRBuilderTy >::EmitAtomicCompareExchangeLibcall(), llvm::AtomicInfo< IRBuilderTy >::EmitAtomicLoadLibcall(), llvm::AtomicInfo< IRBuilderTy >::EmitAtomicLoadOp(), and llvm::AtomicInfo< IRBuilderTy >::getAtomicAddressAsAtomicIntPointer().
|
inline |
Definition at line 44 of file Atomic.h.
References llvm::AtomicInfo< IRBuilderTy >::AtomicSizeInBits.
Referenced by llvm::AtomicInfo< IRBuilderTy >::EmitAtomicLoadLibcall().
|
inline |
Definition at line 106 of file Atomic.h.
References llvm::AtomicInfo< IRBuilderTy >::AtomicSizeInBits, llvm::IntegerType::get(), and llvm::AtomicInfo< IRBuilderTy >::getLLVMContext().
Referenced by llvm::AtomicInfo< IRBuilderTy >::EmitAtomicCompareExchangeLibcall().
|
inline |
Definition at line 47 of file Atomic.h.
References llvm::AtomicInfo< IRBuilderTy >::Ty.
|
inline |
Definition at line 63 of file Atomic.h.
References llvm::AtomicInfo< IRBuilderTy >::Builder.
Referenced by llvm::AtomicInfo< IRBuilderTy >::EmitAtomicCompareExchangeLibcall(), llvm::AtomicInfo< IRBuilderTy >::EmitAtomicLoadLibcall(), llvm::AtomicInfo< IRBuilderTy >::EmitAtomicLoadOp(), and llvm::AtomicInfo< IRBuilderTy >::getAtomicSizeValue().
|
inline |
Definition at line 45 of file Atomic.h.
References llvm::AtomicInfo< IRBuilderTy >::ValueSizeInBits.
|
inline |
Definition at line 61 of file Atomic.h.
References llvm::AtomicInfo< IRBuilderTy >::AtomicSizeInBits, and llvm::AtomicInfo< IRBuilderTy >::ValueSizeInBits.
|
inlinestatic |
Definition at line 65 of file Atomic.h.
References llvm::Type::isFloatingPointTy(), llvm::Type::isIntegerTy(), llvm::Type::isPointerTy(), and llvm::Type::isX86_FP80Ty().
Referenced by llvm::AtomicInfo< IRBuilderTy >::EmitAtomicLoadOp().
|
inline |
Definition at line 46 of file Atomic.h.
References llvm::AtomicInfo< IRBuilderTy >::UseLibcall.
Referenced by llvm::AtomicInfo< IRBuilderTy >::EmitAtomicCompareExchange().
llvm::Align llvm::AtomicInfo< IRBuilderTy >::AtomicAlign |
Definition at line 29 of file Atomic.h.
Referenced by llvm::AtomicInfo< IRBuilderTy >::EmitAtomicLoadOp(), and llvm::AtomicInfo< IRBuilderTy >::getAtomicAlignment().
uint64_t llvm::AtomicInfo< IRBuilderTy >::AtomicSizeInBits |
Definition at line 27 of file Atomic.h.
Referenced by llvm::AtomicInfo< IRBuilderTy >::EmitAtomicLoadOp(), llvm::AtomicInfo< IRBuilderTy >::getAtomicSizeInBits(), llvm::AtomicInfo< IRBuilderTy >::getAtomicSizeValue(), and llvm::AtomicInfo< IRBuilderTy >::hasPadding().
IRBuilderTy* llvm::AtomicInfo< IRBuilderTy >::Builder |
Definition at line 25 of file Atomic.h.
Referenced by llvm::AtomicInfo< IRBuilderTy >::EmitAtomicCompareExchangeLibcall(), llvm::AtomicInfo< IRBuilderTy >::EmitAtomicCompareExchangeOp(), llvm::AtomicInfo< IRBuilderTy >::EmitAtomicLibcall(), llvm::AtomicInfo< IRBuilderTy >::EmitAtomicLoadLibcall(), llvm::AtomicInfo< IRBuilderTy >::EmitAtomicLoadOp(), and llvm::AtomicInfo< IRBuilderTy >::getLLVMContext().
Type* llvm::AtomicInfo< IRBuilderTy >::Ty |
Definition at line 26 of file Atomic.h.
Referenced by llvm::AtomicInfo< IRBuilderTy >::EmitAtomicLoadLibcall(), llvm::AtomicInfo< IRBuilderTy >::EmitAtomicLoadOp(), and llvm::AtomicInfo< IRBuilderTy >::getAtomicTy().
bool llvm::AtomicInfo< IRBuilderTy >::UseLibcall |
Definition at line 31 of file Atomic.h.
Referenced by llvm::AtomicInfo< IRBuilderTy >::shouldUseLibcall().
llvm::Align llvm::AtomicInfo< IRBuilderTy >::ValueAlign |
uint64_t llvm::AtomicInfo< IRBuilderTy >::ValueSizeInBits |
Definition at line 28 of file Atomic.h.
Referenced by llvm::AtomicInfo< IRBuilderTy >::getValueSizeInBits(), and llvm::AtomicInfo< IRBuilderTy >::hasPadding().