X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fscripts%2Fgenerate_emitter.pl;h=ebbf7a35695ede27a2bd0fea44611c59e7215ae0;hb=1161999117f5c0f56b3af2dc9bb7150e03761905;hp=8c367d18a1695023b4f29b99d0585e48bd38e1c0;hpb=21273f8f8bbcdeaeb6dde86cd7547bc3359822b0;p=libfirm diff --git a/ir/be/scripts/generate_emitter.pl b/ir/be/scripts/generate_emitter.pl index 8c367d18a..ebbf7a356 100755 --- a/ir/be/scripts/generate_emitter.pl +++ b/ir/be/scripts/generate_emitter.pl @@ -64,6 +64,7 @@ foreach my $op (keys(%nodes)) { my $cnt = 0; my $buf = 'cmd_buf'; + push(@obst_func, " cmnt_buf[0] = '\\0';\n"); foreach $template (split(/$comment_string_quoted/, $fmt, 2)) { my @params; my $res = ""; @@ -78,7 +79,7 @@ foreach my $op (keys(%nodes)) { } # substitute all format parameter - while ($template =~ /\%([ASD])(\d)|\%([COM])|\%(\w+)/) { + while ($template =~ /\%([ASDX])(\d)|\%([COM])|\%(\w+)/) { $res .= $`; # get everything before the match if ($1 && $1 eq "S") { @@ -89,6 +90,10 @@ foreach my $op (keys(%nodes)) { push(@params, "n"); $res .= "%".$2."D"; # substitute %Dx with %xD } + elsif ($1 && $1 eq "X") { + push(@params, "n"); + $res .= "%".$2."X"; # substitute %Xx with %xX + } elsif ($1 && $1 eq "A") { push(@params, "get_irn_n(n, ".($2 - 1).")"); $res .= "%+F"; @@ -117,7 +122,7 @@ foreach my $op (keys(%nodes)) { } } - push(@obst_func, ' lc_efprintf(arg_env, F, "\t%-35s %-60s /* %+F */\n", cmd_buf, cmnt_buf, n);'."\n"); + push(@obst_func, ' lc_efprintf(arg_env, F, "\t%-35s %-60s /* %+F (%+G) */\n", cmd_buf, cmnt_buf, n, n);'."\n"); push(@obst_func, "}\n\n"); }