about summary refs log tree commit diff
path: root/compiler/rustc_llvm/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-06-04 00:05:56 +0000
committerbors <bors@rust-lang.org>2024-06-04 00:05:56 +0000
commit1689a5a531f1fe404944ed8c3ac6cb85a2cff7e0 (patch)
tree6e15457c56786a79e3165a8a173a4d81555fa913 /compiler/rustc_llvm/src
parent7c52d2db6348b038276198e88a835125849f322e (diff)
parentc8390cdbfaccc55aa374222e39cdf9092a1e5ff6 (diff)
downloadrust-1689a5a531f1fe404944ed8c3ac6cb85a2cff7e0.tar.gz
rust-1689a5a531f1fe404944ed8c3ac6cb85a2cff7e0.zip
Auto merge of #122597 - pacak:master, r=bjorn3
Show files produced by `--emit foo` in json artifact notifications

Right now it is possible to ask `rustc` to save some intermediate representation into one or more files with `--emit=foo`, but figuring out what exactly was produced is difficult. This pull request adds information about `llvm_ir` and `asm` intermediate files into notifications produced by `--json=artifacts`.

Related discussion: https://internals.rust-lang.org/t/easier-access-to-files-generated-by-emit-foo/20477

Motivation - `cargo-show-asm` parses those intermediate files and presents them in a user friendly way, but right now I have to apply some dirty hacks. Hacks make behavior confusing: https://github.com/hintron/computer-enhance/issues/35

This pull request introduces a new behavior: now `rustc` will emit a new artifact notification for every artifact type user asked to `--emit`, for example for `--emit asm` those will include all the `.s` files.

Most users won't notice this behavior, to be affected by it all of the following must hold:
- user must use `rustc` binary directly (when `cargo` invokes `rustc` - it consumes artifact notifications and doesn't emit anything)
- user must specify both `--emit xxx` and `--json artifacts`
- user must refuse to handle unknown artifact types
- user must disable incremental compilation (or deal with it better than cargo does, or use a workaround like `save-temps`) in order not to hit #88829 / #89149
Diffstat (limited to 'compiler/rustc_llvm/src')
0 files changed, 0 insertions, 0 deletions