diff options
| author | Adam Nemet <anemet@apple.com> | 2015-11-03 20:13:23 +0000 |
|---|---|---|
| committer | Adam Nemet <anemet@apple.com> | 2015-11-03 20:13:23 +0000 |
| commit | b45516e875f5398418cf7e89f20bd41707b52358 (patch) | |
| tree | 49cab8784c4a4e846ced4af824f7539646b8135f /llvm/lib/CodeGen/LiveDebugVariables.cpp | |
| parent | d1ec68241168bc6b02f176f65f9452a8f5c30c82 (diff) | |
| download | bcm5719-llvm-b45516e875f5398418cf7e89f20bd41707b52358.tar.gz bcm5719-llvm-b45516e875f5398418cf7e89f20bd41707b52358.zip | |
[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
llvm-svn: 251972
Diffstat (limited to 'llvm/lib/CodeGen/LiveDebugVariables.cpp')
0 files changed, 0 insertions, 0 deletions

