I wrote about optimizing the new C++ based Blender OBJ importer, and it accidentally ventured into calling conventions topic. https://aras-p.info/blog/2022/05/12/speeding-up-blender-obj-import/
@anji good question. I guess without a complete view of "literally everything in the whole program" (super-LTO/LTCG?), they wouldn't know whether something takes an address of a function, for example. Or something like that.
@aras I saw your teaser for the parser shootout. Will you consider including the parser in Intel Embree? We’re using it because it’s the default. It would be nice to see if it’s worth replacing.
@jkaniarz where I can find the embree parser?
@aras It’s in this folder. https://github.com/embree/embree/tree/master/tutorials/common/scenegraph
@aras Great post! I wonder why optimizing compilers/linkers don't try to specialize the calling convention of functions called internally in programs/objects. Or do they?
Of course the GPU programmer in me says: Inline all the things!