diff mbox series

[testsuite] Add @ lines to check-function-bodies fluff

Message ID 825aace6-75a9-1d11-a269-72dc9a82c311@arm.com
State New
Headers show
Series [testsuite] Add @ lines to check-function-bodies fluff | expand

Commit Message

Matthew Malcomson March 10, 2020, 5:40 p.m. UTC
Cc'ing maintainers and original author of `check-function-bodies`.

It looks like I missed that the first time around.


-------- Forwarded Message --------
Subject: [testsuite] Add @ lines to check-function-bodies fluff
Date: Tue, 10 Mar 2020 17:22:52 +0000
From: Matthew Malcomson <matthew.malcomson@arm.com>
To: gcc-patches@gcc.gnu.org
CC: nd@arm.com

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
diff mbox series

Patch

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