[all-commits] [llvm/llvm-project] f86391: [AArch64] Baseline test for D125307

Alexander Richardson via All-commits all-commits at lists.llvm.org
Sat May 14 07:43:27 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f8639133b58dd7335474dfa9dbb04b13098c5294
      https://github.com/llvm/llvm-project/commit/f8639133b58dd7335474dfa9dbb04b13098c5294
  Author: Alex Richardson <alexrichardson at google.com>
  Date:   2022-05-14 (Sat, 14 May 2022)

  Changed paths:
    A llvm/test/CodeGen/AArch64/int-to-fp-no-neon.ll

  Log Message:
  -----------
  [AArch64] Baseline test for D125307

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


  Commit: 09551251e32a0a00486c3de5e29b8df0aa4e5540
      https://github.com/llvm/llvm-project/commit/09551251e32a0a00486c3de5e29b8df0aa4e5540
  Author: Alex Richardson <alexrichardson at google.com>
  Date:   2022-05-14 (Sat, 14 May 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/int-to-fp-no-neon.ll

  Log Message:
  -----------
  [AArch64] Add missing HasNEON predicates to int->float patterns

I was trying to compile code with -march=+nosimd and hit various
instruction predicate verification errors, this patch should address the
ones I saw in integer to floating-pointer conversions.

I noticed that for signed conversions, some non-NEON instruction sequences
are shorter. I don't know if the longer one is still faster on current
architectures (the patterns date back to the initial backend import)

Reviewed By: dmgreen

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


  Commit: 4b5ad57d676ce918359771ae30e61115c151cd68
      https://github.com/llvm/llvm-project/commit/4b5ad57d676ce918359771ae30e61115c151cd68
  Author: Alex Richardson <alexrichardson at google.com>
  Date:   2022-05-14 (Sat, 14 May 2022)

  Changed paths:
    M llvm/utils/UpdateTestChecks/common.py

  Log Message:
  -----------
  [UpdateTestChecks] Change global functions to NamelessValue members. NFCI

This avoids repeated calls to get_idx_from_ir_value_match() and will make
it easier for a future patch that adds new assembly-level nameless values
in addition to the IR ones.

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


  Commit: f421659286af9ae2d4f01cd1f829832fb5c2bc8b
      https://github.com/llvm/llvm-project/commit/f421659286af9ae2d4f01cd1f829832fb5c2bc8b
  Author: Alex Richardson <alexrichardson at google.com>
  Date:   2022-05-14 (Sat, 14 May 2022)

  Changed paths:
    A llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/asm-show-inst.ll
    A llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/asm-show-inst.ll.expected
    A llvm/test/tools/UpdateTestChecks/update_llc_test_checks/asm-show-inst.test

  Log Message:
  -----------
  [update_llc_test_checks] Baseline test for --asm-show-inst

To avoid test churn when backends add/rename new instructions/registers,
it makes sense to scrub the exact MCInst/Reg number.

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


  Commit: 37a68497f1176cab3b2100c3bcb861e063cfaead
      https://github.com/llvm/llvm-project/commit/37a68497f1176cab3b2100c3bcb861e063cfaead
  Author: Alex Richardson <alexrichardson at google.com>
  Date:   2022-05-14 (Sat, 14 May 2022)

  Changed paths:
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/asm-show-inst.ll.expected
    M llvm/utils/UpdateTestChecks/asm.py
    M llvm/utils/UpdateTestChecks/common.py
    M llvm/utils/UpdateTestChecks/isel.py
    M llvm/utils/update_cc_test_checks.py
    M llvm/utils/update_llc_test_checks.py

  Log Message:
  -----------
  [update_llc_test_checks] Use FileCheck captures for MCInst/MCReg output

To avoid test churn when backends add/rename new instructions/registers,
it makes sense to use FileCheck captures for the exact MCInst/Reg number.
This is motivated by D125307, where I use --asm-show-inst to differentiate
the output for multiple instructions with the same mnemonic.

This does not quite fix the churn issue yet: While files with the generated
checks will be immune to the numbers changing, the update script test
still suffers from this problem since the number is encoded in the
FileCheck variable name. I plan to address this in a follow-up patch.

Reviewed By: MaskRay

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


  Commit: 996873cdcbe0df80ce8cda9f708ac28d6bffbe78
      https://github.com/llvm/llvm-project/commit/996873cdcbe0df80ce8cda9f708ac28d6bffbe78
  Author: Alex Richardson <alexrichardson at google.com>
  Date:   2022-05-14 (Sat, 14 May 2022)

  Changed paths:
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/asm-show-inst.ll.expected
    M llvm/utils/UpdateTestChecks/common.py

  Log Message:
  -----------
  [UpdateTestChecks] Use a counter for unpredictable FileCheck variables

Variable captures such as `<MCInst #` can change based on unrelated changes
to the LLVM backends, to avoid the generated test cases being different
use an incrementing counter for variable names instead of using the
actual value from the output file.
This change may also be beneficial for some nameless IR variables
(especially when combined with filtering of output), but for now I've
restricted this change to the obvious candidates (--asm-show-inst output).

Reviewed By: MaskRay

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


  Commit: c8b44600c5ec358fe5d5eeb1f3c83c8e435b94e3
      https://github.com/llvm/llvm-project/commit/c8b44600c5ec358fe5d5eeb1f3c83c8e435b94e3
  Author: Alex Richardson <alexrichardson at google.com>
  Date:   2022-05-14 (Sat, 14 May 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    A llvm/test/CodeGen/AArch64/movid-no-neon.ll

  Log Message:
  -----------
  [AArch64] Avoid emitting MOVID when NEON is disabled

Previously, creating a zero floating-point constant used MOVID even when
NEON was disabled which resulted in the following fatal error:
`Attempting to emit MOVID instruction but the Feature_HasNEON predicate(s) are not met`

Reviewed By: dmgreen

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


Compare: https://github.com/llvm/llvm-project/compare/16219f8c94a2...c8b44600c5ec


More information about the All-commits mailing list