1*647cbc5dSDimitry Andric/*===- llvm/Config/Targets.def - LLVM Target Architectures ------*- C++ -*-===*\ 2*647cbc5dSDimitry Andric|* *| 3*647cbc5dSDimitry Andric|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *| 4*647cbc5dSDimitry Andric|* Exceptions. *| 5*647cbc5dSDimitry Andric|* See https://llvm.org/LICENSE.txt for license information. *| 6*647cbc5dSDimitry Andric|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *| 7*647cbc5dSDimitry Andric|* *| 8*647cbc5dSDimitry Andric|*===----------------------------------------------------------------------===*| 9*647cbc5dSDimitry Andric|* *| 10*647cbc5dSDimitry Andric|* This file enumerates all of the target architectures supported by *| 11*647cbc5dSDimitry Andric|* this build of LLVM. Clients of this file should define the *| 12*647cbc5dSDimitry Andric|* LLVM_TARGET macro to be a function-like macro with a single *| 13*647cbc5dSDimitry Andric|* parameter (the name of the target); including this file will then *| 14*647cbc5dSDimitry Andric|* enumerate all of the targets. *| 15*647cbc5dSDimitry Andric|* *| 16*647cbc5dSDimitry Andric|* The set of targets supported by LLVM is generated at configuration *| 17*647cbc5dSDimitry Andric|* time, at which point this header is generated. Do not modify this *| 18*647cbc5dSDimitry Andric|* header directly. *| 19*647cbc5dSDimitry Andric|* *| 20*647cbc5dSDimitry Andric\*===----------------------------------------------------------------------===*/ 21*647cbc5dSDimitry Andric 227fff4413SDimitry Andric#ifndef LLVM_TARGET 237fff4413SDimitry Andric# error Please define the macro LLVM_TARGET(TargetName) 247fff4413SDimitry Andric#endif 257fff4413SDimitry Andric 26cbafd263SDimitry Andric#ifdef LLVM_TARGET_ENABLE_AARCH64 2747a80b92SDimitry AndricLLVM_TARGET(AArch64) 28cbafd263SDimitry Andric#endif 29cbafd263SDimitry Andric#ifdef LLVM_TARGET_ENABLE_ARM 30ffd1746dSEd SchoutenLLVM_TARGET(ARM) 31cbafd263SDimitry Andric#endif 3289edb881SDimitry Andric#ifdef LLVM_TARGET_ENABLE_BPF 3389edb881SDimitry AndricLLVM_TARGET(BPF) 3489edb881SDimitry Andric#endif 35cbafd263SDimitry Andric#ifdef LLVM_TARGET_ENABLE_MIPS 362754fe60SDimitry AndricLLVM_TARGET(Mips) 37cbafd263SDimitry Andric#endif 38cbafd263SDimitry Andric#ifdef LLVM_TARGET_ENABLE_POWERPC 39ffd1746dSEd SchoutenLLVM_TARGET(PowerPC) 40cbafd263SDimitry Andric#endif 41b2689b12SMitchell Horne#ifdef LLVM_TARGET_ENABLE_RISCV 42b2689b12SMitchell HorneLLVM_TARGET(RISCV) 43b2689b12SMitchell Horne#endif 44cbafd263SDimitry Andric#ifdef LLVM_TARGET_ENABLE_X86 45ffd1746dSEd SchoutenLLVM_TARGET(X86) 46cbafd263SDimitry Andric#endif 4747c832c3SRoman Divacky 48*647cbc5dSDimitry Andric 4947c832c3SRoman Divacky#undef LLVM_TARGET 50