[llvm] r265414 - check or check-next the first line of the function too

Sanjay Patel via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 5 09:49:11 PDT 2016


Author: spatel
Date: Tue Apr  5 11:49:07 2016
New Revision: 265414

URL: http://llvm.org/viewvc/llvm-project?rev=265414&view=rev
Log:
check or check-next the first line of the function too

We could make this an option if people don't like it. 
But since part of the reason for using a script to generate
checks is to prevent lazy checking that lets bugs crawl 
through, let's have the script check the first line too. 

For asm tests, it ensures that nothing unexpected has 
happened before the first line of asm. This matches the
existing behavior of update_llc_test_checks.py. 

More discussion in PR22897:
https://llvm.org/bugs/show_bug.cgi?id=22897


Modified:
    llvm/trunk/utils/update_test_checks.py

Modified: llvm/trunk/utils/update_test_checks.py
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/update_test_checks.py?rev=265414&r1=265413&r2=265414&view=diff
==============================================================================
--- llvm/trunk/utils/update_test_checks.py (original)
+++ llvm/trunk/utils/update_test_checks.py Tue Apr  5 11:49:07 2016
@@ -186,15 +186,25 @@ def add_checks(output_lines, prefix_list
       if tool_basename == "opt":
         func_body = genericize_check_lines(func_body)
 
+      # This could be selectively enabled with an optional invocation argument.
+      # Disabled for now: better to check everything. Be safe rather than sorry.
+
       # Handle the first line of the function body as a special case because
       # it's often just noise (a useless asm comment or entry label).
-      if func_body[0].startswith("#") or func_body[0].startswith("entry:"):
-        is_blank_line = True
-      else:
-        output_lines.append('; %s:       %s' % (checkprefix, func_body[0]))
+      #if func_body[0].startswith("#") or func_body[0].startswith("entry:"):
+      #  is_blank_line = True
+      #else:
+      #  output_lines.append('; %s:       %s' % (checkprefix, func_body[0]))
+      #  is_blank_line = False
+
+      # For llc tests, there may be asm directives between the label and the
+      # first checked line (most likely that first checked line is "# BB#0").
+      if tool_basename == "opt":
         is_blank_line = False
+      else:
+        is_blank_line = True;
 
-      for func_line in func_body[1:]:
+      for func_line in func_body:
         if func_line.strip() == '':
           is_blank_line = True
           continue




More information about the llvm-commits mailing list