LLVM API Documentation
#include <Instructions.h>
StoreInst - an instruction for storing to memory
Definition at line 287 of file Instructions.h.
StoreInst::StoreInst | ( | Value * | Val, |
Value * | Ptr, | ||
Instruction * | InsertBefore | ||
) |
Definition at line 1092 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 1105 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), and setVolatile().
StoreInst::StoreInst | ( | Value * | Val, |
Value * | Ptr, | ||
bool | isVolatile = false , |
||
Instruction * | InsertBefore = nullptr |
||
) |
Definition at line 1118 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), and setVolatile().
StoreInst::StoreInst | ( | Value * | Val, |
Value * | Ptr, | ||
bool | isVolatile, | ||
BasicBlock * | InsertAtEnd | ||
) |
Definition at line 1162 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), and setVolatile().
StoreInst::StoreInst | ( | Value * | Val, |
Value * | Ptr, | ||
bool | isVolatile, | ||
unsigned | Align, | ||
Instruction * | InsertBefore = nullptr |
||
) |
Definition at line 1132 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 1176 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 = nullptr |
||
) |
Definition at line 1146 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 1190 of file Instructions.cpp.
References setAlignment(), setAtomic(), and setVolatile().
static bool llvm::StoreInst::classof | ( | const Instruction * | I | ) | [inline, static] |
Definition at line 387 of file Instructions.h.
References llvm::Instruction::getOpcode(), and llvm::SPII::Store.
Referenced by classof().
static bool llvm::StoreInst::classof | ( | const Value * | V | ) | [inline, static] |
Methods for support type inquiry through isa, cast, and dyn_cast:
Reimplemented from llvm::Instruction.
Definition at line 390 of file Instructions.h.
References classof().
StoreInst * StoreInst::clone_impl | ( | ) | const [override, protected, virtual] |
Implements llvm::Instruction.
Definition at line 3649 of file Instructions.cpp.
References getAlignment(), llvm::User::getOperand(), getOrdering(), getSynchScope(), isVolatile(), and StoreInst().
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 333 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 340 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by llvm::AliasSetTracker::add(), clone_impl(), and isUnordered().
unsigned llvm::StoreInst::getPointerAddressSpace | ( | ) | const [inline] |
Returns the address space of the pointer operand.
Definition at line 382 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 377 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 378 of file Instructions.h.
References llvm::User::getOperand().
static unsigned llvm::StoreInst::getPointerOperandIndex | ( | ) | [inline, static] |
Definition at line 379 of file Instructions.h.
SynchronizationScope llvm::StoreInst::getSynchScope | ( | ) | const [inline] |
Definition at line 351 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by clone_impl().
Value* llvm::StoreInst::getValueOperand | ( | ) | [inline] |
Definition at line 374 of file Instructions.h.
References llvm::User::getOperand().
Referenced by AnalyzeLoadFromClobberingStore(), findCommonType(), llvm::AliasAnalysis::getLocation(), isIntegerWideningViableForSlice(), isSafeToSpeculateStore(), isVectorPromotionViableForSlice(), llvm::AArch64TargetLowering::shouldExpandAtomicStoreInIR(), llvm::ARMTargetLowering::shouldExpandAtomicStoreInIR(), SpeculativelyExecuteBB(), and llvm::PtrUseVisitor< SliceBuilder >::visitStoreInst().
const Value* llvm::StoreInst::getValueOperand | ( | ) | const [inline] |
Definition at line 375 of file Instructions.h.
References llvm::User::getOperand().
bool llvm::StoreInst::isSimple | ( | ) | const [inline] |
Definition at line 369 of file Instructions.h.
References llvm::Instruction::isAtomic(), and isVolatile().
Referenced by isSafeToSpeculateStore(), and llvm::InstCombiner::visitStoreInst().
bool llvm::StoreInst::isUnordered | ( | ) | const [inline] |
Definition at line 370 of file Instructions.h.
References getOrdering(), isVolatile(), and llvm::Unordered.
Referenced by 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 319 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by llvm::AliasSetTracker::add(), AddressIsTaken(), clone_impl(), isAllocSiteRemovable(), isIntegerWideningViableForSlice(), isSimple(), isUnordered(), isVectorPromotionViableForSlice(), llvm::NVPTXLowerAggrCopies::runOnFunction(), and llvm::Interpreter::visitStoreInst().
void* llvm::StoreInst::operator new | ( | size_t | s | ) | [inline] |
Reimplemented from llvm::User.
Definition at line 294 of file Instructions.h.
void StoreInst::setAlignment | ( | unsigned | Align | ) |
Definition at line 1206 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 363 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 346 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 358 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 323 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by StoreInst().