コンパイラ
LLVMの基本的な構成として正しいものはどれか。
- AC言語専用のコンパイラで、ほかの言語には使えない
- B特定のCPUだけを対象にした、アセンブラとリンカの組み合わせ
- C共通の中間表現を中心に、前半と後半を組み合わせる
答えと解説を見る
正解:C. 共通の中間表現を中心に、前半と後半を組み合わせる
LLVMは、LLVM IRという共通の中間表現を中心にしたコンパイラの基盤です。C/C++のClangをはじめ、さまざまな言語のフロントエンドがソースをLLVM IRに変換し、共通の最適化の段階を通したあと、x86、Arm、RISC-V、GPUなど多くのCPU向けのバックエンドが機械語を生成します。新しい言語やCPUに対応するときも、片側を作るだけで済むのが強みです。C言語専用でも、特定のCPU専用でもありません。
- A. 多くの言語のフロントエンドがあり、C言語専用ではありません。
- B. 多くのCPU向けのバックエンドがあり、特定のCPU専用ではありません。
- C. 正しい。共通の中間表現を中心に、前半と後半を組み合わせます。