Runtime: LLVMバックエンド

作成日 2019年05月11日  ·  3コメント  ·  ソース: dotnet/runtime

私が作成したこの問題(https://github.com/dotnet/coreclr/issues/17294)によると、新しいアーキテクチャの新しいバックエンドの作成は複雑な作業です。複数のアーキテクチャをサポートする新しいバックエンドを作成してみませんか?
MonoはLLVMバックエンドを実装しました。
Powerとs390xアーキテクチャが比較的強力に戻ってきているので、私はこれを言います...

area-CodeGen-coreclr question

最も参考になるコメント

数年前、私たちは.Net用のLLVMコードジェネレーターであるLLILCに取り組みました。 正確なGCのサポート、.Net例外モデルの完全なサポート、低スループットなど、対処が困難になると思われる多くの問題が発生しました。 あなたはここでいくつかの詳細を読むことができます: 6ヶ月のLLILC

LLVM経由のMonoは保守的なGCを使用し、(少なくとも場合によっては)すべての範囲の例外動作を処理しません。 これはMonoのアプリケーションターゲットには受け入れられますが、私たちの目的には十分に一般的ではありません。

LLILCは、上位層のjit(いつか)として、または新しいアーキテクチャで基本的なcodegenを実行するための立ち上げ手段としてまだ興味深いかもしれません。

全てのコメント3件

数年前、私たちは.Net用のLLVMコードジェネレーターであるLLILCに取り組みました。 正確なGCのサポート、.Net例外モデルの完全なサポート、低スループットなど、対処が困難になると思われる多くの問題が発生しました。 あなたはここでいくつかの詳細を読むことができます: 6ヶ月のLLILC

LLVM経由のMonoは保守的なGCを使用し、(少なくとも場合によっては)すべての範囲の例外動作を処理しません。 これはMonoのアプリケーションターゲットには受け入れられますが、私たちの目的には十分に一般的ではありません。

LLILCは、上位層のjit(いつか)として、または新しいアーキテクチャで基本的なcodegenを実行するための立ち上げ手段としてまだ興味深いかもしれません。

こんにちは@AndyAyersMS

LLILCの簡単なビルドの問題を修正しましたhttps://github.com/dotnet/llilc/issues/1097

確認してください。

ありがとう、
レスリー・ザイ

質問に答えたので、この問題を閉じます。

このページは役に立ちましたか?
0 / 5 - 0 評価