[llvm-dev] "[NFC]" Abuse

Chris Lattner via llvm-dev llvm-dev at lists.llvm.org
Tue Jun 22 16:09:33 PDT 2021


On Jun 17, 2021, at 10:11 AM, Luke Drummond via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Hi all
> 
> Twice in the last week I've had to bisect crashes in the middle end or failed CI
> due to commits marked "[NFC]" that changed something fundamental about a public
> API or the format of IR.
> 
> While I understand LLVM's always been pretty fluid with API and ABI stability,
> it smacks a little when the offending commit is marked "[NFC]".
> 
> Can some elders / code-owners comment on the expected threshold for what no
> longer counts as "NFC"? I'd personally like to limit its usage to things like
> changing a local variable name, rewording a comment, or clang-formatting
> something - not API, ABI, or IR changes.


I agree with most of the discussion in the thread:

“NFC” is intended to talk about the behavior of the compiler, not its API.  I agree with Mehdi that it is intended (among other things) to be an explanation of why there are no new tests or changes to existing tests.

I don’t think that extending it to mean “no C++ API were made”.  In fact, one of the major intentions of “NFC” is to encourage people to do land large changes as a series of NFC refactorings.

That said, I agree with you that changes to the IR itself are not NFC.  This is an observable change to the compiler behavior and should require test updates. 

-Chris


More information about the llvm-dev mailing list