X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fscripts%2Fgenerate_regalloc_if.pl;h=284ca6bac3b4393c853c46ecb9ea4faeeef77364;hb=67e049d5b177416c8883bbf8f827827bb424126f;hp=87714c936251b74ed3f3191817f4b19b0705e0ba;hpb=b24c359be385d38d535efe35df5a937a8ee9cc0c;p=libfirm diff --git a/ir/be/scripts/generate_regalloc_if.pl b/ir/be/scripts/generate_regalloc_if.pl index 87714c936..284ca6bac 100755 --- a/ir/be/scripts/generate_regalloc_if.pl +++ b/ir/be/scripts/generate_regalloc_if.pl @@ -61,26 +61,18 @@ sub translate_reg_type { my @types; if ($t & 1) { - push(@types, "arch_register_type_caller_save"); - } - - if ($t & 2) { - push(@types, "arch_register_type_callee_save"); - } - - if ($t & 4) { push(@types, "arch_register_type_ignore"); } - if ($t & 8) { + if ($t & 2) { push(@types, "arch_register_type_joker"); } - if ($t & 16) { + if ($t & 4) { push(@types, "arch_register_type_virtual"); } - if ($t & 32) { + if ($t & 8) { push(@types, "arch_register_type_state"); } @@ -181,13 +173,9 @@ foreach my $class_name (keys(%reg_classes)) { $flags_prepared .= "arch_register_class_flag_$flag"; } } else { - $flags_prepared = "0"; + $flags_prepared = "arch_register_class_flag_none"; } - $single_constraints_decls .= <{"name"}; + my $name = $_->{"name"}; my $ucname = uc($name); - my $type = translate_reg_type($_->{"type"}); + my $type = "arch_register_type_none"; + $type = translate_reg_type($_->{"type"}) if (exists($_->{"type"})); # realname is name if not set by user $_->{"realname"} = $_->{"name"} if (! exists($_->{"realname"})); my $realname = $_->{realname}; @@ -276,14 +265,17 @@ print OUT<