LLVM
8.0.1
|
#include "llvm/ADT/SetVector.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
#include "llvm/Transforms/IPO.h"
#include <algorithm>
Go to the source code of this file.
Functions | |
static void | makeVisible (GlobalValue &GV, bool Delete) |
Make sure GV is visible from both modules. More... | |
|
static |
Make sure GV is visible from both modules.
Delete is true if it is being deleted from this module. This also makes sure GV cannot be dropped so that references from the split module remain valid.
Definition at line 26 of file ExtractGV.cpp.
References assert(), llvm::SetVector< T, Vector, Set >::count(), llvm::Function::Create(), E, llvm::GlobalValue::ExternalLinkage, F(), llvm::GlobalValue::getLinkage(), llvm::Module::global_begin(), llvm::Module::global_end(), llvm::GlobalValue::hasLinkOnceLinkage(), llvm::GlobalValue::hasLocalLinkage(), llvm::GlobalValue::HiddenVisibility, I, llvm::GlobalValue::isDiscardableIfUnused(), llvm::GlobalValue::LinkOnceAnyLinkage, llvm::GlobalValue::LinkOnceODRLinkage, llvm_unreachable, llvm::GlobalValue::setLinkage(), llvm::Module::setModuleInlineAsm(), llvm::GlobalValue::setVisibility(), llvm::GlobalValue::WeakAnyLinkage, and llvm::GlobalValue::WeakODRLinkage.