From b599aa34a918a033aa4e50e63b4c445b07d2e0ec Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Wed, 25 Jul 2007 12:14:04 +0000 Subject: [PATCH] emit new block labels [r15329] --- ir/be/arm/arm_emitter.c | 9 +++++++-- ir/be/ia32/ia32_emitter.c | 9 +++++++-- ir/be/mips/mips_emitter.c | 11 ++++++++++- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/ir/be/arm/arm_emitter.c b/ir/be/arm/arm_emitter.c index 8504f45be..2bd4495f3 100644 --- a/ir/be/arm/arm_emitter.c +++ b/ir/be/arm/arm_emitter.c @@ -334,8 +334,13 @@ static ir_node *get_cfop_target_block(const ir_node *irn) { * Emits a block label for the given block. */ static void arm_emit_block_name(be_emit_env_t *emit, const ir_node *block) { - be_emit_cstring(emit, BLOCK_PREFIX); - be_emit_irprintf(emit, "%d", get_irn_node_nr(block)); + if (has_Block_label(block)) { + be_emit_string(emit, be_gas_label_prefix()); + be_emit_irprintf(emit, "%lu", get_Block_label(block)); + } else { + be_emit_cstring(emit, BLOCK_PREFIX); + be_emit_irprintf(emit, "%d", get_irn_node_nr(block)); + } } /** diff --git a/ir/be/ia32/ia32_emitter.c b/ir/be/ia32/ia32_emitter.c index c4a4f1a3e..59c428210 100644 --- a/ir/be/ia32/ia32_emitter.c +++ b/ir/be/ia32/ia32_emitter.c @@ -728,8 +728,13 @@ ir_node *get_cfop_target_block(const ir_node *irn) { static void ia32_emit_block_name(ia32_emit_env_t *env, const ir_node *block) { - be_emit_cstring(env, BLOCK_PREFIX); - be_emit_irprintf(env->emit, "%d", get_irn_node_nr(block)); + if (has_Block_label(block)) { + be_emit_string(env, be_gas_label_prefix()); + be_emit_irprintf(env->emit, "%u", (unsigned)get_Block_label(block)); + } else { + be_emit_cstring(env, BLOCK_PREFIX); + be_emit_irprintf(env->emit, "%d", get_irn_node_nr(block)); + } } /** diff --git a/ir/be/mips/mips_emitter.c b/ir/be/mips/mips_emitter.c index 158df07f4..a04d4d5fe 100644 --- a/ir/be/mips/mips_emitter.c +++ b/ir/be/mips/mips_emitter.c @@ -54,6 +54,8 @@ DEBUG_ONLY(static firm_dbg_module_t *dbg = NULL;) +#define BLOCK_PREFIX ".L" + #define SNPRINTF_BUF_LEN 128 /** @@ -433,7 +435,14 @@ const char* mips_get_block_label(const ir_node* block) static void mips_emit_block_label(mips_emit_env_t *env, const ir_node *block) { - be_emit_irprintf(env->emit, "BLOCK_%d", get_irn_node_nr(block)); + if (has_Block_label(block)) { + be_emit_string(env, be_gas_label_prefix()); + be_emit_irprintf(env->emit, "%lu", get_Block_label(block)); + } else { + be_emit_cstring(env, BLOCK_PREFIX); + be_emit_irprintf(env->emit, "%d", get_irn_node_nr(block)); + + } } static void mips_emit_Jump(mips_emit_env_t *env, const ir_node *node) -- 2.20.1