|
| AtomicInfo (IRBuilder<> *Builder, llvm::Type *Ty, uint64_t AtomicSizeInBits, uint64_t ValueSizeInBits, llvm::Align AtomicAlign, llvm::Align ValueAlign, bool UseLibcall, llvm::Value *AtomicVar) |
|
llvm::Value * | getAtomicPointer () const override |
|
void | decorateWithTBAA (llvm::Instruction *I) override |
|
llvm::AllocaInst * | CreateAlloca (llvm::Type *Ty, const llvm::Twine &Name) const override |
|
| AtomicInfo (IRBuilderBase *Builder, Type *Ty, uint64_t AtomicSizeInBits, uint64_t ValueSizeInBits, Align AtomicAlign, Align ValueAlign, bool UseLibcall) |
|
virtual | ~AtomicInfo ()=default |
|
Align | getAtomicAlignment () const |
|
uint64_t | getAtomicSizeInBits () const |
|
uint64_t | getValueSizeInBits () const |
|
bool | shouldUseLibcall () const |
|
Type * | getAtomicTy () const |
|
virtual Value * | getAtomicPointer () const =0 |
|
virtual void | decorateWithTBAA (Instruction *I)=0 |
|
virtual AllocaInst * | CreateAlloca (Type *Ty, const Twine &Name) const =0 |
|
bool | hasPadding () const |
|
LLVMContext & | getLLVMContext () const |
|
bool | shouldCastToInt (Type *ValTy, bool CmpXchg) |
|
Value * | EmitAtomicLoadOp (AtomicOrdering AO, bool IsVolatile, bool CmpXchg=false) |
|
CallInst * | EmitAtomicLibcall (StringRef fnName, Type *ResultType, ArrayRef< Value * > Args) |
|
Value * | getAtomicSizeValue () const |
|
std::pair< Value *, Value * > | EmitAtomicCompareExchangeLibcall (Value *ExpectedVal, Value *DesiredVal, AtomicOrdering Success, AtomicOrdering Failure) |
|
Value * | castToAtomicIntPointer (Value *addr) const |
|
Value * | getAtomicAddressAsAtomicIntPointer () const |
|
std::pair< Value *, Value * > | EmitAtomicCompareExchangeOp (Value *ExpectedVal, Value *DesiredVal, AtomicOrdering Success, AtomicOrdering Failure, bool IsVolatile=false, bool IsWeak=false) |
|
std::pair< Value *, Value * > | EmitAtomicCompareExchange (Value *ExpectedVal, Value *DesiredVal, AtomicOrdering Success, AtomicOrdering Failure, bool IsVolatile, bool IsWeak) |
|
std::pair< LoadInst *, AllocaInst * > | EmitAtomicLoadLibcall (AtomicOrdering AO) |
|
Definition at line 483 of file OMPIRBuilder.h.