rust/compiler
Matthias Krüger 7e143e9043
Rollup merge of #110755 - TimNN:exp-tls, r=durin42
[LLVM17] Adapt to `ExplicitEmulatedTLS` removal.

0d333bf0e3 removed the `ExplicitEmulatedTLS` field from `TargetOptions`.

Before that commit, `TargetMachine::useEmulatedTLS()` fell back to `TheTriple.hasDefaultEmulatedTLS()` if `ExplicitEmulatedTLS` was `false`/unset.

After that commit, `TargetMachine::useEmulatedTLS()` directly returns `Options.EmulatedTLS`, and the fallback to `TheTriple.hasDefaultEmulatedTLS()` was moved to `InitTargetOptionsFromCodeGenFlags`.

Since `rustc` does not use `InitTargetOptionsFromCodeGenFlags` (AFAICT) and instead manually builds `TargetOptions`, this PR initializes `EmulatedTLS` to `TheTriple.hasDefaultEmulatedTLS()`.

(I'm not really familiar with the details of what this option does, or if there are any tests that depend on `hasDefaultEmulatedTLS` being used correctly, so this PR is mostly untested (it does compile against LLVM17, though)).

`@rustbot` label: +llvm-main
2023-04-25 06:46:49 +02:00
..
2023-04-21 02:14:04 -07:00
2023-04-17 16:09:18 -04:00
2023-04-21 02:14:04 -07:00
2023-04-17 16:09:18 -04:00
2023-04-20 12:00:41 -03:00