[all-commits] [llvm/llvm-project] 701620: [SVE] Precommit test to show missing initialisatio...

Paul Walker via All-commits all-commits at lists.llvm.org
Mon Sep 25 04:02:59 PDT 2023


  Branch: refs/heads/release/17.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 701620d58cdf00212eadabfde28cea53c5b06675
      https://github.com/llvm/llvm-project/commit/701620d58cdf00212eadabfde28cea53c5b06675
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2023-09-25 (Mon, 25 Sep 2023)

  Changed paths:
    M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll

  Log Message:
  -----------
  [SVE] Precommit test to show missing initialisation of call operand.

When calling func_f8_and_v0_passed_via_memory the memory used to
hold the first vector operand is allocated but not initialised.


  Commit: 2c04bdb246777f9814750230b6e0ac6e21f31464
      https://github.com/llvm/llvm-project/commit/2c04bdb246777f9814750230b6e0ac6e21f31464
  Author: paulwalker-arm <paul.walker at arm.com>
  Date:   2023-09-25 (Mon, 25 Sep 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64ec-varargs.ll
    M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll

  Log Message:
  -----------
  [SVE] Ensure SVE call operands passed via memory are correctly initialised. (#66070)

The stores created when passing operands via memory don't typically
maintain the chain, because they can be done in any order. Instead,
a new chain is created based on all collated stores. SVE parameters
passed via memory don't follow this idiom and try to maintain the
chain, which unfortunately can result in them being incorrectly
deadcoded when the chain is recreated.

This patch brings the SVE side in line with the non-SVE side to
ensure no stores become lost whilst also allowing greater flexibility
when ordering the stores.


Compare: https://github.com/llvm/llvm-project/compare/e19b7dc36bc0...2c04bdb24677


More information about the All-commits mailing list