[MetaRenamer] Leave @main alone.

To the best of my knowledge -metarenamer is used in two cases:
1) obfuscate names, when e.g. they contain informations that
can't be shared.
2) Improve clarity of the textual IR for testcases.

One of the usecases if getting the output of `opt` and passing it
to the lli interpreter to run the test. If metarenamer renames
@main, lli can't find an entry point.

llvm-svn: 309657
This commit is contained in:
Davide Italiano
2017-08-01 05:14:45 +00:00
parent d6cfed6060
commit 72c4285bd6
2 changed files with 20 additions and 1 deletions

View File

@@ -123,7 +123,11 @@ namespace {
TLI.getLibFunc(F, Tmp))
continue;
F.setName(renamer.newName());
// Leave @main alone. The output of -metarenamer might be passed to
// lli for execution and the latter needs a main entry point.
if (Name != "main")
F.setName(renamer.newName());
runOnFunction(F);
}
return true;