diff options
author | zhongyunde 00443407 <zhongyunde@huawei.com> | 2023-10-23 09:19:54 -0400 |
---|---|---|
committer | Zhongyunde <zhongyunde@huawei.com> | 2024-03-14 22:05:20 +0800 |
commit | 098520244f90e9330d3ae78bd1061aee2e3688c0 (patch) | |
tree | a2450ffbe4f6f284eef99ccc3f5422e72a115dce /llvm/lib/Transforms/Utils/LoopUtils.cpp | |
parent | 160693dbde2837af4237954edd38b08b2bb17a29 (diff) | |
download | llvm-098520244f90e9330d3ae78bd1061aee2e3688c0.zip llvm-098520244f90e9330d3ae78bd1061aee2e3688c0.tar.gz llvm-098520244f90e9330d3ae78bd1061aee2e3688c0.tar.bz2 |
[InstCombine] optimize powi(X,Y) * X with Ofast
Try to transform the powi(X, Y) * X into powi(X, Y+1) with Ofast
For this case, when the Y is 3, then powi(X, 4) is replaced by
X2 = X * X; X2 * X2 in the further step.
Similar to D109954, who requires reassoc.
Fixes https://github.com/llvm/llvm-project/issues/69862.
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUtils.cpp')
0 files changed, 0 insertions, 0 deletions