1 /*===------- llvm/Config/Targets.h - LLVM target checks -----------*- C -*-===*/ 2 /* */ 3 /* Part of the LLVM Project, under the Apache License v2.0 with LLVM */ 4 /* Exceptions. */ 5 /* See https://llvm.org/LICENSE.txt for license information. */ 6 /* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception */ 7 /* */ 8 /*===----------------------------------------------------------------------===*/ 9 10 /* This file enables clients to know whether specific targets are enabled. */ 11 12 #ifndef LLVM_CONFIG_TARGETS_H 13 #define LLVM_CONFIG_TARGETS_H 14 15 /* Define if the AArch64 target is built in */ 16 #ifdef LLVM_TARGET_ENABLE_AARCH64 17 #define LLVM_HAS_AARCH64_TARGET 1 18 #else 19 #define LLVM_HAS_AARCH64_TARGET 0 20 #endif 21 22 /* Define if the AMDGPU target is built in */ 23 #define LLVM_HAS_AMDGPU_TARGET 0 24 25 /* Define if the ARC target is built in */ 26 #define LLVM_HAS_ARC_TARGET 0 27 28 /* Define if the ARM target is built in */ 29 #ifdef LLVM_TARGET_ENABLE_ARM 30 #define LLVM_HAS_ARM_TARGET 1 31 #else 32 #define LLVM_HAS_ARM_TARGET 0 33 #endif 34 35 /* Define if the AVR target is built in */ 36 #define LLVM_HAS_AVR_TARGET 0 37 38 /* Define if the BPF target is built in */ 39 #ifdef LLVM_TARGET_ENABLE_BPF 40 #define LLVM_HAS_BPF_TARGET 1 41 #else 42 #define LLVM_HAS_BPF_TARGET 0 43 #endif 44 45 /* Define if the CSKY target is built in */ 46 #define LLVM_HAS_CSKY_TARGET 0 47 48 /* Define if the DirectX target is built in */ 49 #define LLVM_HAS_DIRECTX_TARGET 0 50 51 /* Define if the Hexagon target is built in */ 52 #define LLVM_HAS_HEXAGON_TARGET 0 53 54 /* Define if the Lanai target is built in */ 55 #define LLVM_HAS_LANAI_TARGET 0 56 57 /* Define if the LoongArch target is built in */ 58 #define LLVM_HAS_LOONGARCH_TARGET 0 59 60 /* Define if the M68k target is built in */ 61 #define LLVM_HAS_M68K_TARGET 0 62 63 /* Define if the Mips target is built in */ 64 #ifdef LLVM_TARGET_ENABLE_MIPS 65 #define LLVM_HAS_MIPS_TARGET 1 66 #else 67 #define LLVM_HAS_MIPS_TARGET 0 68 #endif 69 70 /* Define if the MSP430 target is built in */ 71 #define LLVM_HAS_MSP430_TARGET 0 72 73 /* Define if the NVPTX target is built in */ 74 #define LLVM_HAS_NVPTX_TARGET 0 75 76 /* Define if the PowerPC target is built in */ 77 #ifdef LLVM_TARGET_ENABLE_POWERPC 78 #define LLVM_HAS_POWERPC_TARGET 1 79 #else 80 #define LLVM_HAS_POWERPC_TARGET 0 81 #endif 82 83 /* Define if the RISCV target is built in */ 84 #ifdef LLVM_TARGET_ENABLE_RISCV 85 #define LLVM_HAS_RISCV_TARGET 1 86 #else 87 #define LLVM_HAS_RISCV_TARGET 0 88 #endif 89 90 /* Define if the Sparc target is built in */ 91 #define LLVM_HAS_SPARC_TARGET 0 92 93 /* Define if the SPIRV target is built in */ 94 #define LLVM_HAS_SPIRV_TARGET 0 95 96 /* Define if the SystemZ target is built in */ 97 #define LLVM_HAS_SYSTEMZ_TARGET 0 98 99 /* Define if the VE target is built in */ 100 #define LLVM_HAS_VE_TARGET 0 101 102 /* Define if the WebAssembly target is built in */ 103 #define LLVM_HAS_WEBASSEMBLY_TARGET 0 104 105 /* Define if the X86 target is built in */ 106 #ifdef LLVM_TARGET_ENABLE_X86 107 #define LLVM_HAS_X86_TARGET 1 108 #else 109 #define LLVM_HAS_X86_TARGET 0 110 #endif 111 112 /* Define if the XCore target is built in */ 113 #define LLVM_HAS_XCORE_TARGET 0 114 115 /* Define if the Xtensa target is built in */ 116 #define LLVM_HAS_XTENSA_TARGET 0 117 118 #endif 119