1 /* 2 * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. 3 * 4 * This file is part of libFirm. 5 * 6 * This file may be distributed and/or modified under the terms of the 7 * GNU General Public License version 2 as published by the Free Software 8 * Foundation and appearing in the file LICENSE.GPL included in the 9 * packaging of this file. 10 * 11 * Licensees holding valid libFirm Professional Edition licenses may use 12 * this file in accordance with the libFirm Commercial License. 13 * Agreement provided with the Software. 14 * 15 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 16 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 17 * PURPOSE. 18 */ 19 20 /** 21 * @file 22 * @brief declarations for emit functions 23 */ 24 #ifndef FIRM_BE_amd64_amd64_EMITTER_H 25 #define FIRM_BE_amd64_amd64_EMITTER_H 26 27 #include "irargs_t.h" 28 #include "irnode.h" 29 #include "debug.h" 30 31 #include "bearch.h" 32 #include "beemitter.h" 33 34 #include "bearch_amd64_t.h" 35 36 /** 37 * fmt parameter output 38 * ---- ---------------------- --------------------------------------------- 39 * %% % 40 * %C <node> immediate value 41 * %Dx <node> destination register x 42 * %E ir_entity const* entity 43 * %L <node> control flow target 44 * %O <node> offset 45 * %R arch_register_t const* register 46 * %Sx <node> source register x 47 * %S* <node>, int source register 48 * %d signed int signed int 49 * %s char const* string 50 * %u unsigned int unsigned int 51 * 52 * x starts at 0 53 */ 54 void amd64_emitf(ir_node const *node, char const *fmt, ...); 55 56 void amd64_gen_routine(ir_graph *irg); 57 58 #endif 59