================
@@ -652,6 +652,134 @@ in the future. The expected roadmap for Reduced BMIs as
of Clang 19.x is:
comes, the term BMI will refer to the Reduced BMI and the Full BMI will only
be meaningful to build systems which elect to support two-phase compilation.
+Experimental No Transitive Change
+---------------------------------
+
+Starting with clang19.x, we introduced an experimental feature: the
non-transitive
+change for modules, aimed at reducing unnecessary recompilations. For example,
----------------
ilya-biryukov wrote:
NIT: Maybe call it "Avoiding unnecessary recompilations"?
It should carry the information people are interested in, but is more grounded
in the terms that users are likely to recognize. We could introduce what it
does right away:
```
Before Clang 19, a change in BMI of any (transitive) dependency would case the
outputs of the BMI to change. Starting with Clang 19, changes to non-direct
dependencies should not directly affect the output BMI, unless they affect the
results of the compilations.
We expect that there are many more opportunities for this optimization than we
currently have realized and would appreaciate feedback about missed
optimization opportunities.
...
```
Having an example after that should clarify this even more.
Does that seems reasonable? (Sorry if I got something wrong, I've probably
speculated a bit beyond my undestanding in the comment I wrote)
https://github.com/llvm/llvm-project/pull/96453
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits