aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopUtils.cpp
diff options
context:
space:
mode:
authorRoman Lebedev <lebedev.ri@gmail.com>2020-02-25 21:52:46 +0300
committerRoman Lebedev <lebedev.ri@gmail.com>2020-02-25 23:05:59 +0300
commitd6f47aeb5198b142072d8ce2bbf2fdd30d116db0 (patch)
tree6af8e9b1ccb536c903cadbc6c7420382dac41252 /llvm/lib/Transforms/Utils/LoopUtils.cpp
parent0f3c9b54e60b384728c0c24518b8f2645719275e (diff)
downloadllvm-d6f47aeb5198b142072d8ce2bbf2fdd30d116db0.zip
llvm-d6f47aeb5198b142072d8ce2bbf2fdd30d116db0.tar.gz
llvm-d6f47aeb5198b142072d8ce2bbf2fdd30d116db0.tar.bz2
[SCEV] SCEVExpander::isHighCostExpansionHelper(): cost-model min/max (PR44668)
Summary: Previosly we simply always said that `SCEVMinMaxExpr` is too costly to expand. But this isn't really true, it expands into just a comparison+swap pair. And again much like with add/mul, there will be one less such pair than the number of operands. And we need to count the cost of operands themselves. This does change a number of testcases, and as far as i can tell, all of these changes are improvements, in the sense that we fixed up more latches to do the [in]equality comparison. This concludes cost-modelling changes, no other SCEV expressions exist as of now. This is a part of addressing [[ https://bugs.llvm.org/show_bug.cgi?id=44668 | PR44668 ]]. Reviewers: reames, mkazantsev, wmi, sanjoy Reviewed By: mkazantsev Subscribers: hiraditya, javed.absar, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73744
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUtils.cpp')
0 files changed, 0 insertions, 0 deletions