|
LLVM
4.0.0
|
#include "llvm/Transforms/Utils/SplitModule.h"#include "llvm/ADT/EquivalenceClasses.h"#include "llvm/ADT/Hashing.h"#include "llvm/ADT/MapVector.h"#include "llvm/ADT/SetVector.h"#include "llvm/IR/Constants.h"#include "llvm/IR/Function.h"#include "llvm/IR/GlobalAlias.h"#include "llvm/IR/GlobalObject.h"#include "llvm/IR/GlobalValue.h"#include "llvm/IR/Module.h"#include "llvm/Support/Debug.h"#include "llvm/Support/MD5.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Transforms/Utils/Cloning.h"#include <queue>Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "split-module" |
Functions | |
| static void | addNonConstUser (ClusterMapType &GVtoClusterMap, const GlobalValue *GV, const User *U) |
| static void | addAllGlobalValueUsers (ClusterMapType &GVtoClusterMap, const GlobalValue *GV, const Value *V) |
| static void | findPartitions (Module *M, ClusterIDMapType &ClusterIDMap, unsigned N) |
| static void | externalize (GlobalValue *GV) |
| static bool | isInPartition (const GlobalValue *GV, unsigned I, unsigned N) |
| #define DEBUG_TYPE "split-module" |
Definition at line 16 of file SplitModule.cpp.
|
static |
Definition at line 59 of file SplitModule.cpp.
References addNonConstUser(), llvm::SmallVectorImpl< T >::append(), llvm::SmallVectorBase::empty(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::Value::user_begin(), llvm::Value::user_end(), and llvm::Value::users().
Referenced by findPartitions().
|
static |
Definition at line 43 of file SplitModule.cpp.
References assert(), F, I, and llvm_unreachable.
Referenced by addAllGlobalValueUsers().
|
static |
Definition at line 194 of file SplitModule.cpp.
References llvm::GlobalValue::ExternalLinkage, llvm::GlobalValue::hasLocalLinkage(), llvm::Value::hasName(), llvm::GlobalValue::HiddenVisibility, llvm::GlobalValue::setLinkage(), llvm::Value::setName(), and llvm::GlobalValue::setVisibility().
Referenced by llvm::SplitModule().
Definition at line 80 of file SplitModule.cpp.
References addAllGlobalValueUsers(), llvm::Module::alias_begin(), llvm::Module::alias_end(), llvm::SmallVectorTemplateCommon< T >::begin(), llvm::Module::begin(), C, llvm::dbgs(), DEBUG, E, llvm::SmallVectorTemplateCommon< T >::end(), llvm::Module::end(), F, llvm::GlobalValue::getBaseObject(), llvm::Module::global_begin(), llvm::Module::global_end(), I, i, llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::Constant::isConstantUsed(), llvm::BlockAddress::lookup(), MI, N, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::Module::size().
Referenced by llvm::SplitModule().
|
static |
Definition at line 207 of file SplitModule.cpp.
References C, llvm::MD5::final(), llvm::GlobalValue::getBaseObject(), llvm::GlobalValue::getComdat(), llvm::Value::getName(), H, I, and llvm::MD5::update().
Referenced by llvm::SplitModule().
1.8.6