1//===- llvm/Config/AsmPrinters.def - LLVM Assembly Printers -----*- 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 assembly-language printers 11// supported by this build of LLVM. Clients of this file should define 12// the LLVM_ASM_PRINTER macro to be a function-like macro with a 13// single parameter (the name of the target whose assembly can be 14// generated); including this file will then enumerate all of the 15// targets with assembly printers. 16// 17// The set of targets supported by LLVM is generated at configuration 18// time, at which point this header is generated. Do not modify this 19// header directly. 20// 21//===----------------------------------------------------------------------===// 22 23#ifndef LLVM_ASM_PRINTER 24# error Please define the macro LLVM_ASM_PRINTER(TargetName) 25#endif 26 27#if defined(__arm__) 28 LLVM_ASM_PRINTER(ARM) 29#elif defined(__mips__) 30 LLVM_ASM_PRINTER(Mips) 31#elif defined(__i386__) || defined(__x86_64__) 32 LLVM_ASM_PRINTER(X86) 33 34#if defined(FORCE_BUILD_ARM) 35 LLVM_ASM_PRINTER(ARM) 36 LLVM_ASM_PRINTER(AArch64) 37#endif 38 39#elif defined(__aarch64__) 40 LLVM_ASM_PRINTER(ARM) 41 LLVM_ASM_PRINTER(AArch64) 42#else 43# error Unsupported TARGET_ARCH for LLVM_ASM_PRINTER 44#endif 45 46#undef LLVM_ASM_PRINTER 47