1/*===- llvm/Config/Targets.def - LLVM Target Architectures ------*- C++ -*-===*\ 2|* *| 3|* The LLVM Compiler Infrastructure *| 4|* *| 5|* This file is distributed under the University of Illinois Open Source *| 6|* License. See LICENSE.TXT for details. *| 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(__arm__) 27 LLVM_TARGET(ARM) 28#elif defined(__mips__) 29 LLVM_TARGET(Mips) 30#elif defined(__i386__) || defined(__x86_64__) 31 LLVM_TARGET(X86) 32 33#if defined(FORCE_BUILD_ARM) 34 LLVM_TARGET(ARM) 35 LLVM_TARGET(AArch64) 36#endif 37 38#elif defined(__aarch64__) 39 LLVM_TARGET(ARM) 40 LLVM_TARGET(AArch64) 41#else 42# error Unsupported TARGET_ARCH for LLVM_TARGET 43#endif 44 45#undef LLVM_TARGET 46