[clang] [flang] [llvm] [InstCombine] Canonicalize constant GEPs to i8 source element type (PR #68882)

Sumanth Gundapaneni via llvm-commits llvm-commits at lists.llvm.org
Mon May 13 12:54:51 PDT 2024


sgundapa wrote:

I've observed a significant regression in one of the AMDGPU benchmarks after applying this patch.  The base address calculation within the unrolled loop seems to be the source. I've attached "before.log" and "after.log" files that detail the issue.

The modified GEP format, introduced by this patch, doesn't align with the canonical form expected by the "separate-constant-offset-from-gep" pass. Consequently, the "straight line strength reduction" (SLSR) pass cannot optimize the computation.

While the intention behind this patch, replicating some "split-gep" pass functionality, is understood, the unintended impact on the SLSR pass is notable.

Before I delve into potential solutions, I would greatly appreciate your insights and perspective on this matter.[
[after.log](https://github.com/llvm/llvm-project/files/15299364/after.log)
[before.log](https://github.com/llvm/llvm-project/files/15299365/before.log)
](url)

https://github.com/llvm/llvm-project/pull/68882


More information about the llvm-commits mailing list