X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbegnuas.h;h=8536679ed3090270fc66e90d1d5ca4d0e9ec9fd0;hb=df2faee01a5832057bb3ca0ba5f67e979c916e19;hp=5b5bf91e7345af187f47fdb3a1442c5ad8857cee;hpb=1c89dc2a2c3cccd6e29fcfbf65248496db66ab92;p=libfirm diff --git a/ir/be/begnuas.h b/ir/be/begnuas.h index 5b5bf91e7..8536679ed 100644 --- a/ir/be/begnuas.h +++ b/ir/be/begnuas.h @@ -22,7 +22,6 @@ * @brief Dumps global variables and constants as gas assembler. * @author Christian Wuerdig, Matthias Braun * @date 04.11.2005 - * @version $Id$ */ #ifndef FIRM_BE_BEGNUAS_H #define FIRM_BE_BEGNUAS_H @@ -30,6 +29,7 @@ #include #include "be_types.h" #include "beemitter.h" +#include "bedwarf.h" typedef enum { GAS_SECTION_TEXT, /**< text section - program code */ @@ -45,7 +45,8 @@ typedef enum { GAS_SECTION_DEBUG_ABBREV, /**< dwarf debug abbrev */ GAS_SECTION_DEBUG_LINE, /**< dwarf debug line */ GAS_SECTION_DEBUG_PUBNAMES, /**< dwarf pub names */ - GAS_SECTION_LAST = GAS_SECTION_DEBUG_PUBNAMES, + GAS_SECTION_DEBUG_FRAME, /**< dwarf callframe infos */ + GAS_SECTION_LAST = GAS_SECTION_DEBUG_FRAME, GAS_SECTION_TYPE_MASK = 0xFF, GAS_SECTION_FLAG_TLS = 1 << 8, /**< thread local flag */ @@ -87,7 +88,8 @@ void be_gas_emit_switch_section(be_gas_section_t section); * emit assembler instructions necessary before starting function code */ void be_gas_emit_function_prolog(const ir_entity *entity, - unsigned po2alignment); + unsigned po2alignment, + const parameter_dbg_info_t *paramter_infos); void be_gas_emit_function_epilog(const ir_entity *entity); @@ -105,6 +107,17 @@ void be_gas_emit_entity(const ir_entity *entity); */ void be_gas_emit_block_name(const ir_node *block); +/** + * Starts a basic block. Emits an assembler label "blockname:" if needs_label + * is true, otherwise a comment with the blockname if verboseasm is enabled. + */ +void be_gas_begin_block(const ir_node *block, bool needs_label); + +/** + * emit a string (takes care of escaping special chars) + */ +void be_gas_emit_cstring(const char *string); + /** * Starts emitting a compilation unit. This emits: * - global assembler snippets