Skip to content

Commit 425cc7f

Browse files
authored
[SYCL-MLIR]: Enhance ParallelLICM to handle affine loops and consider aliased operations (#8310)
This PR improves the ParallelLICM polygeist transformations: - allow checking for memory conflicts throughout blocks for non-parallel loops - transform also affineLoopOp - use alias analysis to prove conflicting operations on the same resource are safe to hoist --------- Signed-off-by: Tiotto, Ettore <[email protected]>
1 parent 4e032a0 commit 425cc7f

File tree

3 files changed

+906
-340
lines changed

3 files changed

+906
-340
lines changed

polygeist/include/polygeist/Passes/Passes.td

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ def SCFCanonicalizeFor : Pass<"canonicalize-scf-for"> {
6868
def ParallelLICM : Pass<"parallel-licm"> {
6969
let summary = "Perform LICM on known parallel (and serial) loops";
7070
let constructor = "mlir::polygeist::createParallelLICMPass()";
71+
72+
let statistics = [
73+
Statistic<"numOpHoisted", "num-operations-hoisted", "Number of operations hoisted">
74+
];
7175
}
7276

7377
def OpenMPOptPass : Pass<"openmp-opt"> {

0 commit comments

Comments
 (0)