Skip to content

Commit 94d7559

Browse files
antiagainstpaultrojahnamd
authored andcommitted
This picks up a bug fix for AMDGPU scaled mfma: * llvm/llvm-project#142493 Along the way we need to fix API changes: * `getBackwardSlice` now returns `LogicalResult`; adding `(void)` to ignore for now. * `LLVM::InlineAsmOp` now has a TailCallKind parameter. * A few conversion ops in AMD backend changed return types and parameters.
1 parent 5cf96f2 commit 94d7559

File tree

19 files changed

+2708
-16
lines changed

19 files changed

+2708
-16
lines changed

cmake/llvm-hash.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
e12cbd8339b89563059c2bb2a312579b652560d0
1+
8957e64a20fc7f4277565c6cfe3e555c119783ce

lib/Analysis/Utility.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -973,7 +973,7 @@ SetVector<Operation *> multiRootGetSlice(Operation *op,
973973
BackwardSliceOptions opt;
974974
opt.omitBlockArguments = true;
975975
opt.filter = backwardFilter;
976-
getBackwardSlice(currentOp, &backwardSlice, opt);
976+
(void)getBackwardSlice(currentOp, &backwardSlice, opt);
977977
slice.insert(backwardSlice.begin(), backwardSlice.end());
978978

979979
// Compute and insert the forwardSlice starting from currentOp.

lib/Conversion/TritonGPUToLLVM/ElementwiseOpToLLVM.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ struct ElementwiseInlineAsmOpConversion
298298
/*asm_string=*/op.getAsmString(),
299299
/*constraints=*/op.getConstraints(),
300300
/*has_side_effects=*/!op.getPure(),
301-
/*is_align_stack=*/false,
301+
/*is_align_stack=*/false, LLVM::TailCallKind::None,
302302
/*asm_dialect=*/
303303
LLVM::AsmDialectAttr::get(rewriter.getContext(),
304304
LLVM::AsmDialect::AD_ATT),

lib/Dialect/TritonGPU/Transforms/AccelerateMatmul.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ static int computeOrigBitWidth(Value x) {
235235
mlir::BackwardSliceOptions opt;
236236
opt.omitBlockArguments = true;
237237
opt.filter = bwdFilter;
238-
getBackwardSlice(x, &slice, opt);
238+
(void)getBackwardSlice(x, &slice, opt);
239239

240240
// TODO: This heuristic may be a bit too coarse and may need improving
241241
// If the chain contains a fp4 to fp16/bf16 conversion, then the original

lib/Dialect/TritonGPU/Transforms/Pipeliner/ScheduleLoops.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ CoarseSchedule::Cluster schedulePrologueAndEpilogue(scf::ForOp forOp,
209209
BackwardSliceOptions opt;
210210
opt.omitBlockArguments = true;
211211
opt.omitUsesFromAbove = false;
212-
getBackwardSlice((Operation *)op, &backwardSlice, opt);
212+
(void)getBackwardSlice((Operation *)op, &backwardSlice, opt);
213213

214214
for (auto op : backwardSlice) {
215215
if (auto ifOp = dyn_cast<scf::IfOp>(op)) {

lib/Dialect/TritonGPU/Transforms/Pipeliner/TC05MMAPipeline.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -632,7 +632,7 @@ FailureOr<scf::ForOp> preProcessLoopForTC05MMAPipelining(scf::ForOp forOp,
632632
SetVector<Operation *> backwardSlice;
633633
BackwardSliceOptions opt;
634634
opt.omitBlockArguments = true;
635-
getBackwardSlice(mmaOp, &backwardSlice, opt);
635+
(void)getBackwardSlice(mmaOp, &backwardSlice, opt);
636636
if (llvm::any_of(backwardSlice, [&](Operation *op) {
637637
return op->hasAttr(kPipelineStageAttrName);
638638
})) {

lib/Dialect/TritonGPU/Transforms/Pipeliner/WGMMAPipeline.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ static void threadValuesThroughWait(ttng::WarpGroupDotWaitOp wait,
207207
return op->getBlock() == wait->getBlock();
208208
};
209209
SetVector<Operation *> slice;
210-
getBackwardSlice(v, &slice, options);
210+
(void)getBackwardSlice(v, &slice, options);
211211
}
212212

213213
for (ttng::WarpGroupDotOp dot : asyncDots) {

lib/Dialect/TritonGPU/Transforms/WSCodePartition.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -925,7 +925,7 @@ void reorderProducerOps(SmallVector<Channel *> &channels) {
925925
BackwardSliceOptions opt;
926926
opt.omitBlockArguments = true;
927927
SetVector<Operation *> backwardSlice;
928-
getBackwardSlice(channel->getSrcOp(), &backwardSlice, opt);
928+
(void)getBackwardSlice(channel->getSrcOp(), &backwardSlice, opt);
929929
for (auto &op : backwardSlice) {
930930
if (op->getBlock() == block)
931931
op->moveBefore(channel->getSrcOp());

lib/Dialect/TritonGPU/Transforms/WSTaskPartition.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,8 @@ void doPartition(triton::FuncOp &funcOp, unsigned numConsumerGroups) {
9797
if (!dotOp)
9898
continue;
9999
SetVector<Operation *> backwardSlice;
100-
getBackwardSlice(dotOp.getA(), &backwardSlice, opt);
101-
getBackwardSlice(dotOp.getB(), &backwardSlice, opt);
100+
(void)getBackwardSlice(dotOp.getA(), &backwardSlice, opt);
101+
(void)getBackwardSlice(dotOp.getB(), &backwardSlice, opt);
102102
for (auto depOp : backwardSlice) {
103103
if (isa<ExperimentalDescriptorLoadOp>(depOp)) {
104104
producerOps.insert(depOp);

lib/Dialect/TritonNvidiaGPU/Transforms/KeepAccInTMem.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class TMEMToGlobal : public OpRewritePattern<triton::StoreOp> {
5050
mlir::BackwardSliceOptions opt;
5151
opt.omitBlockArguments = true;
5252
opt.filter = bwdFilter;
53-
getBackwardSlice(data, &slice, opt);
53+
(void)getBackwardSlice(data, &slice, opt);
5454
Attribute encoding;
5555
for (auto op : slice) {
5656
if (auto tmemLoad = dyn_cast<ttng::TMEMLoadOp>(op)) {

0 commit comments

Comments
 (0)