[all-commits] [llvm/llvm-project] ceb023: [LoopVectorize] Improve algorithm for hoisting run...

David Sherwood via All-commits all-commits at lists.llvm.org
Tue Dec 12 01:10:52 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ceb02379a9636371c4f0c837c2c24164fdf03062
      https://github.com/llvm/llvm-project/commit/ceb02379a9636371c4f0c837c2c24164fdf03062
  Author: David Sherwood <57997763+david-arm at users.noreply.github.com>
  Date:   2023-12-12 (Tue, 12 Dec 2023)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll

  Log Message:
  -----------
  [LoopVectorize] Improve algorithm for hoisting runtime checks (#73515)

When attempting to hoist runtime checks out of a loop we currently avoid
creating pointer diff checks and prefer to do expanded range checks
instead. This gives us the opportunity to hoist runtime checks out of a
loop, since these checks are loop invariant. However, in some cases the
pointer diff checks would also be loop invariant and so will naturally
get hoisted. Therefore, since diff checks are cheaper so we should
prefer to use those instead.




More information about the All-commits mailing list