[PATCH] D27939: [LICM] Report failing to hoist a load with an invariant address

Adam Nemet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 19 13:37:00 PST 2016


anemet created this revision.
anemet added a reviewer: hfinkel.
anemet added a subscriber: llvm-commits.
Herald added a subscriber: fhahn.

These are interesting because lack of precision in alias information
could be standing in the way of this optimization.

An example is the case in the test suite that I showed in the DevMeeting
talk:

http://lab.llvm.org:8080/artifacts/opt-view_test-suite/build/MultiSource/Benchmarks/FreeBench/distray/CMakeFiles/distray.dir/html/_org_test-suite_MultiSource_Benchmarks_FreeBench_distray_distray.c.html#L236

canSinkOrHoistInst is also used from LoopSink, which does not use
opt-remarks so we need to take ORE as an optional argument.


https://reviews.llvm.org/D27939

Files:
  include/llvm/Transforms/Utils/LoopUtils.h
  lib/Transforms/Scalar/LICM.cpp
  test/Transforms/LICM/opt-remarks-intervening-store.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27939.81993.patch
Type: text/x-patch
Size: 5057 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161219/40743d75/attachment.bin>


More information about the llvm-commits mailing list