[llvm-dev] Strip IR metadata information in a unit test

Mingming Liu via llvm-dev llvm-dev at lists.llvm.org
Thu Nov 18 11:15:51 PST 2021


Got the points that wrapping "path/to/opt" or other commands in a shell
works.

In the first few attempts I already get empty IR output (when `llvm-lit
test.ll` passed).

Now I think it's intended possibly because `llvm-reduce` helps to reduce
code size and highlight code blocks when IR doesn't work as intended
(e.g..crashes).

So I should define what's interesting (important instructions) for a IR
that passes the unit test.

On Thu, Nov 18, 2021 at 10:47 AM Arthur Eubanks <aeubanks at google.com> wrote:

> I usually end up writing a short bash script which runs `path/to/opt $@
> -foo |& grep 'the error/assert message'` and use that as the
> interestingness test
>
> On Thu, Nov 18, 2021 at 10:43 AM Michael Kruse via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> Am Do., 18. Nov. 2021 um 12:34 Uhr schrieb Mingming Liu via llvm-dev
>> <llvm-dev at lists.llvm.org>:
>> > I'm a little confused how the custom script (specified by --test arg)
>> tells llvm-reduce if something is interesting in the IR.
>> >
>> > Is it a common practice to wrap "llvm-lit <IR>" into a shell script to
>> simplify IR for a unit test?
>>
>> Yes, it is expected that you write your own "interesting-ness" script.
>> However I don't think you can use llvm-lit (which requires a `RUN:`
>> command comment in the file that llvm-reduce does not emit). Instead,
>> take the command that llvm-lit would execute (Execute with -v flag)
>> and instead of the test file (%s in the `RUN: ` command), pass $1 to
>> the opt/llc executable within your script. Check whether it has failed
>> with `%?`.
>>
>> Michael
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>

-- 
Thanks,
Mingming
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211118/614dd362/attachment.html>


More information about the llvm-dev mailing list