Page MenuHomePhabricator

kuhar (Jakub Kuderski)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 15 2015, 7:49 AM (401 w, 2 d)

Recent Activity

Wed, Mar 22

kuhar committed rGc81f14e5898c: [mlir][arith] Fix typos in WIE. NFC. (authored by kuhar).
[mlir][arith] Fix typos in WIE. NFC.
Wed, Mar 22, 4:16 PM · Restricted Project, Restricted Project
kuhar committed rGabfc358cff0c: [mlir][arith] Add `sitofp` support to WIE (authored by kuhar).
[mlir][arith] Add `sitofp` support to WIE
Wed, Mar 22, 4:13 PM · Restricted Project, Restricted Project
kuhar closed D146597: [mlir][arith] Add `sitofp` support to WIE.
Wed, Mar 22, 4:13 PM · Restricted Project, Restricted Project
kuhar committed rG909e5ce47a70: [mlir][arith] Add `uitofp` support to WIE (authored by kuhar).
[mlir][arith] Add `uitofp` support to WIE
Wed, Mar 22, 4:08 PM · Restricted Project, Restricted Project
kuhar closed D146606: [mlir][arith] Add `uitofp` support to WIE.
Wed, Mar 22, 4:08 PM · Restricted Project, Restricted Project
kuhar retitled D146597: [mlir][arith] Add `sitofp` support to WIE from [WIP][mlir][arith] Add `sitofp` support to WIE to [mlir][arith] Add `sitofp` support to WIE.
Wed, Mar 22, 7:12 AM · Restricted Project, Restricted Project
kuhar updated the diff for D146597: [mlir][arith] Add `sitofp` support to WIE.

Clean up

Wed, Mar 22, 7:12 AM · Restricted Project, Restricted Project
kuhar updated the diff for D146597: [mlir][arith] Add `sitofp` support to WIE.

Rebase. Fix negative number handling.

Wed, Mar 22, 7:11 AM · Restricted Project, Restricted Project

Tue, Mar 21

kuhar planned changes to D146597: [mlir][arith] Add `sitofp` support to WIE.
Tue, Mar 21, 10:30 PM · Restricted Project, Restricted Project
kuhar retitled D146597: [mlir][arith] Add `sitofp` support to WIE from [mlir][arith] Add `sitofp` support to WIE to [WIP][mlir][arith] Add `sitofp` support to WIE.
Tue, Mar 21, 10:30 PM · Restricted Project, Restricted Project
kuhar updated the diff for D146606: [mlir][arith] Add `uitofp` support to WIE.

Clean up includes

Tue, Mar 21, 10:29 PM · Restricted Project, Restricted Project
kuhar requested review of D146606: [mlir][arith] Add `uitofp` support to WIE.
Tue, Mar 21, 10:28 PM · Restricted Project, Restricted Project
kuhar updated the diff for D146597: [mlir][arith] Add `sitofp` support to WIE.

Handle negative numbers WIP. Add integration tests.

Tue, Mar 21, 9:19 PM · Restricted Project, Restricted Project
kuhar planned changes to D146597: [mlir][arith] Add `sitofp` support to WIE.
Tue, Mar 21, 8:08 PM · Restricted Project, Restricted Project
kuhar updated the diff for D146597: [mlir][arith] Add `sitofp` support to WIE.

Clean up

Tue, Mar 21, 7:03 PM · Restricted Project, Restricted Project
kuhar requested review of D146597: [mlir][arith] Add `sitofp` support to WIE.
Tue, Mar 21, 7:02 PM · Restricted Project, Restricted Project
kuhar committed rG2981832501f7: [ADT] Add `llvm::range_size` function for generic ranges (authored by kuhar).
[ADT] Add `llvm::range_size` function for generic ranges
Tue, Mar 21, 10:00 AM · Restricted Project, Restricted Project
kuhar closed D146231: [ADT] Add `llvm::range_size` function for generic ranges.
Tue, Mar 21, 10:00 AM · Restricted Project, Restricted Project
kuhar updated the diff for D146231: [ADT] Add `llvm::range_size` function for generic ranges.

Rebase

Tue, Mar 21, 7:43 AM · Restricted Project, Restricted Project
kuhar added inline comments to D146231: [ADT] Add `llvm::range_size` function for generic ranges.
Tue, Mar 21, 7:33 AM · Restricted Project, Restricted Project

Mon, Mar 20

kuhar committed rG92416b63a57b: [ADT] Work around `enumerate` compilation error with modules enabled (authored by kuhar).
[ADT] Work around `enumerate` compilation error with modules enabled
Mon, Mar 20, 11:36 AM · Restricted Project, Restricted Project
kuhar closed D146340: [ADT] Work around `enumerate` compilation error with modules enabled.
Mon, Mar 20, 11:35 AM · Restricted Project, Restricted Project
kuhar added a comment to D144503: [ADT] Allow `llvm::enumerate` to enumerate over multiple ranges.

also seeing similar error in downstream windows build of llvm.

There is also a similar breakage in InstrInfoEmitter.cpp:

C:\build_bot\worker\llvm-17-x86-32-windows\llvm-project\llvm\utils\TableGen\InstrInfoEmitter.cpp(120): error C2440: 'initializing': cannot convert from 'size_t' to '_This'
        with
        [
            _This=llvm::Record *const &
        ]

I note from an earlier comment that updating VS2022 with latest patches solved this issue for @srj
But is the issue similar for the minimum required version of MSVC (currently Visual Studio 2019 / v16.0 )??

Mon, Mar 20, 10:30 AM · Restricted Project, Restricted Project, Restricted Project

Sat, Mar 18

kuhar updated the diff for D146340: [ADT] Work around `enumerate` compilation error with modules enabled.

Do not calculate sizes in non-debug builds

Sat, Mar 18, 2:43 PM · Restricted Project, Restricted Project

Fri, Mar 17

kuhar added a comment to D144503: [ADT] Allow `llvm::enumerate` to enumerate over multiple ranges.

@aprantl This seems to me like a host compiler bug. I came up with a workaround: https://reviews.llvm.org/D146340.

Fri, Mar 17, 4:56 PM · Restricted Project, Restricted Project, Restricted Project
kuhar requested review of D146340: [ADT] Work around `enumerate` compilation error with modules enabled.
Fri, Mar 17, 4:56 PM · Restricted Project, Restricted Project
kuhar added a comment to D144503: [ADT] Allow `llvm::enumerate` to enumerate over multiple ranges.

I've just tried on my mac and can reproduce it with clang from xcode

$ clang --version
Apple clang version 14.0.0 (clang-1400.0.29.202)
Target: arm64-apple-darwin22.3.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
Fri, Mar 17, 4:31 PM · Restricted Project, Restricted Project, Restricted Project
kuhar added a comment to D144503: [ADT] Allow `llvm::enumerate` to enumerate over multiple ranges.

Edit: Ah no, now I see that only one range is passed to the enumerate in ExplainOutputStyle.cpp. In that case we have exactly one type passed to the initialized list so I don't see how that'd fail. Checking other things...

Fri, Mar 17, 4:15 PM · Restricted Project, Restricted Project, Restricted Project
kuhar added a comment to D144503: [ADT] Allow `llvm::enumerate` to enumerate over multiple ranges.
Fri, Mar 17, 4:10 PM · Restricted Project, Restricted Project, Restricted Project

Thu, Mar 16

kuhar added a comment to D144503: [ADT] Allow `llvm::enumerate` to enumerate over multiple ranges.

There is also a similar breakage in InstrInfoEmitter.cpp:

C:\build_bot\worker\llvm-17-x86-32-windows\llvm-project\llvm\utils\TableGen\InstrInfoEmitter.cpp(120): error C2440: 'initializing': cannot convert from 'size_t' to '_This'
        with
        [
            _This=llvm::Record *const &
        ]
Thu, Mar 16, 6:14 PM · Restricted Project, Restricted Project, Restricted Project
kuhar updated the diff for D146231: [ADT] Add `llvm::range_size` function for generic ranges.

Use adl_size to simplify the implementation and reduce branching.

Thu, Mar 16, 1:02 PM · Restricted Project, Restricted Project
kuhar added inline comments to D146231: [ADT] Add `llvm::range_size` function for generic ranges.
Thu, Mar 16, 12:41 PM · Restricted Project, Restricted Project
kuhar added a comment to D146231: [ADT] Add `llvm::range_size` function for generic ranges.

Would std::distance suffice?

Thu, Mar 16, 9:31 AM · Restricted Project, Restricted Project
kuhar requested review of D146231: [ADT] Add `llvm::range_size` function for generic ranges.
Thu, Mar 16, 9:13 AM · Restricted Project, Restricted Project
kuhar committed rGa586c551000b: [mlir][vector] Add mask fold test for gather lowering (authored by kuhar).
[mlir][vector] Add mask fold test for gather lowering
Thu, Mar 16, 7:20 AM · Restricted Project, Restricted Project
kuhar closed D146144: [mlir][vector] Add mask fold test for gather lowering.
Thu, Mar 16, 7:20 AM · Restricted Project, Restricted Project

Wed, Mar 15

kuhar committed rGe95d9c92208e: [ADT][mlir] Fix gcc build error (authored by kuhar).
[ADT][mlir] Fix gcc build error
Wed, Mar 15, 5:25 PM · Restricted Project, Restricted Project
kuhar committed rGa0a76804c4b5: [ADT] Allow `llvm::enumerate` to enumerate over multiple ranges (authored by kuhar).
[ADT] Allow `llvm::enumerate` to enumerate over multiple ranges
Wed, Mar 15, 4:37 PM · Restricted Project, Restricted Project, Restricted Project
kuhar closed D144503: [ADT] Allow `llvm::enumerate` to enumerate over multiple ranges.
Wed, Mar 15, 4:36 PM · Restricted Project, Restricted Project, Restricted Project
kuhar updated the diff for D144503: [ADT] Allow `llvm::enumerate` to enumerate over multiple ranges.

Fix outdated usage in AArch64PerfectShuffle

Wed, Mar 15, 12:11 PM · Restricted Project, Restricted Project, Restricted Project
kuhar updated the diff for D144503: [ADT] Allow `llvm::enumerate` to enumerate over multiple ranges.

Address comments.

Wed, Mar 15, 11:27 AM · Restricted Project, Restricted Project, Restricted Project
kuhar committed rG0eaacc25bb98: [ADT] Make llvm::is_contained call member `contains` or `find` when available (authored by kuhar).
[ADT] Make llvm::is_contained call member `contains` or `find` when available
Wed, Mar 15, 9:08 AM · Restricted Project, Restricted Project
kuhar closed D146061: [ADT] Make llvm::is_contained call member `contains` or `find` when available.
Wed, Mar 15, 9:08 AM · Restricted Project, Restricted Project
kuhar added inline comments to D145942: [mlir][vector] Add gather lowering patterns.
Wed, Mar 15, 8:44 AM · Restricted Project, Restricted Project
kuhar requested review of D146144: [mlir][vector] Add mask fold test for gather lowering.
Wed, Mar 15, 8:42 AM · Restricted Project, Restricted Project
kuhar added inline comments to D145942: [mlir][vector] Add gather lowering patterns.
Wed, Mar 15, 8:22 AM · Restricted Project, Restricted Project
kuhar updated the diff for D144503: [ADT] Allow `llvm::enumerate` to enumerate over multiple ranges.

Rebase. Update existing uses of enumerate with non-const lvalue refs.
Replace some enumerate(zip* patterns with n-ary enumerate.

Wed, Mar 15, 8:13 AM · Restricted Project, Restricted Project, Restricted Project
kuhar committed rG8c258fda1f9b: [ADT][mlir][NFCI] Do not use non-const lvalue-refs with enumerate (authored by kuhar).
[ADT][mlir][NFCI] Do not use non-const lvalue-refs with enumerate
Wed, Mar 15, 7:48 AM · Restricted Project, Restricted Project
kuhar closed D146006: [ADT][mlir][NFCI] Do not use non-const lvalue-refs with enumerate.
Wed, Mar 15, 7:48 AM · Restricted Project, Restricted Project
kuhar accepted D146104: Use *{Map,Set}::contains (NFC).

LGTM

Wed, Mar 15, 7:42 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

Tue, Mar 14

kuhar retitled D146061: [ADT] Make llvm::is_contained call member `contains` or `find` when available from [ADT] Make llvm::is_contained call member `contains` when available to [ADT] Make llvm::is_contained call member `contains` or `find` when available.
Tue, Mar 14, 5:44 PM · Restricted Project, Restricted Project
kuhar updated the diff for D146061: [ADT] Make llvm::is_contained call member `contains` or `find` when available.

Update test to check that .contains(x) is preferred over .find(x) when both are available.
Use std::find instead of llvm::find to make the behavior as clear as possible.

Tue, Mar 14, 5:40 PM · Restricted Project, Restricted Project
kuhar accepted D145079: [mlir][spirv] Fix UnifyAliasedResourcePass for 64-bit index.
Tue, Mar 14, 3:57 PM · Restricted Project, Restricted Project
kuhar committed rGdfee4c7fb0fb: [mlir][spirv] Fix scf.yield pattern conversion (authored by kuhar).
[mlir][spirv] Fix scf.yield pattern conversion
Tue, Mar 14, 3:49 PM · Restricted Project, Restricted Project
kuhar closed D146080: [mlir][spirv] Fix scf.yield pattern conversion.
Tue, Mar 14, 3:49 PM · Restricted Project, Restricted Project
kuhar committed rGab5eae01646e: [mlir][spirv][NFC] Clean up scf-to-spirv pass (authored by kuhar).
[mlir][spirv][NFC] Clean up scf-to-spirv pass
Tue, Mar 14, 3:46 PM · Restricted Project, Restricted Project
kuhar closed D146077: [mlir][spirv][NFC] Clean up scf-to-spirv pass.
Tue, Mar 14, 3:45 PM · Restricted Project, Restricted Project
kuhar added a comment to D145464: [BOLT][NFC] Use llvm::is_contained.

FYI, by a quick scan through the patch, it seems like a likely pessimization. Currently, llvm::is_contained performs a linear scan to find the element, while .find(x) is typically O(1) or O(log n). Related discussion on this topic: https://reviews.llvm.org/D146061

Tue, Mar 14, 3:42 PM · Restricted Project, Restricted Project
kuhar added a comment to D146061: [ADT] Make llvm::is_contained call member `contains` or `find` when available.

Here's an example that landed minutes ago in the tree: https://reviews.llvm.org/D145464

Tue, Mar 14, 3:40 PM · Restricted Project, Restricted Project
kuhar updated the diff for D146061: [ADT] Make llvm::is_contained call member `contains` or `find` when available.

Fix a typo

Tue, Mar 14, 3:31 PM · Restricted Project, Restricted Project
kuhar updated the diff for D146061: [ADT] Make llvm::is_contained call member `contains` or `find` when available.

Delegate to .find when .contains is not available. Improve function documentation.

Tue, Mar 14, 3:29 PM · Restricted Project, Restricted Project
kuhar added a comment to D146061: [ADT] Make llvm::is_contained call member `contains` or `find` when available.

Sure, I agree with that. If I have map with a known type like DenseMap I'd rather call .contains(x) directly too. But this is not possible with C++17 containers std::, so I'd argue that until then is_contained(container, x) is more readable than something like container.find(x) != container.end().

I don't think we should promote usage of is_contained() for anything but the linear scan case. I don't want to be left guessing whether this is_contained() is a linear scan, or just a slightly different way to write container.find().

Tue, Mar 14, 3:27 PM · Restricted Project, Restricted Project
kuhar added inline comments to D146080: [mlir][spirv] Fix scf.yield pattern conversion.
Tue, Mar 14, 3:06 PM · Restricted Project, Restricted Project
kuhar added a comment to D146061: [ADT] Make llvm::is_contained call member `contains` or `find` when available.

Then I propose we frame it like this: llvm::is_contained is the (llvm-only) canonical/generic way to check if an element is in the range.

How about something like the (llvm-only) canonical/generic way to check if an element is in the range if a template needs to work with containers that may or may not have the .contains method (like an array and a set).

I'm saying this because I personally find Foo.contains(X) a little more readable than llvm::is_contained(Foo, X), and I would like our code base to look friendly to people new to the LLVM project (with the use of function names present in C++ standards) wherever reasonable to do so. (Sure, std::set::contains is very new, but I expect people to become familiar with this over time.)

Tue, Mar 14, 2:59 PM · Restricted Project, Restricted Project
kuhar added a comment to D146061: [ADT] Make llvm::is_contained call member `contains` or `find` when available.

This one is trickier for me - llvm::is_contained doesn't have a nearby standard equivalent ,so we can choose its behavior more flexibly. But std::find(iter, iter, value) exists in the standard library and there's value in llvm::find(range, value) being pretty close to the same/identical to the standard version - which doesn't optimize to member-find when available.

I would be inclined not to include a member-find optimization in llvm::find for that reason.

I'm undecided about whether that tips in favor of not having member-contains in llvm::is_contained.

Tue, Mar 14, 1:36 PM · Restricted Project, Restricted Project
kuhar updated the diff for D146080: [mlir][spirv] Fix scf.yield pattern conversion.

Fix test failures. Add a regression test.

Tue, Mar 14, 12:48 PM · Restricted Project, Restricted Project
kuhar planned changes to D146080: [mlir][spirv] Fix scf.yield pattern conversion.

I discovered I skipped some existing tests, this doesn't always work. Working on a fix.

Tue, Mar 14, 12:40 PM · Restricted Project, Restricted Project
kuhar requested review of D146080: [mlir][spirv] Fix scf.yield pattern conversion.
Tue, Mar 14, 12:31 PM · Restricted Project, Restricted Project
kuhar requested review of D146077: [mlir][spirv][NFC] Clean up scf-to-spirv pass.
Tue, Mar 14, 11:57 AM · Restricted Project, Restricted Project
kuhar added a comment to D146061: [ADT] Make llvm::is_contained call member `contains` or `find` when available.

This is also consistent with how new C++ range functions are defined, e.g., https://en.cppreference.com/w/cpp/ranges/size that calls member .size when available and does iterator subtraction otherwise.

Tue, Mar 14, 10:24 AM · Restricted Project, Restricted Project
kuhar added a comment to D146061: [ADT] Make llvm::is_contained call member `contains` or `find` when available.

I also considered detecting member contains and triggering a
static_assert instead, but decided against it because it's just as easy
to do the right thing and call .contains.

I think I would prefer this option, so we keep the ability to distinguish O(1) contains from O(n) is_contained at a glance.

Tue, Mar 14, 10:19 AM · Restricted Project, Restricted Project
kuhar updated the summary of D146061: [ADT] Make llvm::is_contained call member `contains` or `find` when available.
Tue, Mar 14, 9:17 AM · Restricted Project, Restricted Project
kuhar added a reviewer for D146061: [ADT] Make llvm::is_contained call member `contains` or `find` when available: beanz.
Tue, Mar 14, 9:15 AM · Restricted Project, Restricted Project
kuhar requested review of D146061: [ADT] Make llvm::is_contained call member `contains` or `find` when available.
Tue, Mar 14, 9:15 AM · Restricted Project, Restricted Project
kuhar committed rG070283825aaf: [mlir][vector] Clarify OOB semantics of remaining load/store ops (authored by kuhar).
[mlir][vector] Clarify OOB semantics of remaining load/store ops
Tue, Mar 14, 8:02 AM · Restricted Project, Restricted Project
kuhar closed D145975: [mlir][vector] Clarify OOB semantics of remaining load/store ops.
Tue, Mar 14, 8:02 AM · Restricted Project, Restricted Project
kuhar committed rGf80a976acd85: [mlir][vector] Add gather lowering patterns (authored by kuhar).
[mlir][vector] Add gather lowering patterns
Tue, Mar 14, 8:00 AM · Restricted Project, Restricted Project
kuhar closed D145942: [mlir][vector] Add gather lowering patterns.
Tue, Mar 14, 8:00 AM · Restricted Project, Restricted Project

Mon, Mar 13

kuhar abandoned D145314: [WIP][ADT] Do not use lvalue references with `llvm::enumerate`. NFC..
Mon, Mar 13, 6:55 PM · Restricted Project, Restricted Project, Restricted Project
kuhar requested review of D146006: [ADT][mlir][NFCI] Do not use non-const lvalue-refs with enumerate.
Mon, Mar 13, 6:54 PM · Restricted Project, Restricted Project
kuhar committed rGb9db89fbcfda: [ADT][NFCI] Do not use non-const lvalue-refs with enumerate in llvm/ (authored by kuhar).
[ADT][NFCI] Do not use non-const lvalue-refs with enumerate in llvm/
Mon, Mar 13, 6:00 PM · Restricted Project, Restricted Project, Restricted Project
kuhar closed D145987: [ADT][NFCI] Do not use non-const lvalue-refs with enumerate in llvm/.
Mon, Mar 13, 5:59 PM · Restricted Project, Restricted Project, Restricted Project
kuhar updated the diff for D145987: [ADT][NFCI] Do not use non-const lvalue-refs with enumerate in llvm/.

Update lambda signature

Mon, Mar 13, 5:47 PM · Restricted Project, Restricted Project, Restricted Project
kuhar updated the diff for D145987: [ADT][NFCI] Do not use non-const lvalue-refs with enumerate in llvm/.

Also include clang/ since there's only one function to update

Mon, Mar 13, 1:44 PM · Restricted Project, Restricted Project, Restricted Project
kuhar requested review of D145987: [ADT][NFCI] Do not use non-const lvalue-refs with enumerate in llvm/.
Mon, Mar 13, 1:39 PM · Restricted Project, Restricted Project, Restricted Project
kuhar added a comment to D144503: [ADT] Allow `llvm::enumerate` to enumerate over multiple ranges.

My plan is to land a series of clean-up commits removing lvalue references to enumerate elements and once these are in land this patch (probably end of this week or beginning of the next week).

Mon, Mar 13, 12:42 PM · Restricted Project, Restricted Project, Restricted Project
kuhar added inline comments to D144503: [ADT] Allow `llvm::enumerate` to enumerate over multiple ranges.
Mon, Mar 13, 12:40 PM · Restricted Project, Restricted Project, Restricted Project
kuhar updated the diff for D144503: [ADT] Allow `llvm::enumerate` to enumerate over multiple ranges.

Rebase. Add comments clarifying iterator reference_type requirments.

Mon, Mar 13, 12:39 PM · Restricted Project, Restricted Project, Restricted Project
kuhar requested review of D145975: [mlir][vector] Clarify OOB semantics of remaining load/store ops.
Mon, Mar 13, 12:04 PM · Restricted Project, Restricted Project
kuhar added a comment to D145969: [GVNHoist] add cast to unbreak windows build.

I'd consider defining a new operator== overload to handle cases like this instead.

On which class? Use or Instruction?

Mon, Mar 13, 11:50 AM · Restricted Project, Restricted Project
kuhar added a comment to D145969: [GVNHoist] add cast to unbreak windows build.

I also wonder whether

diff --git a/llvm/lib/Transforms/Scalar/GVNHoist.cpp b/llvm/lib/Transforms/Scalar/GVNHoist.cpp
index abe38aa2a357..04f3df961662 100644
--- a/llvm/lib/Transforms/Scalar/GVNHoist.cpp
+++ b/llvm/lib/Transforms/Scalar/GVNHoist.cpp
@@ -810,13 +810,13 @@ void GVNHoist::checkSafety(CHIArgs C, BasicBlock *BB, GVNHoist::InsKind K,
   int NumBBsOnAllPaths = MaxNumberOfBBSInPath;
   const Instruction *T = BB->getTerminator();
   for (auto CHI : C) {
-    Instruction *Insn = CHI.I;
+    const Instruction *Insn = CHI.I;
     if (!Insn) // No instruction was inserted in this CHI.
       continue;
     // If the Terminator is some kind of "exotic terminator" that produces a
     // value (such as InvokeInst, CallBrInst, or CatchSwitchInst) which the CHI
     // uses, it is not safe to hoist the use above the def.
-    if (!T->use_empty() && is_contained(Insn->operands(), cast<const Value>(T)))
+    if (!T->use_empty() && is_contained(Insn->operands(), T))
       continue;
     if (K == InsKind::Scalar) {
       if (safeToHoistScalar(BB, Insn->getParent(), NumBBsOnAllPaths))

would have done the trick. Should I file a bug about llvm::is_contained/std::find/mscv19?

Mon, Mar 13, 11:44 AM · Restricted Project, Restricted Project
kuhar updated the diff for D145942: [mlir][vector] Add gather lowering patterns.

Also rename the test

Mon, Mar 13, 11:28 AM · Restricted Project, Restricted Project
kuhar added inline comments to D145942: [mlir][vector] Add gather lowering patterns.
Mon, Mar 13, 11:26 AM · Restricted Project, Restricted Project
kuhar retitled D145942: [mlir][vector] Add gather lowering patterns from [mlir][vector] Add gather emulation patterns to [mlir][vector] Add gather lowering patterns.
Mon, Mar 13, 11:26 AM · Restricted Project, Restricted Project
kuhar updated the diff for D145942: [mlir][vector] Add gather lowering patterns.

Rebase. Rename populate function (emulation -> lowering). Do not rely on temporary array refs.

Mon, Mar 13, 11:26 AM · Restricted Project, Restricted Project
kuhar accepted D145969: [GVNHoist] add cast to unbreak windows build.
Mon, Mar 13, 11:12 AM · Restricted Project, Restricted Project
kuhar committed rG4e4226dc362f: [mlir][vector] Clarify OOB semantics for `gather` and `scatter` (authored by kuhar).
[mlir][vector] Clarify OOB semantics for `gather` and `scatter`
Mon, Mar 13, 10:59 AM · Restricted Project, Restricted Project
kuhar closed D145824: [mlir][vector] Clarify OOB semantics for `gather` and `scatter`.
Mon, Mar 13, 10:59 AM · Restricted Project, Restricted Project
kuhar accepted D145895: [ADT] Implement {DenseMap,MapVector,StringMap}::contains.

Separately, it would be cool if we could make llvm::is_contained use the contains member when available, instead of doing a linear scan. It seems like a bit of a foot gun to me to have 2 functions with almost identical names but vastly different performance characteristics.

Mon, Mar 13, 8:04 AM · Restricted Project, Restricted Project
kuhar added inline comments to D145942: [mlir][vector] Add gather lowering patterns.
Mon, Mar 13, 7:54 AM · Restricted Project, Restricted Project