ISLE: Resolve remaining x64 overlap errors (#4977)

Resolve overlap errors with the x64 backend.
This commit is contained in:
Trevor Elliott
2022-09-29 10:09:37 -07:00
committed by GitHub
parent bf2fa40e4e
commit db06e4e622
3 changed files with 198 additions and 188 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -718,6 +718,11 @@ macro_rules! isle_prelude_methods {
} }
} }
#[inline]
fn tls_model(&mut self, _: Type) -> TlsModel {
self.flags.tls_model()
}
#[inline] #[inline]
fn tls_model_is_elf_gd(&mut self) -> Option<()> { fn tls_model_is_elf_gd(&mut self) -> Option<()> {
if self.flags.tls_model() == TlsModel::ElfGd { if self.flags.tls_model() == TlsModel::ElfGd {

View File

@@ -889,6 +889,13 @@
(decl avoid_div_traps () Type) (decl avoid_div_traps () Type)
(extern extractor avoid_div_traps avoid_div_traps) (extern extractor avoid_div_traps avoid_div_traps)
;; This definition should be kept up to date with the values defined in
;; cranelift/codegen/meta/src/shared/settings.rs
(type TlsModel extern (enum (None) (ElfGd) (Macho) (Coff)))
(decl tls_model (TlsModel) Type)
(extern extractor infallible tls_model tls_model)
(decl pure tls_model_is_elf_gd () Unit) (decl pure tls_model_is_elf_gd () Unit)
(extern constructor tls_model_is_elf_gd tls_model_is_elf_gd) (extern constructor tls_model_is_elf_gd tls_model_is_elf_gd)