[PATCH] Reimplement heuristic for estimating complete-unroll optimization effects.

Michael Zolotukhin mzolotukhin at apple.com
Mon May 11 20:19:39 PDT 2015


- Add a comment before follow().
- Replace BBSetVector with SmallSetVector<BasicBlock *, 16>.
- Doxygen-ify some comments.
- Remove unnecessary variable 'SCEVGEPDescriptor d'.
- Use range-base loop.
- Replace 'd' with a meaningfull name.
- Add some comments and fixme-s.
- Initialize NumberOfOptimizedInstructions and UnrolledLoopSize in constructor.
- Rewrite expression to avoid overflow.
- Remove no longer needed overflow check.
- Replace a comment with an assert.
- Use UA.UnrolledLoopSize instead of min(UA.UnrolledLoopSize, UnrolledSize).
- Add FIXME for out-of-bound access handling.
- Remove redundant if(BB->empty()) check.
- Replace typedef with a named struct.
- Use APInt instead of uint64_t.
- Add sanity checks before accessing SCEV.


http://reviews.llvm.org/D8816

Files:
  lib/Transforms/Scalar/LoopUnrollPass.cpp
  test/Transforms/LoopUnroll/full-unroll-bad-geps.ll
  test/Transforms/LoopUnroll/full-unroll-heuristics.ll

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D8816.25546.patch
Type: text/x-patch
Size: 31287 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150512/3fbd966a/attachment.bin>


More information about the llvm-commits mailing list