1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-18 18:42:46 +02:00

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

llvm-svn: 265414
This commit is contained in:
Sanjay Patel 2016-04-05 16:49:07 +00:00
parent 67ce021dca
commit 1b16935ab4

View File

@ -186,15 +186,25 @@ def add_checks(output_lines, prefix_list, func_dict, func_name, tool_basename):
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]))
is_blank_line = False
#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 func_line in func_body[1:]:
# 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:
if func_line.strip() == '':
is_blank_line = True
continue