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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits