Skip to content

Commit 8ee8ddd

Browse files
committed
Teach rustc about the Xtensa arch.
1 parent 5beece9 commit 8ee8ddd

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

compiler/rustc_llvm/build.rs

Lines changed: 1 addition & 0 deletions
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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,12 @@ void LLVMRustAddLastExtensionPasses(
235235
#define SUBTARGET_SPARC
236236
#endif
237237

238+
#ifdef LLVM_COMPONENT_XTENSA
239+
#define SUBTARGET_XTENSA SUBTARGET(XTENSA)
240+
#else
241+
#define SUBTARGET_XTENSA
242+
#endif
243+
238244
#ifdef LLVM_COMPONENT_HEXAGON
239245
#define SUBTARGET_HEXAGON SUBTARGET(Hexagon)
240246
#else
@@ -252,6 +258,7 @@ void LLVMRustAddLastExtensionPasses(
252258
SUBTARGET_MSP430 \
253259
SUBTARGET_SPARC \
254260
SUBTARGET_HEXAGON \
261+
SUBTARGET_XTENSA \
255262
SUBTARGET_RISCV \
256263

257264
#define SUBTARGET(x) \

compiler/rustc_llvm/src/lib.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,14 @@ pub fn initialize_available_targets() {
159159
LLVMInitializeHexagonAsmPrinter,
160160
LLVMInitializeHexagonAsmParser
161161
);
162+
init_target!(
163+
llvm_component = "xtensa",
164+
LLVMInitializeXtensaTargetInfo,
165+
LLVMInitializeXtensaTarget,
166+
LLVMInitializeXtensaTargetMC,
167+
LLVMInitializeXtensaAsmPrinter,
168+
LLVMInitializeXtensaAsmParser
169+
);
162170
init_target!(
163171
llvm_component = "webassembly",
164172
LLVMInitializeWebAssemblyTargetInfo,

0 commit comments

Comments
 (0)