[all-commits] [llvm/llvm-project] 143e32: [CodeGen][SVE] Don't drop scalable flag in DAGComb...

sdesmalen-arm via All-commits all-commits at lists.llvm.org
Thu Jul 2 02:17:59 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 143e324e7501e127ae1275c93c743cf06e9e18b1
      https://github.com/llvm/llvm-project/commit/143e324e7501e127ae1275c93c743cf06e9e18b1
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2020-07-02 (Thu, 02 Jul 2020)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/sve-extract-subvector.ll

  Log Message:
  -----------
  [CodeGen][SVE] Don't drop scalable flag in DAGCombiner::visitEXTRACT_SUBVECTOR

There was a rogue 'assert' in AArch64ISelLowering for the tuple.get intrinsics,
that shouldn't really have been there (I suspect this was a remnant from when
we expected the wider vector always to have come from a vector CONCAT).

When I tried to create a more minimal reproducer, I found a bug in
DAGCombiner where it drops the scalable flag when trying to fold:

      extract_subv (bitcast X), Index --> bitcast (extract_subv X, Index')

This patch fixes both issues.

Reviewers: david-arm, efriedma, spatel

Reviewed By: efriedma

Tags: #llvm

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




More information about the All-commits mailing list