diff options
author | Davide Italiano <davide@freebsd.org> | 2017-08-01 05:14:45 +0000 |
---|---|---|
committer | Davide Italiano <davide@freebsd.org> | 2017-08-01 05:14:45 +0000 |
commit | 72c4285bd601e1ccdaf9e69fb512061e371d970c (patch) | |
tree | ab5b175d8d62ac1e17b89c86d41e815babce6851 /llvm/lib/Transforms/Utils/MetaRenamer.cpp | |
parent | d6cfed6060c283dc4a6bf9ca294dcd732e8b9f72 (diff) | |
download | bcm5719-llvm-72c4285bd601e1ccdaf9e69fb512061e371d970c.tar.gz bcm5719-llvm-72c4285bd601e1ccdaf9e69fb512061e371d970c.zip |
[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
Diffstat (limited to 'llvm/lib/Transforms/Utils/MetaRenamer.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/MetaRenamer.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Utils/MetaRenamer.cpp b/llvm/lib/Transforms/Utils/MetaRenamer.cpp index 9f2ad540c83..9af9d5fcd79 100644 --- a/llvm/lib/Transforms/Utils/MetaRenamer.cpp +++ b/llvm/lib/Transforms/Utils/MetaRenamer.cpp @@ -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; |