Skip to content

?godbolt command #22

Description

@kangalio

This would be very convenient to quickly check what a piece of Rust code actually does, or if the Rust compiler generates code as intended.

?godbolt

pubfnfoo(x:u32) -> u32{
x *4 + 3}

...will print...

example::foo:
lea eax, [4*rdi + 3]
ret

By default, it would build on release mode (-Copt-level=3). Maybe we could introduce a ?godboltdebug command, but tbh I doubt that there is much use for such thing.

It might be good to allow custom rustc args, to better explore codegen. For example

?godbolt -Ctarget-cpu=native ``​`rs
pub fn foo(s: &mut [u32]) {
for elem in s {
*elem *= 2;
}
}``​`

Godbolt has an API that can be used to implement all of this: https://github.com/compiler-explorer/compiler-explorer/blob/master/docs/API.md#post-apicompilercompiler-idcompile---perform-a-compilation-1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions