Skip to content

Commit 365808b

Browse files
author
Longsheng Du
authored
Update llvm version for pack propagation and linalg memory effects helpers (#136)
1 parent efac5d1 commit 365808b

File tree

3 files changed

+21
-21
lines changed

3 files changed

+21
-21
lines changed

cmake/llvm-version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7042fcc6389c6c103d501b6f39988eafed0d9b5b
1+
37661a17e26d9002ae9ade8c0de3932c22f16360

lib/gc/Dialect/Linalgx/LinalgOps.cpp.inc

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -525,20 +525,25 @@ private:
525525
static void getGenericEffectsImpl(
526526
SmallVectorImpl<SideEffects::EffectInstance<MemoryEffects::Effect>>
527527
&effects,
528-
ValueRange results, const ValueRange inputOperands,
529-
ValueRange outputOperands) {
530-
for (auto operand : inputOperands) {
528+
LinalgOp linalgOp) {
529+
for (auto [index, operand] : llvm::enumerate(linalgOp.getDpsInputs())) {
531530
if (!llvm::isa<MemRefType>(operand.getType()))
532531
continue;
533-
effects.emplace_back(MemoryEffects::Read::get(), operand,
534-
SideEffects::DefaultResource::get());
532+
effects.emplace_back(
533+
MemoryEffects::Read::get(), &linalgOp->getOpOperand(index), /*stage=*/0,
534+
/*effectOnFullRegion=*/true, SideEffects::DefaultResource::get());
535535
}
536-
for (auto operand : outputOperands) {
537-
if (!llvm::isa<MemRefType>(operand.getType()))
536+
537+
for (OpOperand &operand : linalgOp.getDpsInitsMutable()) {
538+
if (!llvm::isa<MemRefType>(operand.get().getType()))
538539
continue;
539-
effects.emplace_back(MemoryEffects::Read::get(), operand,
540-
SideEffects::DefaultResource::get());
541-
effects.emplace_back(MemoryEffects::Write::get(), operand,
540+
if (linalgOp.payloadUsesValueFromOperand(&operand)) {
541+
effects.emplace_back(MemoryEffects::Read::get(), &operand, /*stage=*/0,
542+
/*effectOnFullRegion=*/true,
543+
SideEffects::DefaultResource::get());
544+
}
545+
effects.emplace_back(MemoryEffects::Write::get(), &operand, /*stage=*/0,
546+
/*effectOnFullRegion=*/true,
542547
SideEffects::DefaultResource::get());
543548
}
544549
}

lib/gc/Dialect/Linalgx/LinalgxOps.cpp

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,7 @@ void SigmoidOp::getEffects(
7878
&effects) {
7979
if (hasPureTensorSemantics())
8080
return;
81-
getGenericEffectsImpl(effects, getOperation()->getResults(), getDpsInputs(),
82-
getDpsInits());
81+
getGenericEffectsImpl(effects, cast<LinalgOp>(getOperation()));
8382
}
8483

8584
//===----------------------------------------------------------------------===//
@@ -188,8 +187,7 @@ void Mm2DVnniOp::getEffects(
188187
&effects) {
189188
if (hasPureTensorSemantics())
190189
return;
191-
getGenericEffectsImpl(effects, getOperation()->getResults(), getDpsInputs(),
192-
getDpsInits());
190+
getGenericEffectsImpl(effects, cast<LinalgOp>(getOperation()));
193191
}
194192

195193
LogicalResult Mm2DVnniOp::verify() {
@@ -329,8 +327,7 @@ void Mm4DVnniOp::getEffects(
329327
&effects) {
330328
if (hasPureTensorSemantics())
331329
return;
332-
getGenericEffectsImpl(effects, getOperation()->getResults(), getDpsInputs(),
333-
getDpsInits());
330+
getGenericEffectsImpl(effects, cast<LinalgOp>(getOperation()));
334331
}
335332

336333
LogicalResult Mm4DVnniOp::verify() {
@@ -472,8 +469,7 @@ void BatchReduceMatmulVnniOp::getEffects(
472469
&effects) {
473470
if (hasPureTensorSemantics())
474471
return;
475-
getGenericEffectsImpl(effects, getOperation()->getResults(), getDpsInputs(),
476-
getDpsInits());
472+
getGenericEffectsImpl(effects, cast<LinalgOp>(getOperation()));
477473
}
478474

479475
LogicalResult BatchReduceMatmulVnniOp::verify() {
@@ -609,8 +605,7 @@ void MultiBatchMatmulOp::getEffects(
609605
&effects) {
610606
if (hasPureTensorSemantics())
611607
return;
612-
getGenericEffectsImpl(effects, getOperation()->getResults(), getDpsInputs(),
613-
getDpsInits());
608+
getGenericEffectsImpl(effects, cast<LinalgOp>(getOperation()));
614609
}
615610

616611
/////// Operations corresponding to library calls defined with Tablegen ////////

0 commit comments

Comments
 (0)