llvm/test
Adam Nemet 26abcb3277 [LAA] LLE 1/6: Expose Forward dependences
Summary:
Before this change, we didn't use to collect forward dependences since
none of the current clients (LV, LDist) required them.

The motivation to also collect forward dependences is a new pass
LoopLoadElimination (LLE) which discovers store-to-load forwarding
opportunities across the loop's backedge.  The pass uses both lexically
forward or backward loop-carried dependences to detect these
opportunities.

The new pass also analyzes loop-independent (forward) dependences since
they can conflict with the loop-carried dependences in terms of how the
data flows through memory.

The newly added test only covers loop-carried forward dependences
because loop-independent ones are currently categorized as NoDep.  The
next patch will fix this.

The two patches were tested together for compile-time regression.  None
found in LNT/SPEC.

Note that with this change LAA provides all dependences rather than just
"interesting" ones.  A subsequent NFC patch will remove the now trivial
isInterestingDependence and rename the APIs.

Reviewers: hfinkel

Subscribers: jmolloy, rengolin, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251972 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-03 20:13:23 +00:00
..
Analysis [LAA] LLE 1/6: Expose Forward dependences 2015-11-03 20:13:23 +00:00
Assembler
Bindings
Bitcode Don't assert if materializing before seeing any function bodies 2015-11-03 13:48:26 +00:00
BugPoint
CodeGen Remove unnecessary dependency on section and string positions. 2015-11-03 19:24:17 +00:00
DebugInfo [LLVMSymbolize] Use symbol table only if function linkage name was requested. 2015-10-26 20:12:29 +00:00
Examples
ExecutionEngine RuntimeDyld: add COFF i386 support 2015-11-01 01:26:15 +00:00
Feature [Inliner] Don't inline through callsites with operand bundles 2015-10-23 20:09:55 +00:00
FileCheck
Instrumentation [PGO] Do not emit runtime hook user function for Linux 2015-10-29 04:08:31 +00:00
Integer
JitListener
LibDriver
Linker Revert "Move metadata linking after lazy global materialization/linking." 2015-11-03 19:36:04 +00:00
LTO
MC Don't create empty sections just to look like gas. 2015-11-03 20:02:22 +00:00
Object Tests: be slightly more specific to avoid conflict with path. 2015-10-26 13:40:03 +00:00
Other
SymbolRewriter
TableGen
tools Allow llvm-nm’s single letter command line flags to be grouped. 2015-11-02 23:42:05 +00:00
Transforms [CodegenPrepare] Do not rematerialize gc.relocates across different basic blocks 2015-11-03 18:37:40 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh