[PATCH][LoopStrengthReduce] Don't trim a formula that uses a subset of required registers

Chandler Carruth chandlerc at google.com
Mon Apr 28 16:55:09 PDT 2014


On Mon, Apr 28, 2014 at 4:40 PM, Adam Nemet <anemet at apple.com> wrote:

>
> On Apr 28, 2014, at 4:32 PM, Chandler Carruth <chandlerc at google.com>
> wrote:
>
>
> On Mon, Apr 28, 2014 at 4:09 PM, Adam Nemet <anemet at apple.com> wrote:
>
>> I’ll revert the test case until we investigate but clang does get
>> substituted in test/lit.cfg.
>
>
> What if you don't have Clang checked out?
>
> This is just not the right way to test this. We need to have an IR test
> case, not a C test case.
>
>
> The problem is that this test case is sensitive to use list ordering and
> it simply does not reproduce with llc.
>

Then we have a more fundamental problem with our testing methodology. While
the use-def chain ordering changing can make it hard to reproduce things in
a reduced test case, usually it is still possible as long as you aren't
re-serializing through bitcode between every step.

What might be a much bigger problem is that there are a few cases where llc
does not drive the code generator the same way as clang does. This is an
area where we typically need to fix/extend the command line of llc to
provide mode of executing that exactly mirrors Clang.

Either way, we test LLVM exclusively with LLVM's testing tools. If we
aren't able to trigger a bug with them despite having a reasonably small
test case, there is a fundamental and really severe problem with those
testing tools. We need to fix that, not just force the use of Clang.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140428/2e410614/attachment.html>


More information about the llvm-commits mailing list