Register Allocation

SkillProductivity

Expert skill for register allocation algorithms including graph coloring, linear scan, and spill code generation

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the Register Allocation skill

What this skill tells your AI

The instructions your AI receives, as published by a5c-ai/babysitter in library/specializations/programming-languages/skills/register-allocation/SKILL.md and read by ahel’s review.

Overview

Expert skill for register allocation algorithms including graph coloring, linear scan, and spill code generation.

Capabilities

  • Implement graph coloring register allocation
  • Implement linear scan register allocation
  • Generate spill code with minimal overhead
  • Handle calling convention register constraints
  • Implement register coalescing
  • Handle pre-colored nodes and fixed registers
  • Implement live range splitting
  • Design register pressure analysis

Target Processes

  • jit-compiler-development.js
  • code-generation-llvm.js
  • bytecode-vm-implementation.js

Dependencies

None (algorithmic skill)

Usage Guidelines

  1. Algorithm Selection: Use linear scan for JIT (fast), graph coloring for AOT (optimal)
  2. Live Ranges: Compute accurate live ranges before allocation
  3. Spill Costs: Use heuristics to minimize spill costs (loop depth, usage frequency)
  4. Calling Conventions: Handle caller/callee-saved registers correctly
  5. Coalescing: Implement aggressive coalescing to reduce moves

Output Schema

{
  "type": "object",
  "properties": {
    "algorithm": {
      "type": "string",
      "enum": ["graph-coloring", "linear-scan", "second-chance-binpacking"]
    },
    "spillStrategy": { "type": "string" },
    "registerClasses": {
      "type": "array",
      "items": { "type": "string" }
    },
    "generatedFiles": {
      "type": "array",
      "items": { "type": "string" }
    }
  }
}

Signals

GitHub stars
2k
Forks
112
Last commit
Sep 2026
Advanced
Item type
skill
Key
register-allocation
Source
github.com/a5c-ai/babysitter