rust/compiler/rustc_codegen_ssa
bors 2b5e239c6b Auto merge of #144225 - purplesyringa:unwinding-intrinsics, r=nikic
Don't special-case llvm.* as nounwind

Certain LLVM intrinsics, such as `llvm.wasm.throw`, can unwind. Marking them as nounwind causes us to skip cleanup of locals and optimize out `catch_unwind` under inlining or when `llvm.wasm.throw` is used directly by user code.

The motivation for forcibly marking llvm.* as nounwind is no longer present: most intrinsics are linked as `extern "C"` or other non-unwinding ABIs, so we won't codegen `invoke` for them anyway.

Closes rust-lang/rust#132416.

`@rustbot` label +T-compiler +A-panic
2025-07-27 23:05:48 +00:00
..
src Auto merge of #144225 - purplesyringa:unwinding-intrinsics, r=nikic 2025-07-27 23:05:48 +00:00
Cargo.toml CodeGen: rework Aggregate implemention for rvalue_creates_operand cases 2025-06-17 18:59:22 -07:00
messages.ftl Move LTO symbol export calculation from backends to cg_ssa 2025-07-21 07:58:44 +00:00
README.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00

Please read the rustc-dev-guide chapter on Backend Agnostic Codegen.