[llvm-dev] RFC: FileCheck Enhancements

Elena Lepilkina via llvm-dev llvm-dev at lists.llvm.org
Wed Aug 24 02:04:36 PDT 2016


Hi all,

Some discussions and comments were made in reviews. Much time has already passed since last comment and uploading changed patches. I made small summary report about features here, because there are some doubts about syntax of some features and changes in patches and it'll be great to know more opinions.

1. FileCheck Enhancement - CHECK-WORD (https://reviews.llvm.org/D22353)
I replace special directives by flag --check-word, which turns on mode for each directive in file.  It's obvious that this mode can be replaced using \b assert, but current regexp library doesn't have support of this assert and I have no answer to question about possibility of change current library.
There was the discussion about that such mode can be made default, but there were doubts about necessity of a lot of work for changing existing tests.
And I made experiment which proves that a lot of old tests will be failed with such mode on.
Expected Passes    : 15810
Expected Failures  : 125
Unsupported Tests  : 195
Unexpected Passes  : 4
Unexpected Failures: 1128

2. FileCheck Enhancement - pattern templates ( https://reviews.llvm.org/D22403)
There are some doubts about syntax of templates. I agree that use of  \#, \:, \= is quite different from usual characters in FileCheck and was chosen because of same approach for escaping in regexp. Adrian Prantl suggested to use double-brackets "[[" to escape. 
Old syntax:
\#(template_name) - use of template 'template_name'. It can occur in CHECK-PATTERN line, when description of one template includes other templates described before. (Without quote, I don't know how escape # here)
\:(Variable_name)- template variable with name 'variable_name'
\:(variable_name)\=(value) - current value of template variable(it's needed when you use template with variables).
Suggested new syntax:
[[#template_name]] - use of template 'template_name'. It can occur in CHECK-PATTERN line, when description of one template includes other templates described before. (Without quote, I don't know how escape # here)
[[:Variable_name]] - template variable with name 'variable_name'
[[:variable_name=value]] - current value of template variable(it's needed when you use template with variables).
It'll be great to hear more opinions and suggestions about syntax. May be someone has really good ideas. Then I'll be able to change it.


3. FileCheck Enhancement - repeats in regular expressions (https://reviews.llvm.org/D22454), FileCheck Enhancement - Including files (https://reviews.llvm.org/D22500), FileCheck Enhancement - Expressions repeat for CHECK and CHECK-NEXT(https://reviews.llvm.org/D22501), FileCheck Enhancement - CHECK-LABEL-DAG(https://reviews.llvm.org/D22502), FileCheck Enhancement - prefixes-regular expressions (https://reviews.llvm.org/D22503)
There were no comments about these enhancements at all. Your opinions are very important.

I hope that some of these changes will be useful for FileCheck users, so I need your opinions to get opportunity for review to be resumed.

Thanks, Elena.


-----Original Message-----
From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Elena Lepilkina via llvm-dev
Sent: Wednesday, July 20, 2016 4:52 PM
To: vsk at apple.com
Cc: llvm-dev at lists.llvm.org
Subject: Re: [llvm-dev] RFC: FileCheck Enhancements

List of last patches:

1. FileCheck Enhancement - CHECK-WORD (llvm-commits was added later as diff update) - https://reviews.llvm.org/D22353 2. FileCheck Enhancement - pattern templates(llvm-commits was added later as diff update) - https://reviews.llvm.org/D22403 3. FileCheck Enhancement - repeats in regular expressions (new review with llvm-commits) - https://reviews.llvm.org/D22454 4. FileCheck Enhancement - Including files (new review with llvm-commits) - https://reviews.llvm.org/D22500
5. FileCheck Enhancement - Expressions repeat for CHECK and CHECK-NEXT (new review with llvm-commits)   - https://reviews.llvm.org/D22501
6. FileCheck Enhancement - CHECK-LABEL-DAG (new review with llvm-commits)  - https://reviews.llvm.org/D22502 7. FileCheck Enhancement - prefixes-regular expressions (new review with llvm-commits) - https://reviews.llvm.org/D22503

Thanks,
Elena.

-----Original Message-----
From: vsk at apple.com [mailto:vsk at apple.com]
Sent: Tuesday, July 19, 2016 8:42 PM
To: Elena Lepilkina <Elena.Lepilkina at synopsys.com>
Cc: Dean Michael Berris <dean.berris at gmail.com>; Mehdi Amini <mehdi.amini at apple.com>; llvm-dev at lists.llvm.org
Subject: Re: [llvm-dev] RFC: FileCheck Enhancements

Hi Elena,


> On Jul 19, 2016, at 6:36 AM, Elena Lepilkina via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Hi all,
> 
> I made new patches for most of changes with llvm-commits subscriber. But two patches were updated, because there are a lot of comments (patch for CHECK-WORD and patch for templates pattern). Will it be ok?

IMO it's fine to keep some of the original reviews if you don't want to discard/recreate their state.

Please list the most up-to-date set of Phab URL's here, with a little note next to the ones which did not initially CC llvm-commits.

Thanks again for working on this!

vedant

> 
> Thanks, Elena.
> 
> -----Original Message-----
> From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of 
> Dean Michael Berris via llvm-dev
> Sent: Tuesday, July 19, 2016 6:53 AM
> To: Mehdi Amini <mehdi.amini at apple.com>
> Cc: via llvm-dev <llvm-dev at lists.llvm.org>
> Subject: Re: [llvm-dev] RFC: FileCheck Enhancements
> 
> 
>> On 19 Jul 2016, at 04:18, Mehdi Amini via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>> 
>> We had a long thread about that a few weeks (months?) ago: the conclusion (as I remember) was roughly a guideline to “always start a new revision to have a proper mailing-list thread starting with context (i.e. patch description)”
>> (and my dissident minority opinion that it is only worth it if there 
>> hasn’t been significant round of reviews going on on the existing
>> revision)
>> 
> 
> Pardon me for missing that discussion, this may have already been asked before: but is it possible to make arcanist default subscribe the correct commits mailing list in the process? This should make it at least harder to forget.
> 
> Cheers
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

_______________________________________________
LLVM Developers mailing list
llvm-dev at lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


More information about the llvm-dev mailing list