[clang] [lld] [llvm] [mlir] [IR] Introduce `T<address space>` to `DataLayout` to represent flat address space if a target supports it (PR #108786)

via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 16 04:28:04 PDT 2024


gonzalobg wrote:

Is there some github issue or discourse thread that provides context for this change?
What problem does this PR solve?

My understanding is that the default LLVM IR address space (*) is flat. Is that currently the case or is my understanding incorrect? Is this PR proposing that `addrspace(0)` should be allowed to no longer be flat, and that whether a target provides a flat address space shall be optional? What alternatives where considered? (e.g. why isn't sufficient for targets that cannot provide a flat address pace to just not implement support for `addrspace(0)`? i.e. why do we need to support a non-flat `addrspace(0)` and allow a target to provide a `flat` addresspace at a different identifier?)

(*) The address space C++/Rust/... pointers map to, i.e., `addrspace(0)`.

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


More information about the cfe-commits mailing list