[PATCH] D139858: [SCEVExpander] Increase "cheap" expansion budget for loop invariants, but not loop exit values

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 12 15:15:23 PST 2022


lebedev.ri updated this revision to Diff 482284.
lebedev.ri retitled this revision from "[SCEVExpander] Increase "cheap" expansion budget" to "[SCEVExpander] Increase "cheap" expansion budget for loop invariants, but not loop exit values".
lebedev.ri edited the summary of this revision.
lebedev.ri added a comment.

Currently, we use the budget for 3 purposes:

- loop exit value rewriting
- loop trip/exit count expansion
- loop invariant expansion

Now, the loop trip/exit count is a special case of
the loop invariant, so let's treat them as one.
Out of the three, loop exit value is indeed the problematic one.

Let's split the budget into two, and bump the loop invariant one.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D139858/new/

https://reviews.llvm.org/D139858

Files:
  llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
  llvm/lib/Target/BPF/BPFTargetTransformInfo.h
  llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
  llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
  llvm/lib/Transforms/Utils/LoopUtils.cpp
  llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
  llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
  llvm/test/Transforms/IndVarSimplify/X86/eliminate-trunc.ll
  llvm/test/Transforms/IndVarSimplify/X86/loop-invariant-conditions.ll
  llvm/test/Transforms/IndVarSimplify/X86/pr45360.ll
  llvm/test/Transforms/IndVarSimplify/post-inc-range.ll
  llvm/test/Transforms/IndVarSimplify/pr45835.ll
  llvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-values-phi.ll
  llvm/test/Transforms/LoopUnroll/X86/high-cost-expansion.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D139858.482284.patch
Type: text/x-patch
Size: 44636 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221212/8e4db919/attachment.bin>


More information about the llvm-commits mailing list