[PATCH] D47106: [FileCheck] Make CHECK-DAG non-overlapping

Joel E. Denny via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat May 19 08:29:40 PDT 2018


jdenny created this revision.
jdenny added a reviewer: probinson.

That is, make CHECK-DAG skip matches that overlap the matches of any
preceding consecutive CHECK-DAG directives.  This change makes
CHECK-DAG more consistent with other directives, and there is evidence
it makes CHECK-DAG more intuitive and less error-prone.  See the RFC
discussion starting at:

  http://lists.llvm.org/pipermail/llvm-dev/2018-May/123010.html

Moreover, this behavior enables CHECK-DAG groups for unordered,
non-unique strings or patterns.  For example, it is useful for
verifying output or logs from a parallel program, such as the OpenMP
runtime.

This patch also implements the command-line option
-allow-deprecated-dag-overlap, which reverts to the old overlapping
behavior.  This option should not be used in new tests.  It is meant
only for the existing tests that are broken by this change and that
need time to update.  See the above thread for a list of broken tests,
but I will create a bugzilla issue with a more up-to-date list soon.

This patch should not be committed until we have patches ready to add
-allow-deprecated-dag-overlap to tests this patch breaks.


https://reviews.llvm.org/D47106

Files:
  docs/CommandGuide/FileCheck.rst
  test/FileCheck/check-dag-overlap.txt
  utils/FileCheck/FileCheck.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D47106.147664.patch
Type: text/x-patch
Size: 18203 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180519/8ba8cf19/attachment-0001.bin>


More information about the llvm-commits mailing list