rust/compiler
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
..
rustc
rustc_abi
rustc_arena
rustc_ast
rustc_ast_lowering Reduce capabilities of Diagnostic. 2024-02-20 13:22:17 +11:00
rustc_ast_passes Reduce capabilities of Diagnostic. 2024-02-20 13:22:17 +11:00
rustc_ast_pretty
rustc_attr
rustc_baked_icu_data
rustc_borrowck Auto merge of #120576 - nnethercote:merge-Diagnostic-DiagnosticBuilder, r=davidtwco 2024-02-20 12:05:09 +00:00
rustc_builtin_macros Rollup merge of #121318 - kadiwa4:no_assembly_in_supposedly_safe_code, r=Nilstrieb 2024-02-20 15:13:55 +01:00
rustc_codegen_cranelift Auto merge of #120718 - saethlin:reasonable-fast-math, r=nnethercote 2024-02-21 09:43:33 +00:00
rustc_codegen_gcc Auto merge of #120718 - saethlin:reasonable-fast-math, r=nnethercote 2024-02-21 09:43:33 +00:00
rustc_codegen_llvm Auto merge of #120718 - saethlin:reasonable-fast-math, r=nnethercote 2024-02-21 09:43:33 +00:00
rustc_codegen_ssa Auto merge of #120718 - saethlin:reasonable-fast-math, r=nnethercote 2024-02-21 09:43:33 +00:00
rustc_const_eval Auto merge of #120576 - nnethercote:merge-Diagnostic-DiagnosticBuilder, r=davidtwco 2024-02-20 12:05:09 +00:00
rustc_data_structures
rustc_driver
rustc_driver_impl
rustc_error_codes
rustc_error_messages
rustc_errors Auto merge of #120576 - nnethercote:merge-Diagnostic-DiagnosticBuilder, r=davidtwco 2024-02-20 12:05:09 +00:00
rustc_expand Auto merge of #120576 - nnethercote:merge-Diagnostic-DiagnosticBuilder, r=davidtwco 2024-02-20 12:05:09 +00:00
rustc_feature
rustc_fluent_macro
rustc_fs_util
rustc_graphviz
rustc_hir Rollup merge of #121256 - Jarcho:visitor2, r=oli-obk 2024-02-20 07:35:47 +01:00
rustc_hir_analysis Auto merge of #120718 - saethlin:reasonable-fast-math, r=nnethercote 2024-02-21 09:43:33 +00:00
rustc_hir_pretty
rustc_hir_typeck Rollup merge of #121323 - compiler-errors:raw-param-types, r=oli-obk 2024-02-20 19:35:41 +01:00
rustc_incremental
rustc_index
rustc_index_macros
rustc_infer Rollup merge of #121344 - fmease:lta-constr-by-input, r=oli-obk 2024-02-20 19:35:41 +01:00
rustc_interface
rustc_lexer
rustc_lint Rollup merge of #121318 - kadiwa4:no_assembly_in_supposedly_safe_code, r=Nilstrieb 2024-02-20 15:13:55 +01:00
rustc_lint_defs Rollup merge of #120716 - spastorino:change-some-lint-msgs, r=lcnr 2024-02-20 07:35:45 +01:00
rustc_llvm Add "algebraic" versions of the fast-math intrinsics 2024-02-20 12:39:03 -05:00
rustc_log
rustc_macros Reduce capabilities of Diagnostic. 2024-02-20 13:22:17 +11:00
rustc_metadata Rollup merge of #121167 - petrochenkov:unload2, r=wesleywiser 2024-02-20 15:13:50 +01:00
rustc_middle Rollup merge of #121344 - fmease:lta-constr-by-input, r=oli-obk 2024-02-20 19:35:41 +01:00
rustc_mir_build Auto merge of #121172 - Nadrieril:simplify-empty-selection, r=matthewjasper 2024-02-21 03:11:24 +00:00
rustc_mir_dataflow
rustc_mir_transform Rollup merge of #121286 - gurry:constprop-lint-rename, r=oli-obk 2024-02-20 15:13:53 +01:00
rustc_monomorphize Reduce capabilities of Diagnostic. 2024-02-20 13:22:17 +11:00
rustc_next_trait_solver
rustc_parse Reduce capabilities of Diagnostic. 2024-02-20 13:22:17 +11:00
rustc_parse_format
rustc_passes Rollup merge of #121167 - petrochenkov:unload2, r=wesleywiser 2024-02-20 15:13:50 +01:00
rustc_pattern_analysis Auto merge of #120576 - nnethercote:merge-Diagnostic-DiagnosticBuilder, r=davidtwco 2024-02-20 12:05:09 +00:00
rustc_privacy
rustc_query_impl
rustc_query_system
rustc_resolve Rollup merge of #121167 - petrochenkov:unload2, r=wesleywiser 2024-02-20 15:13:50 +01:00
rustc_serialize
rustc_session Auto merge of #120576 - nnethercote:merge-Diagnostic-DiagnosticBuilder, r=davidtwco 2024-02-20 12:05:09 +00:00
rustc_smir
rustc_span Auto merge of #120718 - saethlin:reasonable-fast-math, r=nnethercote 2024-02-21 09:43:33 +00:00
rustc_symbol_mangling
rustc_target Rollup merge of #121291 - heiher:revert-medium-cmodel, r=Nilstrieb 2024-02-20 15:13:54 +01:00
rustc_trait_selection Rollup merge of #121344 - fmease:lta-constr-by-input, r=oli-obk 2024-02-20 19:35:41 +01:00
rustc_traits Rename some normalization-related items 2024-02-20 17:30:49 +01:00
rustc_transmute
rustc_ty_utils Fix stray trait mismatch in resolve_associated_item for AsyncFn 2024-02-20 15:45:05 +00:00
rustc_type_ir Introduce expand_weak_alias_tys 2024-02-20 17:31:49 +01:00
stable_mir