[llvm-dev] [PATCH] D50328: [X86][SSE] Combine (some) target shuffles with multiple uses

David Greene via llvm-dev llvm-dev at lists.llvm.org
Mon Aug 13 08:00:33 PDT 2018


Bruce Hoult <brucehoult at sifive.com> writes:

> I'm working on the RISC-V port and I find the tests extremely brittle
> and what should be independent tests getting "broken" (not really
> broken, just codegen changed a little) all the time.

You wrote up some great examples.  That's the kind of trouble I hope we
can avoid in the future.

> Yes, there are scripts to automatically regenerate tests. Hopefully
> after making sure that the changes to the output are not in fact bugs :
> -) It seems pretty cumbersome to use the output from llvm-lit to track
> down what it's actually complaining about. I'm gravitating to just
> running the update script for all tests and then using git diff to see
> what it changed. And, as mentioned, the diffs in the tests are often
> orders of magnitude bigger than the diffs for the actual code.

Right.  The fact that we have to check all of those changes before
committing slows down progress.  Maybe "it's no big deal" for an
individual change, but over time lots of cycles are lost examining
changes that are "fine" but need to be verified anyway.

> Is this the same for all ISAs? Is it really the best way? Maybe it
> calms down once a back-end is more mature.

I don't think it does.  As more tests get added, it's more tests to
potentially break and therefore more manual effort to regenerate them
and verify correctness.  Code generation will keep changing because
compilers are never "done."  And thank goodness for that!  :)

                          -David



More information about the llvm-dev mailing list