|
LLVM
8.0.1
|
#include "llvm/Transforms/Utils/SplitModule.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/EquivalenceClasses.h"#include "llvm/ADT/SmallPtrSet.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/StringRef.h"#include "llvm/IR/Comdat.h"#include "llvm/IR/Constant.h"#include "llvm/IR/Constants.h"#include "llvm/IR/Function.h"#include "llvm/IR/GlobalAlias.h"#include "llvm/IR/GlobalObject.h"#include "llvm/IR/GlobalIndirectSymbol.h"#include "llvm/IR/GlobalValue.h"#include "llvm/IR/GlobalVariable.h"#include "llvm/IR/Instruction.h"#include "llvm/IR/Module.h"#include "llvm/IR/User.h"#include "llvm/IR/Value.h"#include "llvm/Support/Casting.h"#include "llvm/Support/Debug.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/MD5.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Transforms/Utils/Cloning.h"#include "llvm/Transforms/Utils/ValueMapper.h"#include <algorithm>#include <cassert>#include <iterator>#include <memory>#include <queue>#include <utility>#include <vector>
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 52 of file SplitModule.cpp.
|
static |
Definition at line 78 of file SplitModule.cpp.
References addNonConstUser(), llvm::SmallVectorImpl< T >::append(), llvm::SmallVectorBase::empty(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::Value::user_begin(), llvm::Value::user_end(), and llvm::Value::users().
Referenced by findPartitions().
|
static |
Definition at line 62 of file SplitModule.cpp.
References assert(), F(), I, and llvm_unreachable.
Referenced by addAllGlobalValueUsers().
|
static |
Definition at line 216 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::LTOCodeGenerator::compile(), and llvm::SplitModule().
Definition at line 99 of file SplitModule.cpp.
References addAllGlobalValueUsers(), llvm::Module::aliases(), C, llvm::dbgs(), E, F(), llvm::for_each(), llvm::Module::functions(), llvm::Module::globals(), I, llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::Constant::isConstantUsed(), LLVM_DEBUG, llvm::BlockAddress::lookup(), MI, N, llvm::SmallVectorTemplateBase< T >::push_back(), llvm::Module::size(), and llvm::sort().
Referenced by llvm::SplitModule().
|
static |
Definition at line 229 of file SplitModule.cpp.
References C, llvm::MD5::final(), llvm::GlobalValue::getComdat(), llvm::Value::getName(), H, I, Name, and llvm::MD5::update().
Referenced by llvm::SplitModule().
1.8.13