[all-commits] [llvm/llvm-project] eaf611: [LV] Complete load groups and release store groups...

annamthomas via All-commits all-commits at lists.llvm.org
Tue Jul 25 14:32:29 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: eaf6117f3388615f51198e47c0d6be0252729508
      https://github.com/llvm/llvm-project/commit/eaf6117f3388615f51198e47c0d6be0252729508
  Author: Anna Thomas <anna at azul.com>
  Date:   2023-07-25 (Tue, 25 Jul 2023)

  Changed paths:
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-hoist-load-across-store.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-sink-store-across-load.ll

  Log Message:
  -----------
  [LV] Complete load groups and release store groups in presence of dependency

This is a complete fix for CompleteLoadGroups introduced in
D154309. We need to check for dependency between A and every member of
the load Group of B.
This patch also fixes another miscompile seen when we incorrectly sink stores
below a depending load (see testcase in
interleaved-accesses-sink-store-across-load.ll). This is fixed by
releasing store groups correctly.

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




More information about the All-commits mailing list