OS 开发中可以使用基于 LLVM 的语言吗?

Can LLVM-based languages be used in OS development?

据我了解,LLVM 不允许您强制使用特定的处理器寄存器。这是否意味着一种在底层使用 LLVM 的语言不能用于开发 OS、引导加载程序或诸如需要直接访问寄存器之类的东西?

LLVM IR 可以不能用于OS开发中还有其他原因吗?

LLVM 是一个抽象机器。因此,它不会直接允许您访问某些硬件寄存器。但是,您仍然可以使用内联汇编(通过 call asm LLVM 位码助记符)或在汇编中编写需要访问固定硬件寄存器的少数函数,并从您的 LLVM 代码中调用它们。