[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