컴파일 도구의 구성 요소
C API와 JavaScript 인터페이스로 컴파일러에 포함할 수 있다. Emscripten과 Rust 관련 도구 등에서도 구성 요소로 사용한다. WebAssembly를 읽고 최적화한 뒤 다시 출력하는 흐름을 독립 도구로 실행할 수도 있다.
최적화를 위한 중간 표현
주요 중간 표현은 트리 구조로 WebAssembly의 스택 기계 형식과 차이가 있다. 스택 형태에 맞춘 최적화에는 별도의 Stack IR도 사용한다. 표현 방식마다 적합한 변환을 적용해 최종 WebAssembly 출력을 만드는 구성이다.
전용 변환과 출력
여러 최적화 패스로 코드 크기와 실행 특성을 개선하는 것을 목표로 한다. 일반적인 컴파일 최적화 외에 WebAssembly에 특화된 변환도 제공한다. 해석 실행과 도구 체계 통합 기능도 포함해 컴파일 파이프라인의 여러 단계에 연결할 수 있다.