Skip to content

Commit 5e73e65

Browse files
committed
rename rustc_target::spec::abi_map::Arch{,Kind}
This makes way for `rustc_target::spec::Arch`.
1 parent 6e41e61 commit 5e73e65

File tree

1 file changed

+38
-36
lines changed

1 file changed

+38
-36
lines changed

compiler/rustc_target/src/spec/abi_map.rs

Lines changed: 38 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use crate::spec::Target;
88
/// encapsulating arch-specific ABI lowering details to make them more testable.
99
#[derive(Clone, Debug)]
1010
pub struct AbiMap {
11-
arch: Arch,
11+
arch: ArchKind,
1212
os: OsKind,
1313
}
1414

@@ -48,17 +48,17 @@ impl AbiMap {
4848
pub fn from_target(target: &Target) -> Self {
4949
// the purpose of this little exercise is to force listing what affects these mappings
5050
let arch = match &*target.arch {
51-
"aarch64" => Arch::Aarch64,
52-
"amdgpu" => Arch::Amdgpu,
53-
"arm" if target.llvm_target.starts_with("thumbv8m") => Arch::Arm(ArmVer::ThumbV8M),
54-
"arm" => Arch::Arm(ArmVer::Other),
55-
"avr" => Arch::Avr,
56-
"msp430" => Arch::Msp430,
57-
"nvptx64" => Arch::Nvptx,
58-
"riscv32" | "riscv64" => Arch::Riscv,
59-
"x86" => Arch::X86,
60-
"x86_64" => Arch::X86_64,
61-
_ => Arch::Other,
51+
"aarch64" => ArchKind::Aarch64,
52+
"amdgpu" => ArchKind::Amdgpu,
53+
"arm" if target.llvm_target.starts_with("thumbv8m") => ArchKind::Arm(ArmVer::ThumbV8M),
54+
"arm" => ArchKind::Arm(ArmVer::Other),
55+
"avr" => ArchKind::Avr,
56+
"msp430" => ArchKind::Msp430,
57+
"nvptx64" => ArchKind::Nvptx,
58+
"riscv32" | "riscv64" => ArchKind::Riscv,
59+
"x86" => ArchKind::X86,
60+
"x86_64" => ArchKind::X86_64,
61+
_ => ArchKind::Other,
6262
};
6363

6464
let os = if target.is_like_windows {
@@ -87,10 +87,12 @@ impl AbiMap {
8787

8888
(ExternAbi::Custom, _) => CanonAbi::Custom,
8989

90-
(ExternAbi::System { .. }, Arch::X86) if os == OsKind::Windows && !has_c_varargs => {
90+
(ExternAbi::System { .. }, ArchKind::X86)
91+
if os == OsKind::Windows && !has_c_varargs =>
92+
{
9193
CanonAbi::X86(X86Call::Stdcall)
9294
}
93-
(ExternAbi::System { .. }, Arch::Arm(..)) if self.os == OsKind::VEXos => {
95+
(ExternAbi::System { .. }, ArchKind::Arm(..)) if self.os == OsKind::VEXos => {
9496
// Calls to VEXos APIs do not use VFP registers.
9597
CanonAbi::Arm(ArmCall::Aapcs)
9698
}
@@ -101,73 +103,73 @@ impl AbiMap {
101103
// always and forever
102104
(ExternAbi::RustInvalid, _) => return AbiMapping::Invalid,
103105

104-
(ExternAbi::EfiApi, Arch::Arm(..)) => CanonAbi::Arm(ArmCall::Aapcs),
105-
(ExternAbi::EfiApi, Arch::X86_64) => CanonAbi::X86(X86Call::Win64),
106-
(ExternAbi::EfiApi, Arch::Aarch64 | Arch::Riscv | Arch::X86) => CanonAbi::C,
106+
(ExternAbi::EfiApi, ArchKind::Arm(..)) => CanonAbi::Arm(ArmCall::Aapcs),
107+
(ExternAbi::EfiApi, ArchKind::X86_64) => CanonAbi::X86(X86Call::Win64),
108+
(ExternAbi::EfiApi, ArchKind::Aarch64 | ArchKind::Riscv | ArchKind::X86) => CanonAbi::C,
107109
(ExternAbi::EfiApi, _) => return AbiMapping::Invalid,
108110

109111
/* arm */
110-
(ExternAbi::Aapcs { .. }, Arch::Arm(..)) => CanonAbi::Arm(ArmCall::Aapcs),
112+
(ExternAbi::Aapcs { .. }, ArchKind::Arm(..)) => CanonAbi::Arm(ArmCall::Aapcs),
111113
(ExternAbi::Aapcs { .. }, _) => return AbiMapping::Invalid,
112114

113-
(ExternAbi::CmseNonSecureCall, Arch::Arm(ArmVer::ThumbV8M)) => {
115+
(ExternAbi::CmseNonSecureCall, ArchKind::Arm(ArmVer::ThumbV8M)) => {
114116
CanonAbi::Arm(ArmCall::CCmseNonSecureCall)
115117
}
116-
(ExternAbi::CmseNonSecureEntry, Arch::Arm(ArmVer::ThumbV8M)) => {
118+
(ExternAbi::CmseNonSecureEntry, ArchKind::Arm(ArmVer::ThumbV8M)) => {
117119
CanonAbi::Arm(ArmCall::CCmseNonSecureEntry)
118120
}
119121
(ExternAbi::CmseNonSecureCall | ExternAbi::CmseNonSecureEntry, ..) => {
120122
return AbiMapping::Invalid;
121123
}
122124

123125
/* gpu */
124-
(ExternAbi::PtxKernel, Arch::Nvptx) => CanonAbi::GpuKernel,
125-
(ExternAbi::GpuKernel, Arch::Amdgpu | Arch::Nvptx) => CanonAbi::GpuKernel,
126+
(ExternAbi::PtxKernel, ArchKind::Nvptx) => CanonAbi::GpuKernel,
127+
(ExternAbi::GpuKernel, ArchKind::Amdgpu | ArchKind::Nvptx) => CanonAbi::GpuKernel,
126128
(ExternAbi::PtxKernel | ExternAbi::GpuKernel, _) => return AbiMapping::Invalid,
127129

128130
/* x86 */
129-
(ExternAbi::Cdecl { .. }, Arch::X86) => CanonAbi::C,
131+
(ExternAbi::Cdecl { .. }, ArchKind::X86) => CanonAbi::C,
130132
(ExternAbi::Cdecl { .. }, _) => return AbiMapping::Deprecated(CanonAbi::C),
131133

132-
(ExternAbi::Fastcall { .. }, Arch::X86) => CanonAbi::X86(X86Call::Fastcall),
134+
(ExternAbi::Fastcall { .. }, ArchKind::X86) => CanonAbi::X86(X86Call::Fastcall),
133135
(ExternAbi::Fastcall { .. }, _) if os == OsKind::Windows => {
134136
return AbiMapping::Deprecated(CanonAbi::C);
135137
}
136138
(ExternAbi::Fastcall { .. }, _) => return AbiMapping::Invalid,
137139

138-
(ExternAbi::Stdcall { .. }, Arch::X86) => CanonAbi::X86(X86Call::Stdcall),
140+
(ExternAbi::Stdcall { .. }, ArchKind::X86) => CanonAbi::X86(X86Call::Stdcall),
139141
(ExternAbi::Stdcall { .. }, _) if os == OsKind::Windows => {
140142
return AbiMapping::Deprecated(CanonAbi::C);
141143
}
142144
(ExternAbi::Stdcall { .. }, _) => return AbiMapping::Invalid,
143145

144-
(ExternAbi::Thiscall { .. }, Arch::X86) => CanonAbi::X86(X86Call::Thiscall),
146+
(ExternAbi::Thiscall { .. }, ArchKind::X86) => CanonAbi::X86(X86Call::Thiscall),
145147
(ExternAbi::Thiscall { .. }, _) => return AbiMapping::Invalid,
146148

147-
(ExternAbi::Vectorcall { .. }, Arch::X86 | Arch::X86_64) => {
149+
(ExternAbi::Vectorcall { .. }, ArchKind::X86 | ArchKind::X86_64) => {
148150
CanonAbi::X86(X86Call::Vectorcall)
149151
}
150152
(ExternAbi::Vectorcall { .. }, _) => return AbiMapping::Invalid,
151153

152-
(ExternAbi::SysV64 { .. }, Arch::X86_64) => CanonAbi::X86(X86Call::SysV64),
153-
(ExternAbi::Win64 { .. }, Arch::X86_64) => CanonAbi::X86(X86Call::Win64),
154+
(ExternAbi::SysV64 { .. }, ArchKind::X86_64) => CanonAbi::X86(X86Call::SysV64),
155+
(ExternAbi::Win64 { .. }, ArchKind::X86_64) => CanonAbi::X86(X86Call::Win64),
154156
(ExternAbi::SysV64 { .. } | ExternAbi::Win64 { .. }, _) => return AbiMapping::Invalid,
155157

156158
/* interrupts */
157-
(ExternAbi::AvrInterrupt, Arch::Avr) => CanonAbi::Interrupt(InterruptKind::Avr),
158-
(ExternAbi::AvrNonBlockingInterrupt, Arch::Avr) => {
159+
(ExternAbi::AvrInterrupt, ArchKind::Avr) => CanonAbi::Interrupt(InterruptKind::Avr),
160+
(ExternAbi::AvrNonBlockingInterrupt, ArchKind::Avr) => {
159161
CanonAbi::Interrupt(InterruptKind::AvrNonBlocking)
160162
}
161-
(ExternAbi::Msp430Interrupt, Arch::Msp430) => {
163+
(ExternAbi::Msp430Interrupt, ArchKind::Msp430) => {
162164
CanonAbi::Interrupt(InterruptKind::Msp430)
163165
}
164-
(ExternAbi::RiscvInterruptM, Arch::Riscv) => {
166+
(ExternAbi::RiscvInterruptM, ArchKind::Riscv) => {
165167
CanonAbi::Interrupt(InterruptKind::RiscvMachine)
166168
}
167-
(ExternAbi::RiscvInterruptS, Arch::Riscv) => {
169+
(ExternAbi::RiscvInterruptS, ArchKind::Riscv) => {
168170
CanonAbi::Interrupt(InterruptKind::RiscvSupervisor)
169171
}
170-
(ExternAbi::X86Interrupt, Arch::X86 | Arch::X86_64) => {
172+
(ExternAbi::X86Interrupt, ArchKind::X86 | ArchKind::X86_64) => {
171173
CanonAbi::Interrupt(InterruptKind::X86)
172174
}
173175
(
@@ -186,7 +188,7 @@ impl AbiMap {
186188
}
187189

188190
#[derive(Debug, PartialEq, Copy, Clone)]
189-
enum Arch {
191+
enum ArchKind {
190192
Aarch64,
191193
Amdgpu,
192194
Arm(ArmVer),

0 commit comments

Comments
 (0)