Runtime: Backend LLVM

Créé le 11 mai 2019  ·  3Commentaires  ·  Source: dotnet/runtime

Selon ce numéro que j'ai créé (https://github.com/dotnet/coreclr/issues/17294), créer un nouveau backend pour une nouvelle architecture est un travail complexe, alors pourquoi ne pas créer un nouveau backend prenant en charge plusieurs architectures?
Mono a implémenté un backend LLVM .
Je dis cela parce que l'architecture Power et s390x revient avec une intensité relative ...

area-CodeGen-coreclr question

Commentaire le plus utile

Il y a quelques années, nous avons travaillé sur un générateur de code LLVM pour .Net: LLILC . Nous avons rencontré un certain nombre de problèmes qui semblaient être difficiles à résoudre: prise en charge de GC précis, prise en charge complète du modèle d'exception .Net et faible débit. Vous pouvez lire certains des détails ici: LLILC à six mois .

Mono via LLVM utilise un GC conservateur et (du moins dans certains cas) ne gère pas la gamme complète des comportements d'exception. Ceci est acceptable pour les cibles d'application de Mono, mais ce n'est pas assez général pour nos besoins.

LLILC pourrait encore être intéressant en tant que jit de niveau supérieur (un jour) ou en tant que véhicule de mise en place pour faire fonctionner le codegen de base sur une nouvelle architecture.

Tous les 3 commentaires

Il y a quelques années, nous avons travaillé sur un générateur de code LLVM pour .Net: LLILC . Nous avons rencontré un certain nombre de problèmes qui semblaient être difficiles à résoudre: prise en charge de GC précis, prise en charge complète du modèle d'exception .Net et faible débit. Vous pouvez lire certains des détails ici: LLILC à six mois .

Mono via LLVM utilise un GC conservateur et (du moins dans certains cas) ne gère pas la gamme complète des comportements d'exception. Ceci est acceptable pour les cibles d'application de Mono, mais ce n'est pas assez général pour nos besoins.

LLILC pourrait encore être intéressant en tant que jit de niveau supérieur (un jour) ou en tant que véhicule de mise en place pour faire fonctionner le codegen de base sur une nouvelle architecture.

Salut @AndyAyersMS

J'ai corrigé un problème de construction simple pour LLILC https://github.com/dotnet/llilc/issues/1097

Veuillez l'examiner.

Merci,
Leslie Zhai

Je vais clore ce problème, car la question a été répondue.

Cette page vous a été utile?
0 / 5 - 0 notes