| LLVM is a great platform for compiler research. It has a simple and easy to understand <a | |
| href="docs/LangRef.html">representation</a> and a completely <a href="docs/WritingAnLLVMPass.html"> | |
| modular system for adding passes to the compiler</a>. LLVM also provides extensive assertions | |
| to pinpoint bugs when they occur, an IR verifier, and <a href="docs/CommandGuide/html/bugpoint.html">tools | |
| to automatically identify and narrow down bugs</a> in arbitrary compiler transformations. |