- $temp .= " init_$arch\_attributes(res, flags, $in_param, $out_param);\n";
+ $temp .= " init_$arch\_attributes(res, flags, $in_param, $out_param, $latency);\n";
+
+ # set flags for outs
+ if ($#out_flags >= 0) {
+ $temp .= "\n /* set flags for outs */\n";
+ for (my $idx = 0; $idx <= $#out_flags; $idx++) {
+ my $flags = "";
+ my $prefix = "";
+
+ foreach my $flag (split(/\|/, $out_flags[$idx])) {
+ if ($flag eq "I") {
+ $flags .= $prefix."arch_irn_flags_ignore";
+ $prefix = " | ";
+ }
+ elsif ($flag eq "S") {
+ $flags .= $prefix."arch_irn_flags_modify_sp";
+ $prefix = " | ";
+ }
+ }
+
+ $temp .= " set_$arch\_out_flags(res, $flags, $idx);\n";
+ }
+ }
+
+
+ if (exists($n{"init_attr"})) {
+ $temp .= " attr = get_$arch\_attr(res);\n";
+ $temp .= $n{"init_attr"}."\n";
+ }
+
+ $temp .= "\n /* optimize node */\n";
+ $temp .= " res = optimize_node(res);\n";
+ $temp .= " irn_vrfy_irg(res, irg);\n\n";