xref: /freebsd/lib/clang/include/llvm/Config/Targets.def (revision 6f444019009a55aac18d18054d154155fbf606c9)
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