[testsuite] Add @ lines to check-function-bodies fluff
Matthew Malcomson
matthew.malcomson@arm.com
Tue Mar 10 17:22:52 GMT 2020
When using `check-function-bodies`, the subroutine `parse_function_bodies` uses
the `fluff` regexp to remove uninteresting assembly lines.
Arm targets generate assembly with some lines prefixed by `@`, these lines are
left by this process.
As an example of some lines prefixed by `@': the assembly output from the
`stacktest1` function in "bfloat16_simd_3_1.c" is:
.align 2
.global stacktest1
.arch armv8.2-a
.syntax unified
.arm
.fpu neon-fp-armv8
.type stacktest1, %function
stacktest1:
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
sub sp, sp, #8
add r3, sp, #6
vst1.16 {d0[0]}, [r3]
vld1.16 {d0[0]}, [r3]
add sp, sp, #8
@ sp needed
bx lr
.size stacktest1, .-stacktest1
It seems that previous uses of `check-function-bodies` in the arm backend have
avoided problems with such lines since they use the `...` regexp in each place
such fluff occurs.
I'm currently writing a patch that I'd like to match the entire function body,
so I'd like to remove such `@` lines automatically.
gcc/testsuite/ChangeLog:
2020-03-10 Matthew Malcomson <matthew.malcomson@arm.com>
* lib/scanasm.exp (parse_function_bodies): Lines starting with '@' also
counted as fluff.
############### Attachment also inlined for ease of reply ###############
diff --git a/gcc/testsuite/lib/scanasm.exp b/gcc/testsuite/lib/scanasm.exp
index 5ca58d4042027683da12bc2a1d161195cd6439e7..f7d27735112f8edd8a39a326020c3d08dd36e765 100644
--- a/gcc/testsuite/lib/scanasm.exp
+++ b/gcc/testsuite/lib/scanasm.exp
@@ -569,7 +569,7 @@ proc parse_function_bodies { filename result } {
set terminator {^\s*\.size}
# Regexp for lines that aren't interesting.
- set fluff {^\s*(?:\.|//)}
+ set fluff {^\s*(?:\.|//|@)}
set fd [open $filename r]
set in_function 0
-------------- next part --------------
diff --git a/gcc/testsuite/lib/scanasm.exp b/gcc/testsuite/lib/scanasm.exp
index 5ca58d4042027683da12bc2a1d161195cd6439e7..f7d27735112f8edd8a39a326020c3d08dd36e765 100644
--- a/gcc/testsuite/lib/scanasm.exp
+++ b/gcc/testsuite/lib/scanasm.exp
@@ -569,7 +569,7 @@ proc parse_function_bodies { filename result } {
set terminator {^\s*\.size}
# Regexp for lines that aren't interesting.
- set fluff {^\s*(?:\.|//)}
+ set fluff {^\s*(?:\.|//|@)}
set fd [open $filename r]
set in_function 0
More information about the Gcc-patches
mailing list