Rust 컴파일러가 생성하는 LLVM을보고 싶습니다. 더 나은 것은 LLVM을 버리고 멈추게하는 것입니다. 이것은 비트 코드 형식 또는 어셈블러 텍스트 일 수 있습니다.Rust 컴파일러가 생성 한 LLVM을 덤프하도록 Rust 컴파일러를 얻으려면 어떻게해야합니까?
2
A
답변
6
당신은 당신이 --emit
예를 들어, 원하는 형식을 전달할 수 있습니다
rustc --emit=asm,llvm-bc,llvm-ir xxx.rs
또는
cargo rustc -- --emit=asm,llvm-bc,llvm-ir
추가 정보 LLVM IR 또는 x86_64에 조립 중 하나에 빠르게 액세스 할 rustc --help
2
를 참조하십시오의 Playground (과 alternate Playground)는 "LLVM"와 "ASM이 "버튼을 사용하여 컴파일러를 적절한 옵션으로 호출합니다.
+0
꽤 멋지다. 많은 감사합니다. – rocky
1
당신은,
RUSTFLAGS="--emit=llvm-ir" cargo build
당신이 (빌드 명령에 직접 액세스 할 수없는 경우에 유용하다 같은를 RUSTFLAGS
환경 변수를 조작 한 후 빌드를 수행 할 수 있습니다 예를 들어, 당신이 Servo 같은 것을 구축 할 때, 이것은 추상적 인 빌드 도구 인 mach
을 사용합니다.
나는 이것이 더 중요한 사건이라는 것을 알고 있지만, Servo 코드의 IR 덤프를 얻으려고 할 때 유용하다는 것을 알았습니다.
많은 감사. '--help'를 실행하고 모든 종류의'-C'와'-Z' 옵션을 시도했을 때 내가 어떻게 그것을 놓쳤는 지 모르겠습니다. – rocky