[llvm] [InstCombine] Skip GEP canonicalization for types containing target extension types (PR #191790)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 13 04:41:07 PDT 2026


https://github.com/nikic requested changes to this pull request.

The semantics of target extension types in GEPs are fixed and backend-independent. If the target extension type is unsized, it cannot be used in GEP. If it's sized, then it behaves the same as its layout type.

If you want to create a GEP that uses a layout that is not known at compile-time, you need to use [`llvm.structured.gep`](https://llvm.org/docs/LangRef.html#llvm-structured-gep-intrinsic) instead.

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


More information about the llvm-commits mailing list