[clang] [llvm] [InstCombine] Strip leading zero indices from GEP (PR #155415)
Jan Patrick Lehr via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 4 02:55:05 PDT 2025
jplehr wrote:
I reverted this patch locally as this restores the tests back to passing and then retrieved the IR from the same point in the pipeline -- attached below.
There is two differences, that I am not sure how relevant they are. I'll quote one here, another similar one is found much further towards the end of the file.
Good case, line 189
```
%arrayidx.i.i.i.i = getelementptr inbounds [64 x %"struct.__llvm_libc_22_0_0_git::AtExitUnit"], ptr addrspace(1) @_ZN22__llvm_libc_22_0_0_git16atexit_callbacksE, i64 0, i64 %1
```
Bad case, line 189
```
%arrayidx.i.i.i.i = getelementptr inbounds %"struct.__llvm_libc_22_0_0_git::AtExitUnit", ptr addrspace(1) @_ZN22__llvm_libc_22_0_0_git16atexit_callbacksE, i64 %1
```
I do not know whether this is any significant though. Mostly caught my attention as a difference and that the integer literal that went away (`64`) is the number of lanes on our GPU.
Maybe that info is a piece to this puzzle.
IR:
[libc-gpu-precodegen-good.txt](https://github.com/user-attachments/files/22135671/libc-gpu-precodegen-good.txt)
https://github.com/llvm/llvm-project/pull/155415
More information about the llvm-commits
mailing list