[all-commits] [llvm/llvm-project] e77378: [Matrix] Adjust lifetime.ends during multiply fusi...

Florian Hahn via All-commits all-commits at lists.llvm.org
Sat Mar 16 12:41:58 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e77378cc14ec712942452aca155addacbe904c8f
      https://github.com/llvm/llvm-project/commit/e77378cc14ec712942452aca155addacbe904c8f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-16 (Sat, 16 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-lifetime-ends.ll

  Log Message:
  -----------
  [Matrix] Adjust lifetime.ends during multiply fusion. (#84914)

At the moment, loads introduced by multiply fusion may be placed after
an objects lifetime has been terminated by lifetime.end. This introduces
reads to dead objects.

To avoid this, first collect all lifetime.end calls in the function.
During fusion, we deal with any lifetime.end calls that may alias any of
the loads.

Such lifetime.end calls are either moved when possible (both the
lifetime.end and the store are in the same block) or deleted.

PR: https://github.com/llvm/llvm-project/pull/84914



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list