변환을 나누어 관찰
소스 언어에서 기계어로 가는 전체 과정 중 중간 표현을 다루는 단계에 초점을 맞춘다. 특정 패스나 패스의 조합을 실행해 입력이 어떻게 바뀌는지 볼 수 있다. 이 결과는 최종 실행 파일 자체와는 다른 단계의 산출물이다.
분석과 출력
변환된 자료를 텍스트 중간 표현이나 비트코드로 출력할 수 있다. 사용할 수 있는 패스는 빌드 구성과 로드한 기능에 따라 달라진다. 다른 버전에서 같은 이름과 옵션이 그대로 동작한다고 가정하지 말고 실제 도구의 지원 목록을 확인한다.
검증과 비용 측정
패스마다 검증을 넣어 어느 단계에서 잘못된 중간 표현이 만들어졌는지 추적할 수 있다. 통계와 패스별 실행 시간도 분석에 활용한다. 구조 검증에 성공한 결과라도 원래 프로그램과 동작이 같은지에 대한 검토는 별도로 필요하다.
관련 문서
LLVM LLC / LLVM Reduce / Alive2 / FileCheck