[all-commits] [llvm/llvm-project] ed936a: [InterleavedAccess] Return correct 'modified' status.

Florian Hahn via All-commits all-commits at lists.llvm.org
Mon Jan 4 08:04:09 PST 2021


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: ed936aad7814404b3cc767d4515096f078dfcbb9
      https://github.com/llvm/llvm-project/commit/ed936aad7814404b3cc767d4515096f078dfcbb9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2021-01-04 (Mon, 04 Jan 2021)

  Changed paths:
    M llvm/lib/CodeGen/InterleavedAccessPass.cpp
    A llvm/test/Transforms/InterleavedAccess/X86/interleave-load-extract-shuffle-changes.ll

  Log Message:
  -----------
  [InterleavedAccess] Return correct 'modified' status.

Both tryReplaceExtracts and replaceBinOpShuffles may modify the IR, even
if no interleaved loads are generated, but currently the pass pretends
no changes were made.

This patch updates the pass to return true if either of the functions
made any changes. In case of tryReplaceExtracts, changes are made if
there are any Extracts and true is returned.

`replaceBinOpShuffles` always makes changes if BinOpShuffles is not empty.
It also always returned true, so I went ahead and change it to just
`replaceBinOpShuffles`.

Fixes PR48208.

Reviewed By: SjoerdMeijer

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




More information about the All-commits mailing list