LTO pour Clang peut optimiser entre les méthodes C et C ++

Si l’optimisation du temps de liaison (LTO) est utilisée avec clang , est-il possible que le code soit optimisé dans les limites des langages C et C ++?

Par exemple, une fonction C peut-elle être insérée dans un appelant C ++ ou inversement?

Autant que je sache, oui puisque Clang produit une représentation intermédiaire de LLVM, et que LTO se trouve sur ce bytecode de LLVM.

BTW n’importe quel type d’ optimisation du temps de liaison se produit sur une représentation intermédiaire (du code compilé), pas seulement sur du code machine avec relocalisation , comme dans chaque fichier object . Quelle que soit la représentation utilisée, LTO (GIMPLE dans GCC, LLVM dans Clang) ajoute et utilise de telles informations supplémentaires (et c’est pourquoi les fichiers objects grossissent).