rjmccall added a comment.

In D82317#2200964 <https://reviews.llvm.org/D82317#2200964>, @guiand wrote:

> In D82317#2200789 <https://reviews.llvm.org/D82317#2200789>, @rjmccall wrote:
>
>> Are you seriously adding an attribute to literally every argument and return 
>> value?  Why is this the right representation?
>
> This adds an attribute to every argument and return value where the language 
> rules denote it cannot be undef (which is ideally in most places, but 
> definitely not everywhere).

Okay, so it's just 90% of arguments and return values.  Can you link the 
discussion?  I seem to have completely missed this.

I agree that a positive attribute seems like the right polarity in the 
abstract, and since undef-ness is a core static property in LLVM, it probably 
does need to be fairly invasive.  It's just unfortunate for a couple of 
reasons: first, this is going to be quite disruptive for downstream users and 
forks; second, it's yet another contribution towards the giant pile of 
attributes that seem to have become necessary to do any work in LLVM; and 
third, it's progress towards working around the problems with `undef` rather 
than towards replacing it entirely with a proper indeterminate-but-consistent 
abstraction, which is what's been badly needed for years.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D82317

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

Reply via email to