LLVM API Documentation
#include "llvm/Transforms/IPO.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
#include <algorithm>
Go to the source code of this file.
Functions | |
static void | makeVisible (GlobalValue &GV, bool Delete) |
static void makeVisible | ( | GlobalValue & | GV, |
bool | Delete | ||
) | [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 28 of file ExtractGV.cpp.
References llvm::GlobalValue::ExternalLinkage, llvm::GlobalValue::getLinkage(), llvm::GlobalValue::hasLinkOnceLinkage(), llvm::GlobalValue::hasLocalLinkage(), llvm::GlobalValue::HiddenVisibility, llvm::GlobalValue::isDiscardableIfUnused(), llvm::GlobalValue::LinkOnceAnyLinkage, llvm::GlobalValue::LinkOnceODRLinkage, llvm_unreachable, llvm::GlobalValue::setLinkage(), llvm::GlobalValue::setVisibility(), llvm::GlobalValue::WeakAnyLinkage, and llvm::GlobalValue::WeakODRLinkage.