[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. 


More information about the llvm-dev mailing list