[FRONTEND] add an attr for masked load without explicit other (#55)
This commit is contained in:
@@ -7,8 +7,8 @@ include "triton/Dialect/Triton/IR/TritonOps.td"
|
||||
// convert_layout(load(...), #L) => copy_async(...); barrier
|
||||
// if #L is smem_layout
|
||||
def CopyAsyncOptPattern : Pat<
|
||||
(TTG_ConvertLayoutOp:$res (TT_LoadOp $ptr, $mask, $other, $cache, $evict, $isVolatile)),
|
||||
(TTG_CopyAsyncOp $ptr, $mask, $other, $cache, $evict, $isVolatile),
|
||||
(TTG_ConvertLayoutOp:$res (TT_LoadOp $ptr, $mask, $other, $cache, $evict, $isVolatile, $isOtherUnspecified)),
|
||||
(TTG_CopyAsyncOp $ptr, $mask, $other, $cache, $evict, $isVolatile, $isOtherUnspecified),
|
||||
[(Constraint<CPred<"isSharedLayout($0)">> $res)]>;
|
||||
|
||||
// ConvertLayout(ConvertLayout(x, #L0), #L1) => ConvertLayout(x, #L1)
|
||||
|
@@ -226,7 +226,7 @@ void LoopPipeliner::emitPrologue() {
|
||||
newOp = builder.create<triton::gpu::CopyAsyncOp>(
|
||||
op->getLoc(), loadsMapping[loadOp].getType(), loadOp.ptr(),
|
||||
loadOp.mask(), loadOp.other(), loadOp.cache(), loadOp.evict(),
|
||||
loadOp.isVolatile());
|
||||
loadOp.isVolatile(), loadOp.isOtherUnspecified());
|
||||
} else
|
||||
llvm_unreachable("This should be LoadOp");
|
||||
} else
|
||||
@@ -380,7 +380,7 @@ scf::ForOp LoopPipeliner::createNewForOp() {
|
||||
nextMapping.lookupOrDefault(loadOp.ptr()),
|
||||
nextMapping.lookupOrDefault(loadOp.mask()),
|
||||
nextMapping.lookupOrDefault(loadOp.other()), loadOp.cache(),
|
||||
loadOp.evict(), loadOp.isVolatile());
|
||||
loadOp.evict(), loadOp.isVolatile(), loadOp.isOtherUnspecified());
|
||||
} else
|
||||
nextOp = builder.clone(*op, nextMapping);
|
||||
// llvm::errs() << "epilogue cloning...: " << *op << "\n";
|
||||
|
Reference in New Issue
Block a user