rust/compiler/rustc_codegen_ssa/src/traits
bors bb8b11e67d Auto merge of #120718 - saethlin:reasonable-fast-math, r=nnethercote
Add "algebraic" fast-math intrinsics, based on fast-math ops that cannot return poison

Setting all of LLVM's fast-math flags makes our fast-math intrinsics very dangerous, because some inputs are UB. This set of flags permits common algebraic transformations, but according to the [LangRef](https://llvm.org/docs/LangRef.html#fastmath), only the flags `nnan` (no nans) and `ninf` (no infs) can produce poison.

And this uses the algebraic float ops to fix https://github.com/rust-lang/rust/issues/120720

cc `@orlp`
2024-02-21 09:43:33 +00:00
..
abi.rs Merge apply_attrs_callsite into call and invoke 2022-10-01 17:01:31 +00:00
asm.rs Add codegen for global_asm! sym operands 2022-04-15 14:36:30 +01:00
backend.rs Make CodegenBackend::join_codegen infallible. 2024-02-17 10:51:35 +11:00
builder.rs Add "algebraic" versions of the fast-math intrinsics 2024-02-20 12:39:03 -05:00
consts.rs cg_ssa: remove pointee types and pointercast/bitcast-of-ptr 2023-07-29 13:18:20 -04:00
coverageinfo.rs Remove trait CoverageInfoMethods, since non-LLVM backends don't need it 2023-07-05 20:40:40 +10:00
debuginfo.rs Deduplicate inlined function debug info, but create a new lexical scope to child subsequent scopes and variables from colliding 2023-09-01 14:27:21 -07:00
declare.rs Remove DeclareMethods 2020-09-18 13:11:59 +02:00
intrinsic.rs Teach llvm backend how to fall back to default bodies 2024-02-12 17:50:39 +00:00
misc.rs Remove several unused methods from MiscMethods 2022-10-01 16:45:07 +00:00
mod.rs Implement printing to file in llvm_util 2023-07-20 11:04:31 -07:00
statics.rs Only compile #[used] as llvm.compiler.used for ELF targets 2022-05-11 01:29:56 -07:00
type_.rs Fix misuses of a vs an 2023-10-04 08:01:11 +08:00
write.rs Rename many DiagCtxt arguments. 2023-12-18 16:06:22 +11:00