r278294 - in /trunk/gcc: ChangeLog read-rtl-fun...

matmal01@gcc.gnu.org matmal01@gcc.gnu.org
Fri Nov 15 14:18:00 GMT 2019


Author: matmal01
Date: Fri Nov 15 14:18:14 2019
New Revision: 278294

URL: https://gcc.gnu.org/viewcvs?rev=278294&root=gcc&view=rev
Log:
[mid-end][__RTL] Account for column numbers in __RTL functions


The documentation for __RTL tests (see "(gccint) RTL Tests" info node) has the
following snippet.

```
 The parser expects the RTL body to be in the format emitted by this
dumping function:

     DEBUG_FUNCTION void
     print_rtx_function (FILE *outfile, function *fn, bool compact);

 when "compact" is true.  So you can capture RTL in the correct format
from the debugger using:

     (gdb) print_rtx_function (stderr, cfun, true);

 and copy and paste the output into the body of the C function.
```

Since r264944 print_rtx_function prints column number information, which the
__RTL function parsing does not handle.

This patch handles column number information optionally, so pre-existing __RTL
functions still work, and the above documentation quote still holds.

Note: If people would prefer to require column information I could make a
slightly neater code and update existing tests.
I guess this would be OK since the intended use for __RTL functions is in these
testcases so there is no worry about other existing code.

bootstrapped and regtested on aarch64
bootstrapped and regtested on x86_64

Ok for trunk?

Cheers,
Matthew

gcc/ChangeLog:

2019-11-15  Matthew Malcomson  <matthew.malcomson@arm.com>

	* read-rtl-function.c
	(function_reader::add_fixup_source_location): Take additional
	parameter of a column.
	(function_reader::maybe_read_location): Optionally parse column
	information and pass to add_fixup_source_location.

gcc/testsuite/ChangeLog:

2019-11-15  Matthew Malcomson  <matthew.malcomson@arm.com>

	* gcc.dg/rtl/aarch64/rtl-handle-column-numbers.c: New test.

Added:
    trunk/gcc/testsuite/gcc.dg/rtl/aarch64/rtl-handle-column-numbers.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/read-rtl-function.c
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-cvs mailing list