On 05/10/2016 08:17 AM, Richard Biener wrote:
On Tue, May 10, 2016 at 4:13 PM, David Malcolm <dmalc...@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

Reply via email to