.NET Bindings for LLVM
$ dotnet add package Ubiquity.NET.LlvmUbiquity.NET.Llvm provides a managed Object Oriented (OO) wrapper around an extended C ABI for LLVM (An extended form of the official LLVM-C ABI is needed to fill in some gaps in the official implementation to provide a robust managed OO wrapper. The number of extensions required generally decreases with each release of LLVM).
Full documentation is available online.