2013-11-02 3 views
1

이들은 매우 기본적인 질문 일 수 있습니다 .. 1) LLVM 메타 데이터 란 무엇이며 내 프로그램에서 어떻게 사용합니까? 모든 설명서를 읽었지만 사용 방법을 모르겠습니다.LLVM 메타 데이터 란 무엇입니까

2) 내 개인 메타 데이터를 파일에 추가하는 방법은 무엇입니까?

미리 감사드립니다.

답변

5

가장 좋은 정보원은 LLVM IR - Extensible Metadata in LLVM IR에 메타 데이터를 도입 한 2010 년 블로그 게시물입니다. 제 단락 동기를 언급한다 :

이 메타 커스텀 코드 생성기 언어 별 최적화가 전달 (예를 들어 C에 입력 기준 별칭 분석), 태그 정보 영향, 또는 통과하는데 사용될 수있다 시간 최적화를 연결하는 정보 .

하지만 역사적인 세부 사항은 모두를 읽어보십시오.

LLVM의 메타 데이터의 주요 클라이언트는 현재 debug info입니다. 프런트 엔드 (예 : Clang)가 IR을 소스 코드와 연관시키는 디버그 정보로 생성 한 LLVM IR에 태그를 지정하는 데 사용됩니다. 이 메타 데이터는 나중에 코드 이미 터에 의해 DWARF와 같은 플랫폼 특정 디버그 정보로 변환됩니다.

+0

빠른 답장을 보내 주셔서 감사합니다. 몇 가지 조건문이 포함 된 작은 코드가 있습니다. 코드가 한 블록에서 다른 블록으로 이동하면서 GetMetadata() 명령을 사용하여 사용자 지정 메타 데이터를 전송하려면 어떻게해야합니까? – ConsistentProgrammer

+0

@ConsistentProgrammer : 명명 된 메타 데이터가 지침에 첨부 될 수 있습니다. 'Instruction :: getMetadata' 메쏘드를 호출하여 추출 할 수 있습니다. 예를 들어''dbg "'와 같이 추출하려는 특정 메타 데이터 주석의 이름을 제공하십시오. –

+0

이 명령을 간단한 헬로 월드 프로그램? – ConsistentProgrammer

관련 문제