# SSA/IR Design

> Expert skill for designing intermediate representations and implementing SSA construction

- Skill: `majiayu000/ssa-ir-design` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/ssa-ir-design`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/ssa-ir-design/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/ssa-ir-design

---


# SSA/IR Design Skill

## Overview

Expert skill for designing intermediate representations and implementing SSA (Static Single Assignment) construction.

## Capabilities

- Design control flow graph (CFG) structures
- Implement dominance tree computation
- Implement SSA construction algorithms (Cytron et al.)
- Design phi function placement and pruning
- Implement SSA destruction for register allocation
- Design sea-of-nodes IR representations
- Implement basic block reordering
- Design IR verification passes

## Target Processes

- ir-design.js
- code-generation-llvm.js
- jit-compiler-development.js
- semantic-analysis.js

## Dependencies

Compiler optimization textbooks (Engineering a Compiler, Modern Compiler Implementation)

## Usage Guidelines

1. **CFG Design**: Start with a clear CFG representation with explicit entry/exit blocks
2. **Dominance**: Implement dominance computation before SSA construction
3. **Phi Placement**: Use dominance frontiers for minimal phi placement
4. **Verification**: Build IR verification passes to catch malformed IR early
5. **Debugging**: Include IR pretty-printing from the start for debugging

## Output Schema

```json
{
  "type": "object",
  "properties": {
    "irStyle": {
      "type": "string",
      "enum": ["basic-blocks", "sea-of-nodes", "continuation-passing"]
    },
    "ssaConstruction": {
      "type": "string",
      "enum": ["cytron", "braun", "sreedhar"]
    },
    "passes": {
      "type": "array",
      "items": { "type": "string" }
    },
    "generatedFiles": {
      "type": "array",
      "items": { "type": "string" }
    }
  }
}
```

