summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineCombiner.cpp
diff options
context:
space:
mode:
authorAdam Nemet <anemet@apple.com>2015-11-03 20:13:23 +0000
committerAdam Nemet <anemet@apple.com>2015-11-03 20:13:23 +0000
commitb45516e875f5398418cf7e89f20bd41707b52358 (patch)
tree49cab8784c4a4e846ced4af824f7539646b8135f /llvm/lib/CodeGen/MachineCombiner.cpp
parentd1ec68241168bc6b02f176f65f9452a8f5c30c82 (diff)
downloadbcm5719-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/MachineCombiner.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud