위키득계정 ↗
기술

LLVM Extract

LLVM Extract기술
실행 이름
llvm-extract
분류
LLVM 모듈 추출 도구
입력
LLVM 모듈
선택 대상 예
함수 전역 변수 별칭
LLVM Extract는 LLVM 모듈에서 지정한 함수와 전역 값 등을 추출하는 도구다. 큰 입력에서 조사할 부분을 분리해 컴파일러 문제의 재현 코드를 정리하는 데 활용한다.

특정 부분 분리

이름이나 정규식으로 선택한 함수 등을 추출할 수 있다. 관련 없는 전역 값과 선언 및 사용하지 않는 타입을 줄이는 작업도 수행한다. 원하는 함수를 남기는 일과 그 함수를 독립적으로 실행 가능한 응용으로 만드는 일은 다르다.

재현 코드 정리

어떤 변환에서 문제가 발생했는지 조사할 때 모듈 전체보다 작은 입력이 유용할 수 있다. 추출한 결과가 원래 현상을 유지하는지 다시 실행해 확인한다. 문제의 원인이 함수 사이의 관계에 있다면 너무 좁은 추출로 재현 조건이 사라질 수 있다.

축소 도구와 구분

지정한 요소를 선택하는 추출과 판정 테스트를 반복해 입력을 줄이는 자동 축소는 방식이 다르다. LLVM Reduce와 함께 활용할 수 있지만 각 단계의 결과를 따로 검증한다. 추출한 자료에는 필요한 호출 대상과 전역 상태가 남아 있는지도 살핀다.

관련 문서

LLVM Reduce / LLVM Link / LLVM Opt / LLVM Dis