Path: blob/main/lib/clang/include/llvm/Config/Targets.h
289319 views
/*===------- llvm/Config/Targets.h - LLVM target checks -----------*- C -*-===*/1/* */2/* Part of the LLVM Project, under the Apache License v2.0 with LLVM */3/* Exceptions. */4/* See https://llvm.org/LICENSE.txt for license information. */5/* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception */6/* */7/*===----------------------------------------------------------------------===*/89/* This file enables clients to know whether specific targets are enabled. */1011#ifndef LLVM_CONFIG_TARGETS_H12#define LLVM_CONFIG_TARGETS_H1314/* Define if the AArch64 target is built in */15#ifdef LLVM_TARGET_ENABLE_AARCH6416#define LLVM_HAS_AARCH64_TARGET 117#else18#define LLVM_HAS_AARCH64_TARGET 019#endif2021/* Define if the AMDGPU target is built in */22#define LLVM_HAS_AMDGPU_TARGET 02324/* Define if the ARC target is built in */25#define LLVM_HAS_ARC_TARGET 02627/* Define if the ARM target is built in */28#ifdef LLVM_TARGET_ENABLE_ARM29#define LLVM_HAS_ARM_TARGET 130#else31#define LLVM_HAS_ARM_TARGET 032#endif3334/* Define if the AVR target is built in */35#define LLVM_HAS_AVR_TARGET 03637/* Define if the BPF target is built in */38#ifdef LLVM_TARGET_ENABLE_BPF39#define LLVM_HAS_BPF_TARGET 140#else41#define LLVM_HAS_BPF_TARGET 042#endif4344/* Define if the CSKY target is built in */45#define LLVM_HAS_CSKY_TARGET 04647/* Define if the DirectX target is built in */48#define LLVM_HAS_DIRECTX_TARGET 04950/* Define if the Hexagon target is built in */51#define LLVM_HAS_HEXAGON_TARGET 05253/* Define if the Lanai target is built in */54#define LLVM_HAS_LANAI_TARGET 05556/* Define if the LoongArch target is built in */57#define LLVM_HAS_LOONGARCH_TARGET 05859/* Define if the M68k target is built in */60#define LLVM_HAS_M68K_TARGET 06162/* Define if the Mips target is built in */63#ifdef LLVM_TARGET_ENABLE_MIPS64#define LLVM_HAS_MIPS_TARGET 165#else66#define LLVM_HAS_MIPS_TARGET 067#endif6869/* Define if the MSP430 target is built in */70#define LLVM_HAS_MSP430_TARGET 07172/* Define if the NVPTX target is built in */73#define LLVM_HAS_NVPTX_TARGET 07475/* Define if the PowerPC target is built in */76#ifdef LLVM_TARGET_ENABLE_POWERPC77#define LLVM_HAS_POWERPC_TARGET 178#else79#define LLVM_HAS_POWERPC_TARGET 080#endif8182/* Define if the RISCV target is built in */83#ifdef LLVM_TARGET_ENABLE_RISCV84#define LLVM_HAS_RISCV_TARGET 185#else86#define LLVM_HAS_RISCV_TARGET 087#endif8889/* Define if the Sparc target is built in */90#define LLVM_HAS_SPARC_TARGET 09192/* Define if the SPIRV target is built in */93#define LLVM_HAS_SPIRV_TARGET 09495/* Define if the SystemZ target is built in */96#define LLVM_HAS_SYSTEMZ_TARGET 09798/* Define if the VE target is built in */99#define LLVM_HAS_VE_TARGET 0100101/* Define if the WebAssembly target is built in */102#define LLVM_HAS_WEBASSEMBLY_TARGET 0103104/* Define if the X86 target is built in */105#ifdef LLVM_TARGET_ENABLE_X86106#define LLVM_HAS_X86_TARGET 1107#else108#define LLVM_HAS_X86_TARGET 0109#endif110111/* Define if the XCore target is built in */112#define LLVM_HAS_XCORE_TARGET 0113114/* Define if the Xtensa target is built in */115#define LLVM_HAS_XTENSA_TARGET 0116117#endif118119120