/*===----- llvm/Config/TargetExegesis.def - LLVM Target Exegesis-*- C++ -*-===*\
|*                                                                            *|
|* Part of the LLVM Project, under the Apache License v2.0 with LLVM          *|
|* Exceptions.                                                                *|
|* See https://llvm.org/LICENSE.txt for license information.                  *|
|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception                    *|
|*                                                                            *|
|*===----------------------------------------------------------------------===*|
|*                                                                            *|
|* This file enumerates all of the target's of llvm-exegesis                  *|
|* supported by this build of LLVM. Clients of this file should define        *|
|* the LLVM_EXEGISIS macro to be a function-like macro with a                 *|
|* single parameter (the name of the target whose assembly can be             *|
|* generated); including this file will then enumerate all of the             *|
|* targets with target llvm-exegsis support.                                  *|
|*                                                                            *|
|* The set of targets supported by LLVM is generated at configuration         *|
|* time, at which point this header is generated. Do not modify this          *|
|* header directly.                                                           *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

#ifndef LLVM_EXEGESIS
#  error Please define the macro LLVM_EXEGESIS(TargetName)
#endif

#if defined(__aarch64__)
LLVM_EXEGESIS(AArch64)
#endif
#if defined(__i386__) || defined(__x86_64__)
LLVM_EXEGESIS(X86)
#endif
#if defined(__mips__)
LLVM_EXEGESIS(Mips)
#endif


#undef LLVM_EXEGESIS
