[ThinLTO/Summary] Rename anonymous globals as last action ...
authorDavide Italiano <davide@freebsd.org>
Sun, 23 Apr 2017 04:49:34 +0000 (04:49 +0000)
committerDavide Italiano <davide@freebsd.org>
Sun, 23 Apr 2017 04:49:34 +0000 (04:49 +0000)
commit5da709025629fcc90a37cfd942632c98a3c4de94
treeceecab246e7ec8ae2d9ab9a167a58f1bb9d71fcd
parentae9672c96d2dcad39ab9bc306a9f5e0b5ef0dfc1
[ThinLTO/Summary] Rename anonymous globals as last action ...

... in the per-TU -O0 pipeline.
The problem is that there could be passes registered using
`addExtensionsToPM()` introducing unnamed globals.
Asan is an example, but there may be others. Building cppcheck
with `-flto=thin` and `-fsanitize=address` triggers an assertion
while we're reading bitcode (in lib/LTO), as the BitcodeReader
assumes there are no unnamed globals (because the namer has run).
Unfortunately I wasn't able to find an easy way to test this.
I added a comment in the hope nobody moves this again.

llvm-svn: 301102
llvm/lib/Transforms/IPO/PassManagerBuilder.cpp