[llvm] [AMDGPU] Add iglp_opt(3) for simple mfma / exp interleaving (PR #117269)
Jeffrey Byrnes via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 2 17:00:56 PST 2024
================
@@ -1845,6 +1846,50 @@ bool MFMAExpInterleaveOpt::applyIGLPStrategy(
return true;
}
+class MFMAExpSimpleInterleaveOpt final : public IGLPStrategy {
+private:
+public:
+ bool applyIGLPStrategy(
+ DenseMap<int, SUnitsToCandidateSGsMap> &SyncedInstrs,
+ DenseMap<int, SmallVector<SchedGroup, 4>> &SyncedSchedGroups,
----------------
jrbyrnes wrote:
The map keys are the SyncIDs for the SchedGroups. We try to enforce ordering of SchedGroups that have the same SyncIDs. If a user specifies SchedGroups with multiple SyncIDs, then we would construct multiple SchedGroup based pipelines that are overlayed on one another.
A multi-level structure works best with the Solver, but I suppose we could convert to a container for a vector of vectors with some SyncID -> index mapping. I think that should be done separately though.
https://github.com/llvm/llvm-project/pull/117269
More information about the llvm-commits
mailing list