[llvm-dev] "[NFC]" Abuse

Adam HARRIES via llvm-dev llvm-dev at lists.llvm.org
Thu Jun 24 03:53:09 PDT 2021

> if a user of an LLVM tool (clang/lld/llvm-objdump/...) can see a
difference in behaviour because of the change

As a fairly new member of the llvm community, I'm interested in what people
mean when they say "users".  For me, there are two distinct groups that I
could consider "users" of the llvm-project: Day-to-day developers who use
the compiled tools to build separate software, and compiler/tool developers
who integrate or build upon llvm to build a piece of software. From reading
through this thread it feels like these groups are sometimes being
conflated, which leads to disagreements regarding whether or not a change
will affect llvm "users". If we only consider group one to be "users", then
clearly any change that does not alter the observable behaviours of the
binaries can be considered a NFC. However, if we consider group two to be
users as well, then the impacts of any change may be a functional change -
and I would personally argue that this is especially true for API changes.

As a member of group two, I have found that (as I think Luke has) changes
which are considered non-functional can sometimes have surprising effects
on our downstream components. While it is in no way the llvm project's
responsibility to avoid breaking our code, any assistance in the form of
comments or more precise tags goes a great way towards helping us to find
and diagnose places where our assumptions are inconsistent with the state
of the software.


*Adam Brouwers-Harries*
Compiler Engineer
aharries at upmem.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210624/eb9a74b0/attachment.html>

More information about the llvm-dev mailing list