[all-commits] [llvm/llvm-project] 3b8eaf: [SVE][CodeGen] Fix implicit TypeSize->uint64_t con...

david-arm via All-commits all-commits at lists.llvm.org
Tue Jul 14 00:08:01 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 3b8eaf26db93fbb58db2478feb0f6234e9ad552a
      https://github.com/llvm/llvm-project/commit/3b8eaf26db93fbb58db2478feb0f6234e9ad552a
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2020-07-14 (Tue, 14 Jul 2020)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/sve-fp.ll

  Log Message:
  -----------
  [SVE][CodeGen] Fix implicit TypeSize->uint64_t conversion in TransformFPLoadStorePair

In DAGCombiner::TransformFPLoadStorePair we were dropping the scalable
property of TypeSize when trying to create an integer type of equivalent
size. In fact, this optimisation makes no sense for scalable types
since we don't know the size at compile time. I have changed the code
to bail out when encountering scalable type sizes.

I've added a test to

  llvm/test/CodeGen/AArch64/sve-fp.ll

that exercises this code path. The test already emits an error if it
encounters warnings due to implicit TypeSize->uint64_t conversions.

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




More information about the All-commits mailing list