[llvm-dev] RFC: Add bitcode tests to test-suite

Alina Sbirlea via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 29 11:16:54 PST 2016


All,

To get the discussion going in a focused manner, here is an initial patch
with a running test. The test is from the Halide suite and is checking the
correctness of several simd operations.
(Notes: the patch is large due to the number of operations being tested;
I expect a lot of changes before actually landing it, this is simply to
continue the discussion using a concrete example.)
http://reviews.llvm.org/D17726

A few questions/todos to start the discussion:
1. What is a good location for these tests? They are in a separate Bitcode
directory atm, but using the llvm_multisource. This may change to more
closely model the approach for external tests (see next item).
2. There is a single .cpp file testing all operations provided by
individual bitcode files. I expect this to change. Instead of using
llvm_multisource to have the same test run with specific arguments, each
run testing a single operation.
3. The building approach I took is to first link all bitcode files into a
single one, then obtain the assembly for it, which cmake knows to take as
an input source.
A separate discussion is on reading metadata (mcpu and mattr) in llc. I
added a script to work around that for now.

Looking forward to your feedback!

Thanks,
Alina



On Fri, Feb 19, 2016 at 6:50 AM, Kristof Beyls <kristof.beyls at arm.com>
wrote:

>
>
> On 18/02/2016 19:12, Alina Sbirlea via llvm-dev wrote:
>
>
>
>> I have more questions for Alina. What kind of tests do you have:
>>
>> - "the compiler takes the bitcode and generates code without crashing"
>> - "the compiled test runs without crashing"
>> - "the compiled test will produce an output that be checked against a
>> reference"
>> - "the compiled test is meaningful as a benchmarks"
>>
>
> We have all 4 kinds of tests in Halide. The bitcode files for the first
> category is already available and I'm working on building the ones for the
> next 3. We'd like to include all incrementally.
>
>
> It seems to me that the first category ("the compiler takes the bitcode
> and generates code without crashing") are tests that should be added to the
> "make check-all" tests in the LLVM subproject, rather than the test-suite
> subproject?
> Or if these tests currently don't crash the compiler anymore, the bugs
> must have been fixed, and there should already be equivalent tests?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160229/1c27123d/attachment.html>


More information about the llvm-dev mailing list