Skip to content
@sw-langtools

Software Wrighter Language Tools

The shared compiler machinery: a target-independent SSA IR, plus ISA, codegen and target cores.

sw-langtools — the compiler machinery the emulators share

The reusable parts, factored out once more than one machine needed them: a target-independent SSA representation with an optimizer, and shared ISA, code-generation and target cores. A RISC-V RV32I toolchain is built on them as the worked example.

10 repositories of my own.

Repository What it is
sw-rv32i-asm RV32I Assembler: text source to instruction bytes
sw-rv32i-target RV32I Target description: ABI, calling convention, register classes
sw-rv32i-emulator RV32I Emulator: instruction execution semantics
sw-rv32i-isa RV32I ISA description: opcodes, encoding, decoding, disassembly
sw-rv32i-codegen RV32I Codegen: lowering TIR to instructions
sw-codegen-core Codegen scaffolding (regalloc, branch relaxation, frame, asm) for the sw-langtools toolchain
sw-tir-opt Target-independent TIR optimisation passes for the sw-langtools toolchain
sw-tir Target-Independent Representation (TIR): SSA IR with block parameters for the sw-langtools toolchain

If an emulator elsewhere in these organizations can assemble, optimize or generate code, this is usually where that part lives.

→ The index — all 251 public repositories across 15 accounts, grouped by topic, with the map of which are worth your ten minutes.

Pinned Loading

  1. sw-rv32i-emulator sw-rv32i-emulator Public

    RV32I Emulator: instruction execution semantics

    Rust

Repositories

Showing 10 of 11 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…