Skip to content

Commit f117ae9

Browse files
authored
Merge pull request #174 from ivanradanov/mincut
Parallel loop distribute cache min cut optimisation
2 parents 8ad10b4 + 48e6149 commit f117ae9

File tree

7 files changed

+2342
-491
lines changed

7 files changed

+2342
-491
lines changed

include/polygeist/PolygeistOps.td

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,24 @@ include "mlir/Interfaces/ViewLikeInterface.td"
1616
include "mlir/Dialect/LLVMIR/LLVMOpBase.td"
1717
include "mlir/Dialect/LLVMIR/LLVMOpsInterfaces.td"
1818

19+
def CacheLoad
20+
: Polygeist_Op<"cacheload"> {
21+
22+
let arguments = (ins Arg<AnyMemRef, "the reference to load from",
23+
[MemRead]>:$memref,
24+
Variadic<Index>:$indices);
25+
let results = (outs AnyType:$result);
26+
let builders = [
27+
OpBuilder<(ins "Value":$memref, CArg<"ValueRange", "{}">:$indices), [{
28+
auto memrefType = memref.getType().cast<MemRefType>();
29+
$_state.addOperands(memref);
30+
$_state.addOperands(indices);
31+
$_state.types.push_back(memrefType.getElementType());
32+
}]>];
33+
let summary = "load from cross barier cache";
34+
let description = [{}];
35+
}
36+
1937
// HasParent<"ParallelOp">,
2038
def BarrierOp
2139
: Polygeist_Op<"barrier",

0 commit comments

Comments
 (0)