Nicholas Nethercote
2df8e657f2
Simplify implied_target_features
.
...
Currently its argument is an iterator, but in practice it's always a
singleton.
2025-03-05 09:20:28 +11:00
Ralf Jung
93ee180cfa
ABI-required target features: warn when they are missing in base CPU (rather than silently enabling them)
2025-01-28 04:40:42 +01:00
Antoni Boucher
06f0a9bc78
Merge commit '59a81c2ca1edc88ad3ac4b27a8e03977ffb8e73a' into subtree-update_cg_gcc_2025_01_12
2025-01-13 10:53:58 -05:00
Ralf Jung
2e64b5352b
add dedicated type for ABI target feature constraints
2025-01-05 10:46:30 +01:00
Ralf Jung
912b7291d0
add ABI target features *before* -Ctarget-features
2024-12-31 12:41:20 +01:00
Ralf Jung
eb527424a5
x86-64 hardfloat actually requires sse2
2024-12-31 12:41:20 +01:00
Ralf Jung
0a8cfc2f8f
adjust GCC backend
2024-12-31 12:41:20 +01:00
Ralf Jung
eb2e928250
target_features: control separately whether enabling and disabling a target feature is allowed
2024-12-14 08:24:18 +01:00
Ralf Jung
60eca2c575
apply review feedback
2024-12-11 22:18:51 +01:00
Ralf Jung
2d887a5c5c
generalize 'forbidden feature' concept so that even (un)stable feature can be invalid to toggle
...
Also rename some things for extra clarity
2024-12-11 22:11:15 +01:00
Ralf Jung
ffad9aac27
mark some target features as 'forbidden' so they cannot be (un)set
...
For now, this is just a warning, but should become a hard error in the future
2024-11-04 22:56:47 +01:00
David Wood
207bc77e15
codegen_ssa: consolidate tied feature checking
...
`rustc_codegen_llvm` and `rustc_codegen_gcc` duplicated logic for
checking if tied target features were partially enabled. This commit
consolidates these checks into `rustc_codegen_ssa` in the
`codegen_fn_attrs` query, which also is run pre-monomorphisation for
each function, which ensures that this check is run for unused functions,
as would be expected.
2024-09-24 15:48:49 +01:00
Michael Goulet
c682aa162b
Reformat using the new identifier sorting from rustfmt
2024-09-22 19:11:29 -04:00
Caleb Zulawski
fbd618d4aa
Refactor and fill out target feature lists
2024-08-07 00:41:48 -04:00
Nicholas Nethercote
84ac80f192
Reformat use
declarations.
...
The previous commit updated `rustfmt.toml` appropriately. This commit is
the outcome of running `x fmt --all` with the new formatting options.
2024-07-29 08:26:52 +10:00
Guillaume Gomez
0d359efbe6
Merge commit 'b385428e3ddf330805241e7758e773f933357c4b' into subtree-update_cg_gcc_2024-03-05
2024-03-05 19:58:36 +01:00
Nicholas Nethercote
3c4f1d85af
Rename {create,emit}_warning
as {create,emit}_warn
.
...
For consistency with `warn`/`struct_warn`, and also `{create,emit}_err`,
all of which use an abbreviated form.
2024-01-10 07:33:06 +11:00
Nicholas Nethercote
99472c7049
Remove Session
methods that duplicate DiagCtxt
methods.
...
Also add some `dcx` methods to types that wrap `TyCtxt`, for easier
access.
2023-12-24 08:05:28 +11:00
Urgau
428395e064
Move rustc_codegen_ssa target features to rustc_target
2023-12-14 14:40:55 +01:00
Antoni Boucher
c797cccda6
Merge commit 'e4fe941b11a55c5005630696e9b6d81c65f7bd04' into subtree-update_cg_gcc_2023-10-25
2023-10-26 17:42:02 -04:00
Antoni Boucher
30290c8b41
Merge commit '11a0cceab966e5ff1058ddbcab5977e8a1d6d290' into subtree-update_cg_gcc_2023-10-09
2023-10-09 15:53:34 -04:00