LLVM API Documentation
#include <Instructions.h>


Public Member Functions | |
| LoadInst (Value *Ptr, const Twine &NameStr, Instruction *InsertBefore) | |
| LoadInst (Value *Ptr, const Twine &NameStr, BasicBlock *InsertAtEnd) | |
| LoadInst (Value *Ptr, const Twine &NameStr, bool isVolatile=false, Instruction *InsertBefore=0) | |
| LoadInst (Value *Ptr, const Twine &NameStr, bool isVolatile, BasicBlock *InsertAtEnd) | |
| LoadInst (Value *Ptr, const Twine &NameStr, bool isVolatile, unsigned Align, Instruction *InsertBefore=0) | |
| LoadInst (Value *Ptr, const Twine &NameStr, bool isVolatile, unsigned Align, BasicBlock *InsertAtEnd) | |
| LoadInst (Value *Ptr, const Twine &NameStr, bool isVolatile, unsigned Align, AtomicOrdering Order, SynchronizationScope SynchScope=CrossThread, Instruction *InsertBefore=0) | |
| LoadInst (Value *Ptr, const Twine &NameStr, bool isVolatile, unsigned Align, AtomicOrdering Order, SynchronizationScope SynchScope, BasicBlock *InsertAtEnd) | |
| LoadInst (Value *Ptr, const char *NameStr, Instruction *InsertBefore) | |
| LoadInst (Value *Ptr, const char *NameStr, BasicBlock *InsertAtEnd) | |
| LoadInst (Value *Ptr, const char *NameStr=0, bool isVolatile=false, Instruction *InsertBefore=0) | |
| LoadInst (Value *Ptr, const char *NameStr, bool isVolatile, BasicBlock *InsertAtEnd) | |
| bool | isVolatile () const |
| void | setVolatile (bool V) |
| unsigned | getAlignment () const |
| void | setAlignment (unsigned Align) |
| AtomicOrdering | getOrdering () const |
| Returns the ordering effect of this fence. | |
| 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 * | 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 LoadInst * | clone_impl () const |
LoadInst - an instruction for reading from memory. This uses the SubclassData field in Value to store whether or not the load is volatile.
Definition at line 138 of file Instructions.h.
| LoadInst::LoadInst | ( | Value * | Ptr, |
| const Twine & | NameStr, | ||
| Instruction * | InsertBefore | ||
| ) |
Definition at line 933 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), llvm::Value::setName(), and setVolatile().
Referenced by clone_impl().
| LoadInst::LoadInst | ( | Value * | Ptr, |
| const Twine & | NameStr, | ||
| BasicBlock * | InsertAtEnd | ||
| ) |
Definition at line 943 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), llvm::Value::setName(), and setVolatile().
| LoadInst::LoadInst | ( | Value * | Ptr, |
| const Twine & | NameStr, | ||
| bool | isVolatile = false, |
||
| Instruction * | InsertBefore = 0 |
||
| ) |
Definition at line 953 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), llvm::Value::setName(), and setVolatile().
| LoadInst::LoadInst | ( | Value * | Ptr, |
| const Twine & | NameStr, | ||
| bool | isVolatile, | ||
| BasicBlock * | InsertAtEnd | ||
| ) |
Definition at line 964 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), llvm::Value::setName(), and setVolatile().
| LoadInst::LoadInst | ( | Value * | Ptr, |
| const Twine & | NameStr, | ||
| bool | isVolatile, | ||
| unsigned | Align, | ||
| Instruction * | InsertBefore = 0 |
||
| ) |
Definition at line 975 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), llvm::Value::setName(), and setVolatile().
| LoadInst::LoadInst | ( | Value * | Ptr, |
| const Twine & | NameStr, | ||
| bool | isVolatile, | ||
| unsigned | Align, | ||
| BasicBlock * | InsertAtEnd | ||
| ) |
Definition at line 986 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), llvm::Value::setName(), and setVolatile().
| LoadInst::LoadInst | ( | Value * | Ptr, |
| const Twine & | NameStr, | ||
| bool | isVolatile, | ||
| unsigned | Align, | ||
| AtomicOrdering | Order, | ||
| SynchronizationScope | SynchScope = CrossThread, |
||
| Instruction * | InsertBefore = 0 |
||
| ) |
Definition at line 997 of file Instructions.cpp.
References setAlignment(), setAtomic(), llvm::Value::setName(), and setVolatile().
| LoadInst::LoadInst | ( | Value * | Ptr, |
| const Twine & | NameStr, | ||
| bool | isVolatile, | ||
| unsigned | Align, | ||
| AtomicOrdering | Order, | ||
| SynchronizationScope | SynchScope, | ||
| BasicBlock * | InsertAtEnd | ||
| ) |
Definition at line 1010 of file Instructions.cpp.
References setAlignment(), setAtomic(), llvm::Value::setName(), and setVolatile().
| LoadInst::LoadInst | ( | Value * | Ptr, |
| const char * | NameStr, | ||
| Instruction * | InsertBefore | ||
| ) |
Definition at line 1023 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), llvm::Value::setName(), and setVolatile().
| LoadInst::LoadInst | ( | Value * | Ptr, |
| const char * | NameStr, | ||
| BasicBlock * | InsertAtEnd | ||
| ) |
Definition at line 1033 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), llvm::Value::setName(), and setVolatile().
| LoadInst::LoadInst | ( | Value * | Ptr, |
| const char * | NameStr = 0, |
||
| bool | isVolatile = false, |
||
| Instruction * | InsertBefore = 0 |
||
| ) | [explicit] |
Definition at line 1043 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), llvm::Value::setName(), and setVolatile().
| LoadInst::LoadInst | ( | Value * | Ptr, |
| const char * | NameStr, | ||
| bool | isVolatile, | ||
| BasicBlock * | InsertAtEnd | ||
| ) |
Definition at line 1054 of file Instructions.cpp.
References llvm::NotAtomic, setAlignment(), setAtomic(), llvm::Value::setName(), and setVolatile().
| static bool llvm::LoadInst::classof | ( | const Instruction * | I | ) | [inline, static] |
Reimplemented from llvm::UnaryInstruction.
Definition at line 236 of file Instructions.h.
References llvm::Instruction::getOpcode(), and llvm::SPII::Load.
Referenced by classof().
Methods for support type inquiry through isa, cast, and dyn_cast:
Reimplemented from llvm::UnaryInstruction.
Definition at line 239 of file Instructions.h.
References classof().
| LoadInst * LoadInst::clone_impl | ( | ) | const [protected, virtual] |
Implements llvm::Instruction.
Definition at line 3414 of file Instructions.cpp.
References getAlignment(), llvm::User::getOperand(), getOrdering(), getSynchScope(), isVolatile(), and LoadInst().
| unsigned llvm::LoadInst::getAlignment | ( | ) | const [inline] |
getAlignment - Return the alignment of the access that is being performed
Definition at line 183 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by clone_impl(), llvm::MemoryDependenceAnalysis::getLoadLoadClobberFullWidthSize(), GetLoadValueForLoad(), InstCombineLoadCast(), isSafePHIToSpeculate(), isSafeSelectToSpeculate(), setAlignment(), tryToMakeAllocaBePromotable(), and llvm::InstCombiner::visitLoadInst().
| AtomicOrdering llvm::LoadInst::getOrdering | ( | ) | const [inline] |
Returns the ordering effect of this fence.
Definition at line 190 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by llvm::AliasSetTracker::add(), clone_impl(), InstCombineLoadCast(), isAtomic(), isUnordered(), OptimizeGlobalAddressOfMalloc(), and TryToShrinkGlobalToBoolean().
| unsigned llvm::LoadInst::getPointerAddressSpace | ( | ) | const [inline] |
Returns the address space of the pointer operand.
Definition at line 230 of file Instructions.h.
References llvm::Type::getPointerAddressSpace(), getPointerOperand(), and llvm::Value::getType().
Referenced by llvm::InstCombiner::visitLoadInst().
| Value* llvm::LoadInst::getPointerOperand | ( | ) | [inline] |
Definition at line 225 of file Instructions.h.
References llvm::User::getOperand().
Referenced by AnalyzeLoadFromClobberingLoad(), llvm::MemoryDependenceAnalysis::getLoadLoadClobberFullWidthSize(), GetLoadValueForLoad(), llvm::AliasAnalysis::getLocation(), getPointerAddressSpace(), llvm::isSafeToSpeculativelyExecute(), and llvm::Interpreter::visitLoadInst().
| const Value* llvm::LoadInst::getPointerOperand | ( | ) | const [inline] |
Definition at line 226 of file Instructions.h.
References llvm::User::getOperand().
| static unsigned llvm::LoadInst::getPointerOperandIndex | ( | ) | [inline, static] |
Definition at line 227 of file Instructions.h.
| SynchronizationScope llvm::LoadInst::getSynchScope | ( | ) | const [inline] |
Definition at line 201 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by clone_impl(), InstCombineLoadCast(), OptimizeGlobalAddressOfMalloc(), and TryToShrinkGlobalToBoolean().
| bool llvm::LoadInst::isAtomic | ( | ) | const [inline] |
Definition at line 213 of file Instructions.h.
References getOrdering(), and llvm::NotAtomic.
Referenced by isSimple().
| bool llvm::LoadInst::isSimple | ( | ) | const [inline] |
Definition at line 220 of file Instructions.h.
References isAtomic(), and isVolatile().
Referenced by llvm::MemoryDependenceAnalysis::getLoadLoadClobberFullWidthSize(), GetLoadValueForLoad(), isSafePHIToSpeculate(), isSafeSelectToSpeculate(), and llvm::InstCombiner::visitLoadInst().
| bool llvm::LoadInst::isUnordered | ( | ) | const [inline] |
Definition at line 221 of file Instructions.h.
References getOrdering(), isVolatile(), and llvm::Unordered.
Referenced by llvm::AliasSetTracker::add(), llvm::AliasAnalysis::getModRefInfo(), llvm::isSafeToSpeculativelyExecute(), and OptimizeGlobalAddressOfMalloc().
| bool llvm::LoadInst::isVolatile | ( | ) | const [inline] |
isVolatile - Return true if this is a load from a volatile memory location.
Definition at line 172 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by llvm::AliasSetTracker::add(), clone_impl(), ConstantFoldLoadInst(), EvaluateExpression(), InstCombineLoadCast(), isIntegerWideningViable(), isSimple(), isUnordered(), isVectorPromotionViable(), llvm::NVPTXLowerAggrCopies::runOnFunction(), llvm::FastISel::tryToFoldLoad(), and llvm::Interpreter::visitLoadInst().
| void LoadInst::setAlignment | ( | unsigned | Align | ) |
Definition at line 1065 of file Instructions.cpp.
References getAlignment(), llvm::Instruction::getSubclassDataFromInstruction(), and llvm::Log2_32().
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateAlignedLoad(), GetLoadValueForLoad(), InstCombineLoadCast(), LoadInst(), tryToMakeAllocaBePromotable(), and llvm::InstCombiner::visitLoadInst().
| void llvm::LoadInst::setAtomic | ( | AtomicOrdering | Ordering, |
| SynchronizationScope | SynchScope = CrossThread |
||
| ) | [inline] |
Definition at line 214 of file Instructions.h.
References setOrdering(), and setSynchScope().
Referenced by InstCombineLoadCast(), LoadInst(), and LowerLoadInst().
| void llvm::LoadInst::setOrdering | ( | AtomicOrdering | Ordering | ) | [inline] |
Set the ordering constraint on this load. May not be Release or AcquireRelease.
Definition at line 196 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by setAtomic().
| void llvm::LoadInst::setSynchScope | ( | SynchronizationScope | xthread | ) | [inline] |
Specify whether this load is ordered with respect to all concurrently executing threads, or only with respect to signal handlers executing in the same thread.
Definition at line 208 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by setAtomic().
| void llvm::LoadInst::setVolatile | ( | bool | V | ) | [inline] |
setVolatile - Specify whether this is a volatile load or not.
Definition at line 176 of file Instructions.h.
References llvm::Instruction::getSubclassDataFromInstruction().
Referenced by LoadInst().