LLVM  3.7.0
Macros | Functions | Variables
GlobalMerge.cpp File Reference
#include "llvm/Transforms/Scalar.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SmallBitVector.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetLowering.h"
#include "llvm/Target/TargetLoweringObjectFile.h"
#include "llvm/Target/TargetSubtargetInfo.h"
#include <algorithm>
Include dependency graph for GlobalMerge.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "global-merge"
 

Functions

 STATISTIC (NumMerged,"Number of globals merged")
 
 INITIALIZE_PASS_BEGIN (GlobalMerge,"global-merge","Merge global variables", false, false) INITIALIZE_PASS_END(GlobalMerge
 

Variables

static cl::opt< boolEnableGlobalMerge ("enable-global-merge", cl::Hidden, cl::desc("Enable the global merge pass"), cl::init(true))
 
static cl::opt< boolGlobalMergeGroupByUse ("global-merge-group-by-use", cl::Hidden, cl::desc("Improve global merge pass to look at uses"), cl::init(true))
 
static cl::opt< boolGlobalMergeIgnoreSingleUse ("global-merge-ignore-single-use", cl::Hidden, cl::desc("Improve global merge pass to ignore globals only used alone"), cl::init(true))
 
static cl::opt< boolEnableGlobalMergeOnConst ("global-merge-on-const", cl::Hidden, cl::desc("Enable global merge pass on constants"), cl::init(false))
 
static cl::opt< boolEnableGlobalMergeOnExternal ("global-merge-on-external", cl::Hidden, cl::desc("Enable global merge pass on external linkage"), cl::init(false))
 
global merge
 
global Merge global variables
 
global Merge global false
 

Macro Definition Documentation

#define DEBUG_TYPE   "global-merge"

Definition at line 87 of file GlobalMerge.cpp.

Function Documentation

INITIALIZE_PASS_BEGIN ( GlobalMerge  ,
"global-merge ,
"Merge global variables ,
false  ,
false   
)
STATISTIC ( NumMerged  ,
"Number of globals merged"   
)

Variable Documentation

cl::opt<bool> EnableGlobalMerge("enable-global-merge", cl::Hidden, cl::desc("Enable the global merge pass"), cl::init(true))
static
cl::opt<bool> EnableGlobalMergeOnConst("global-merge-on-const", cl::Hidden, cl::desc("Enable global merge pass on constants"), cl::init(false))
static
cl::opt<bool> EnableGlobalMergeOnExternal("global-merge-on-external", cl::Hidden, cl::desc("Enable global merge pass on external linkage"), cl::init(false))
static
global Merge global false

Definition at line 185 of file GlobalMerge.cpp.

cl::opt<bool> GlobalMergeGroupByUse("global-merge-group-by-use", cl::Hidden, cl::desc("Improve global merge pass to look at uses"), cl::init(true))
static
cl::opt<bool> GlobalMergeIgnoreSingleUse("global-merge-ignore-single-use", cl::Hidden, cl::desc("Improve global merge pass to ignore globals only used alone"), cl::init(true))
static
global merge

Definition at line 185 of file GlobalMerge.cpp.

global Merge global variables

Definition at line 185 of file GlobalMerge.cpp.