[all-commits] [llvm/llvm-project] 5375b6: [UTC] Add --version argument

Nikita Popov via All-commits all-commits at lists.llvm.org
Mon Jan 30 00:59:58 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5375b638be874b5438e98bd8a435e198af3ef2d0
      https://github.com/llvm/llvm-project/commit/5375b638be874b5438e98bd8a435e198af3ef2d0
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-01-30 (Mon, 30 Jan 2023)

  Changed paths:
    M clang/test/utils/update_cc_test_checks/lit.local.cfg
    M llvm/test/tools/UpdateTestChecks/lit.local.cfg
    M llvm/utils/UpdateTestChecks/common.py

  Log Message:
  -----------
  [UTC] Add --version argument

We have a number of pending changes to update_test_checks.py
(and friends) that are essentially blocked on test churn:
If the output of UTC for an existing flag combination changes,
then the next time a test is regenerated, it will contain many
spurious changes. This makes changes to UTC default
behavior essentially impossible.

Examples of such changes are:

* D133943/D142373 want --function-signature to also check the
  return type/attributes.
* D139006/D140212 want to make --function-signature the default
  behavior.
* D142452 wants to add wildcards for block labels.

This patch tries to resolve this issue by adding a --version
argument, which works as follows:

* When regenerating an old test, the default version is 1.
* When generating a new test, the default version is the newest.
 When an explicit version is specified, that of course wins.

This means that any currently existing tests will keep using
--version 1 format, while any new tests will automatically embed
--version N where N is the latest version, and then keep using
that test format from then on.

This patch only implements the --version flag without bumping
the default version, so it does not have any visible behavior
change by itself.

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




More information about the All-commits mailing list