rjmccall added a comment.

In D71208#1776633 <https://reviews.llvm.org/D71208#1776633>, @nhaehnle wrote:

> In D71208#1776202 <https://reviews.llvm.org/D71208#1776202>, @rjmccall wrote:
>
> > The questions I'd like to have answered before I can approve this are:
> >
> > - whether there are clients of `@llvm.global.annotations` that will have 
> > problems with non-0 address spaces and
>
>
> Yes, that's where this patch is ultimately coming from. I have some 
> work-in-progress code to generate IRBuilder-using C++ code from LLVM IR, 
> which we're currently using internally (with plans to upstream later next 
> year) for an AMDGPU frontend, where non-0 address spaces are used. Using 
> annotations is the least-invasive way I've found to attach required 
> additional data to LLVM IR generated from C...


My concern is that there's something that's going to blow up or miscompile if 
we start passing in constants that aren't in a regular address space.  Aren't 
there kinds of annotations which get persisted into the emitted code?

>> - whether this will interfere with someday having an invariant that 
>> `addrspacecast` is only used to do legal conversions.
> 
> That could potentially be a problem at some point, but this patch isn't 
> making the situation any worse. Without this patch, Clang just 
> unconditionally crashes (hits an assertion) when there's an annotation on a 
> non-0 address space variable. With this patch, in the worst case the 
> crash/assertion comes later...

Well, it's making it worse in the sense that this global-annotations list would 
become a blocker for tightening the representation.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71208/new/

https://reviews.llvm.org/D71208



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to