[PATCH] D76327: [Matrix] Also run LowerMatrixIntrinsics for -O0.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 25 15:44:11 PDT 2020


fhahn updated this revision to Diff 252691.
fhahn added a comment.

Ping.

Updated to add a test.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D76327

Files:
  llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
  llvm/test/Other/opt-O0-pipeline-enable-matrix.ll


Index: llvm/test/Other/opt-O0-pipeline-enable-matrix.ll
===================================================================
--- /dev/null
+++ llvm/test/Other/opt-O0-pipeline-enable-matrix.ll
@@ -0,0 +1,37 @@
+; RUN: opt -mtriple=x86_64-- -O0 -enable-matrix -debug-pass=Structure < %s -o /dev/null 2>&1 | FileCheck %s --check-prefixes=CHECK,%llvmcheckext
+
+; REQUIRES: asserts
+
+; CHECK-LABEL: Pass Arguments:
+; CHECK-NEXT: Target Transform Information
+; CHECK-NEXT:   FunctionPass Manager
+; CHECK-NEXT:     Module Verifier
+; CHECK-EXT:     Good Bye World Pass
+; CHECK-NEXT:     Instrument function entry/exit with calls to e.g. mcount() (pre inlining)
+; CHECK-NEXT: Pass Arguments:
+; CHECK-NEXT: Target Library Information
+; CHECK-NEXT: Target Transform Information
+;             Target Pass Configuration
+; CHECK:      Assumption Cache Tracker
+; CHECK-NEXT: Profile summary info
+; CHECK-NEXT:   ModulePass Manager
+; CHECK-NEXT:     Force set function attributes
+; CHECK-NEXT:     CallGraph Construction
+; CHECK-NEXT:     Call Graph SCC Pass Manager
+; CHECK-NEXT:       Inliner for always_inline functions
+;                   A No-Op Barrier Pass
+; CHECK:            FunctionPass Manager
+; CHECK-NEXT:         Dominator Tree Construction
+; CHECK-NEXT:         Natural Loop Information
+; CHECK-NEXT:         Lazy Branch Probability Analysis
+; CHECK-NEXT:         Lazy Block Frequency Analysis
+; CHECK-NEXT:         Optimization Remark Emitter
+; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT:         Function Alias Analysis Results
+; CHECK-NEXT:         Lower the matrix intrinsics
+; CHECK-NEXT:         Module Verifier
+; CHECK-NEXT:     Bitcode Writer
+
+define void @f() {
+  ret void
+}
Index: llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
===================================================================
--- llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
+++ llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
@@ -515,6 +515,10 @@
       // new unnamed globals.
       MPM.add(createNameAnonGlobalPass());
     }
+
+    // Lower the matrix intrinsics to regular LLVM instructions, even for O0.
+    if (EnableMatrix)
+      MPM.add(createLowerMatrixIntrinsicsPass());
     return;
   }
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76327.252691.patch
Type: text/x-patch
Size: 2249 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200325/812df79f/attachment.bin>


More information about the llvm-commits mailing list