프런트 엔드 rustc
에서 방출 된 LLVM-IR을 분석하려고합니다. 이 계획은 특정 언어 요소에 대해 IR을 방출하는 것입니다. 요소 및 IR 코드 템플릿 매핑 또는 목록과 같은 목록이 있습니까?방출 된 LLVM IR이 사용하지 않는 기능을 제거하지 못하도록하는 방법이 있습니까?
컴파일러는 방출 된 IR의 사용되지 않는 기능을 wel :로 제거 할만큼 지능적입니다. 콘솔에 무엇인가가 인쇄되지 않으면 컴파일러는 사용 된 모든 기능을 제거합니다.
x
이 어디에도 사용되지 않았거나 x
을 덮어 쓰는 경우에도 제대로 작동하지 않습니다.
let x = function();
방출 된 IR이 모든 기능을 보유하도록 Rust에 일종의 한정자가 있습니까?
[여기] (https://f0rki.gitbooks.io/mapping-high-level-constructs-to-llvm-ir/content/)의 매핑 목록을 찾았습니다 – Bharadwaj
이 목록은 녹, rustc이 실제로이를 따를 것이라는 보장은 없습니다. –
오, 그리고 링크에 감사드립니다; 컴파일러 작성자를 신생시키기에 매우 유용한 리소스! –