LLVM  mainline
Classes | Defines | Functions | Variables
GlobalsModRef.cpp File Reference
#include "llvm/Analysis/GlobalsModRef.h"
#include "llvm/ADT/SCCIterator.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/MemoryBuiltins.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
#include "llvm/Support/CommandLine.h"
Include dependency graph for GlobalsModRef.cpp:

Go to the source code of this file.

Classes

class  llvm::GlobalsAAResult::FunctionInfo
 The mod/ref information collected for a particular function. More...
struct  llvm::GlobalsAAResult::FunctionInfo::AlignedMapPointerTraits
 Pointer traits for our aligned map.

Defines

#define DEBUG_TYPE   "globalsmodref-aa"

Functions

 STATISTIC (NumNonAddrTakenGlobalVars,"Number of global vars without address taken")
 STATISTIC (NumNonAddrTakenFunctions,"Number of functions without address taken")
 STATISTIC (NumNoMemFunctions,"Number of functions that do not access memory")
 STATISTIC (NumReadMemFunctions,"Number of functions that only read memory")
 STATISTIC (NumIndirectGlobalVars,"Number of indirect global objects")
static bool isNonEscapingGlobalNoAliasWithLoad (const GlobalValue *GV, const Value *V, int &Depth, const DataLayout &DL)
 INITIALIZE_PASS_BEGIN (GlobalsAAWrapperPass,"globals-aa","Globals Alias Analysis", false, true) INITIALIZE_PASS_END(GlobalsAAWrapperPass

Variables

static cl::opt< boolEnableUnsafeGlobalsModRefAliasResults ("enable-unsafe-globalsmodref-alias-results", cl::init(false), cl::Hidden)
globals aa
globals Globals Alias Analysis
globals Globals Alias false

Define Documentation

#define DEBUG_TYPE   "globalsmodref-aa"

Definition at line 33 of file GlobalsModRef.cpp.


Function Documentation

INITIALIZE_PASS_BEGIN ( GlobalsAAWrapperPass  ,
"globals-aa ,
"Globals Alias Analysis ,
false  ,
true   
)
static bool isNonEscapingGlobalNoAliasWithLoad ( const GlobalValue GV,
const Value V,
int Depth,
const DataLayout DL 
) [static]
STATISTIC ( NumNonAddrTakenGlobalVars  ,
"Number of global vars without address taken"   
)
STATISTIC ( NumNonAddrTakenFunctions  ,
"Number of functions without address taken"   
)
STATISTIC ( NumNoMemFunctions  ,
"Number of functions that do not access memory"   
)
STATISTIC ( NumReadMemFunctions  ,
"Number of functions that only read memory"   
)
STATISTIC ( NumIndirectGlobalVars  ,
"Number of indirect global objects"   
)

Variable Documentation

globals aa

Definition at line 949 of file GlobalsModRef.cpp.

globals Globals Alias Analysis

Definition at line 949 of file GlobalsModRef.cpp.

cl::opt<bool> EnableUnsafeGlobalsModRefAliasResults("enable-unsafe-globalsmodref-alias-results", cl::init(false), cl::Hidden) [static]
globals Globals Alias false

Definition at line 949 of file GlobalsModRef.cpp.