1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/lib/Transforms/IPO
Peter Collingbourne 6a66a26be3 ThinLTOBitcodeWriter: Try harder to discard unused references to the merged module.
If the thin module has no references to an internal global in the
merged module, we need to make sure to preserve that property if the
global is a member of a comdat group, as otherwise promotion can end
up adding global symbols to the comdat, which is not allowed.

This situation can arise if the external global in the thin module
has dead constant users, which would cause use_empty() to return
false and would cause us to try to promote it. To prevent this from
happening, discard the dead constant users before asking whether a
global is empty.

Differential Revision: https://reviews.llvm.org/D40593

llvm-svn: 319494
2017-11-30 23:05:52 +00:00
..
AlwaysInliner.cpp
ArgumentPromotion.cpp [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-19 21:21:30 +00:00
BarrierNoopPass.cpp
CalledValuePropagation.cpp Attempt to unbreak the expensive-checks-win bot 2017-10-25 22:46:34 +00:00
CMakeLists.txt Add CalledValuePropagation pass 2017-10-25 13:40:08 +00:00
ConstantMerge.cpp [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-10 22:49:55 +00:00
CrossDSOCFI.cpp
DeadArgumentElimination.cpp [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-10 22:49:55 +00:00
ElimAvailExtern.cpp [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-10 22:49:55 +00:00
ExtractGV.cpp
ForceFunctionAttrs.cpp
FunctionAttrs.cpp [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-19 21:21:30 +00:00
FunctionImport.cpp [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-10 22:49:55 +00:00
GlobalDCE.cpp [GlobalDCE] Use DenseMap instead of unordered_multimap for GVDependencies. 2017-10-17 23:47:06 +00:00
GlobalOpt.cpp Make DIExpression::createFragmentExpression() return an Optional. 2017-11-07 00:45:34 +00:00
GlobalSplit.cpp [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-10 22:49:55 +00:00
InferFunctionAttrs.cpp
Inliner.cpp [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-19 21:21:30 +00:00
InlineSimple.cpp
Internalize.cpp
IPConstantPropagation.cpp
IPO.cpp Add CalledValuePropagation pass 2017-10-25 13:40:08 +00:00
LLVMBuild.txt
LoopExtractor.cpp Use a BumpPtrAllocator for Loop objects 2017-09-28 02:45:42 +00:00
LowerTypeTests.cpp LowerTypeTests: Deduplicate code. NFC. 2017-11-30 00:27:08 +00:00
MergeFunctions.cpp [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-19 21:21:30 +00:00
PartialInlining.cpp - Removed unused lamba (IsReturnBlock) causing build bots to fail for r319398 2017-11-30 03:36:57 +00:00
PassManagerBuilder.cpp Rename CountingFunctionInserter and use for both mcount and cygprofile calls, before and after inlining 2017-11-14 21:09:45 +00:00
PruneEH.cpp
SampleProfile.cpp Include already promoted counts when computing SUM for VP. 2017-11-06 19:52:49 +00:00
StripDeadPrototypes.cpp
StripSymbols.cpp
ThinLTOBitcodeWriter.cpp ThinLTOBitcodeWriter: Try harder to discard unused references to the merged module. 2017-11-30 23:05:52 +00:00
WholeProgramDevirt.cpp Rename OptimizationDiagnosticInfo.* to OptimizationRemarkEmitter.* 2017-10-09 23:19:02 +00:00