[all-commits] [llvm/llvm-project] 9cc218: [unroll] Use value domain for symbolic execution b...
Philip Reames via All-commits
all-commits at lists.llvm.org
Wed May 26 08:41:54 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 9cc2181ec3885b5b505849448955659b3c6299d5
https://github.com/llvm/llvm-project/commit/9cc2181ec3885b5b505849448955659b3c6299d5
Author: Philip Reames <listmail at philipreames.com>
Date: 2021-05-26 (Wed, 26 May 2021)
Changed paths:
M llvm/include/llvm/Analysis/LoopUnrollAnalyzer.h
M llvm/lib/Analysis/LoopUnrollAnalyzer.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/test/Transforms/LoopUnroll/unroll-cost-symbolic-execute.ll
M llvm/unittests/Analysis/UnrollAnalyzerTest.cpp
Log Message:
-----------
[unroll] Use value domain for symbolic execution based cost model
The current full unroll cost model does a symbolic evaluation of the loop up to a fixed limit. That symbolic evaluation currently simplifies to constants, but we can generalize to arbitrary Values using the InstructionSimplify infrastructure at very low cost.
By itself, this enables some simplifications, but it's mainly useful when combined with the branch simplification over in D102928.
Differential Revision: https://reviews.llvm.org/D102934
More information about the All-commits
mailing list