Skip to content

Commit 46cc4e1

Browse files
committed
Teach rustc about the Xtensa arch.
1 parent 5bb6568 commit 46cc4e1

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
];
8990

9091
let mut version_cmd = Command::new(&llvm_config);

compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,12 @@ void LLVMRustAddLastExtensionPasses(
247247
#define SUBTARGET_SPARC
248248
#endif
249249

250+
#ifdef LLVM_COMPONENT_XTENSA
251+
#define SUBTARGET_XTENSA SUBTARGET(XTENSA)
252+
#else
253+
#define SUBTARGET_XTENSA
254+
#endif
255+
250256
#ifdef LLVM_COMPONENT_HEXAGON
251257
#define SUBTARGET_HEXAGON SUBTARGET(Hexagon)
252258
#else
@@ -264,6 +270,7 @@ void LLVMRustAddLastExtensionPasses(
264270
SUBTARGET_MSP430 \
265271
SUBTARGET_SPARC \
266272
SUBTARGET_HEXAGON \
273+
SUBTARGET_XTENSA \
267274
SUBTARGET_RISCV \
268275

269276
#define SUBTARGET(x) \

compiler/rustc_llvm/src/lib.rs

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

0 commit comments

Comments
 (0)