[all-commits] [llvm/llvm-project] dd5ba4: [OpenMP][NFC] Fix `not` sustitution in tests

Joel E. Denny via All-commits all-commits at lists.llvm.org
Mon May 11 11:54:56 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: dd5ba4b5850756c9eb715c5eb5d7f46bb4db33af
      https://github.com/llvm/llvm-project/commit/dd5ba4b5850756c9eb715c5eb5d7f46bb4db33af
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2020-05-11 (Mon, 11 May 2020)

  Changed paths:
    M openmp/libomptarget/deviceRTLs/nvptx/test/lit.cfg
    M openmp/libomptarget/test/lit.cfg
    M openmp/runtime/test/lit.cfg
    M openmp/tools/archer/tests/lit.cfg

  Log Message:
  -----------
  [OpenMP][NFC] Fix `not` sustitution in tests

D78566 introduced a `\bnot\b` lit substitution in OpenMP test suites.
However, that would corrupt a command like
`FileCheck -implicit-check-not` or any file name like `%t.not`.  We
could use lookbehind/lookahead assertions to avoid such cases, but
this patch switches to `%not` (suggested during the D78566 review) as
a safer option.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D79529


  Commit: a78e13745d4ee4a42e41ebbe698159f651515fc5
      https://github.com/llvm/llvm-project/commit/a78e13745d4ee4a42e41ebbe698159f651515fc5
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2020-05-11 (Mon, 11 May 2020)

  Changed paths:
    M llvm/lib/Support/FileCheck.cpp
    M llvm/test/FileCheck/validate-check-prefix.txt
    M llvm/utils/FileCheck/FileCheck.cpp

  Log Message:
  -----------
  [FileCheck] Make invalid prefix diagnostics more precise

This will prove especially helpful after D79276, which introduces
comment prefixes.  Specifically, identifying whether there's a
uniqueness violation will be helpful as prefixes will be required to
be unique across both check prefixes and comment prefixes.

Also, remove a related comment about `cl::list` that no longer seems
relevant now that FileCheck is also a library.

Reviewed By: jhenderson, thopre

Differential Revision: https://reviews.llvm.org/D79375


  Commit: 9a9a5f9893c8db05cebc8818eb8485bff61f7c74
      https://github.com/llvm/llvm-project/commit/9a9a5f9893c8db05cebc8818eb8485bff61f7c74
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2020-05-11 (Mon, 11 May 2020)

  Changed paths:
    M clang/test/CodeGen/default-address-space.c
    M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
    M clang/test/Driver/hip-device-libs.hip
    M llvm/docs/CommandGuide/FileCheck.rst
    M llvm/include/llvm/Support/FileCheck.h
    M llvm/lib/Support/FileCheck.cpp
    M llvm/test/Assembler/drop-debug-info-nonzero-alloca.ll
    A llvm/test/FileCheck/comment/after-words.txt
    A llvm/test/FileCheck/comment/bad-comment-prefix.txt
    A llvm/test/FileCheck/comment/blank-comments.txt
    A llvm/test/FileCheck/comment/suffixes.txt
    A llvm/test/FileCheck/comment/suppresses-checks.txt
    A llvm/test/FileCheck/comment/unused-check-prefixes.txt
    A llvm/test/FileCheck/comment/unused-comment-prefixes.txt
    A llvm/test/FileCheck/comment/within-checks.txt
    M llvm/test/FileCheck/first-character-match.txt
    M llvm/test/FileCheck/validate-check-prefix.txt
    M llvm/utils/FileCheck/FileCheck.cpp

  Log Message:
  -----------
  [FileCheck] Support comment directives

Sometimes you want to disable a FileCheck directive without removing
it entirely, or you want to write comments that mention a directive by
name.  The `COM:` directive makes it easy to do this.  For example,
you might have:

```
; X32: pinsrd_1:
; X32:    pinsrd $1, 4(%esp), %xmm0

; COM: FIXME: X64 isn't working correctly yet for this part of codegen, but
; COM: X64 will have something similar to X32:
; COM:
; COM:   X64: pinsrd_1:
; COM:   X64:    pinsrd $1, %edi, %xmm0
```

Without this patch, you need to use some combination of rewording and
directive syntax mangling to prevent FileCheck from recognizing the
commented occurrences of `X32:` and `X64:` above as directives.
Moreover, FileCheck diagnostics have been proposed that might complain
about the occurrences of `X64` that don't have the trailing `:`
because they look like directive typos:

  <http://lists.llvm.org/pipermail/llvm-dev/2020-April/140610.html>

I think dodging all these problems can prove tedious for test authors,
and directive syntax mangling already makes the purpose of existing
test code unclear.  `COM:` can avoid all these problems.

This patch also updates the small set of existing tests that define
`COM` as a check prefix:

- clang/test/CodeGen/default-address-space.c
- clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
- clang/test/Driver/hip-device-libs.hip
- llvm/test/Assembler/drop-debug-info-nonzero-alloca.ll

I think lit should support `COM:` as well.  Perhaps `clang -verify`
should too.

Reviewed By: jhenderson, thopre

Differential Revision: https://reviews.llvm.org/D79276


Compare: https://github.com/llvm/llvm-project/compare/99aa87a5b537...9a9a5f9893c8


More information about the All-commits mailing list