LLVM API Documentation
#include <Instructions.h>


Public Member Functions | |
| void * | operator new (size_t s) |
| AtomicCmpXchgInst (Value *Ptr, Value *Cmp, Value *NewVal, AtomicOrdering Ordering, SynchronizationScope SynchScope, Instruction *InsertBefore=0) | |
| AtomicCmpXchgInst (Value *Ptr, Value *Cmp, Value *NewVal, AtomicOrdering Ordering, SynchronizationScope SynchScope, BasicBlock *InsertAtEnd) | |
| bool | isVolatile () const |
| void | setVolatile (bool V) |
| DECLARE_TRANSPARENT_OPERAND_ACCESSORS (Value) | |
| Transparently provide more efficient getOperand methods. | |
| void | setOrdering (AtomicOrdering Ordering) |
| Set the ordering constraint on this cmpxchg. | |
| void | setSynchScope (SynchronizationScope SynchScope) |
| AtomicOrdering | getOrdering () const |
| Returns the ordering constraint on this cmpxchg. | |
| SynchronizationScope | getSynchScope () const |
| Value * | getPointerOperand () |
| const Value * | getPointerOperand () const |
| Value * | getCompareOperand () |
| const Value * | getCompareOperand () const |
| Value * | getNewValOperand () |
| const Value * | getNewValOperand () const |
| unsigned | getPointerAddressSpace () const |
| Returns the address space of the pointer operand. | |
Static Public Member Functions | |
| static unsigned | getPointerOperandIndex () |
| static bool | classof (const Instruction *I) |
| static bool | classof (const Value *V) |
| Methods for support type inquiry through isa, cast, and dyn_cast: | |
Protected Member Functions | |
| virtual AtomicCmpXchgInst * | clone_impl () const |
AtomicCmpXchgInst - an instruction that atomically checks whether a specified value is in a memory location, and, if it is, stores a new value there. Returns the value that was loaded.
Definition at line 451 of file Instructions.h.
| AtomicCmpXchgInst::AtomicCmpXchgInst | ( | Value * | Ptr, |
| Value * | Cmp, | ||
| Value * | NewVal, | ||
| AtomicOrdering | Ordering, | ||
| SynchronizationScope | SynchScope, | ||
| Instruction * | InsertBefore = 0 |
||
| ) |
Definition at line 1240 of file Instructions.cpp.
Referenced by clone_impl().
| AtomicCmpXchgInst::AtomicCmpXchgInst | ( | Value * | Ptr, |
| Value * | Cmp, | ||
| Value * | NewVal, | ||
| AtomicOrdering | Ordering, | ||
| SynchronizationScope | SynchScope, | ||
| BasicBlock * | InsertAtEnd | ||
| ) |
Definition at line 1251 of file Instructions.cpp.
| static bool llvm::AtomicCmpXchgInst::classof | ( | const Instruction * | I | ) | [inline, static] |
Definition at line 529 of file Instructions.h.
References llvm::Instruction::getOpcode().
Referenced by classof().
Methods for support type inquiry through isa, cast, and dyn_cast:
Reimplemented from llvm::Instruction.
Definition at line 532 of file Instructions.h.
References classof().
| AtomicCmpXchgInst * AtomicCmpXchgInst::clone_impl | ( | ) | const [protected, virtual] |
Implements llvm::Instruction.
Definition at line 3425 of file Instructions.cpp.
References AtomicCmpXchgInst(), llvm::User::getOperand(), getOrdering(), getSynchScope(), isVolatile(), and setVolatile().
| llvm::AtomicCmpXchgInst::DECLARE_TRANSPARENT_OPERAND_ACCESSORS | ( | Value | ) |
Transparently provide more efficient getOperand methods.
| Value* llvm::AtomicCmpXchgInst::getCompareOperand | ( | ) | [inline] |
Definition at line 517 of file Instructions.h.
References llvm::User::getOperand().
Referenced by llvm::AliasAnalysis::getLocation(), and LowerAtomicCmpXchgInst().
| const Value* llvm::AtomicCmpXchgInst::getCompareOperand | ( | ) | const [inline] |
Definition at line 518 of file Instructions.h.
References llvm::User::getOperand().
| Value* llvm::AtomicCmpXchgInst::getNewValOperand | ( | ) | [inline] |
Definition at line 520 of file Instructions.h.
References llvm::User::getOperand().
Referenced by LowerAtomicCmpXchgInst().
| const Value* llvm::AtomicCmpXchgInst::getNewValOperand | ( | ) | const [inline] |
Definition at line 521 of file Instructions.h.
References llvm::User::getOperand().
| AtomicOrdering llvm::AtomicCmpXchgInst::getOrdering | ( | ) | const [inline] |
Returns the ordering constraint on this cmpxchg.
Definition at line 503 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by clone_impl(), and llvm::AliasAnalysis::getModRefInfo().
| unsigned llvm::AtomicCmpXchgInst::getPointerAddressSpace | ( | ) | const [inline] |
Returns the address space of the pointer operand.
Definition at line 524 of file Instructions.h.
References llvm::Type::getPointerAddressSpace(), getPointerOperand(), and llvm::Value::getType().
| Value* llvm::AtomicCmpXchgInst::getPointerOperand | ( | ) | [inline] |
Definition at line 513 of file Instructions.h.
References llvm::User::getOperand().
Referenced by llvm::AliasAnalysis::getLocation(), getPointerAddressSpace(), and LowerAtomicCmpXchgInst().
| const Value* llvm::AtomicCmpXchgInst::getPointerOperand | ( | ) | const [inline] |
Definition at line 514 of file Instructions.h.
References llvm::User::getOperand().
| static unsigned llvm::AtomicCmpXchgInst::getPointerOperandIndex | ( | ) | [inline, static] |
Definition at line 515 of file Instructions.h.
| SynchronizationScope llvm::AtomicCmpXchgInst::getSynchScope | ( | ) | const [inline] |
Returns whether this cmpxchg is atomic between threads or only within a single thread.
Definition at line 509 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by clone_impl().
| bool llvm::AtomicCmpXchgInst::isVolatile | ( | ) | const [inline] |
isVolatile - Return true if this is a cmpxchg from a volatile memory location.
Definition at line 472 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by clone_impl().
| void* llvm::AtomicCmpXchgInst::operator new | ( | size_t | s | ) | [inline] |
Reimplemented from llvm::User.
Definition at line 459 of file Instructions.h.
| void llvm::AtomicCmpXchgInst::setOrdering | ( | AtomicOrdering | Ordering | ) | [inline] |
Set the ordering constraint on this cmpxchg.
Definition at line 487 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction(), and llvm::NotAtomic.
| void llvm::AtomicCmpXchgInst::setSynchScope | ( | SynchronizationScope | SynchScope | ) | [inline] |
Specify whether this cmpxchg is atomic and orders other operations with respect to all concurrently executing threads, or only with respect to signal handlers executing in the same thread.
Definition at line 497 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
| void llvm::AtomicCmpXchgInst::setVolatile | ( | bool | V | ) | [inline] |
setVolatile - Specify whether this is a volatile cmpxchg.
Definition at line 478 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by clone_impl().