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