On Saturday, 4 April 2015 at 16:58:23 UTC, Kagamin wrote:
On Friday, 3 April 2015 at 17:55:00 UTC, Dicebot wrote:
Complicates whole-program optimization possibilities. Old
school object files are simply not good enough to preserve
information necessary to produce optimized builds and we are
not in position to create own metadata + linker combo to
circumvent that.
Development builds are usually not whole-program optimized. And
proper optimizers work with IR and see no problem in separate
compilation, it's all transparent. Separate compilation is nice
for RAM too - good in virtualized environment like a CI service.
We need solutions that can be reasonably implemented with
existing resources, not perfect solutions. Storing IR in object
files and using custom linker is "correct" approach for WPO but
it is currently unaffordable. Add compilation time problems and
there seems to be no compelling reasons to go that route for now.
This also applies to attribute inference which has become a
really important development direction to handle growing
attribute hell.
Depends on code style.
I am not aware of any solutions based on coding style. Can you
elaborate?