> - Performance. Other compiler backends often produce more efficient code than LLVM
I wouldn't say "often" here. LLVM's compiler backend is top-notch and is hard to beat. Often it comes down to random register allocation or scheduling differences.
> - Windows support for LLVM is still not up to par yet. Supposedly it will be in the near future.
What are you referring to in particular? The only thing I can really think of is exception handling, and that got overhauled recently for MSVC compatibility. PDB was an issue too, but that's gotten fixed and now LLVM can output PDB. I can't think of much that's left...
> - You can distribute the C output from your compiler, and others can use it without having to work your compiler into their build process.
That is a legitimate advantage. But on the whole I think that it's outweighed by the downsides of compiling to C.
> PDB was an issue too, but that's gotten fixed and now LLVM can output PDB. I can't think of much that's left...
This is what I was referring to. The RFC from a Microsoft employee on full CodeView (what gets compiled to PDB) support was posted three months ago, but AFAIK the implementation is still in progress. The preexisting support for CodeView is described by the documentation as "minimal" as it contains only line tables.
I wouldn't say "often" here. LLVM's compiler backend is top-notch and is hard to beat. Often it comes down to random register allocation or scheduling differences.
> - Windows support for LLVM is still not up to par yet. Supposedly it will be in the near future.
What are you referring to in particular? The only thing I can really think of is exception handling, and that got overhauled recently for MSVC compatibility. PDB was an issue too, but that's gotten fixed and now LLVM can output PDB. I can't think of much that's left...
> - You can distribute the C output from your compiler, and others can use it without having to work your compiler into their build process.
That is a legitimate advantage. But on the whole I think that it's outweighed by the downsides of compiling to C.