verbose-asm

The tracking issue for this feature is: #126802.


This enables passing -Zverbose-asm to get contextual comments added by LLVM.

Sample code:

#![allow(unused)] fn main() { #[no_mangle] pub fn foo(a: i32, b: i32) -> i32 { a + b } }

Default output:

foo: push rax add edi, esi mov dword ptr [rsp + 4], edi seto al jo .LBB0_2 mov eax, dword ptr [rsp + 4] pop rcx ret .LBB0_2: lea rdi, [rip + .L__unnamed_1] mov rax, qword ptr [rip + core::panicking::panic_const::panic_const_add_overflow::h9c85248fe0d735b2@GOTPCREL] call rax .L__unnamed_2: .ascii "/app/example.rs" .L__unnamed_1: .quad .L__unnamed_2 .asciz "\017\000\000\000\000\000\000\000\004\000\000\000\005\000\000"

With -Zverbose-asm:

foo: # @foo # %bb.0: push rax add edi, esi mov dword ptr [rsp + 4], edi # 4-byte Spill seto al jo .LBB0_2 # %bb.1: mov eax, dword ptr [rsp + 4] # 4-byte Reload pop rcx ret .LBB0_2: lea rdi, [rip + .L__unnamed_1] mov rax, qword ptr [rip + core::panicking::panic_const::panic_const_add_overflow::h9c85248fe0d735b2@GOTPCREL] call rax # -- End function .L__unnamed_2: .ascii "/app/example.rs" .L__unnamed_1: .quad .L__unnamed_2 .asciz "\017\000\000\000\000\000\000\000\004\000\000\000\005\000\000" # DW_AT_external