https://github.com/AlexVlx commented:

> It's very uncommon for LLVM to need to come up with an address space on its 
> own, as opposed to just propagating the original address space of some memory 
> / operation as chosen by the frontend.  LLVM occasionally creates new storage 
> allocations, but usually they're (non-escaping) `alloca`s and therefore have 
> to be in the `alloca` AS.  The only situation I can think of where LLVM might 
> legitimately have to come with an address space is when LLVM decides to 
> introduce new global constants.  (I can't think of any transformation that 
> would introduce a *non-constant* global.)  So if you add a default AS to 
> `DataLayout`, please focus on that specifically and call it something like a 
> "preferred constant address space" rather than some sort of default AS.  The 
> default AS for pointer types and so on is really a frontend issue that's none 
> of LLVM's business to know about. 

I'm not quite sure how to parse this comment, could you explain what you have 
in mind here? The problem is precisely that the FE assumes 0 is fine / picks it 
by default, which ends up into dangerzones when e.g. a target happened to use 0 
to point to private (stack). I feel as if I'm missing the core of your comment 
though, so apologies in advance.

https://github.com/llvm/llvm-project/pull/88182
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to