LLVM API Documentation
#include "llvm/Transforms/IPO.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/PointerIntPair.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Operator.h"
#include "llvm/Pass.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "constmerge" |
Functions | |
STATISTIC (NumMerged,"Number of global constants merged") | |
INITIALIZE_PASS (ConstantMerge,"constmerge","Merge Duplicate Global Constants", false, false) ModulePass *llvm | |
static void | FindUsedValues (GlobalVariable *LLVMUsed, SmallPtrSet< const GlobalValue *, 8 > &UsedValues) |
Find values that are marked as llvm.used. More... | |
static bool | IsBetterCannonical (const GlobalVariable &A, const GlobalVariable &B) |
#define DEBUG_TYPE "constmerge" |
Definition at line 20 of file ConstantMerge.cpp.
|
static |
Find values that are marked as llvm.used.
Definition at line 67 of file ConstantMerge.cpp.
References llvm::GlobalVariable::getInitializer(), llvm::User::getNumOperands(), llvm::User::getOperand(), llvm::SmallPtrSet< PtrType, SmallSize >::insert(), and llvm::Value::stripPointerCastsNoFollowAliases().
INITIALIZE_PASS | ( | ConstantMerge | , |
"constmerge" | , | ||
"Merge Duplicate Global Constants" | , | ||
false | , | ||
false | |||
) |
Definition at line 59 of file ConstantMerge.cpp.
|
static |
Definition at line 80 of file ConstantMerge.cpp.
References llvm::GlobalValue::hasLocalLinkage(), and llvm::GlobalValue::hasUnnamedAddr().
STATISTIC | ( | NumMerged | , |
"Number of global constants merged" | |||
) |