Skip to content

Commit 75fe113

Browse files
authored
[BACKEND] bump to llvm/llvm-project@e12cbd8 (#6880)
Pulls in llvm/llvm-project#139956 to fix an regression on AMD backend. Also to pick up llvm/llvm-project#140183.
1 parent 8297f8c commit 75fe113

File tree

3 files changed

+10
-14
lines changed

3 files changed

+10
-14
lines changed

cmake/llvm-hash.txt

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

test/Conversion/amd/async_ops_to_llvm.mlir

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -259,16 +259,13 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 16 : i32, ttg.sha
259259
// Each thread needs to load 1 element and we load 1 (sizePerThread) per global.load.lds
260260

261261
// CHECK: llvm.getelementptr
262-
// CHECK: %[[aux_ca:.*]] = llvm.mlir.constant(0 : i32) : i32
263-
// CHECK: rocdl.global.load.lds {{.*}}, {{.*}}, {{.*}}, {{.*}}, %[[aux_ca]]
262+
// CHECK: rocdl.global.load.lds {{.*}}, {{.*}}, 4, 0, 0
264263
%2 = ttg.async_copy_global_to_local %1, %arg2 cacheModifier = ca: tensor<32x32x!tt.ptr<f32>, #blocked> -> <32x32xf32, #shared, #smem, mutable>
265264
// CHECK: llvm.getelementptr
266-
// CHECK: %[[aux_cg:.*]] = llvm.mlir.constant(3 : i32) : i32
267-
// CHECK: rocdl.global.load.lds {{.*}}, {{.*}}, {{.*}}, {{.*}}, %[[aux_cg]]
265+
// CHECK: rocdl.global.load.lds {{.*}}, {{.*}}, 4, 0, 3
268266
%3 = ttg.async_copy_global_to_local %1, %arg2 cacheModifier = cg: tensor<32x32x!tt.ptr<f32>, #blocked> -> <32x32xf32, #shared, #smem, mutable>
269267
// CHECK: llvm.getelementptr
270-
// CHECK: %[[aux_cv:.*]] = llvm.mlir.constant(17 : i32) : i32
271-
// CHECK: rocdl.global.load.lds {{.*}}, {{.*}}, {{.*}}, {{.*}}, %[[aux_cv]]
268+
// CHECK: rocdl.global.load.lds {{.*}}, {{.*}}, 4, 0, 17
272269
%4 = ttg.async_copy_global_to_local %1, %arg2 cacheModifier = cv: tensor<32x32x!tt.ptr<f32>, #blocked> -> <32x32xf32, #shared, #smem, mutable>
273270
tt.return
274271
}

third_party/amd/lib/TritonAMDGPUToLLVM/LoadStoreOpToLLVM.cpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -639,10 +639,9 @@ struct AsyncCopyGlobalToLocalOpConversion
639639
(vecTy.getNumElements() * vecTy.getElementTypeBitWidth()) / 8;
640640
assert(llvm::isPowerOf2_32(vecBytes));
641641
Value vecBytesVal = b.i32_val(vecBytes);
642-
643-
Value cacheModifiers =
644-
b.i32_val(mlir::LLVM::AMD::getCtrlBitsForCacheModifierOnTarget(
645-
op.getCache(), /*isLoad=*/true, targetInfo));
642+
int32_t cacheModifiers =
643+
mlir::LLVM::AMD::getCtrlBitsForCacheModifierOnTarget(
644+
op.getCache(), /*isLoad=*/true, targetInfo);
646645

647646
Value llMask = adaptor.getMask();
648647
SmallVector<Value> maskElems;
@@ -680,7 +679,7 @@ struct AsyncCopyGlobalToLocalOpConversion
680679
auto globalLoadLdsOp = rewriter.create<ROCDL::GlobalLoadLDSOp>(
681680
loc,
682681
/*globalPtr=*/srcPtr, /*ldsPtr=*/coalescedShmemAddr[i],
683-
/*size=*/vecBytesVal, /*offset=*/b.i32_val(0),
682+
/*size=*/vecBytes, /*offset=*/0,
684683
/*aux=*/cacheModifiers, /*alias_scopes=*/nullptr,
685684
/*noalias_scopes=*/nullptr, /*tbaa=*/nullptr);
686685
LLVM::AMD::addAsyncCopyAliasScope(globalLoadLdsOp);
@@ -695,8 +694,8 @@ struct AsyncCopyGlobalToLocalOpConversion
695694
rewriter.create<LLVM::CondBrOp>(loc, pred, loadBlock, afterLoad);
696695
rewriter.setInsertionPointToStart(loadBlock);
697696
auto globalLoadLdsOp = rewriter.create<ROCDL::GlobalLoadLDSOp>(
698-
loc, srcPtr, coalescedShmemAddr[i], vecBytesVal,
699-
/*offset=*/b.i32_val(0), cacheModifiers, nullptr, nullptr, nullptr);
697+
loc, srcPtr, coalescedShmemAddr[i], vecBytes,
698+
/*offset=*/0, cacheModifiers, nullptr, nullptr, nullptr);
700699
LLVM::AMD::addAsyncCopyAliasScope(globalLoadLdsOp);
701700

702701
rewriter.create<LLVM::BrOp>(loc, afterLoad);

0 commit comments

Comments
 (0)