This is an archive of the discontinued LLVM Phabricator instance.

[OpenMP] Update CHECK-DAG usage in target_parallel_codegen.cpp
ClosedPublic

Authored by jdenny on Nov 20 2018, 11:56 AM.

Details

Summary

This patch adjusts a test not to depend on deprecated FileCheck
behavior that permits overlapping matches within a block of CHECK-DAG
directives. Thus, this patch also removes uses of FileCheck's
-allow-deprecated-dag-overlap command-line option.

There were two issues in this test:

  1. There were sets of patterns for store instructions in which a

pattern X could match a superset of a pattern Y. While X appeared
before Y, Y's intended match appeared before X's intended match. The
result was that X matched Y's intended match. Under the old
overlapping behavior, Y also matched Y's intended match. Under the
new non-overlapping behavior, Y had nothing left to match. This patch
fixes this by gathering these sets in one place and putting the most
specific patterns (Y) before the more general patterns (X).

  1. The CHECK-DAG patterns involving the variables CBPADDR3 and

CBPADDR4 were the same, but there was only one match in the text, so
CBPADDR4 patterns had nothing to match under the new non-overlapping
behavior. Moreover, a preceding related series of directives had
variables (SADDR0, BPADDR0, etc.) numbered only 0 through 4, but this
series had variables numbered 0 through 5. Assuming CBPADDR4's
directives were not intended, this patch removes them.

While I have attempted to preserve this test's original intent, I
might have misunderstood something, so please point out any problems.
Your explanation might prove helpful as I address similar issues in
other tests.

Diff Detail

Repository
rC Clang

Event Timeline

jdenny created this revision.Nov 20 2018, 11:56 AM
This revision is now accepted and ready to land.Nov 20 2018, 12:03 PM
This revision was automatically updated to reflect the committed changes.