위키득계정 ↗
기술

LLVM Dis

LLVM Dis기술
실행 이름
llvm-dis
분류
LLVM 비트코드 변환
입력
LLVM 비트코드
출력
텍스트 LLVM IR
LLVM Dis는 LLVM 비트코드를 사람이 읽을 수 있는 텍스트 중간 표현으로 변환하는 도구다. 저장된 모듈의 구조를 검토하거나 다른 처리 단계의 결과를 비교하는 데 활용한다.

읽을 수 있는 표현

비트코드에 담긴 중간 표현을 텍스트로 출력한다. 여기서 디스어셈블은 네이티브 기계어를 CPU 명령으로 풀어 보는 것과 다르다. 출력은 여전히 LLVM 중간 표현이며 원래 작성한 고수준 언어의 소스를 그대로 복구한 것도 아니다.

입출력 경로

파일이나 표준 입력을 읽을 수 있고 결과를 파일 또는 표준 출력으로 보낼 수 있다. 파일 입력의 기본 출력 이름에는 텍스트 IR의 확장자가 사용된다. 자동화할 때는 기본 이름에 의존하기보다 입력과 출력의 연결을 명확히 관리한다.

변환 결과 살피기

최적화 전후 모듈을 텍스트로 확인하면 함수와 명령이 어떻게 달라졌는지 조사하기 쉽다. 사람이 읽기 쉬워졌다고 해서 구조가 단순하거나 동작이 옳다는 뜻은 아니다. 코드의 유효성과 의미를 판단하는 검사는 별도로 수행해야 한다.

관련 문서

LLVM As / LLVM Opt / LLVM Link / LLVM Objdump