This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 4/4] Initial version of RTL frontend


On 05/10/2016 08:17 AM, Richard Biener wrote:
On Tue, May 10, 2016 at 4:13 PM, David Malcolm <dmalcolm@redhat.com> wrote:
On Wed, 2016-05-04 at 16:49 -0400, David Malcolm wrote:
[...snip...]

I wrote this by compiling a test.c with -fdump-rtl-all on
x86_64-pc-linux-gnu, and then attempting to load the state at each
pass, and then trying to run just one pass, and fixing bugs until the
dump output from each pass was the same as when running the pass from
cc1.  I've only done this with a small subset of passes, and with a
very
simple test case, so I'm sure there are plenty of bugs and "x86_64
-isms"
remaining.

[...snip...]

On the subject of "x86_64-isms", a couple of issues I ran into when
testing with --target=aarch64-linux-gnu:

* roundtrip.exp fails due to different register names so e.g. this from
x86_64:

     (reg:SI 5 di [ i ]))

  becomes this after roundtripping on aarch64:

     (reg:SI 5 x5 [ i ]))

  (i.e. "di" vs "x5" for register 5).

* unknown modes e.g. this from x86_64:

    (reg:CCGC 17 flags)

  fails on aarch64 due to the lack of a "CCGC" mode.

I expect most (if not all) RTL testcases will be target specific.
Well, not if we take Bernd's idea and create a new backend for testing purposes. If we want to know/test what reload's doing, we cons up the appropriate RTL for that testing backend, set the right flags and call reload() then look at the result.

Jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]