diff --git a/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp b/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp --- a/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp +++ b/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp @@ -111,6 +111,9 @@ // RISC-V supports the MachineOutliner. setMachineOutliner(true); setSupportsDefaultOutlining(true); + + if (TT.isOSFuchsia() && !TT.isArch64Bit()) + report_fatal_error("Fuchsia is only supported for 64-bit"); } const RISCVSubtarget * diff --git a/llvm/test/CodeGen/RISCV/rv32-fuchsia.ll b/llvm/test/CodeGen/RISCV/rv32-fuchsia.ll new file mode 100644 --- /dev/null +++ b/llvm/test/CodeGen/RISCV/rv32-fuchsia.ll @@ -0,0 +1,6 @@ +; RUN: not --crash llc -mtriple=riscv32-unknown-fuchsia < %s 2>&1 | FileCheck %s + +; CHECK: LLVM ERROR: Fuchsia is only supported for 64-bit +define void @nothing() nounwind { + ret void +}