1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 12:02:58 +02:00
llvm-mirror/test
George Burgess IV c568184023 [MemorySSA] Update to the new shiny walker.
This patch updates MemorySSA's use-optimizing walker to be more
accurate and, in some cases, faster.

Essentially, this changed our core walking algorithm from a
cache-as-you-go DFS to an iteratively expanded DFS, with all of the
caching happening at the end. Said expansion happens when we hit a Phi,
P; we'll try to do the smallest amount of work possible to see if
optimizing above that Phi is legal in the first place. If so, we'll
expand the search to see if we can optimize to the next phi, etc.

An iteratively expanded DFS lets us potentially quit earlier (because we
don't assume that we can optimize above all phis) than our old walker.
Additionally, because we don't cache as we go, we can now optimize above
loops.

As an added bonus, this patch adds a ton of verification (if
EXPENSIVE_CHECKS are enabled), so finding bugs is easier.

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

llvm-svn: 275940
2016-07-19 01:29:15 +00:00
..
Analysis [X86] Add CTPOP/CTLZ/CTTZ scalar cost tests 2016-07-17 18:29:19 +00:00
Assembler [ConstantFold] Don't incorrectly infer inbounds on array GEP 2016-07-13 03:24:41 +00:00
Bindings
Bitcode
BugPoint
CodeGen AMDGPU: Expand register indexing pseudos in custom inserter 2016-07-19 00:35:03 +00:00
DebugInfo [pdb] Teach MsfBuilder and other classes about the Free Page Map. 2016-07-15 22:17:19 +00:00
Examples
ExecutionEngine X86: handle external tail calls in Windows JIT 2016-07-14 17:27:06 +00:00
Feature
FileCheck
Instrumentation [sanitizer-coverage] make sure that calls to __sanitizer_cov_trace_pc are not merged (otherwise different calls get the same PC and confuse fuzzers) 2016-07-14 17:59:01 +00:00
Integer
JitListener
LibDriver
Linker
LTO Add a libLTO API to query a memory buffer and check if it contains ObjC categories 2016-07-11 23:10:18 +00:00
MC [MC] Cleanup Error Handling in AsmParser 2016-07-18 15:24:03 +00:00
Object
ObjectYAML
Other
SymbolRewriter
TableGen
ThinLTO/X86
tools Retry: [llvm-profdata] Speed up merging by using a thread pool 2016-07-19 01:17:20 +00:00
Transforms [MemorySSA] Update to the new shiny walker. 2016-07-19 01:29:15 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg Review fixes to lit documentation 2016-07-12 20:59:17 +00:00
lit.site.cfg.in
TestRunner.sh