]> granicus.if.org Git - llvm/commitdiff
Correctly handle multi-lined RUN lines.
authorBryant Wong <llvm-commits@xorshift.org>
Thu, 29 Dec 2016 19:32:34 +0000 (19:32 +0000)
committerBryant Wong <llvm-commits@xorshift.org>
Thu, 29 Dec 2016 19:32:34 +0000 (19:32 +0000)
`utils/update_{llc_test,test}_checks` ought to be able to handle RUN commands
that span multiple lines, as shown in the example at
http://llvm.org/docs/CommandGuide/FileCheck.html#the-filecheck-check-prefix-option

Differential Revision: https://reviews.llvm.org/D26523

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290716 91177308-0d34-0410-b5e6-96231b3b80d8

utils/update_llc_test_checks.py
utils/update_test_checks.py

index bb34cf12742c15318d7d1cb305aa8a994c335aa6..13ebe68589fe464feac70894d142a3fa8ef7462f 100755 (executable)
@@ -222,8 +222,15 @@ def main():
         triple_in_ir = m.groups()[0]
         break
 
-    run_lines = [m.group(1)
+    raw_lines = [m.group(1)
                  for m in [RUN_LINE_RE.match(l) for l in input_lines] if m]
+    run_lines = [raw_lines[0]] if len(raw_lines) > 0 else []
+    for l in raw_lines[1:]:
+        if run_lines[-1].endswith("\\"):
+            run_lines[-1] = run_lines[-1].rstrip("\\") + " " + l
+        else:
+            run_lines.append(l)
+
     if args.verbose:
       print >>sys.stderr, 'Found %d RUN lines:' % (len(run_lines),)
       for l in run_lines:
index 7adf3e2661b25f9e8b8d2eca9e00b47dd480d60b..c71f3b62d511e36c7e2d313459a2e2ecf7eb236f 100755 (executable)
@@ -292,8 +292,15 @@ def main():
     with open(test) as f:
       input_lines = [l.rstrip() for l in f]
 
-    run_lines = [m.group(1)
+    raw_lines = [m.group(1)
                  for m in [RUN_LINE_RE.match(l) for l in input_lines] if m]
+    run_lines = [raw_lines[0]] if len(raw_lines) > 0 else []
+    for l in raw_lines[1:]:
+        if run_lines[-1].endswith("\\"):
+            run_lines[-1] = run_lines[-1].rstrip("\\") + " " + l
+        else:
+            run_lines.append(l)
+
     if args.verbose:
       print >>sys.stderr, 'Found %d RUN lines:' % (len(run_lines),)
       for l in run_lines: