1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 13:02:52 +02:00
llvm-mirror/lib/Transforms/IPO
Davide Italiano 6828422cea [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
2017-04-23 04:49:34 +00:00
..
AlwaysInliner.cpp [PM] Teach the always inliner in the new pass manager to support 2016-12-26 23:43:27 +00:00
ArgumentPromotion.cpp [IR] Make getParamAttributes take argument numbers, not ArgNo+1 2017-04-13 23:12:13 +00:00
BarrierNoopPass.cpp
CMakeLists.txt IPO: Introduce ThinLTOBitcodeWriter pass. 2016-12-16 00:26:30 +00:00
ConstantMerge.cpp Don't merge global constants with non-dbg metadata. 2017-03-09 00:03:37 +00:00
CrossDSOCFI.cpp Module::getOrInsertFunction is using C-style vararg instead of variadic templates. 2017-04-11 15:01:18 +00:00
DeadArgumentElimination.cpp [DAE] Simplify attribute list creation, NFC 2017-04-19 23:45:45 +00:00
ElimAvailExtern.cpp
ExtractGV.cpp
ForceFunctionAttrs.cpp
FunctionAttrs.cpp Prefer addAttr(Attribute::AttrKind) over the AttributeList overload 2017-04-19 17:28:52 +00:00
FunctionImport.cpp [FunctionImport] assert(false) -> llvm_unreachable(). NFCI. 2017-04-14 17:22:02 +00:00
GlobalDCE.cpp Global DCE performance improvement 2017-01-27 19:48:57 +00:00
GlobalOpt.cpp [GlobalOpt] Simplify attribute code stripping nest, NFC 2017-04-19 23:26:44 +00:00
GlobalSplit.cpp Fix one-after-the-end type metadata handling in globalsplit. 2017-03-07 22:18:48 +00:00
InferFunctionAttrs.cpp
Inliner.cpp r286814 resulted that CallPenalty can be subtracted twice: 2017-03-22 12:01:57 +00:00
InlineSimple.cpp Do not inline hot callsites for samplepgo in thinlto compile phase. 2017-03-21 19:55:36 +00:00
Internalize.cpp
IPConstantPropagation.cpp [IPCP] Don't propagate return value for naked functions. 2017-02-04 19:44:14 +00:00
IPO.cpp Introduce GlobalSplit pass. 2016-11-16 23:40:26 +00:00
LLVMBuild.txt Add missing library dep. 2016-12-16 00:43:00 +00:00
LoopExtractor.cpp
LowerTypeTests.cpp IPO: Const correctness for summaries passed into passes. 2017-03-22 18:22:59 +00:00
MergeFunctions.cpp [IR] Make getParamAttributes take argument numbers, not ArgNo+1 2017-04-13 23:12:13 +00:00
PartialInlining.cpp [PartialInlining] Using existing hasAddressTaken interface to legality check/NFC 2017-04-22 19:24:19 +00:00
PassManagerBuilder.cpp [ThinLTO/Summary] Rename anonymous globals as last action ... 2017-04-23 04:49:34 +00:00
PruneEH.cpp [PruneEH] Be correct in the face IPO 2016-10-03 19:35:30 +00:00
SampleProfile.cpp [SampleProfile] Don't assert when printing the DebugLoc of a branch. NFC. 2017-04-18 11:27:58 +00:00
StripDeadPrototypes.cpp
StripSymbols.cpp [StripDeadDebug/DIFinder] Track inlined SPs 2017-04-11 13:32:11 +00:00
ThinLTOBitcodeWriter.cpp Bitcode: Add a string table to the bitcode format. 2017-04-17 17:51:36 +00:00
WholeProgramDevirt.cpp Module::getOrInsertFunction is using C-style vararg instead of variadic templates. 2017-04-11 15:01:18 +00:00