profile
viewpoint
Mehdi Amini joker-eph Mountain View

joker-eph/clang_cross_compiler 2

Simple script to build a bootstrapped 2-stage clang cross-compiler with Sanitizers (ASAN/UBSAN) support for X86 and AArch64 / ARM64

joker-eph/CppSamples-Samples 1

A repository of modern C++ samples curated by the community.

joker-eph/llvm-project 1

All-in-one LLVM/Clang/Dragonegg &c subtree

joker-eph/boost 0

Super-project for modularized Boost

joker-eph/buildtools 0

A bazel BUILD file formatter and editor

joker-eph/clang 0

Mirror of official clang git repository located at http://llvm.org/git/clang. Updated hourly.

joker-eph/clangllvm 0

Clang AND LLVM in the same git repo. Why? Because it eases git-bisect :)

push eventllvm/mlir-www

github-actions[bot]

commit sha 3a0bddb56dccd0f8aa29c0b6fb6254038663e40d

deploy: a8cedd839ea1cb4a45d82db461730030ded22a93

view details

push time in 4 hours

push eventllvm/mlir-www

github-actions[bot]

commit sha 2406bd105b1b8201954b251a332284a3195c3972

deploy: a8cedd839ea1cb4a45d82db461730030ded22a93

view details

push time in 8 hours

push eventllvm/mlir-www

github-actions[bot]

commit sha 680c22a188e291c9f3b10e1729e4dcdab32f1bfb

deploy: a8cedd839ea1cb4a45d82db461730030ded22a93

view details

push time in 12 hours

push eventllvm/mlir-www

github-actions[bot]

commit sha 4926366eba4963bd0f307213756df4a14de76267

deploy: a8cedd839ea1cb4a45d82db461730030ded22a93

view details

push time in 15 hours

push eventllvm/mlir-www

github-actions[bot]

commit sha 80fe06c08c3ed19fec4957cf817a630ca4472817

deploy: a8cedd839ea1cb4a45d82db461730030ded22a93

view details

push time in 20 hours

push eventllvm/mlir-www

github-actions[bot]

commit sha 62e2500f29d4b79ab38e042ed8647d658cfe297f

deploy: a8cedd839ea1cb4a45d82db461730030ded22a93

view details

push time in a day

push eventllvm/mlir-www

github-actions[bot]

commit sha a33a16901a7760c51a73d61d4622c9a5dc8c8357

deploy: a8cedd839ea1cb4a45d82db461730030ded22a93

view details

push time in a day

push eventllvm/mlir-www

github-actions[bot]

commit sha 6023b2a4373645a51ee5f15e96e2c63f1f496c5d

deploy: a8cedd839ea1cb4a45d82db461730030ded22a93

view details

push time in a day

push eventllvm/mlir-www

github-actions[bot]

commit sha a1196b626a6d89440377a56c5d902ff5133ab870

deploy: a8cedd839ea1cb4a45d82db461730030ded22a93

view details

push time in a day

push eventllvm/mlir-www

github-actions[bot]

commit sha a33311dfe0467a64b5383f953299504cd82dc078

deploy: a8cedd839ea1cb4a45d82db461730030ded22a93

view details

push time in 2 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 87804c45cf5675034ac3afb6d1b9b702b7bcd959

deploy: a8cedd839ea1cb4a45d82db461730030ded22a93

view details

push time in 2 days

push eventllvm/mlir-www

github-actions[bot]

commit sha db2846856b10dff2e583ca6fe89bc02a9c6ea7e3

deploy: a8cedd839ea1cb4a45d82db461730030ded22a93

view details

push time in 2 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 4d2700e59211d6680723c00df50391c0cd4c1bc0

deploy: a8cedd839ea1cb4a45d82db461730030ded22a93

view details

push time in 2 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 607579e373e9c86ca28057b62ffaee1889c8cddc

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 2 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 90127df3281edc6c41613fb86b4213d1264b5003

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 2 days

push eventllvm/mlir-www

github-actions[bot]

commit sha ccabe5b3bf836e3ec69428be22970977f68a1e22

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 2 days

push eventllvm/llvm-project

John Demme

commit sha 76419525fba62c93d5c337acdb0b80d6e42b00c9

Common code preparation for tblgen-types patch Cleanup and add methods which https://reviews.llvm.org/D86904 requires. Breaking up to lower review load. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D88267

view details

push time in 3 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 4734b03abdad58dd2878afef54f78ec0f6f91a7b

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 3 days

Pull request review commenttensorflow/tensorflow

[MLIR] Add involution based folding to TF

+/* Copyright 2020 The TensorFlow Authors. All Rights Reserved.++Licensed under the Apache License, Version 2.0 (the "License");+you may not use this file except in compliance with the License.+You may obtain a copy of the License at++    http://www.apache.org/licenses/LICENSE-2.0++Unless required by applicable law or agreed to in writing, software+distributed under the License is distributed on an "AS IS" BASIS,+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+See the License for the specific language governing permissions and+limitations under the License.+==============================================================================*/++#include "mlir/IR/PatternMatch.h"  // from @llvm-project+#include "mlir/Pass/Pass.h"  // from @llvm-project+#include "tensorflow/compiler/mlir/tensorflow/ir/tf_traits.h"++namespace mlir {+namespace TF {+namespace {++template <typename TraitPattern, template <typename> class Trait>+struct TraitRewritePattern : public RewritePattern {+  TraitRewritePattern(MLIRContext* context)+      : RewritePattern({}, 0, context, MatchAnyOpTypeTag()) {}++  LogicalResult matchAndRewrite(Operation* op,+                                PatternRewriter& rewriter) const override {+    if (op->hasTrait<Trait>()) {+      return static_cast<const TraitPattern*>(this)->matchAndRewriteTrait(+          op, rewriter);+    }++    return failure();+  }+};++struct FoldInvolution+    : TraitRewritePattern<FoldInvolution, OpTrait::TF::Involution> {+  using Base = TraitRewritePattern<FoldInvolution, OpTrait::TF::Involution>;++  FoldInvolution(MLIRContext* context) : Base(context) {}++  LogicalResult matchAndRewriteTrait(Operation* op,+                                     PatternRewriter& rewriter) const {+    auto argument_op = op->getOperand(0).getDefiningOp();++    if (argument_op && op->getName() == argument_op->getName()) {+      // Replace the outer involutions output with inner's input.+      rewriter.replaceOp(op, argument_op->getOperand(0));+      return success();+    }++    return failure();+  }

I was referring only to the mechanism by which adding a traits to an op will make the verifierTraits function invoked, nothing else: there is a chaining mechanism that make it so that the verifier calls a single method on the operation and that dispatch to all the traits. We'd need a similar mechanism for dispatch to a fold method implemented by a trait.

The folding hook is a per-op thing that is invoked in various places: a separate pass does not provide what is needed really.

ahmedsabie

comment created time in 3 days

PullRequestReviewEvent

push eventllvm/mlir-www

github-actions[bot]

commit sha 2315e9e4f9b1cd62d4c08e09b5387774b7d20922

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 3 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 161af2eb3cda19694f79b2a8130563ea6b020a59

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 3 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 1800dd654f2be92c9fe180a583a19a80c7793c89

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 3 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 83da91103aeb93025fb0d11191ed471f02621714

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 3 days

Pull request review commenttensorflow/tensorflow

[MLIR] Add involution based folding to TF

+/* Copyright 2020 The TensorFlow Authors. All Rights Reserved.++Licensed under the Apache License, Version 2.0 (the "License");+you may not use this file except in compliance with the License.+You may obtain a copy of the License at++    http://www.apache.org/licenses/LICENSE-2.0++Unless required by applicable law or agreed to in writing, software+distributed under the License is distributed on an "AS IS" BASIS,+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+See the License for the specific language governing permissions and+limitations under the License.+==============================================================================*/++#include "mlir/IR/PatternMatch.h"  // from @llvm-project+#include "mlir/Pass/Pass.h"  // from @llvm-project+#include "tensorflow/compiler/mlir/tensorflow/ir/tf_traits.h"++namespace mlir {+namespace TF {+namespace {++template <typename TraitPattern, template <typename> class Trait>+struct TraitRewritePattern : public RewritePattern {+  TraitRewritePattern(MLIRContext* context)+      : RewritePattern({}, 0, context, MatchAnyOpTypeTag()) {}++  LogicalResult matchAndRewrite(Operation* op,+                                PatternRewriter& rewriter) const override {+    if (op->hasTrait<Trait>()) {+      return static_cast<const TraitPattern*>(this)->matchAndRewriteTrait(+          op, rewriter);+    }++    return failure();+  }+};++struct FoldInvolution+    : TraitRewritePattern<FoldInvolution, OpTrait::TF::Involution> {+  using Base = TraitRewritePattern<FoldInvolution, OpTrait::TF::Involution>;++  FoldInvolution(MLIRContext* context) : Base(context) {}++  LogicalResult matchAndRewriteTrait(Operation* op,+                                     PatternRewriter& rewriter) const {+    auto argument_op = op->getOperand(0).getDefiningOp();++    if (argument_op && op->getName() == argument_op->getName()) {+      // Replace the outer involutions output with inner's input.+      rewriter.replaceOp(op, argument_op->getOperand(0));+      return success();+    }++    return failure();+  }

lib/Transforms/Utils/FoldUtils.cpp seems a bit too "internal" to me right now.

Seems like we would want Traits to be able to extend the folding just like they extend the verifier. Can you look into how "verifierTraits()" is setup and take inspiration from this to propose a solution?

ahmedsabie

comment created time in 3 days

PullRequestReviewEvent

push eventllvm/mlir-www

github-actions[bot]

commit sha c0ea9a279a4526ae912b0ddd65381f5ca839fc14

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 3 days

push eventllvm/llvm-project

Mehdi Amini

commit sha 960535d65a927b27ff883250094492842c33ca86

Hint how to get a symbolized stack trace if llvm-symbolizer is not found on crashes Most users of LLVM tools hit the raw traces and don't know how to get LLVM to symbolize automatically for them. When we print the non-symbolized stack trace, we will add information about how to get it symbolized. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D88269

view details

push time in 4 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 631f02e7e655163f6e23a6cbc446da552c299ed3

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 4 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 666a9570818f961980bb924f4f73f23d3a91ffeb

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 4 days

push eventllvm/llvm-project

Mehdi Amini

commit sha 55bb1ba0fdd3c97d163f8115f818eafe11814623

Add support for setting the path to llvm-symbolizer through an environment variable This allows to point to an executable that isn't named exactly "llvm-symbolizer" and not necessarily in the current PATH. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D88192

view details

push time in 4 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 5dfef1fea9c2d2e5a8985ce4bc0e910a1cdcb50d

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 4 days

push eventllvm/mlir-www

github-actions[bot]

commit sha e4311f1396b556eaf16bb7287c13db56a3552cf5

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 4 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 57ebf8f3b911925b82463c0b05743e8fe962f018

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 4 days

push eventllvm/mlir-www

github-actions[bot]

commit sha fc7a4004703295bf6a58e78d89027053d96fbe19

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 4 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 5e061b1b4d1ccf5bde6eeac5857ac07b2754419e

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 5 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 478f0d3b792de37424d5f0658aead0be2dfe171d

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 5 days

Pull request review commenttensorflow/tensorflow

[MLIR] Add involution based folding to TF

+/* Copyright 2020 The TensorFlow Authors. All Rights Reserved.++Licensed under the Apache License, Version 2.0 (the "License");+you may not use this file except in compliance with the License.+You may obtain a copy of the License at++    http://www.apache.org/licenses/LICENSE-2.0++Unless required by applicable law or agreed to in writing, software+distributed under the License is distributed on an "AS IS" BASIS,+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+See the License for the specific language governing permissions and+limitations under the License.+==============================================================================*/++#include "mlir/IR/PatternMatch.h"  // from @llvm-project+#include "mlir/Pass/Pass.h"  // from @llvm-project+#include "tensorflow/compiler/mlir/tensorflow/ir/tf_traits.h"++namespace mlir {+namespace TF {+namespace {++template <typename TraitPattern, template <typename> class Trait>+struct TraitRewritePattern : public RewritePattern {+  TraitRewritePattern(MLIRContext* context)+      : RewritePattern({}, 0, context, MatchAnyOpTypeTag()) {}++  LogicalResult matchAndRewrite(Operation* op,+                                PatternRewriter& rewriter) const override {+    if (op->hasTrait<Trait>()) {+      return static_cast<const TraitPattern*>(this)->matchAndRewriteTrait(+          op, rewriter);+    }++    return failure();+  }+};++struct FoldInvolution+    : TraitRewritePattern<FoldInvolution, OpTrait::TF::Involution> {+  using Base = TraitRewritePattern<FoldInvolution, OpTrait::TF::Involution>;++  FoldInvolution(MLIRContext* context) : Base(context) {}++  LogicalResult matchAndRewriteTrait(Operation* op,+                                     PatternRewriter& rewriter) const {+    auto argument_op = op->getOperand(0).getDefiningOp();++    if (argument_op && op->getName() == argument_op->getName()) {+      // Replace the outer involutions output with inner's input.+      rewriter.replaceOp(op, argument_op->getOperand(0));+      return success();+    }++    return failure();+  }

Well, almost: we'll need to tag TF ops with the right traits.

ahmedsabie

comment created time in 5 days

PullRequestReviewEvent

push eventllvm/llvm-project

Mike Urbach

commit sha d14cfe10341681d18edf05ac98da2c5241b0864e

[mlir][OpFormatGen] Update "custom" directives for attributes. This tweaks the generated code for parsing attributes with a custom directive to call `addAttribute` on the `OperationState` directly, and adds a newline after this call. Previously, the generated code would call `addAttribute` on the `OperationState` field `attributes`, which has no such method and fails to compile. Furthermore, the lack of newline would generate code with incorrectly formatted single line `if` statements. Added tests for parsing and printing attributes with a custom directive. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D87860

view details

push time in 5 days

push eventllvm/llvm-project

Mehdi Amini

commit sha 55f5a0137f5bbfc8411bd11a5d2695ba84534345

Update Phabricator doc to remove the warning on "arc land": tags a properly handled server side now

view details

Mehdi Amini

commit sha 5281ba1994bdd21309d694c44e43ed825294221c

Document the `--verbatim` flag from arc to update the description for a phabricator revision

view details

push time in 5 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 374304b7c63030751d0410579e9b41b7bbcc371a

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 5 days

push eventllvm/llvm-project

Mehdi Amini

commit sha f6aceb72d6b2d13d03713ba05bc47c0f9e550c26

Update the documentation for the MLIR Dialect class (NFC)

view details

push time in 5 days

push eventllvm/mlir-www

github-actions[bot]

commit sha fbd0162d1c62bef296b5a8bb82d6cf57061acd59

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 5 days

push eventllvm/mlir-www

github-actions[bot]

commit sha cd070ec5b4040226dc0dea54523194bb0cfe977a

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 5 days

push eventllvm/llvm-project

Mehdi Amini

commit sha fe3c1195cfd027fdd28b6d373b3cd9519d5253ec

Add a dump() method on the pass manager for debugging purpose (NFC) Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D88008

view details

push time in 5 days

push eventllvm/mlir-www

github-actions[bot]

commit sha ab9b144e2bc1b6ff3326de2b0c792bf207808843

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 5 days

push eventllvm/mlir-www

github-actions[bot]

commit sha a70ab0c6dad8d7def2d25b998c3240a55757a768

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 6 days

push eventllvm/llvm-project

antonio-cortes-perez

commit sha af429cd89bf83bbbef295ded85e66f03776ec015

[NFC][docs] Fix link. The rendered html was (no hyperlink was generated): (see Getting Started <GettingStarted.html#git-pre-push-hook>) Now, it is (with proper hyperlink): (see Git pre-push hook) Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D88116

view details

push time in 6 days

Pull request review commenttensorflow/tensorflow

[MLIR] Add involution based folding to TF

+/* Copyright 2019 The TensorFlow Authors. All Rights Reserved.++Licensed under the Apache License, Version 2.0 (the "License");+you may not use this file except in compliance with the License.+You may obtain a copy of the License at++    http://www.apache.org/licenses/LICENSE-2.0++Unless required by applicable law or agreed to in writing, software+distributed under the License is distributed on an "AS IS" BASIS,+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+See the License for the specific language governing permissions and+limitations under the License.+==============================================================================*/++#include "mlir/IR/PatternMatch.h"  // from @llvm-project+#include "mlir/Pass/Pass.h"  // from @llvm-project+#include "tensorflow/compiler/mlir/tensorflow/ir/tf_traits.h"++namespace mlir {+namespace TF {+namespace {++template <typename TraitPattern, template <typename> class Trait>+struct TraitRewritePattern : public RewritePattern {+  TraitRewritePattern(MLIRContext* context)+      : RewritePattern({}, 0, context, MatchAnyOpTypeTag()) {}++  LogicalResult matchAndRewrite(Operation* op,+                                PatternRewriter& rewriter) const override {+    if (op->hasTrait<Trait>()) {+      return static_cast<const TraitPattern*>(this)->matchAndRewriteTrait(+          op, rewriter);+    }++    return failure();+  }+};++struct FoldInvolution+    : TraitRewritePattern<FoldInvolution, OpTrait::TF::Involution> {+  using Base = TraitRewritePattern<FoldInvolution, OpTrait::TF::Involution>;++  FoldInvolution(MLIRContext* context) : Base(context) {}++  LogicalResult matchAndRewriteTrait(Operation* op,+                                     PatternRewriter& rewriter) const {+    auto argument_op = op->getOperand(0).getDefiningOp();++    if (argument_op && op->getName() == argument_op->getName()) {+      // Replace the outer involutions output with inner's input.+      rewriter.replaceOp(op, argument_op->getOperand(0));+      return success();+    }++    return failure();+  }+};++// Lowers some of the TensorFlow operations that can be represented using other+// TensorFlow operations.+struct InterfaceOptimizerPass+    : public PassWrapper<InterfaceOptimizerPass, FunctionPass> {+  void runOnFunction() override {+    // Add lowering patterns to the list.+    OwningRewritePatternList patterns;++    patterns.insert<FoldInvolution>(&getContext());++    applyPatternsAndFoldGreedily(getFunction(), patterns);+  }+};++}  // namespace+}  // namespace TF+}  // namespace mlir++static mlir::PassRegistration<mlir::TF::InterfaceOptimizerPass> pass(+    "tf-interface-optimize-pass", "Optimizes using td interfaces and traits");

I think there is already a general "optimize" pass for TF, can this be merged there?

ahmedsabie

comment created time in 6 days

Pull request review commenttensorflow/tensorflow

[MLIR] Add involution based folding to TF

+/* Copyright 2019 The TensorFlow Authors. All Rights Reserved.++Licensed under the Apache License, Version 2.0 (the "License");+you may not use this file except in compliance with the License.+You may obtain a copy of the License at++    http://www.apache.org/licenses/LICENSE-2.0++Unless required by applicable law or agreed to in writing, software+distributed under the License is distributed on an "AS IS" BASIS,+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+See the License for the specific language governing permissions and+limitations under the License.+==============================================================================*/++#include "mlir/IR/PatternMatch.h"  // from @llvm-project+#include "mlir/Pass/Pass.h"  // from @llvm-project+#include "tensorflow/compiler/mlir/tensorflow/ir/tf_traits.h"++namespace mlir {+namespace TF {+namespace {++template <typename TraitPattern, template <typename> class Trait>+struct TraitRewritePattern : public RewritePattern {+  TraitRewritePattern(MLIRContext* context)+      : RewritePattern({}, 0, context, MatchAnyOpTypeTag()) {}++  LogicalResult matchAndRewrite(Operation* op,+                                PatternRewriter& rewriter) const override {+    if (op->hasTrait<Trait>()) {+      return static_cast<const TraitPattern*>(this)->matchAndRewriteTrait(+          op, rewriter);+    }++    return failure();+  }+};

This seems like something to submit upstream?

ahmedsabie

comment created time in 6 days

Pull request review commenttensorflow/tensorflow

[MLIR] Add involution based folding to TF

+/* Copyright 2020 The TensorFlow Authors. All Rights Reserved.++Licensed under the Apache License, Version 2.0 (the "License");+you may not use this file except in compliance with the License.+You may obtain a copy of the License at++    http://www.apache.org/licenses/LICENSE-2.0++Unless required by applicable law or agreed to in writing, software+distributed under the License is distributed on an "AS IS" BASIS,+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+See the License for the specific language governing permissions and+limitations under the License.+==============================================================================*/++#include "mlir/IR/PatternMatch.h"  // from @llvm-project+#include "mlir/Pass/Pass.h"  // from @llvm-project+#include "tensorflow/compiler/mlir/tensorflow/ir/tf_traits.h"++namespace mlir {+namespace TF {+namespace {++template <typename TraitPattern, template <typename> class Trait>+struct TraitRewritePattern : public RewritePattern {+  TraitRewritePattern(MLIRContext* context)+      : RewritePattern({}, 0, context, MatchAnyOpTypeTag()) {}++  LogicalResult matchAndRewrite(Operation* op,+                                PatternRewriter& rewriter) const override {+    if (op->hasTrait<Trait>()) {+      return static_cast<const TraitPattern*>(this)->matchAndRewriteTrait(+          op, rewriter);+    }++    return failure();+  }+};++struct FoldInvolution+    : TraitRewritePattern<FoldInvolution, OpTrait::TF::Involution> {+  using Base = TraitRewritePattern<FoldInvolution, OpTrait::TF::Involution>;++  FoldInvolution(MLIRContext* context) : Base(context) {}++  LogicalResult matchAndRewriteTrait(Operation* op,+                                     PatternRewriter& rewriter) const {+    auto argument_op = op->getOperand(0).getDefiningOp();++    if (argument_op && op->getName() == argument_op->getName()) {+      // Replace the outer involutions output with inner's input.+      rewriter.replaceOp(op, argument_op->getOperand(0));+      return success();+    }++    return failure();+  }

This seems like a useful general canonicalization based on the involution trait, which again seems to be a good fit upstream. Can you submit this there?

ahmedsabie

comment created time in 6 days

PullRequestReviewEvent
PullRequestReviewEvent

push eventllvm/mlir-www

github-actions[bot]

commit sha 65d71341edf2005a752d6e992b11889924a61fef

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 6 days

push eventllvm/llvm-project

Mehdi Amini

commit sha fb1de7ed921c3c1531c0cb28b9603af22ecd0529

Implement a new kind of Pass: dynamic pass pipeline Instead of performing a transformation, such pass yields a new pass pipeline to run on the currently visited operation. This feature can be used for example to implement a sub-pipeline that would run only on an operation with specific attributes. Another example would be to compute a cost model and dynamic schedule a pipeline based on the result of this analysis. Discussion: https://llvm.discourse.group/t/rfc-dynamic-pass-pipeline/1637 Recommit after fixing an ASAN issue: the callback lambda needs to be allocated to a temporary to have its lifetime extended to the end of the current block instead of just the current call expression. Reviewed By: silvas Differential Revision: https://reviews.llvm.org/D86392

view details

push time in 6 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 4fc7f29716084b186a6407a5cf3db7c225c181fc

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 6 days

push eventllvm/mlir-www

github-actions[bot]

commit sha a2e840eb8b655d9fdb48815575d6a54193ee469f

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 6 days

push eventllvm/mlir-www

github-actions[bot]

commit sha b404ff6687b8b378e3c729af1a4ccafe1cbaf160

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 6 days

push eventllvm/mlir-www

github-actions[bot]

commit sha a291a0efc0e726b223cc4a6a06d018bf83ad5d66

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 6 days

push eventllvm/llvm-project

Mehdi Amini

commit sha 385c3f43fceba227be2e4dce84a59075733541c1

Implement a new kind of Pass: dynamic pass pipeline Instead of performing a transformation, such pass yields a new pass pipeline to run on the currently visited operation. This feature can be used for example to implement a sub-pipeline that would run only on an operation with specific attributes. Another example would be to compute a cost model and dynamic schedule a pipeline based on the result of this analysis. Discussion: https://llvm.discourse.group/t/rfc-dynamic-pass-pipeline/1637 Reviewed By: silvas Differential Revision: https://reviews.llvm.org/D86392

view details

push time in 7 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 950c29b1f780127274f0201dca8a8a34313563f4

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 7 days

PR opened Mogball/declarative-mlir-compiler

Make explicit the setup in the README

Give the commands for the initial setup (submodule, CMake, ...)

+17 -2

0 comment

1 changed file

pr created time in 7 days

push eventllvm/mlir-www

github-actions[bot]

commit sha d8fde1dfc044d607ab1ca0d775f4b252ca4be82e

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 7 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 71bd8c39670e3ed1846ed1344427d30a8cff2b91

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 7 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 63233c32ee5e3e1ab7cdae4117fd9a01e7423a55

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 7 days

push eventllvm/llvm-project

Mehdi Amini

commit sha 702f06ad14ac61d364b773e5a1f4d8b0b0214553

Fix crash in the pass pipeline when local reproducer is enabled This crash only happens when a function pass is followed by a module pass. In this case the splitting of the pass pipeline didn't handle properly the verifier passes and ended up with an odd number of pass in the pipeline, breaking an assumption of the local crash reproducer executor and hitting an assertion. Differential Revision: https://reviews.llvm.org/D88000

view details

push time in 7 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 6dbeae7405cd958a6be52790635bb52554deb090

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 7 days

push eventllvm/llvm-project

Mehdi Amini

commit sha dabe67948841542d14823976c65baecaaabb9bf1

Add missing new line after debug logging in MLIRContext (NFC)

view details

push time in 7 days

push eventllvm/mlir-www

github-actions[bot]

commit sha cf835d3365a682ad509b9e9e38f718a5bb0453d4

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 7 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 1fb2b24a1add28914a97b842ec209edbc6201d1f

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 8 days

push eventllvm/mlir-www

github-actions[bot]

commit sha fac43af9e95562471348545914881faa1e33b4d6

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 8 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 824309c9bb588183bd4f047ead41c95508750129

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 8 days

push eventllvm/mlir-www

github-actions[bot]

commit sha a33d037300325145b825b8a7b56bfd908d897123

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 8 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 12e47a42fd1d1d44ffbb3232d573671421b047ad

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 8 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 47ee5bb2d4bb35d6c69f10243a29b78901dbaf3a

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 8 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 4651e06f26e8528c656d2cb4fc2636bb8739a9e5

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 9 days

push eventllvm/mlir-www

github-actions[bot]

commit sha eb5fa76b49918f45c2f96444c458320ac1c4332b

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 9 days

push eventllvm/mlir-www

github-actions[bot]

commit sha 157fa9796082b62f7840c5fa1de187c94d6c9570

deploy: 5ec0d548fb9d5358d80f1cafbe323a44a5c73375

view details

push time in 9 days

push eventllvm/mlir-www

joker-eph

commit sha 29d98bfd1ba83204b6cfbf59dfe734de71375ac6

deploy: e4a6b2e7bf5781bc6cf3a83bdd55ad64932a44b0

view details

push time in 9 days

push eventllvm/mlir-www

joker-eph

commit sha 8c057b8ebffdd8197f200984891da2adf49f0516

deploy: e4a6b2e7bf5781bc6cf3a83bdd55ad64932a44b0

view details

push time in 9 days

push eventllvm/mlir-www

joker-eph

commit sha 016fc27480c3f313eacc60d73a477300a0ba6714

deploy: e4a6b2e7bf5781bc6cf3a83bdd55ad64932a44b0

view details

push time in 9 days

push eventllvm/mlir-www

joker-eph

commit sha 2daca20772249f95c766d9ccdfcde31fb4c2a07b

deploy: e4a6b2e7bf5781bc6cf3a83bdd55ad64932a44b0

view details

push time in 9 days

push eventllvm/mlir-www

joker-eph

commit sha 8a58eb9ba4cf708cdc21ef02b8cf22152233c79f

deploy: e4a6b2e7bf5781bc6cf3a83bdd55ad64932a44b0

view details

push time in 10 days

push eventllvm/mlir-www

joker-eph

commit sha e2ab7f3ca077714108f4ce6def725beca91f47e0

deploy: e4a6b2e7bf5781bc6cf3a83bdd55ad64932a44b0

view details

push time in 10 days

push eventllvm/mlir-www

pkanwar23

commit sha e4a6b2e7bf5781bc6cf3a83bdd55ad64932a44b0

Add TF Kernel Generator to the list of talks

view details

push time in 10 days

PR merged llvm/mlir-www

Update _index.md
+3 -0

0 comment

1 changed file

pkanwar23

pr closed time in 10 days

push eventllvm/mlir-www

joker-eph

commit sha 42ec8a9f7a70f8d5fa568a41a04e846e42ef7a70

deploy: 7567612175b20a1d357ea44a18b5440692b9cd28

view details

push time in 10 days

push eventllvm/mlir-www

joker-eph

commit sha 01efaba25982065382f2d920c0a99b43b05168b5

deploy: 7567612175b20a1d357ea44a18b5440692b9cd28

view details

push time in 10 days

push eventllvm/mlir-www

joker-eph

commit sha 71f746c5af1881565b4db61c4866421aeb47c7ad

deploy: 7567612175b20a1d357ea44a18b5440692b9cd28

view details

push time in 10 days

push eventllvm/mlir-www

joker-eph

commit sha 0b666edd7aa278c01de87f206edb3ee031f060ac

deploy: 7567612175b20a1d357ea44a18b5440692b9cd28

view details

push time in 10 days

push eventllvm/mlir-www

joker-eph

commit sha b17bbb1c5a140f6ca9757262b78a669f6c2ccaf7

deploy: 7567612175b20a1d357ea44a18b5440692b9cd28

view details

push time in 10 days

push eventllvm/mlir-www

joker-eph

commit sha 220c2cf2d98b5715f924fcf4e12816437e791fb6

deploy: 7567612175b20a1d357ea44a18b5440692b9cd28

view details

push time in 11 days

push eventllvm/mlir-www

joker-eph

commit sha bf53a5d66befb083c96a95c6389abb6c37b1d394

deploy: 7567612175b20a1d357ea44a18b5440692b9cd28

view details

push time in 11 days

push eventllvm/mlir-www

joker-eph

commit sha 0c14f485718bb239fa9a094903bce37c289b1374

deploy: 7567612175b20a1d357ea44a18b5440692b9cd28

view details

push time in 11 days

push eventllvm/mlir-www

joker-eph

commit sha 75e82f350d4f82e266601359d7794928de16faa3

deploy: 7567612175b20a1d357ea44a18b5440692b9cd28

view details

push time in 11 days

push eventllvm/mlir-www

joker-eph

commit sha d808f61d61d8595a673c6d1665b2f00ec3982374

deploy: 7567612175b20a1d357ea44a18b5440692b9cd28

view details

push time in 11 days

push eventllvm/mlir-www

joker-eph

commit sha 039ec01ba443b009b26f5272f6c2afd6edaa9442

deploy: 7567612175b20a1d357ea44a18b5440692b9cd28

view details

push time in 12 days

push eventllvm/mlir-www

Mehdi Amini

commit sha 7567612175b20a1d357ea44a18b5440692b9cd28

Add Nod Distributed Runtime to the list of MLIR users

view details

push time in 12 days

push eventllvm/mlir-www

joker-eph

commit sha f99cd6d65c621ad7f9ec729f8f721bb1db4efe5a

deploy: 4ad88815233129e2d232ec1720a18efbb52c9833

view details

push time in 12 days

more