class AtomicRMWInst

Declaration

class AtomicRMWInst : public Instruction { /* full declaration omitted */ };

Declared at: llvm/include/llvm/IR/Instructions.h:710

Inherits from: Instruction

Member Variables

Inherited from Value:

protected SubclassOptionalData
protected NumUserOperands
protected IsUsedByMD
protected HasName
protected HasHungOffUses
protected HasDescriptor
public static MaxAlignmentExponent = 29
public static MaximumAlignment = 1U << MaxAlignmentExponent

Method Overview

Inherited from Instruction:

Inherited from User:

Inherited from Value:

Methods

AtomicRMWInst(
    llvm::AtomicRMWInst::BinOp Operation,
    llvm::Value* Ptr,
    llvm::Value* Val,
    llvm::AtomicOrdering Ordering,
    SyncScope::ID SSID,
    llvm::Instruction* InsertBefore = nullptr)

Declared at: llvm/include/llvm/IR/Instructions.h:757

Parameters

llvm::AtomicRMWInst::BinOp Operation
llvm::Value* Ptr
llvm::Value* Val
llvm::AtomicOrdering Ordering
SyncScope::ID SSID
llvm::Instruction* InsertBefore = nullptr

AtomicRMWInst(
    llvm::AtomicRMWInst::BinOp Operation,
    llvm::Value* Ptr,
    llvm::Value* Val,
    llvm::AtomicOrdering Ordering,
    SyncScope::ID SSID,
    llvm::BasicBlock* InsertAtEnd)

Declared at: llvm/include/llvm/IR/Instructions.h:760

Parameters

llvm::AtomicRMWInst::BinOp Operation
llvm::Value* Ptr
llvm::Value* Val
llvm::AtomicOrdering Ordering
SyncScope::ID SSID
llvm::BasicBlock* InsertAtEnd

static bool classof(const llvm::Value* V)

Declared at: llvm/include/llvm/IR/Instructions.h:850

Parameters

const llvm::Value* V

static bool classof(const llvm::Instruction* I)

Declared at: llvm/include/llvm/IR/Instructions.h:847

Parameters

const llvm::Instruction* I

llvm::AtomicRMWInst* cloneImpl() const

Declared at: llvm/include/llvm/IR/Instructions.h:715

llvm::AtomicRMWInst::BinOp getOperation() const

Declared at: llvm/include/llvm/IR/Instructions.h:769

static llvm::StringRef getOperationName(
    llvm::AtomicRMWInst::BinOp Op)

Declared at: llvm/include/llvm/IR/Instructions.h:773

Parameters

llvm::AtomicRMWInst::BinOp Op

llvm::AtomicOrdering getOrdering() const

Description

Returns the ordering constraint of this rmw instruction.

Declared at: llvm/include/llvm/IR/Instructions.h:808

unsigned int getPointerAddressSpace() const

Description

Returns the address space of the pointer operand.

Declared at: llvm/include/llvm/IR/Instructions.h:838

llvm::Value* getPointerOperand()

Declared at: llvm/include/llvm/IR/Instructions.h:830

const llvm::Value* getPointerOperand() const

Declared at: llvm/include/llvm/IR/Instructions.h:831

static unsigned int getPointerOperandIndex()

Declared at: llvm/include/llvm/IR/Instructions.h:832

SyncScope::ID getSyncScopeID() const

Description

Returns the synchronization scope ID of this rmw instruction.

Declared at: llvm/include/llvm/IR/Instructions.h:821

llvm::Value* getValOperand()

Declared at: llvm/include/llvm/IR/Instructions.h:834

const llvm::Value* getValOperand() const

Declared at: llvm/include/llvm/IR/Instructions.h:835

static bool isFPOperation(
    llvm::AtomicRMWInst::BinOp Op)

Declared at: llvm/include/llvm/IR/Instructions.h:775

Parameters

llvm::AtomicRMWInst::BinOp Op

bool isFloatingPointOperation() const

Declared at: llvm/include/llvm/IR/Instructions.h:842

bool isVolatile() const

Description

Return true if this is a RMW on a volatile memory location.

Declared at: llvm/include/llvm/IR/Instructions.h:793

void setOperation(
    llvm::AtomicRMWInst::BinOp Operation)

Declared at: llvm/include/llvm/IR/Instructions.h:785

Parameters

llvm::AtomicRMWInst::BinOp Operation

void setOrdering(llvm::AtomicOrdering Ordering)

Description

Sets the ordering constraint of this rmw instruction.

Declared at: llvm/include/llvm/IR/Instructions.h:813

Parameters

llvm::AtomicOrdering Ordering

void setSyncScopeID(SyncScope::ID SSID)

Description

Sets the synchronization scope ID of this rmw instruction.

Declared at: llvm/include/llvm/IR/Instructions.h:826

Parameters

SyncScope::ID SSID

void setVolatile(bool V)

Description

Specify whether this is a volatile RMW or not.

Declared at: llvm/include/llvm/IR/Instructions.h:799

Parameters

bool V