[PATCH] D82317: [Clang/Test]: Update tests where `noundef` attribute is necessary

John McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 6 14:52:47 PDT 2020


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



More information about the cfe-commits mailing list