1/*===- llvm/Config/Targets.def - LLVM Target Architectures ------*- 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 enumerates all of the target architectures supported by          *|
11|* this build of LLVM. Clients of this file should define the                 *|
12|* LLVM_TARGET macro to be a function-like macro with a single                *|
13|* parameter (the name of the target); including this file will then          *|
14|* enumerate all of the targets.                                              *|
15|*                                                                            *|
16|* The set of targets supported by LLVM is generated at configuration         *|
17|* time, at which point this header is generated. Do not modify this          *|
18|* header directly.                                                           *|
19|*                                                                            *|
20\*===----------------------------------------------------------------------===*/
21
22#ifndef LLVM_TARGET
23#  error Please define the macro LLVM_TARGET(TargetName)
24#endif
25
26#if defined(__aarch64__)
27LLVM_TARGET(AArch64)
28#endif
29#if defined(__arm__)
30LLVM_TARGET(ARM)
31#endif
32#if defined(__i386__) || defined(__x86_64__)
33LLVM_TARGET(X86)
34#endif
35
36
37#undef LLVM_TARGET
38