| name | LLVM Backend |
| description | Expert skill for LLVM integration including IR generation, optimization passes, and native code emission |
| category | Code Generation |
| allowed-tools | ["Read","Write","Edit","Glob","Grep","Bash"] |
| graph | {"domains":["domain:software-engineering"],"specializations":["specialization:programming-languages"],"skillAreas":["skill-area:compiler-implementation","skill-area:language-design"],"roles":["role:backend-engineer"]} |
LLVM Backend Skill
Overview
Expert skill for LLVM integration including IR generation, optimization passes, and native code emission.
Capabilities
- Generate LLVM IR from high-level AST/IR
- Configure and run LLVM optimization passes
- Implement custom LLVM passes
- Handle LLVM type system mapping
- Generate debug information (DWARF)
- Configure target machine and code generation options
- Implement LLVM JIT (ORC, MCJIT) integration
- Handle cross-compilation target triples
Target Processes
- code-generation-llvm.js
- jit-compiler-development.js
- debugger-adapter-development.js
- ir-design.js
Dependencies
- LLVM C++ API
- llvm-sys bindings
- Inkwell (Rust LLVM bindings)
Usage Guidelines
- Type Mapping: Establish clear mapping between source types and LLVM types
- SSA Form: Leverage LLVM's SSA form; generate clean IR and let LLVM optimize
- Debug Info: Generate debug info from the start using DIBuilder
- Optimization Levels: Test with -O0 first, then enable optimizations incrementally
- Target Configuration: Abstract target-specific code behind target triple configuration
Output Schema
{
"type": "object",
"properties": {
"llvmVersion": { "type": "string" },
"targetTriple": { "type": "string" },
"optimizationLevel": {
"type": "string",
"enum": ["O0", "O1", "O2", "O3", "Os", "Oz"]
},
"passes": {
"type": "array",
"items": { "type"