LLVM API Documentation
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/Support/CallSite.h"
#include "llvm/Transforms/Utils/GlobalStatus.h"
Go to the source code of this file.
Functions | |
static AtomicOrdering | strongerOrdering (AtomicOrdering X, AtomicOrdering Y) |
static bool | analyzeGlobalAux (const Value *V, GlobalStatus &GS, SmallPtrSet< const PHINode *, 16 > &PhiUsers) |
|
static |
Definition at line 48 of file GlobalStatus.cpp.
References llvm::GlobalStatus::AccessingFunction, llvm::CallingConv::C, F(), llvm::GlobalStatus::HasMultipleAccessingFunctions, llvm::GlobalStatus::HasNonInstructionUser, I, if(), llvm::GlobalStatus::InitializerStored, llvm::SmallPtrSet< PtrType, SmallSize >::insert(), llvm::GlobalStatus::IsCompared, llvm::GlobalStatus::IsLoaded, llvm::isSafeToDestroyConstant(), LI, llvm::GlobalStatus::Ordering, llvm::GlobalStatus::Stored, llvm::GlobalStatus::StoredOnce, llvm::GlobalStatus::StoredOnceValue, strongerOrdering(), llvm::Value::use_begin(), and llvm::Value::use_end().
Referenced by llvm::GlobalStatus::analyzeGlobal().
|
static |
Return the stronger of the two ordering. If the two orderings are acquire and release, then return AcquireRelease.
Definition at line 22 of file GlobalStatus.cpp.
References llvm::Acquire, llvm::AcquireRelease, and llvm::Release.
Referenced by analyzeGlobalAux().