LLVM API Documentation
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/CallSite.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/IntrinsicInst.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, SmallPtrSetImpl< const PHINode * > &PhiUsers) |
static bool analyzeGlobalAux | ( | const Value * | V, |
GlobalStatus & | GS, | ||
SmallPtrSetImpl< const PHINode * > & | PhiUsers | ||
) | [static] |
Definition at line 50 of file GlobalStatus.cpp.
References llvm::GlobalStatus::AccessingFunction, llvm::CallingConv::C, llvm::WinEH::CE, F(), llvm::GlobalStatus::HasMultipleAccessingFunctions, llvm::GlobalStatus::HasNonInstructionUser, I, if(), llvm::GlobalStatus::InitializerStored, llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::GlobalStatus::IsCompared, llvm::GlobalStatus::IsLoaded, llvm::isSafeToDestroyConstant(), LI, llvm::GlobalStatus::Ordering, llvm::GlobalStatus::Stored, llvm::GlobalStatus::StoredOnce, llvm::GlobalStatus::StoredOnceValue, strongerOrdering(), and llvm::Value::uses().
Referenced by llvm::GlobalStatus::analyzeGlobal().
static AtomicOrdering strongerOrdering | ( | AtomicOrdering | X, |
AtomicOrdering | Y | ||
) | [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().