This simplifies running more code after all loops have been
unrolled/serialized.
---
 gas-preprocessor.pl | 29 ++++++++++++++++++-----------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/gas-preprocessor.pl b/gas-preprocessor.pl
index 9edcd68..89a47d2 100755
--- a/gas-preprocessor.pl
+++ b/gas-preprocessor.pl
@@ -590,19 +590,14 @@ foreach my $line (@pass1_lines) {
                     my $line = $origline;
                     $line =~ s/\\$irp_param/$i/g;
                     $line =~ s/\\\(\)//g;     # remove \()
-                    if (!parse_if_line($line) && !handle_if($line)) {
-                        handle_set($line);
-                        print ASMFILE $line;
-                    }
+                    handle_serialized_line($line, 1);
                 }
             }
         } else {
             for (1 .. $num_repts) {
-                foreach my $line (@rept_lines) {
-                    if (!parse_if_line($line) && !handle_if($line)) {
-                        handle_set($line);
-                        print ASMFILE $line;
-                    }
+                foreach my $origline (@rept_lines) {
+                    my $line = $origline;
+                    handle_serialized_line($line, 1);
                 }
             }
         }
@@ -612,11 +607,23 @@ foreach my $line (@pass1_lines) {
     } elsif (scalar(@rept_lines)) {
         push(@rept_lines, $line);
     } else {
-        handle_set($line);
-        print ASMFILE $line;
+        handle_serialized_line($line, 0);
     }
 }
 
+sub handle_serialized_line {
+    my $line = @_[0];
+    my $do_eval_if = @_[1];
+
+    if ($do_eval_if) {
+        return if parse_if_line($line);
+        return if handle_if($line);
+    }
+
+    handle_set($line);
+    print ASMFILE $line;
+}
+
 print ASMFILE ".text\n";
 print ASMFILE ".align 2\n";
 foreach my $literal (keys %literal_labels) {
-- 
1.8.1.2

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to