llvm-6502/test
Tobias Edler von Koch 3659b8adc9 Analyze recursive PHI nodes in BasicAA
Summary:
This patch allows phi nodes like
  %x = phi [ %incptr, ... ] [ %var, ... ]
  %incptr = getelementptr %x, 1
to be analyzed by BasicAliasAnalysis.

In aliasPHI, we can detect incoming values that are recursive GEPs with a
constant offset. Instead of trying to analyze a recursive GEP (and failing), 
we now ignore it and instead set the size of the memory referenced by
the PHINode to UnknownSize. This represents all the possible memory
locations the pointer represented by the PHINode could be advanced to
by the GEP.

For now, this new behavior is turned off by default to allow debugging of
performance degradations seen with SPEC/x86 and Hexagon benchmarks.
The flag -basicaa-recphi turns it on.


Reviewers: hfinkel, sanjoy

Subscribers: tobiasvk_caf, sanjoy, llvm-commits

Differential Revision: http://reviews.llvm.org/D10368

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242320 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-15 19:32:22 +00:00
..
Analysis Analyze recursive PHI nodes in BasicAA 2015-07-15 19:32:22 +00:00
Assembler Extended syntax of vector version of getelementptr instruction. 2015-07-09 07:42:48 +00:00
Bindings
Bitcode Add argmemonly attribute. 2015-07-11 10:30:36 +00:00
BugPoint
CodeGen Revert "Look through PHIs to find additional register sources" 2015-07-15 18:10:35 +00:00
DebugInfo Debug Info: Add basic support for external types references. 2015-07-15 17:01:41 +00:00
ExecutionEngine
Feature Revert the new EH instructions 2015-07-10 07:15:17 +00:00
FileCheck
Instrumentation
Integer
JitListener
LibDriver LibDriver: Fix output path inference. 2015-07-08 19:00:46 +00:00
Linker
LTO
MC [PPC] Disassemble little endian ppc instructions in the right byte order 2015-07-15 12:56:19 +00:00
Object Initial support for writing thin archives. 2015-07-15 05:47:46 +00:00
Other
SymbolRewriter
TableGen [TableGen] Improve decoding options for non-orthogonal instructions 2015-07-15 08:04:27 +00:00
tools [llvm-readobj] Print MIPS PLT table 2015-07-09 18:23:10 +00:00
Transforms Tidy-up test case from r242257. 2015-07-15 01:51:51 +00:00
Unit
Verifier Revert the new EH instructions 2015-07-10 07:15:17 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh