Small simplification in ia32 ASM emitter.
[libfirm] / ir / be / ia32 / ia32_emitter.c
index ee58435..50be459 100644 (file)
@@ -1329,7 +1329,7 @@ static void emit_ia32_Asm(const ir_node *node)
        ident                 *asm_text = attr->asm_text;
        const char            *s        = get_id_str(asm_text);
 
-       be_emit_cstring("# Begin ASM \t");
+       be_emit_cstring("#APP\t");
        be_emit_finish_line_gas(node);
 
        if (s[0] != '\t')
@@ -1338,17 +1338,15 @@ static void emit_ia32_Asm(const ir_node *node)
        while(*s != 0) {
                if(*s == '%') {
                        s = emit_asm_operand(node, s);
-                       continue;
                } else {
-                       be_emit_char(*s);
+                       be_emit_char(*s++);
                }
-               ++s;
        }
 
        be_emit_char('\n');
        be_emit_write_line();
 
-       be_emit_cstring("# End ASM\n");
+       be_emit_cstring("#NO_APP\n");
        be_emit_write_line();
 }
 
@@ -2201,7 +2199,7 @@ void ia32_gen_routine(ia32_code_gen_t *ia32_cg, ir_graph *irg)
        be_gas_emit_function_prolog(entity, ia32_cg_config.function_alignment);
 
        /* we use links to point to target blocks */
-       set_using_irn_link(irg);
+       ir_reserve_resources(irg, IR_RESOURCE_IRN_LINK);
        irg_block_walk_graph(irg, ia32_gen_labels, NULL, &exc_list);
 
        /* initialize next block links */
@@ -2224,7 +2222,7 @@ void ia32_gen_routine(ia32_code_gen_t *ia32_cg, ir_graph *irg)
        be_emit_char('\n');
        be_emit_write_line();
 
-       clear_using_irn_link(irg);
+       ir_free_resources(irg, IR_RESOURCE_IRN_LINK);
 
        /* Sort the exception table using the exception label id's.
           Those are ascending with ascending addresses. */