LLVM  8.0.1
Functions
GlobalStatus.cpp File Reference
#include "llvm/Transforms/Utils/GlobalStatus.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/CallSite.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Use.h"
#include "llvm/IR/User.h"
#include "llvm/IR/Value.h"
#include "llvm/Support/AtomicOrdering.h"
#include "llvm/Support/Casting.h"
#include <algorithm>
#include <cassert>
Include dependency graph for GlobalStatus.cpp:

Go to the source code of this file.

Functions

static AtomicOrdering strongerOrdering (AtomicOrdering X, AtomicOrdering Y)
 Return the stronger of the two ordering. More...
 
static bool analyzeGlobalAux (const Value *V, GlobalStatus &GS, SmallPtrSetImpl< const Value *> &VisitedUsers)
 

Function Documentation

◆ analyzeGlobalAux()

static bool analyzeGlobalAux ( const Value V,
GlobalStatus GS,
SmallPtrSetImpl< const Value *> &  VisitedUsers 
)
static

◆ strongerOrdering()

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 35 of file GlobalStatus.cpp.

References llvm::Acquire, llvm::AcquireRelease, llvm::max(), and llvm::Release.

Referenced by analyzeGlobalAux().