reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

include/llvm/IR/Instruction.def
  175 HANDLE_MEMORY_INST(35, Fence , FenceInst )
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
   65 class FenceInst;

References

include/llvm/Analysis/AliasAnalysis.h
  554   ModRefInfo getModRefInfo(const FenceInst *S, const MemoryLocation &Loc);
  557   ModRefInfo getModRefInfo(const FenceInst *S, const Value *P,
  709   ModRefInfo getModRefInfo(const FenceInst *S, const MemoryLocation &Loc,
include/llvm/IR/IRBuilder.h
  845   InstTy *Insert(InstTy *I, const Twine &Name = "") const {
  845   InstTy *Insert(InstTy *I, const Twine &Name = "") const {
 1671   FenceInst *CreateFence(AtomicOrdering Ordering,
 1674     return Insert(new FenceInst(Context, Ordering, SSID), Name);
include/llvm/IR/InstVisitor.h
  175   RetTy visitFenceInst(FenceInst   &I)            { DELEGATE(Instruction);}
include/llvm/IR/Instructions.h
  467   FenceInst *cloneImpl() const;
include/llvm/Support/Casting.h
   58     return To::classof(&Val);
   77     return isa_impl<To, From>::doit(Val);
   92     return isa_impl<To, From>::doit(*Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  168   using ret_type = const To &; // Normal case, return Ty&
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  258   return cast_convert_val<X, Y,
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
lib/Analysis/AliasAnalysis.cpp
  490 ModRefInfo AAResults::getModRefInfo(const FenceInst *S, const MemoryLocation &Loc) {
  495 ModRefInfo AAResults::getModRefInfo(const FenceInst *S,
lib/Analysis/CFLGraph.h
  606     return !isa<CmpInst>(Inst) && !isa<FenceInst>(Inst) &&
lib/Analysis/MemoryDependenceAnalysis.cpp
  680     if (FenceInst *FI = dyn_cast<FenceInst>(Inst))
  680     if (FenceInst *FI = dyn_cast<FenceInst>(Inst))
lib/Analysis/MemorySSA.cpp
  145       if (!isa<FenceInst>(Inst))
lib/AsmParser/LLParser.cpp
 7175   Inst = new FenceInst(Context, Ordering, SSID);
lib/Bitcode/Reader/BitcodeReader.cpp
 4984       I = new FenceInst(Context, Ordering, SSID);
lib/Bitcode/Writer/BitcodeWriter.cpp
 2986     Vals.push_back(getEncodedOrdering(cast<FenceInst>(I).getOrdering()));
 2987     Vals.push_back(getEncodedSyncScopeID(cast<FenceInst>(I).getSyncScopeID()));
lib/CodeGen/AtomicExpandPass.cpp
  213     if (I->isAtomic() && !isa<FenceInst>(I))
lib/CodeGen/GlobalISel/IRTranslator.cpp
 2041   const FenceInst &Fence = cast<FenceInst>(U);
 2041   const FenceInst &Fence = cast<FenceInst>(U);
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
 4636 void SelectionDAGBuilder::visitFence(const FenceInst &I) {
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
  729   void visitFence(const FenceInst &I);
lib/IR/AsmWriter.cpp
 4073   } else if (const FenceInst *FI = dyn_cast<FenceInst>(&I)) {
 4073   } else if (const FenceInst *FI = dyn_cast<FenceInst>(&I)) {
lib/IR/Instruction.cpp
  419   if (const FenceInst *FI = dyn_cast<FenceInst>(I1))
  419   if (const FenceInst *FI = dyn_cast<FenceInst>(I1))
  420     return FI->getOrdering() == cast<FenceInst>(I2)->getOrdering() &&
  421            FI->getSyncScopeID() == cast<FenceInst>(I2)->getSyncScopeID();
lib/IR/Instructions.cpp
 4168 FenceInst *FenceInst::cloneImpl() const {
 4169   return new FenceInst(getContext(), getOrdering(), getSyncScopeID());
lib/IR/Verifier.cpp
  482   void visitFenceInst(FenceInst &FI);
 3550 void Verifier::visitFenceInst(FenceInst &FI) {
lib/Transforms/IPO/Attributor.cpp
 1306     auto *FI = cast<FenceInst>(I);
 1306     auto *FI = cast<FenceInst>(I);
lib/Transforms/InstCombine/InstCombineCalls.cpp
 4068 Instruction *InstCombiner::visitFenceInst(FenceInst &FI) {
 4071   if (auto *NFI = dyn_cast<FenceInst>(Next))
 4071   if (auto *NFI = dyn_cast<FenceInst>(Next))
lib/Transforms/InstCombine/InstCombineInternal.h
  438   Instruction *visitFenceInst(FenceInst &FI);
lib/Transforms/Instrumentation/ThreadSanitizer.cpp
  423   if (isa<FenceInst>(I))
  709   } else if (FenceInst *FI = dyn_cast<FenceInst>(I)) {
  709   } else if (FenceInst *FI = dyn_cast<FenceInst>(I)) {
lib/Transforms/Scalar/DeadStoreElimination.cpp
  870     if (isa<FenceInst>(*BBI))
lib/Transforms/Scalar/EarlyCSE.cpp
 1157     if (FenceInst *FI = dyn_cast<FenceInst>(Inst))
 1157     if (FenceInst *FI = dyn_cast<FenceInst>(Inst))
lib/Transforms/Scalar/LICM.cpp
 1036           isa<FenceInst>(I) || isa<CastInst>(I) ||
 1182   } else if (auto *FI = dyn_cast<FenceInst>(&I)) {
 1182   } else if (auto *FI = dyn_cast<FenceInst>(&I)) {
lib/Transforms/Scalar/LowerAtomic.cpp
  102 static bool LowerFenceInst(FenceInst *FI) {
  121     if (FenceInst *FI = dyn_cast<FenceInst>(Inst))
  121     if (FenceInst *FI = dyn_cast<FenceInst>(Inst))
lib/Transforms/Scalar/SCCP.cpp
  652   void visitFenceInst     (FenceInst &I) { /*returns void*/ }
lib/Transforms/Utils/FunctionComparator.cpp
  608   if (const FenceInst *FI = dyn_cast<FenceInst>(L)) {
  608   if (const FenceInst *FI = dyn_cast<FenceInst>(L)) {
  610             cmpOrderings(FI->getOrdering(), cast<FenceInst>(R)->getOrdering()))
  613                       cast<FenceInst>(R)->getSyncScopeID());
lib/Transforms/Utils/SimplifyCFG.cpp
 4199       } else if (!isa<FenceInst>(BBI) && !isa<VAArgInst>(BBI) &&