LLVM API Documentation
#include <Instructions.h>
Public Member Functions | |
void * | operator new (size_t s) |
FenceInst (LLVMContext &C, AtomicOrdering Ordering, SynchronizationScope SynchScope=CrossThread, Instruction *InsertBefore=nullptr) | |
FenceInst (LLVMContext &C, AtomicOrdering Ordering, SynchronizationScope SynchScope, BasicBlock *InsertAtEnd) | |
AtomicOrdering | getOrdering () const |
Returns the ordering effect of this fence. | |
void | setOrdering (AtomicOrdering Ordering) |
SynchronizationScope | getSynchScope () const |
void | setSynchScope (SynchronizationScope xthread) |
Static Public Member Functions | |
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 | |
FenceInst * | clone_impl () const override |
FenceInst - an instruction for ordering other memory operations
Definition at line 413 of file Instructions.h.
FenceInst::FenceInst | ( | LLVMContext & | C, |
AtomicOrdering | Ordering, | ||
SynchronizationScope | SynchScope = CrossThread , |
||
Instruction * | InsertBefore = nullptr |
||
) |
Definition at line 1326 of file Instructions.cpp.
References setOrdering(), and setSynchScope().
Referenced by clone_impl().
FenceInst::FenceInst | ( | LLVMContext & | C, |
AtomicOrdering | Ordering, | ||
SynchronizationScope | SynchScope, | ||
BasicBlock * | InsertAtEnd | ||
) |
Definition at line 1334 of file Instructions.cpp.
References setOrdering(), and setSynchScope().
static bool llvm::FenceInst::classof | ( | const Instruction * | I | ) | [inline, static] |
Definition at line 458 of file Instructions.h.
References llvm::Instruction::getOpcode().
static bool llvm::FenceInst::classof | ( | const Value * | V | ) | [inline, static] |
Methods for support type inquiry through isa, cast, and dyn_cast:
Reimplemented from llvm::Instruction.
Definition at line 461 of file Instructions.h.
FenceInst * FenceInst::clone_impl | ( | ) | const [override, protected, virtual] |
Implements llvm::Instruction.
Definition at line 3673 of file Instructions.cpp.
References FenceInst(), llvm::Value::getContext(), getOrdering(), and getSynchScope().
AtomicOrdering llvm::FenceInst::getOrdering | ( | ) | const [inline] |
Returns the ordering effect of this fence.
Definition at line 434 of file Instructions.h.
Referenced by clone_impl().
SynchronizationScope llvm::FenceInst::getSynchScope | ( | ) | const [inline] |
Definition at line 445 of file Instructions.h.
Referenced by clone_impl().
void* llvm::FenceInst::operator new | ( | size_t | s | ) | [inline] |
Reimplemented from llvm::User.
Definition at line 420 of file Instructions.h.
void llvm::FenceInst::setOrdering | ( | AtomicOrdering | Ordering | ) | [inline] |
Set the ordering constraint on this fence. May only be Acquire, Release, AcquireRelease, or SequentiallyConsistent.
Definition at line 440 of file Instructions.h.
Referenced by FenceInst().
void llvm::FenceInst::setSynchScope | ( | SynchronizationScope | xthread | ) | [inline] |
Specify whether this fence 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 452 of file Instructions.h.
Referenced by FenceInst().