[PATCH] D84180: [Matrix] Add LowerMatrixIntrinsics to the NPM

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 21 09:04:57 PDT 2020


fhahn added inline comments.


================
Comment at: clang/lib/CodeGen/BackendUtil.cpp:1381
+      // should run in the backend pipeline on demand.
+      if (EnableMatrix)
+        MPM.addPass(
----------------
IIUC this references the LLVM option. Does this actually work? Shouldn't that use `LangOpts.MatrixTypes`, which is set when passing `-fenable-matrix` to Clang.


================
Comment at: clang/test/CodeGen/matrix-lowering-opt-levels.c:7
+// RUN: %clang -Os -fenable-matrix -S -emit-llvm %s -o - | FileCheck  %s
+// RUN: %clang -Oz -fenable-matrix -S -emit-llvm %s -o - | FileCheck  %s
+
----------------
Might be good to add new-pm run-lines as well.


================
Comment at: llvm/lib/Passes/PassBuilder.cpp:933
+
+  EarlyFPM.addPass(LowerMatrixIntrinsicsPass());
   EarlyFPM.addPass(SimplifyCFGPass());
----------------
SjoerdMeijer wrote:
> fhahn wrote:
> > I think we should keep this under the same enable-matrix flag like in the old pass manager for now and remove the flag for both when the pass only gets run on functions that contain matrix intrinsics.
> Ah yeah, cheers, forgot about that! Will add that.
Is there reason this is run at a different position to the legacy pass manager? If not, I think we should run them at roughly the same location, to minimize differences between new and old PM. In the old pass manager, we run before the VectorizerStart callbacks. Here this would be around line 1102 I think.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D84180/new/

https://reviews.llvm.org/D84180





More information about the llvm-commits mailing list