added ability to dynamically change the ExportList of an already

created InternalizePass (useful for pass reuse)

llvm-svn: 173474
This commit is contained in:
Pedro Artigas 2013-01-25 19:41:03 +00:00
parent 5f9d6677fd
commit b745dc373a

View File

@ -50,6 +50,8 @@ namespace {
explicit InternalizePass();
explicit InternalizePass(ArrayRef<const char *> exportList);
void LoadFile(const char *Filename);
void ClearExportList();
void AddToExportList(const std::string &val);
virtual bool runOnModule(Module &M);
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
@ -97,6 +99,14 @@ void InternalizePass::LoadFile(const char *Filename) {
}
}
void InternalizePass::ClearExportList() {
ExternalNames.clear();
}
void InternalizePass::AddToExportList(const std::string &val) {
ExternalNames.insert(val);
}
bool InternalizePass::runOnModule(Module &M) {
CallGraph *CG = getAnalysisIfAvailable<CallGraph>();
CallGraphNode *ExternalNode = CG ? CG->getExternalCallingNode() : 0;