LLVM  4.0.0
Macros | Functions | Variables
GlobalMerge.cpp File Reference
#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< unsignedGlobalMergeMaxOffset ("global-merge-max-offset", cl::Hidden, cl::desc("Set maximum offset for global merge pass"), cl::init(0))
 
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< cl::boolOrDefaultEnableGlobalMergeOnExternal ("global-merge-on-external", cl::Hidden, cl::desc("Enable global merge pass on external linkage"))
 
global merge
 
global Merge global variables
 
global Merge global false
 

Macro Definition Documentation

#define DEBUG_TYPE   "global-merge"

Definition at line 86 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<cl::boolOrDefault> EnableGlobalMergeOnExternal("global-merge-on-external", cl::Hidden, cl::desc("Enable global merge pass on external linkage"))
static
global Merge global false

Definition at line 197 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
cl::opt<unsigned> GlobalMergeMaxOffset("global-merge-max-offset", cl::Hidden, cl::desc("Set maximum offset for global merge pass"), cl::init(0))
static
global merge
global Merge global variables

Definition at line 197 of file GlobalMerge.cpp.