[llvm-branch-commits] [mlir] [mlir][LLVM] `LLVMTypeConverter`: Tighten materialization checks (PR #116532)

2024-11-17 Thread Matthias Springer via llvm-branch-commits
matthias-springer wrote: > shouldn't a user add their own argument materialization in this case that can > handle their type conversion and the dialect conversion will then call that > first? Yes that's right. But if users forget to do that, they see a more cryptic error message because we ar

[llvm-branch-commits] [mlir] [mlir][LLVM] `LLVMTypeConverter`: Tighten materialization checks (PR #116532)

2024-11-17 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/116532 >From 5857c76fba85b9b3c36b4757fe88da908e5a45a9 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sun, 17 Nov 2024 09:00:45 +0100 Subject: [PATCH 1/2] [mlir][LLVM] `LLVMTypeConverter`: Tighten mate

[llvm-branch-commits] [mlir] [mlir][Parser] Deduplicate floating-point parsing functionality (PR #116172)

2024-11-17 Thread River Riddle via llvm-branch-commits
@@ -99,6 +99,29 @@ FailureOr detail::parseFloatFromIntegerLiteral( return APFloat(semantics, truncatedValue); } +FailureOr +detail::parseFloatFromLiteral(function_ref emitError, River707 wrote: Why not add this method to Parser instead of a floating functio

[llvm-branch-commits] [mlir] [mlir][Parser] Deduplicate floating-point parsing functionality (PR #116172)

2024-11-17 Thread River Riddle via llvm-branch-commits
https://github.com/River707 approved this pull request. https://github.com/llvm/llvm-project/pull/116172 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [lld] [PAC][lld][AArch64][ELF] Support signed GOT with tiny code model (PR #113816)

2024-11-17 Thread Daniil Kovalev via llvm-branch-commits
@@ -78,6 +78,79 @@ _start: adrp x1, :got_auth:zed add x1, x1, :got_auth_lo12:zed +#--- ok-tiny.s + +# RUN: llvm-mc -filetype=obj -triple=aarch64-none-linux ok-tiny.s -o ok-tiny.o kovdan01 wrote: Thanks for suggestion, changed to `aarch64` in 3c80d75c601

[llvm-branch-commits] [lld] [PAC][lld][AArch64][ELF] Support signed GOT with tiny code model (PR #113816)

2024-11-17 Thread Daniil Kovalev via llvm-branch-commits
@@ -78,6 +78,79 @@ _start: adrp x1, :got_auth:zed add x1, x1, :got_auth_lo12:zed +#--- ok-tiny.s + +# RUN: llvm-mc -filetype=obj -triple=aarch64-none-linux ok-tiny.s -o ok-tiny.o + +# RUN: ld.lld ok-tiny.o a.so -pie -o external-tiny +# RUN: llvm-readelf -r -S -x .got exte

[llvm-branch-commits] [lld] [PAC][lld][AArch64][ELF] Support signed GOT with tiny code model (PR #113816)

2024-11-17 Thread Fangrui Song via llvm-branch-commits
https://github.com/MaskRay edited https://github.com/llvm/llvm-project/pull/113816 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [lld] [PAC][lld][AArch64][ELF] Support signed GOT with tiny code model (PR #113816)

2024-11-17 Thread Fangrui Song via llvm-branch-commits
https://github.com/MaskRay approved this pull request. LGTM, but the description should mention why R_AARCH64_AUTH_GOT_PC is added and the existing RelExpr member that is similar to it. https://github.com/llvm/llvm-project/pull/113816 ___ llvm-branch-

[llvm-branch-commits] [lld] [PAC][lld][AArch64][ELF] Support signed GOT with tiny code model (PR #113816)

2024-11-17 Thread Fangrui Song via llvm-branch-commits
@@ -78,6 +78,79 @@ _start: adrp x1, :got_auth:zed add x1, x1, :got_auth_lo12:zed +#--- ok-tiny.s + +# RUN: llvm-mc -filetype=obj -triple=aarch64-none-linux ok-tiny.s -o ok-tiny.o + +# RUN: ld.lld ok-tiny.o a.so -pie -o external-tiny +# RUN: llvm-readelf -r -S -x .got exte

[llvm-branch-commits] [lld] [PAC][lld][AArch64][ELF] Support signed GOT with tiny code model (PR #113816)

2024-11-17 Thread Fangrui Song via llvm-branch-commits
@@ -78,6 +78,79 @@ _start: adrp x1, :got_auth:zed add x1, x1, :got_auth_lo12:zed +#--- ok-tiny.s + +# RUN: llvm-mc -filetype=obj -triple=aarch64-none-linux ok-tiny.s -o ok-tiny.o MaskRay wrote: `none` is also an OS component and is misleading when used t

[llvm-branch-commits] [llvm] [mlir] [OMPIRBuilder] Support runtime number of teams and threads, and SPMD mode (PR #116051)

2024-11-17 Thread Johannes Doerfert via llvm-branch-commits
@@ -6758,6 +6793,27 @@ static Expected createOutlinedFunction( auto Func = Function::Create(FuncType, GlobalValue::InternalLinkage, FuncName, M); + // Forward target-cpu and target-features function attributes from the + // original function to the new outlined funct

[llvm-branch-commits] [llvm] [mlir] [OMPIRBuilder] Support runtime number of teams and threads, and SPMD mode (PR #116051)

2024-11-17 Thread Johannes Doerfert via llvm-branch-commits
@@ -6758,6 +6793,27 @@ static Expected createOutlinedFunction( auto Func = Function::Create(FuncType, GlobalValue::InternalLinkage, FuncName, M); + // Forward target-cpu and target-features function attributes from the + // original function to the new outlined funct

[llvm-branch-commits] [llvm] [mlir] [OMPIRBuilder] Support runtime number of teams and threads, and SPMD mode (PR #116051)

2024-11-17 Thread Johannes Doerfert via llvm-branch-commits
@@ -6122,8 +6122,10 @@ TEST_F(OpenMPIRBuilderTest, TargetRegion) { OpenMPIRBuilderConfig Config(false, false, false, false, false, false, false); OMPBuilder.setConfig(Config); F->setName("func"); + F->addFnAttr("target-cpu", "x86-64"); + F->addFnAttr("target-features",

[llvm-branch-commits] [llvm] [mlir] [OMPIRBuilder] Support runtime number of teams and threads, and SPMD mode (PR #116051)

2024-11-17 Thread Johannes Doerfert via llvm-branch-commits
@@ -6727,8 +6727,43 @@ FunctionCallee OpenMPIRBuilder::createDispatchDeinitFunction() { return getOrCreateRuntimeFunction(M, omp::OMPRTL___kmpc_dispatch_deinit); } +static void emitUsed(StringRef Name, std::vector &List, + Module &M) { + if (List.empty(

[llvm-branch-commits] [llvm] [mlir] [OMPIRBuilder] Support runtime number of teams and threads, and SPMD mode (PR #116051)

2024-11-17 Thread Johannes Doerfert via llvm-branch-commits
@@ -6378,6 +6439,204 @@ TEST_F(OpenMPIRBuilderTest, TargetRegionDevice) { auto *ExitBlock = EntryBlockBranch->getSuccessor(1); EXPECT_EQ(ExitBlock->getName(), "worker.exit"); EXPECT_TRUE(isa(ExitBlock->getFirstNonPHI())); + + // Check global exec_mode. + GlobalVariable

[llvm-branch-commits] [llvm] [mlir] [OMPIRBuilder] Support runtime number of teams and threads, and SPMD mode (PR #116051)

2024-11-17 Thread Johannes Doerfert via llvm-branch-commits
@@ -7427,13 +7521,17 @@ emitTargetCall(OpenMPIRBuilder &OMPBuilder, IRBuilderBase &Builder, } OpenMPIRBuilder::InsertPointOrErrorTy OpenMPIRBuilder::createTarget( -const LocationDescription &Loc, bool IsOffloadEntry, InsertPointTy AllocaIP, -InsertPointTy CodeGenIP,

[llvm-branch-commits] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-11-17 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/116524 >From 5857c76fba85b9b3c36b4757fe88da908e5a45a9 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sun, 17 Nov 2024 09:00:45 +0100 Subject: [PATCH 1/2] [mlir][LLVM] `LLVMTypeConverter`: Tighten mate

[llvm-branch-commits] [mlir] [mlir][Transforms] Add 1:N `matchAndRewrite` overload (PR #116470)

2024-11-17 Thread Markus Böck via llvm-branch-commits
@@ -1538,10 +1607,9 @@ void ConversionPatternRewriter::replaceOp(Operation *op, ValueRange newValues) { impl->logger.startLine() << "** Replace : '" << op->getName() << "'(" << op << ")\n"; }); - SmallVector newVals(newValues.size()); - for (auto [index, val] :

[llvm-branch-commits] [mlir] [mlir][LLVM] `LLVMTypeConverter`: Tighten materialization checks (PR #116532)

2024-11-17 Thread Markus Böck via llvm-branch-commits
https://github.com/zero9178 edited https://github.com/llvm/llvm-project/pull/116532 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][LLVM] `LLVMTypeConverter`: Tighten materialization checks (PR #116532)

2024-11-17 Thread Markus Böck via llvm-branch-commits
https://github.com/zero9178 commented: Makes sense to me from a defensive programming perspective, but shouldn't a user add their own argument materialization in this case that can handle their type conversion and have that be called first? Is there an easy way we can test this by any chance?

[llvm-branch-commits] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-11-17 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/116524 >From 3930f40a1d87847e2577bc51174de0751e3c72f4 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sun, 17 Nov 2024 04:38:09 +0100 Subject: [PATCH] [mlir][Transforms] Support 1:N mappings in `Conve

[llvm-branch-commits] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-11-17 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/116524 >From ef8d04dffa253d8403843c3af7e786564660d7f0 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sun, 17 Nov 2024 04:38:09 +0100 Subject: [PATCH] [mlir][Transforms] Support 1:N mappings in `Conve

[llvm-branch-commits] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-11-17 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/116524 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][LLVM] `LLVMTypeConverter`: Tighten materialization checks (PR #116532)

2024-11-17 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/116532 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-11-17 Thread via llvm-branch-commits
github-actions[bot] wrote: :warning: C/C++ code formatter, clang-format found issues in your code. :warning: You can test this locally with the following command: ``bash git-clang-format --diff a496ab40c0a359d65fb2acfc2d862f0e4cf8b302 f027116e3d12422bcd2cc9a25dfd3ad09fc52196 --e