summaryrefslogtreecommitdiffhomepage
path: root/ir/be/begnuas.h
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2011-10-25 17:40:17 +0200
committerMatthias Braun <matze@braunis.de>2011-10-27 14:25:17 +0200
commitf19e702def23bd76d2e770f0f981f876864bb69b (patch)
treeb8e94167d4a956e9238ed81e44ce07a17e8c4b7b /ir/be/begnuas.h
parent87b21b8d567be43457ef9d45be329c03e692b8d3 (diff)
let backends decide wether to use begnuas
This also means that dependent modules like bedbgout should be initialized by begnuas.
Diffstat (limited to 'ir/be/begnuas.h')
-rw-r--r--ir/be/begnuas.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/ir/be/begnuas.h b/ir/be/begnuas.h
index 72958eb..2855f82 100644
--- a/ir/be/begnuas.h
+++ b/ir/be/begnuas.h
@@ -73,12 +73,6 @@ extern elf_variant_t be_gas_elf_variant;
extern char be_gas_elf_type_char;
/**
- * Generate all entities.
- * @param main_env the main backend environment
- */
-void be_gas_emit_decls(const be_main_env_t *main_env);
-
-/**
* Switch the current output section to the given out.
*
* @param section the new output section
@@ -108,6 +102,20 @@ void be_gas_emit_entity(const ir_entity *entity);
void be_gas_emit_block_name(const ir_node *block);
/**
+ * Starts emitting a compilation unit. This emits:
+ * - global assembler snippets
+ * - debug info
+ */
+void be_gas_begin_compilation_unit(const be_main_env_t *env);
+
+/**
+ * ends a compilation unit. This emits:
+ * - global declarations/variables
+ * - debug info
+ */
+void be_gas_end_compilation_unit(const be_main_env_t *env);
+
+/**
* Return the label prefix for labeled instructions.
*/
const char *be_gas_insn_label_prefix(void);