llvm-6502/lib
Adam Nemet 718b023033 [LoopAccesses] Create the analysis pass
This is a function pass that runs the analysis on demand.  The analysis
can be initiated by querying the loop access info via LAA::getInfo.  It
either returns the cached info or runs the analysis.

Symbolic stride information continues to reside outside of this analysis
pass. We may move it inside later but it's not a priority for me right
now.  The idea is that Loop Distribution won't support run-time stride
checking at least initially.

This means that when querying the analysis, symbolic stride information
can be provided optionally.  Whether stride information is used can
invalidate the cache entry and rerun the analysis.  Note that if the
loop does not have any symbolic stride, the entry should be preserved
across Loop Distribution and LV.

Since currently the only user of the pass is LV, I just check that the
symbolic stride information didn't change when using a cached result.

On the LV side, LoopVectorizationLegality requests the info object
corresponding to the loop from the analysis pass.  A large chunk of the
diff is due to LAI becoming a pointer from a reference.

A test will be added as part of the -analyze patch.

Also tested that with AVX, we generate identical assembly output for the
testsuite (including the external testsuite) before and after.

This is part of the patchset that converts LoopAccessAnalysis into an
actual analysis pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229626 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-18 03:43:24 +00:00
..
Analysis [LoopAccesses] Create the analysis pass 2015-02-18 03:43:24 +00:00
AsmParser AsmParser: extractvalue requires at least one index operand 2015-02-16 09:18:13 +00:00
Bitcode Prefer SmallVector::append/insert over push_back loops. 2015-02-17 15:29:18 +00:00
CodeGen LiveRangeCalc: Rename some parameters from kill to use, NFC. 2015-02-18 01:50:52 +00:00
DebugInfo llvm-pdbdump: Add flags controlling the type of values to dump. 2015-02-15 20:27:53 +00:00
ExecutionEngine Don't deference the section_end() iterator. 2015-02-17 20:07:28 +00:00
Fuzzer [fuzzer] move default sanitizer options to a separate file 2015-02-06 19:52:07 +00:00
IR IR: fieldIsMDNode() should be false for MDString 2015-02-17 22:34:15 +00:00
IRReader Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
LineEditor Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
Linker Prefer SmallVector::append/insert over push_back loops. 2015-02-17 15:29:18 +00:00
LTO [PM] Remove the old 'PassManager.h' header file at the top level of 2015-02-13 10:01:29 +00:00
MC Add r228980 back. 2015-02-17 20:48:01 +00:00
Object [Object] Support reading 64-bit MIPS ELF archives 2015-02-17 18:54:22 +00:00
Option Prefer SmallVector::append/insert over push_back loops. 2015-02-17 15:29:18 +00:00
ProfileData Re-apply "InstrProf: Add unit tests for the profile reader and writer" 2015-02-18 01:58:17 +00:00
Support Prefer SmallVector::append/insert over push_back loops. 2015-02-17 15:29:18 +00:00
TableGen MSVC 2013 does not ICE on this code in the same fashion that MSVC 2012 did; NFC. 2015-02-16 19:33:36 +00:00
Target R600/SI: Rename dst encoding field to be consistent with docs 2015-02-18 02:15:37 +00:00
Transforms [LoopAccesses] Create the analysis pass 2015-02-18 03:43:24 +00:00
CMakeLists.txt Reverting r227452, which adds back the fuzzer library. Now excluding the fuzzer library based on LLVM_USE_SANITIZE_COVERAGE being set or unset. 2015-01-29 16:58:29 +00:00
LLVMBuild.txt
Makefile Move DebugInfo to DebugInfo/DWARF. 2015-01-30 18:07:45 +00:00