1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/include/llvm/Transforms
Mehdi Amini 80bbcf9c96 Global DCE performance improvement
Change the original algorithm so that it scales better when meeting
very large bitcode where every instruction does not implies a global.

The target query is "how to you get all the globals referenced by
another global"?

Before this patch, it was doing this by walking the body (or the
initializer) and collecting the references. What this patch is doing,
it precomputing the answer to this query for the whole module by
walking the use-list of every global instead.

Patch by: Serge Guelton <serge.guelton@telecom-bretagne.eu>

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

llvm-svn: 293328
2017-01-27 19:48:57 +00:00
..
InstCombine Do a sweep over move ctors and remove those that are identical to the default. 2016-10-20 12:20:28 +00:00
IPO Global DCE performance improvement 2017-01-27 19:48:57 +00:00
Scalar [PM] Port LoopLoadElimination to the new pass manager and wire it into 2017-01-27 01:32:26 +00:00
Utils MemorySSA: Link all defs together into an intrusive defslist, to make updater easier 2017-01-25 20:56:19 +00:00
Vectorize [PM] Separate the LoopAnalysisManager from the LoopPassManager and move 2017-01-11 09:43:56 +00:00
Coroutines.h [coroutines] Part 3 of N: Adding Boilerplate for Coroutine Passes 2016-07-28 21:04:31 +00:00
GCOVProfiler.h Consistently use ModuleAnalysisManager 2016-08-09 00:28:38 +00:00
InstrProfiling.h [Target, Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-18 00:57:48 +00:00
Instrumentation.h Makes promoteIndirectCall an external function. 2017-01-23 23:18:24 +00:00
IPO.h Fix Grammar. NFCI. 2017-01-21 02:11:40 +00:00
ObjCARC.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
PGOInstrumentation.h Consistently use ModuleAnalysisManager 2016-08-09 00:28:38 +00:00
SampleProfile.h Consistently use ModuleAnalysisManager 2016-08-09 00:28:38 +00:00
Scalar.h [Guards] Introduce loop-predication pass 2017-01-25 16:00:44 +00:00
Vectorize.h LoadStoreVectorizer: Check TTI for vec reg bit width 2016-07-01 02:07:22 +00:00