mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-15 23:31:37 +00:00
Add removeModule().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31142 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a4bcfe12d1
commit
f2ca21f88f
@ -91,6 +91,7 @@ namespace llvm {
|
||||
std::vector<const char*> &,
|
||||
std::string &) = 0;
|
||||
virtual void getTargetTriple(const std::string &, std::string &) = 0;
|
||||
virtual void removeModule (const std::string &InputFilename) = 0;
|
||||
virtual ~LinkTimeOptimizer() = 0;
|
||||
};
|
||||
|
||||
@ -111,6 +112,7 @@ namespace llvm {
|
||||
std::vector<const char*> &exportList,
|
||||
std::string &targetTriple);
|
||||
void getTargetTriple(const std::string &InputFilename, std::string &targetTriple);
|
||||
void removeModule (const std::string &InputFilename);
|
||||
|
||||
private:
|
||||
Module *getModule (const std::string &InputFilename);
|
||||
|
@ -102,6 +102,18 @@ findExternalRefs(Value *value, std::set<std::string> &references,
|
||||
findExternalRefs(c->getOperand(i), references, mangler);
|
||||
}
|
||||
|
||||
/// If Moduel with InputFilename is available then remove it.
|
||||
void
|
||||
LTO::removeModule (const std::string &InputFilename)
|
||||
{
|
||||
NameToModuleMap::iterator pos = allModules.find(InputFilename.c_str());
|
||||
if (pos != allModules.end()) {
|
||||
Module *m = allModules[InputFilename.c_str()];
|
||||
allModules.erase(pos);
|
||||
delete m;
|
||||
}
|
||||
}
|
||||
|
||||
/// InputFilename is a LLVM bytecode file. If Module with InputFilename is
|
||||
/// available then return it. Otherwise parseInputFilename.
|
||||
Module *
|
||||
|
Loading…
x
Reference in New Issue
Block a user