LLVM API Documentation

Public Member Functions | Static Public Member Functions | Protected Member Functions
llvm::StoreInst Class Reference

#include <Instructions.h>

Inheritance diagram for llvm::StoreInst:
Inheritance graph
[legend]
Collaboration diagram for llvm::StoreInst:
Collaboration graph
[legend]

List of all members.

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=nullptr)
 StoreInst (Value *Val, Value *Ptr, bool isVolatile, BasicBlock *InsertAtEnd)
 StoreInst (Value *Val, Value *Ptr, bool isVolatile, unsigned Align, Instruction *InsertBefore=nullptr)
 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=nullptr)
 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)
void setAtomic (AtomicOrdering Ordering, SynchronizationScope SynchScope=CrossThread)
bool isSimple () const
bool isUnordered () const
ValuegetValueOperand ()
const ValuegetValueOperand () const
ValuegetPointerOperand ()
const ValuegetPointerOperand () 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

StoreInstclone_impl () const override

Detailed Description

StoreInst - an instruction for storing to memory

Definition at line 287 of file Instructions.h.


Constructor & Destructor Documentation

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().


Member Function Documentation

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]

Transparently provide more efficient getOperand methods.

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().

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().

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().

Definition at line 378 of file Instructions.h.

References llvm::User::getOperand().

Definition at line 379 of file Instructions.h.

Definition at line 351 of file Instructions.h.

References llvm::Instruction::getSubclassDataFromInstruction().

Referenced by clone_impl().

Definition at line 375 of file Instructions.h.

References llvm::User::getOperand().

bool llvm::StoreInst::isSimple ( ) const [inline]
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]
void* llvm::StoreInst::operator new ( size_t  s) [inline]

Reimplemented from llvm::User.

Definition at line 294 of file Instructions.h.

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().

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().


The documentation for this class was generated from the following files: