[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