Skip to content

Commit dad5367

Browse files
yiqian1antiagainst
andauthored
[BACKEND] Bump to llvm/llvm-project@0ea4fb9 (#6273)
Pulls in these changes: - Fp8/BF8 type conversion ops (llvm/llvm-project#131850) - Accept Triples in createTargetMachine() (llvm/llvm-project#130940) Co-authored-by: Lei Zhang <[email protected]>
1 parent 76f576c commit dad5367

File tree

3 files changed

+28
-28
lines changed

3 files changed

+28
-28
lines changed

cmake/llvm-hash.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2619c2ed584cdf3b38e6743ed3c785223f06e3f7
1+
0ea4fb92648b2aa7cbab486bb493e122b4dcc062

python/src/llvm.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ createTargetMachine(llvm::Module *module, std::string proc,
5959
opt.MCOptions.AsmVerbose = true;
6060
opt.MCOptions.PreserveAsmComments = true;
6161
std::unique_ptr<llvm::TargetMachine> machine{target->createTargetMachine(
62-
module->getTargetTriple().str(), proc, features, opt, llvm::Reloc::PIC_,
62+
module->getTargetTriple(), proc, features, opt, llvm::Reloc::PIC_,
6363
std::nullopt,
6464
disableLLVMOpt ? llvm::CodeGenOptLevel::None
6565
: llvm::CodeGenOptLevel::Aggressive)};
@@ -277,8 +277,8 @@ void init_triton_llvm(py::module &&m) {
277277
llvm::TargetOptions opt;
278278
// Target machine is only used to create the data layout.
279279
std::unique_ptr<llvm::TargetMachine> machine{target->createTargetMachine(
280-
triple, proc, features, opt, llvm::Reloc::PIC_, std::nullopt,
281-
llvm::CodeGenOptLevel::None)};
280+
llvm::Triple(triple), proc, features, opt, llvm::Reloc::PIC_,
281+
std::nullopt, llvm::CodeGenOptLevel::None)};
282282
// set data layout
283283
mod->setDataLayout(machine->createDataLayout());
284284
});

third_party/amd/lib/TritonAMDGPUToLLVM/ElementwiseOpToLLVM.cpp

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ cvtScalePkUpcastFromFp8(Location loc, ConversionPatternRewriter &rewriter,
3737

3838
auto resType = i32_ty;
3939
auto dstType = f32_ty;
40-
if constexpr (std::is_same_v<convertOp, ROCDL::CvtScale32PkF32Fp8> ||
41-
std::is_same_v<convertOp, ROCDL::CvtScale32PkF32Bf8>) {
40+
if constexpr (std::is_same_v<convertOp, ROCDL::CvtScaleF32PkF32Fp8Op> ||
41+
std::is_same_v<convertOp, ROCDL::CvtScaleF32PkF32Bf8Op>) {
4242
resType = i64_ty;
4343
dstType = f32_ty;
4444
} else {
@@ -70,8 +70,8 @@ cvtScalePkDowncastToFp8(Location loc, ConversionPatternRewriter &rewriter,
7070
Value select = b.false_val();
7171

7272
Value result;
73-
if constexpr (std::is_same_v<convertOp, ROCDL::CvtScaleF32PkFp8F32> ||
74-
std::is_same_v<convertOp, ROCDL::CvtScaleF32PkBf8F32>) {
73+
if constexpr (std::is_same_v<convertOp, ROCDL::CvtScaleF32PkFp8F32Op> ||
74+
std::is_same_v<convertOp, ROCDL::CvtScaleF32PkBf8F32Op>) {
7575
result = rewriter.create<convertOp>(loc, v2I16Ty, v2I16Vec, v0, v1, scale,
7676
select);
7777
} else {
@@ -134,8 +134,8 @@ static SmallVector<Value>
134134
Fp16_to_Fp8E5M2_RTNE_HW(Location loc, ConversionPatternRewriter &rewriter,
135135
const SmallVector<Value> &v) {
136136
assert(v.size() == 2);
137-
return cvtScalePkDowncastToFp8<ROCDL::CvtScaleF32PkBf8F16>(loc, rewriter,
138-
v[0], v[1]);
137+
return cvtScalePkDowncastToFp8<ROCDL::CvtScaleF32PkBf8F16Op>(loc, rewriter,
138+
v[0], v[1]);
139139
}
140140

141141
ConverterT Fp16_to_Fp8E5M2_RTNE(AMD::ISAFamily isaFamily) {
@@ -270,8 +270,8 @@ static SmallVector<Value>
270270
Fp16_to_Fp8E4M3FN_RTNE_HW(Location loc, ConversionPatternRewriter &rewriter,
271271
const SmallVector<Value> &v) {
272272
assert(v.size() == 2);
273-
return cvtScalePkDowncastToFp8<ROCDL::CvtScaleF32PkFp8F16>(loc, rewriter,
274-
v[0], v[1]);
273+
return cvtScalePkDowncastToFp8<ROCDL::CvtScaleF32PkFp8F16Op>(loc, rewriter,
274+
v[0], v[1]);
275275
}
276276

277277
ConverterT Fp16_to_Fp8E4M3FN_RTNE(AMD::ISAFamily isaFamily) {
@@ -378,35 +378,35 @@ static SmallVector<Value> Fp8E4M3FN_to_Fp32(Location loc,
378378
ConversionPatternRewriter &rewriter,
379379
const SmallVector<Value> &v) {
380380
assert(v.size() == 2);
381-
return cvtScalePkUpcastFromFp8<ROCDL::CvtScale32PkF32Fp8>(loc, rewriter, v[0],
382-
v[1]);
381+
return cvtScalePkUpcastFromFp8<ROCDL::CvtScaleF32PkF32Fp8Op>(loc, rewriter,
382+
v[0], v[1]);
383383
}
384384

385385
// Convert OCP Bf8 to Fp32 on CDNA4
386386
static SmallVector<Value> Fp8E5M2_to_Fp32(Location loc,
387387
ConversionPatternRewriter &rewriter,
388388
const SmallVector<Value> &v) {
389389
assert(v.size() == 2);
390-
return cvtScalePkUpcastFromFp8<ROCDL::CvtScale32PkF32Bf8>(loc, rewriter, v[0],
391-
v[1]);
390+
return cvtScalePkUpcastFromFp8<ROCDL::CvtScaleF32PkF32Bf8Op>(loc, rewriter,
391+
v[0], v[1]);
392392
}
393393

394394
// Convert Fp32 to OCP Fp8 on CDNA4
395395
static SmallVector<Value> Fp32_to_Fp8E4M3FN(Location loc,
396396
ConversionPatternRewriter &rewriter,
397397
const SmallVector<Value> &v) {
398398
assert(v.size() == 2);
399-
return cvtScalePkDowncastToFp8<ROCDL::CvtScaleF32PkFp8F32>(loc, rewriter,
400-
v[0], v[1]);
399+
return cvtScalePkDowncastToFp8<ROCDL::CvtScaleF32PkFp8F32Op>(loc, rewriter,
400+
v[0], v[1]);
401401
}
402402

403403
// Convert Fp32 to OCP Bf8 on CDNA4
404404
static SmallVector<Value> Fp32_to_Fp8E5M2(Location loc,
405405
ConversionPatternRewriter &rewriter,
406406
const SmallVector<Value> &v) {
407407
assert(v.size() == 2);
408-
return cvtScalePkDowncastToFp8<ROCDL::CvtScaleF32PkBf8F32>(loc, rewriter,
409-
v[0], v[1]);
408+
return cvtScalePkDowncastToFp8<ROCDL::CvtScaleF32PkBf8F32Op>(loc, rewriter,
409+
v[0], v[1]);
410410
}
411411

412412
// Fp32 -> Nanoo Bf8 on CDNA3
@@ -549,8 +549,8 @@ static SmallVector<Value>
549549
Fp8E4M3FN_to_Fp16_HW(Location loc, ConversionPatternRewriter &rewriter,
550550
const SmallVector<Value> &v) {
551551
assert(v.size() == 2);
552-
return cvtScalePkUpcastFromFp8<ROCDL::CvtScaleF32PkF16Fp8>(loc, rewriter,
553-
v[0], v[1]);
552+
return cvtScalePkUpcastFromFp8<ROCDL::CvtScaleF32PkF16Fp8Op>(loc, rewriter,
553+
v[0], v[1]);
554554
}
555555

556556
ConverterT Fp8E4M3FN_to_Fp16(AMD::ISAFamily isaFamily) {
@@ -591,8 +591,8 @@ static SmallVector<Value>
591591
Fp8E5M2_to_Fp16_HW(Location loc, ConversionPatternRewriter &rewriter,
592592
const SmallVector<Value> &v) {
593593
assert(v.size() == 2);
594-
return cvtScalePkUpcastFromFp8<ROCDL::CvtScaleF32PkF16Bf8>(loc, rewriter,
595-
v[0], v[1]);
594+
return cvtScalePkUpcastFromFp8<ROCDL::CvtScaleF32PkF16Bf8Op>(loc, rewriter,
595+
v[0], v[1]);
596596
}
597597

598598
ConverterT Fp8E5M2_to_Fp16(AMD::ISAFamily isaFamily) {
@@ -851,8 +851,8 @@ static SmallVector<Value>
851851
Bf16_to_Fp8E5M2_HW(Location loc, ConversionPatternRewriter &rewriter,
852852
const SmallVector<Value> &v) {
853853
assert(v.size() == 2);
854-
return cvtScalePkDowncastToFp8<ROCDL::CvtScaleF32PkBf8Bf16>(loc, rewriter,
855-
v[0], v[1]);
854+
return cvtScalePkDowncastToFp8<ROCDL::CvtScaleF32PkBf8Bf16Op>(loc, rewriter,
855+
v[0], v[1]);
856856
}
857857

858858
static ConverterT Bf16_to_Fp8E5M2(AMD::ISAFamily isaFamily) {
@@ -864,8 +864,8 @@ static SmallVector<Value> Bf16_to_Fp8E4M3FN(Location loc,
864864
ConversionPatternRewriter &rewriter,
865865
const SmallVector<Value> &v) {
866866
assert(v.size() == 2);
867-
return cvtScalePkDowncastToFp8<ROCDL::CvtScaleF32PkFp8Bf16>(loc, rewriter,
868-
v[0], v[1]);
867+
return cvtScalePkDowncastToFp8<ROCDL::CvtScaleF32PkFp8Bf16Op>(loc, rewriter,
868+
v[0], v[1]);
869869
}
870870

871871
// fp8e4m3fn to bf16

0 commit comments

Comments
 (0)