LLVM API Documentation
#include <Instructions.h>


Public Member Functions | |
| void * | operator new (size_t s) |
| StoreInst (Value *Val, Value *Ptr, Instruction *InsertBefore) | |
| StoreInst (Value *Val, Value *Ptr, BasicBlock *InsertAtEnd) | |
| StoreInst (Value *Val, Value *Ptr, bool isVolatile=false, Instruction *InsertBefore=0) | |
| StoreInst (Value *Val, Value *Ptr, bool isVolatile, BasicBlock *InsertAtEnd) | |
| StoreInst (Value *Val, Value *Ptr, bool isVolatile, unsigned Align, Instruction *InsertBefore=0) | |
| StoreInst (Value *Val, Value *Ptr, bool isVolatile, unsigned Align, BasicBlock *InsertAtEnd) | |
| StoreInst (Value *Val, Value *Ptr, bool isVolatile, unsigned Align, AtomicOrdering Order, SynchronizationScope SynchScope=CrossThread, Instruction *InsertBefore=0) | |
| StoreInst (Value *Val, Value *Ptr, bool isVolatile, unsigned Align, AtomicOrdering Order, SynchronizationScope SynchScope, BasicBlock *InsertAtEnd) | |
| bool | isVolatile () const |
| void | setVolatile (bool V) |
| DECLARE_TRANSPARENT_OPERAND_ACCESSORS (Value) | |
| Transparently provide more efficient getOperand methods. | |
| unsigned | getAlignment () const |
| void | setAlignment (unsigned Align) |
| AtomicOrdering | getOrdering () const |
| Returns the ordering effect of this store. | |
| void | setOrdering (AtomicOrdering Ordering) |
| SynchronizationScope | getSynchScope () const |
| void | setSynchScope (SynchronizationScope xthread) |
| bool | isAtomic () const |
| void | setAtomic (AtomicOrdering Ordering, SynchronizationScope SynchScope=CrossThread) |
| bool | isSimple () const |
| bool | isUnordered () const |
| Value * | getValueOperand () |
| const Value * | getValueOperand () const |
| Value * | getPointerOperand () |
| const Value * | getPointerOperand () 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 StoreInst * | clone_impl () const |
StoreInst - an instruction for storing to memory
Definition at line 257 of file Instructions.h.
| StoreInst::StoreInst | ( | Value * | Val, |
| Value * | Ptr, | ||
| Instruction * | InsertBefore | ||
| ) |
Definition at line 1090 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), and setVolatile().
Referenced by clone_impl().
| StoreInst::StoreInst | ( | Value * | Val, |
| Value * | Ptr, | ||
| BasicBlock * | InsertAtEnd | ||
| ) |
Definition at line 1103 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), and setVolatile().
| StoreInst::StoreInst | ( | Value * | Val, |
| Value * | Ptr, | ||
| bool | isVolatile = false, |
||
| Instruction * | InsertBefore = 0 |
||
| ) |
Definition at line 1116 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), and setVolatile().
| StoreInst::StoreInst | ( | Value * | Val, |
| Value * | Ptr, | ||
| bool | isVolatile, | ||
| BasicBlock * | InsertAtEnd | ||
| ) |
Definition at line 1160 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), and setVolatile().
| StoreInst::StoreInst | ( | Value * | Val, |
| Value * | Ptr, | ||
| bool | isVolatile, | ||
| unsigned | Align, | ||
| Instruction * | InsertBefore = 0 |
||
| ) |
Definition at line 1130 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), and setVolatile().
| StoreInst::StoreInst | ( | Value * | Val, |
| Value * | Ptr, | ||
| bool | isVolatile, | ||
| unsigned | Align, | ||
| BasicBlock * | InsertAtEnd | ||
| ) |
Definition at line 1174 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), and setVolatile().
| StoreInst::StoreInst | ( | Value * | Val, |
| Value * | Ptr, | ||
| bool | isVolatile, | ||
| unsigned | Align, | ||
| AtomicOrdering | Order, | ||
| SynchronizationScope | SynchScope = CrossThread, |
||
| Instruction * | InsertBefore = 0 |
||
| ) |
Definition at line 1144 of file Instructions.cpp.
References setAlignment(), setAtomic(), and setVolatile().
| StoreInst::StoreInst | ( | Value * | Val, |
| Value * | Ptr, | ||
| bool | isVolatile, | ||
| unsigned | Align, | ||
| AtomicOrdering | Order, | ||
| SynchronizationScope | SynchScope, | ||
| BasicBlock * | InsertAtEnd | ||
| ) |
Definition at line 1188 of file Instructions.cpp.
References setAlignment(), setAtomic(), and setVolatile().
| static bool llvm::StoreInst::classof | ( | const Instruction * | I | ) | [inline, static] |
Definition at line 358 of file Instructions.h.
References llvm::Instruction::getOpcode(), and llvm::SPII::Store.
Referenced by classof().
Methods for support type inquiry through isa, cast, and dyn_cast:
Reimplemented from llvm::Instruction.
Definition at line 361 of file Instructions.h.
References classof().
| StoreInst * StoreInst::clone_impl | ( | ) | const [protected, virtual] |
Implements llvm::Instruction.
Definition at line 3419 of file Instructions.cpp.
References getAlignment(), llvm::User::getOperand(), getOrdering(), getSynchScope(), isVolatile(), and StoreInst().
| llvm::StoreInst::DECLARE_TRANSPARENT_OPERAND_ACCESSORS | ( | Value | ) |
Transparently provide more efficient getOperand methods.
| unsigned llvm::StoreInst::getAlignment | ( | ) | const [inline] |
getAlignment - Return the alignment of the access that is being performed
Definition at line 303 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by clone_impl(), setAlignment(), and llvm::InstCombiner::visitStoreInst().
| AtomicOrdering llvm::StoreInst::getOrdering | ( | ) | const [inline] |
Returns the ordering effect of this store.
Definition at line 310 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by llvm::AliasSetTracker::add(), clone_impl(), isAtomic(), and isUnordered().
| unsigned llvm::StoreInst::getPointerAddressSpace | ( | ) | const [inline] |
Returns the address space of the pointer operand.
Definition at line 353 of file Instructions.h.
References llvm::Type::getPointerAddressSpace(), getPointerOperand(), and llvm::Value::getType().
Referenced by llvm::InstCombiner::visitStoreInst().
| Value* llvm::StoreInst::getPointerOperand | ( | ) | [inline] |
Definition at line 348 of file Instructions.h.
References llvm::User::getOperand().
Referenced by AnalyzeLoadFromClobberingStore(), llvm::AliasAnalysis::getLocation(), getPointerAddressSpace(), isAllocSiteRemovable(), isSafeToSpeculateStore(), and llvm::Interpreter::visitStoreInst().
| const Value* llvm::StoreInst::getPointerOperand | ( | ) | const [inline] |
Definition at line 349 of file Instructions.h.
References llvm::User::getOperand().
| static unsigned llvm::StoreInst::getPointerOperandIndex | ( | ) | [inline, static] |
Definition at line 350 of file Instructions.h.
| SynchronizationScope llvm::StoreInst::getSynchScope | ( | ) | const [inline] |
Definition at line 321 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by clone_impl().
| Value* llvm::StoreInst::getValueOperand | ( | ) | [inline] |
Definition at line 345 of file Instructions.h.
References llvm::User::getOperand().
Referenced by AnalyzeLoadFromClobberingStore(), llvm::AliasAnalysis::getLocation(), isSafeToSpeculateStore(), SpeculativelyExecuteBB(), and llvm::PtrUseVisitor< PartitionBuilder >::visitStoreInst().
| const Value* llvm::StoreInst::getValueOperand | ( | ) | const [inline] |
Definition at line 346 of file Instructions.h.
References llvm::User::getOperand().
| bool llvm::StoreInst::isAtomic | ( | ) | const [inline] |
Definition at line 333 of file Instructions.h.
References getOrdering(), and llvm::NotAtomic.
Referenced by isSimple().
| bool llvm::StoreInst::isSimple | ( | ) | const [inline] |
Definition at line 340 of file Instructions.h.
References isAtomic(), and isVolatile().
Referenced by isSafeToSpeculateStore(), and llvm::InstCombiner::visitStoreInst().
| bool llvm::StoreInst::isUnordered | ( | ) | const [inline] |
Definition at line 341 of file Instructions.h.
References getOrdering(), isVolatile(), and llvm::Unordered.
Referenced by llvm::AliasSetTracker::add(), and llvm::AliasAnalysis::getModRefInfo().
| bool llvm::StoreInst::isVolatile | ( | ) | const [inline] |
isVolatile - Return true if this is a store to a volatile memory location.
Definition at line 289 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by llvm::AliasSetTracker::add(), AddressIsTaken(), clone_impl(), isAllocSiteRemovable(), isSimple(), isUnordered(), llvm::NVPTXLowerAggrCopies::runOnFunction(), and llvm::Interpreter::visitStoreInst().
| void* llvm::StoreInst::operator new | ( | size_t | s | ) | [inline] |
Reimplemented from llvm::User.
Definition at line 264 of file Instructions.h.
| void StoreInst::setAlignment | ( | unsigned | Align | ) |
Definition at line 1204 of file Instructions.cpp.
References getAlignment(), llvm::Instruction::getSubclassDataFromInstruction(), and llvm::Log2_32().
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateAlignedStore(), StoreInst(), llvm::UpgradeIntrinsicCall(), and llvm::InstCombiner::visitStoreInst().
| void llvm::StoreInst::setAtomic | ( | AtomicOrdering | Ordering, |
| SynchronizationScope | SynchScope = CrossThread |
||
| ) | [inline] |
Definition at line 334 of file Instructions.h.
References setOrdering(), and setSynchScope().
Referenced by LowerStoreInst(), and StoreInst().
| void llvm::StoreInst::setOrdering | ( | AtomicOrdering | Ordering | ) | [inline] |
Set the ordering constraint on this store. May not be Acquire or AcquireRelease.
Definition at line 316 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by setAtomic().
| void llvm::StoreInst::setSynchScope | ( | SynchronizationScope | xthread | ) | [inline] |
Specify whether this store instruction is ordered with respect to all concurrently executing threads, or only with respect to signal handlers executing in the same thread.
Definition at line 328 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by setAtomic().
| void llvm::StoreInst::setVolatile | ( | bool | V | ) | [inline] |
setVolatile - Specify whether this is a volatile store or not.
Definition at line 293 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by StoreInst().