Skip to content

Commit e05a6bc

Browse files
MabezDevkelnos
authored andcommitted
Teach rustc about the Xtensa arch.
1 parent 41927a1 commit e05a6bc

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

compiler/rustc_llvm/build.rs

+1
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ fn main() {
8585
"sparc",
8686
"nvptx",
8787
"hexagon",
88+
"xtensa",
8889
"riscv",
8990
];
9091

compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,12 @@ void LLVMRustAddLastExtensionPasses(
231231
#define SUBTARGET_SPARC
232232
#endif
233233

234+
#ifdef LLVM_COMPONENT_XTENSA
235+
#define SUBTARGET_XTENSA SUBTARGET(XTENSA)
236+
#else
237+
#define SUBTARGET_XTENSA
238+
#endif
239+
234240
#ifdef LLVM_COMPONENT_HEXAGON
235241
#define SUBTARGET_HEXAGON SUBTARGET(Hexagon)
236242
#else
@@ -248,6 +254,7 @@ void LLVMRustAddLastExtensionPasses(
248254
SUBTARGET_MSP430 \
249255
SUBTARGET_SPARC \
250256
SUBTARGET_HEXAGON \
257+
SUBTARGET_XTENSA \
251258
SUBTARGET_RISCV \
252259

253260
#define SUBTARGET(x) \

compiler/rustc_llvm/src/lib.rs

+8
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,14 @@ pub fn initialize_available_targets() {
162162
LLVMInitializeHexagonAsmPrinter,
163163
LLVMInitializeHexagonAsmParser
164164
);
165+
init_target!(
166+
llvm_component = "xtensa",
167+
LLVMInitializeXtensaTargetInfo,
168+
LLVMInitializeXtensaTarget,
169+
LLVMInitializeXtensaTargetMC,
170+
LLVMInitializeXtensaAsmPrinter,
171+
LLVMInitializeXtensaAsmParser
172+
);
165173
init_target!(
166174
llvm_component = "webassembly",
167175
LLVMInitializeWebAssemblyTargetInfo,

0 commit comments

Comments
 (0)