Page MenuHomePhabricator

Meinersbur (Michael Kruse)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 17 2015, 7:07 AM (362 w, 3 d)

Recent Activity

Yesterday

Meinersbur added a comment to D123919: [mlir][OpenMP] omp.task translation to LLVM IR.

A bit-ness question

Fri, May 27, 8:54 AM · Restricted Project, Restricted Project, Restricted Project
Meinersbur accepted D126350: [LSR][TTI][PowerPC][SystemZ][X86] Add const-ness to TTI::isLSRCostLess. NFC.

Do you have commit access? Could you add "NFC" (Non-Functional Change) into the title before committing?

Fri, May 27, 8:47 AM · Restricted Project, Restricted Project
Meinersbur added a comment to D125670: [LSR] Early exit for RateFormula when it is already losing. NFC.

Can you already trigger the isValid with the current code or is intended for you future changes? If the former, is it possible to add a test case? If the latter, could you highlight that in the summery (maybe even add "NFC" in the title)?

Fri, May 27, 8:43 AM · Restricted Project, Restricted Project
Meinersbur accepted D125870: [Polly] Migrate -polly-mse to the new pass manager..

Would you like me to commit for you?

Fri, May 27, 8:38 AM · Restricted Project, Restricted Project, Restricted Project

Thu, May 26

Meinersbur added inline comments to D126291: [flang][Driver] Update link job on windows.
Thu, May 26, 3:41 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur added a comment to D123678: [polly] migrate -polly-show to the new pass manager.

I hope I fixed the race condition issue in rGcc871cf6b50f6a76f2083d192e2254a16832224b. Another possibility would have been to put both tests into the same file.

Thu, May 26, 2:01 PM · Restricted Project, Restricted Project
Meinersbur committed rGcc871cf6b50f: [Polly][Test] Fix race condition while printing dot files. (authored by Meinersbur).
[Polly][Test] Fix race condition while printing dot files.
Thu, May 26, 1:59 PM · Restricted Project
Meinersbur added inline comments to D123678: [polly] migrate -polly-show to the new pass manager.
Thu, May 26, 1:01 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D123678: [polly] migrate -polly-show to the new pass manager.

I could only observe a single failure with my own buildbot was assuming it was something else.

Thu, May 26, 12:54 PM · Restricted Project, Restricted Project

Tue, May 24

Meinersbur committed rG360411957b6f: [flang][MSVC] Fix building with `/permissive-` flag (authored by MehdiChinoune).
[flang][MSVC] Fix building with `/permissive-` flag
Tue, May 24, 9:36 PM · Restricted Project, Restricted Project
Meinersbur closed D125262: [flang][MSVC] Fix building with `/permissive-` flag.
Tue, May 24, 9:36 PM · Restricted Project, Restricted Project

Mon, May 23

Meinersbur added a comment to D126043: [LSR] Drop LSR solution if it is less profitable than baseline.

Is it feasible to add a test case?

Mon, May 23, 2:22 PM · Restricted Project, Restricted Project
Meinersbur requested changes to D125990: [LSR] Fix bug for optimizing unused IVs to final values.
Mon, May 23, 2:04 PM · Restricted Project, Restricted Project
Meinersbur accepted D71989: [OpenMP][IRBuilder] `omp task` support.
Mon, May 23, 1:48 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur accepted D125574: [BasicBlockUtils] Do not move loop metadata if outer loop header..

LGTM. Please wait for @fhahn LGTM as well.

Mon, May 23, 1:47 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D125202: [Polly] Disable matmul pattern-match + -polly-parallel.

@bollu Do you intend to update this patch?

Mon, May 23, 8:42 AM · Restricted Project, Restricted Project, Restricted Project
Meinersbur added a comment to D125202: [Polly] Disable matmul pattern-match + -polly-parallel.

I would suggest to parallelize the second loop around the micro-kernel by default. It would not violate the dependencies. In general, it can provide a good opportunity for parallelization (please, see [1] and [2]). In particular, the reduction of time spent in this loop may cancel out the cost of packing the elements of the created array Packed_A into the L2 cache.

I fear that $loop_4$ does not have enough work to justify the parallelization overhead.

Such a strategy is used in many hand tuned libraries that contain implementations of matrix multiplication. In general case, it helps to obtain good results.

Mon, May 23, 8:41 AM · Restricted Project, Restricted Project, Restricted Project

Fri, May 20

Meinersbur committed rGacec07005e03: [OpenMP] Fix partial unrolling off-by-one. (authored by Meinersbur).
[OpenMP] Fix partial unrolling off-by-one.
Fri, May 20, 1:20 PM · Restricted Project, Restricted Project

Thu, May 19

Meinersbur accepted D71989: [OpenMP][IRBuilder] `omp task` support.

LGTM. Consider adding some description of TaskSize before committing.

Thu, May 19, 8:21 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur accepted D125262: [flang][MSVC] Fix building with `/permissive-` flag.

LGTM

Thu, May 19, 8:06 AM · Restricted Project, Restricted Project

Wed, May 18

Meinersbur committed rG797fabaab2a5: [Analysis] Avoid virtual dtor. NFC. (authored by Meinersbur).
[Analysis] Avoid virtual dtor. NFC.
Wed, May 18, 3:43 PM · Restricted Project, Restricted Project
Meinersbur closed D125830: [Analysis] Avoid virtual dtor. NFC..
Wed, May 18, 3:43 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D110973: [DA] Handle mismatching loop levels by considering them non-linear.

As mentioned I would experimented a bit more. Unfortunately I found more problems.

Wed, May 18, 3:01 PM · Restricted Project, Restricted Project
Meinersbur accepted D125884: [flang][NFC] Allow whitespaces before `ERROR`.

LGTM

Wed, May 18, 2:05 PM · Restricted Project, Restricted Project

Tue, May 17

Meinersbur requested review of D125830: [Analysis] Avoid virtual dtor. NFC..
Tue, May 17, 12:22 PM · Restricted Project, Restricted Project
Meinersbur committed rGbd93df937a64: [Polly] Mark classes as final by default. NFC. (authored by Meinersbur).
[Polly] Mark classes as final by default. NFC.
Tue, May 17, 10:06 AM · Restricted Project, Restricted Project

Mon, May 16

Meinersbur added a comment to D114336: [Polly] Generalize the pattern matching to the case of tensor contractions..

1
Yes, it was intended. The transformation helps to optimize a class of programs, which is broader then a tensor contraction. However, it heavily depends on the codegen part. I think that the improvement of the detection can be the goal of the future work.

Mon, May 16, 3:59 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D125202: [Polly] Disable matmul pattern-match + -polly-parallel.

I would suggest to parallelize the second loop around the micro-kernel by default. It would not violate the dependencies. In general, it can provide a good opportunity for parallelization (please, see [1] and [2]). In particular, the reduction of time spent in this loop may cancel out the cost of packing the elements of the created array Packed_A into the L2 cache.

Mon, May 16, 2:51 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur committed rG7dce9eb6e507: [DomPrinter] Migrate -dot-dom to the new pass manager. (authored by YangKeao).
[DomPrinter] Migrate -dot-dom to the new pass manager.
Mon, May 16, 1:16 PM · Restricted Project, Restricted Project
Meinersbur closed D124904: [DomPrinter] migrate -dot-dom to the new pass manager.
Mon, May 16, 1:16 PM · Restricted Project, Restricted Project
Meinersbur added inline comments to D123678: [polly] migrate -polly-show to the new pass manager.
Mon, May 16, 1:15 PM · Restricted Project, Restricted Project

Fri, May 13

Meinersbur added a comment to D125262: [flang][MSVC] Fix building with `/permissive-` flag.

Please add a summary where you mention that CLOCK_REALTIME is POSIX defined and never available with msvc, even without /permissive-. The difference is that the template is never instantiated and the compiler ignores the undefined identifier. Also add a comment that without CLOCKID defined (e.g. Windows), it will fallback to the other implementation.

Fri, May 13, 2:36 PM · Restricted Project, Restricted Project

Tue, May 10

Meinersbur accepted D124904: [DomPrinter] migrate -dot-dom to the new pass manager.

Do I have permission to commit for you?

Tue, May 10, 2:15 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D125262: [flang][MSVC] Fix building with `/permissive-` flag.

Patch summary missing. What is failing with /permissive-?

Tue, May 10, 2:08 PM · Restricted Project, Restricted Project

Mon, May 9

Meinersbur requested changes to D125202: [Polly] Disable matmul pattern-match + -polly-parallel.

This fixes the problem:

diff --git a/polly/lib/Transform/ScheduleOptimizer.cpp b/polly/lib/Transform/ScheduleOptimizer.cpp
index fad62d9b20830..f2cf06af2f7c8 100644
--- a/polly/lib/Transform/ScheduleOptimizer.cpp
+++ b/polly/lib/Transform/ScheduleOptimizer.cpp
@@ -978,7 +978,7 @@ runIslScheduleOptimizerUsingNPM(Scop &S, ScopAnalysisManager &SAM,
   OptimizationRemarkEmitter ORE(&S.getFunction());
   TargetTransformInfo *TTI = &SAR.TTI;
   isl::schedule LastSchedule;
-  bool Modified = runIslScheduleOptimizer(S, GetDeps, TTI, &ORE, LastSchedule);
+  runIslScheduleOptimizer(S, GetDeps, TTI, &ORE, LastSchedule);
   if (OS) {
     *OS << "Printing analysis 'Polly - Optimize schedule of SCoP' for region: '"
         << S.getName() << "' in function '" << S.getFunction().getName()
@@ -986,13 +986,11 @@ runIslScheduleOptimizerUsingNPM(Scop &S, ScopAnalysisManager &SAM,
     runScheduleOptimizerPrinter(*OS, LastSchedule);
   }
Mon, May 9, 7:11 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur committed rGb554c643c5bc: [polly] Fix type in function name. NFC. (authored by Meinersbur).
[polly] Fix type in function name. NFC.
Mon, May 9, 4:23 PM · Restricted Project
Meinersbur committed rGe61baceedb91: [polly] Load NPM pass plugin for NPM test. (authored by Meinersbur).
[polly] Load NPM pass plugin for NPM test.
Mon, May 9, 2:11 PM · Restricted Project
Meinersbur committed rG588ffdaf376a: [polly] Fix compiler warning. NFC. (authored by Meinersbur).
[polly] Fix compiler warning. NFC.
Mon, May 9, 12:06 PM · Restricted Project, Restricted Project
Meinersbur committed rG6b3b87376bfe: [polly] migrate -polly-show to the new pass manager (authored by Meinersbur).
[polly] migrate -polly-show to the new pass manager
Mon, May 9, 12:06 PM · Restricted Project, Restricted Project
Meinersbur committed rGa6b399ad79cf: [PassManager] Implement DOTGraphTraitsViewer under NPM (authored by Meinersbur).
[PassManager] Implement DOTGraphTraitsViewer under NPM
Mon, May 9, 12:06 PM · Restricted Project, Restricted Project
Meinersbur closed D123678: [polly] migrate -polly-show to the new pass manager.
Mon, May 9, 12:06 PM · Restricted Project, Restricted Project
Meinersbur closed D123677: [PassManager] Implement DOTGraphTraitsViewer under NPM.
Mon, May 9, 12:06 PM · Restricted Project, Restricted Project

Sun, May 8

Meinersbur added a comment to D125140: [flang] Upstream code to lower pointer assignment in FORALL constructs.

This broke the msvs buildbot caused by the removal of the __SIZEOF_INT128__ conditional compilation: https://lab.llvm.org/buildbot/#/builders/172/builds/12046

Sun, May 8, 4:16 PM · Restricted Project, Restricted Project

Fri, May 6

Meinersbur accepted D123677: [PassManager] Implement DOTGraphTraitsViewer under NPM.
Fri, May 6, 11:42 AM · Restricted Project, Restricted Project
Meinersbur accepted D123678: [polly] migrate -polly-show to the new pass manager.

LGTM. Thanks for your work! Do I have permission to commit for you?

Fri, May 6, 11:42 AM · Restricted Project, Restricted Project

Wed, May 4

Meinersbur added a comment to D110973: [DA] Handle mismatching loop levels by considering them non-linear.

I was expecting that we only need to call getLoopDisposition once at the beginning of checkSubscript and then decide depending on whether it is a SCEVAddRecExpr, instead of

if (!AddRec)
  return isLoopInvariant(Expr, LoopNest);

Is this possible?

Wed, May 4, 2:25 PM · Restricted Project, Restricted Project
Meinersbur added a reviewer for D124904: [DomPrinter] migrate -dot-dom to the new pass manager: aeubanks.
Wed, May 4, 1:12 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D123678: [polly] migrate -polly-show to the new pass manager.

I'm not sure whether this problem shows potential "dependencies issues" (as it seems failed to invalidate the cache) in the build system.

Wed, May 4, 12:59 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D123677: [PassManager] Implement DOTGraphTraitsViewer under NPM.

Fix wrong Twine usage

Wed, May 4, 12:41 PM · Restricted Project, Restricted Project
Meinersbur added inline comments to D123678: [polly] migrate -polly-show to the new pass manager.
Wed, May 4, 12:40 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D123678: [polly] migrate -polly-show to the new pass manager.

When compiling under Windows with cmake -DPOLLY_ENABLE_GPGPU_CODEGEN=ON, I get a linker error:

Polly.lib(PPCGCodeGeneration.obj) : error LNK2019: unresolved external symbol "class llvm::Pass * __cdecl polly::createDOTOnlyPrinterPass(void)" (?createDOTOnlyPrinterPass@polly@@YAPEAVPass@llvm@@XZ) referenced in function "public: __cdecl `anonymous namespace'::PollyForcePassLinki
ng::PollyForcePassLinking(void)" (??0PollyForcePassLinking@?A0x3c23cca7@@QEAA@XZ) [C:\Users\meinersbur\build\llvm-project\debug_vs17\tools\opt\opt.vcxproj]
Polly.lib(PPCGCodeGeneration.obj) : error LNK2019: unresolved external symbol "class llvm::Pass * __cdecl polly::createDOTOnlyViewerPass(void)" (?createDOTOnlyViewerPass@polly@@YAPEAVPass@llvm@@XZ) referenced in function "public: __cdecl `anonymous namespace'::PollyForcePassLinking
::PollyForcePassLinking(void)" (??0PollyForcePassLinking@?A0x3c23cca7@@QEAA@XZ) [C:\Users\meinersbur\build\llvm-project\debug_vs17\tools\opt\opt.vcxproj]
Polly.lib(PPCGCodeGeneration.obj) : error LNK2019: unresolved external symbol "class llvm::Pass * __cdecl polly::createDOTPrinterPass(void)" (?createDOTPrinterPass@polly@@YAPEAVPass@llvm@@XZ) referenced in function "public: __cdecl `anonymous namespace'::PollyForcePassLinking::Poll
yForcePassLinking(void)" (??0PollyForcePassLinking@?A0x3c23cca7@@QEAA@XZ) [C:\Users\meinersbur\build\llvm-project\debug_vs17\tools\opt\opt.vcxproj]
Polly.lib(PPCGCodeGeneration.obj) : error LNK2019: unresolved external symbol "class llvm::Pass * __cdecl polly::createDOTViewerPass(void)" (?createDOTViewerPass@polly@@YAPEAVPass@llvm@@XZ) referenced in function "public: __cdecl `anonymous namespace'::PollyForcePassLinking::PollyF
orcePassLinking(void)" (??0PollyForcePassLinking@?A0x3c23cca7@@QEAA@XZ) [C:\Users\meinersbur\build\llvm-project\debug_vs17\tools\opt\opt.vcxproj]
C:\Users\meinersbur\build\llvm-project\debug_vs17\Debug\bin\opt.exe : fatal error LNK1120: 4 unresolved externals [C:\Users\meinersbur\build\llvm-project\debug_vs17\tools\opt\opt.vcxproj]

I could not yet find a config that also fails under Linux, but it looks like some library dependencies are wrong.

Wed, May 4, 12:07 AM · Restricted Project, Restricted Project

Tue, May 3

Meinersbur added inline comments to D71989: [OpenMP][IRBuilder] `omp task` support.
Tue, May 3, 8:31 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Mon, May 2

Meinersbur requested review of D124823: [OpenMPIRBuilder] Introduce OMPRegionInfo managing the stack of OpenMP region constructs..
Mon, May 2, 11:12 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur added inline comments to D71989: [OpenMP][IRBuilder] `omp task` support.
Mon, May 2, 4:51 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur added a comment to D124636: Add crc32c benchmark to llvm-test-suite.

GoogleBenchmark runs longer to get more reliable numbers. If you don't need benchmarking, use -DTEST_SUITE_RUN_BENCHMARKS=OFF. The SPEC one run longer anyway. However, we have either type of benchmarks already, I don't have an opinion on which is better.

Mon, May 2, 4:21 PM · Restricted Project
Meinersbur added inline comments to D124745: [Delinearization] Refactoring of fixed-size array delinearization.
Mon, May 2, 2:59 PM · Restricted Project, Restricted Project, Restricted Project

Sun, May 1

Meinersbur added a comment to D124606: Use `-text` git attribute instead of `text eol=...'.

LGTM

Sun, May 1, 11:48 AM · Restricted Project, Restricted Project
Meinersbur committed rG809ca66eac89: [Polly] Fix test after D119669. (authored by Meinersbur).
[Polly] Fix test after D119669.
Sun, May 1, 11:40 AM · Restricted Project
Meinersbur accepted D124725: [NFC][LoopCacheAnalysis] Use stable_sort() to avoid non-deterministic print output.

Making output deterministic is always a worthwhile goal.

Sun, May 1, 12:27 AM · Restricted Project, Restricted Project, Restricted Project

Thu, Apr 28

Meinersbur added inline comments to D124636: Add crc32c benchmark to llvm-test-suite.
Thu, Apr 28, 6:04 PM · Restricted Project

Apr 28 2022

Meinersbur accepted D124376: [Passes] Remove legacy LoopUnswitch pass..

LGTM

Apr 28 2022, 8:00 AM · Restricted Project, Restricted Project

Apr 27 2022

Meinersbur updated subscribers of D124563: Drop '* text=auto' from .gitattributes and normalize.
Apr 27 2022, 5:34 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D124563: Drop '* text=auto' from .gitattributes and normalize.

If I check out this commit and then check out the previous commit, clang-tools-extra/test/clang-apply-replacements/Inputs/crlf/crlf.cpp and clang-tools-extra/test/clang-apply-replacements/Inputs/crlf/crlf.cpp.expected become modified in my working directory; their line endings are changed from CRLF to LF. That seems undesirable.

Apr 27 2022, 5:30 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D124563: Drop '* text=auto' from .gitattributes and normalize.

I *think* this would mean that if you're on Windows and have core.autocrlf set to input, when you commit changes to this files, Git will convert them back to LF line endings. Not 100% sure of that though.

Apr 27 2022, 5:21 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D124563: Drop '* text=auto' from .gitattributes and normalize.

Regarding crlf.cpp(.expected), adding the modified changes to a commit indeed solved the problem I described in https://reviews.llvm.org/rGac5f7be6a8688955a282becf00eebc542238a86b#1080897 and I was working with that so far. Still don't know why Linux git doesn't do the same?

Apr 27 2022, 5:16 PM · Restricted Project, Restricted Project

Apr 26 2022

Meinersbur added a comment to rGac5f7be6a868: Move test/.gitattributes to clang-tools-extra/test.

Since this commit, no matter what I do, crlf.cpp and crlf.cpp.expected show up as modified. No git checkout --force nor git reset --hard changes this. git config.autocrlf is false and the files indeed have CRLF endings. git check-attr -a confirms the attributes are set (text: set eol: crlf).

Apr 26 2022, 3:01 PM · Restricted Project, Restricted Project
Meinersbur committed rGff289feeba40: [OpenMPIRBuilder] Remove ContinuationBB argument from Body callback. (authored by Meinersbur).
[OpenMPIRBuilder] Remove ContinuationBB argument from Body callback.
Apr 26 2022, 2:36 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur closed D118409: [OpenMPIRBuilder] Remove ContinuationBB argument from Body callback..
Apr 26 2022, 2:35 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur added a comment to D118409: [OpenMPIRBuilder] Remove ContinuationBB argument from Body callback..

I think the CI is complaining about some clang-format issue in clang/test/OpenMP/critical_codegen_attr.cpp

Apr 26 2022, 9:24 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur added inline comments to D71989: [OpenMP][IRBuilder] `omp task` support.
Apr 26 2022, 9:05 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Apr 25 2022

Meinersbur added inline comments to D118409: [OpenMPIRBuilder] Remove ContinuationBB argument from Body callback..
Apr 25 2022, 10:25 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur updated the diff for D118409: [OpenMPIRBuilder] Remove ContinuationBB argument from Body callback..
  • Rebase
  • Address review
Apr 25 2022, 10:25 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur added inline comments to D123678: [polly] migrate -polly-show to the new pass manager.
Apr 25 2022, 10:19 AM · Restricted Project, Restricted Project
Meinersbur accepted D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.

I am OK with doing the refactoring later.

Apr 25 2022, 10:18 AM · Restricted Project, Restricted Project, Restricted Project
Meinersbur added a comment to D71989: [OpenMP][IRBuilder] `omp task` support.

FYI, I am revising how outlining works, still waiting on D115216 getting reviewed.

Apr 25 2022, 10:14 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur accepted D124393: SPEC2006: Allow building on FreeBSD.
Apr 25 2022, 10:01 AM · Restricted Project
Meinersbur requested changes to D124376: [Passes] Remove legacy LoopUnswitch pass..

Fix for Polly:

diff --git a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
index 7aca971b868f..0030356f7990 100644
--- a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
+++ b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
@@ -397,7 +397,7 @@ void PassManagerBuilder::addFunctionSimplificationPasses(
   // TODO: Investigate promotion cap for O1.
   MPM.add(createLICMPass(LicmMssaOptCap, LicmMssaNoAccForPromotionCap,
                          /*AllowSpeculation=*/true));
-  MPM.add(createSimpleLoopUnswitchLegacyPass());
+  MPM.add(createSimpleLoopUnswitchLegacyPass(OptLevel == 3));
   // FIXME: We break the loop pass pipeline here in order to do full
   // simplifycfg. Eventually loop-simplifycfg should be enhanced to replace the
   // need for this.

This is what the NPM pipeline builder does (minus -enable-npm-O3-nontrivial-unswitch)

Apr 25 2022, 9:58 AM · Restricted Project, Restricted Project
Meinersbur added a comment to D114336: [Polly] Generalize the pattern matching to the case of tensor contractions..

Thank you very much for the review! I am sorry for the late response. I will try to to address all your comments within the next few weeks.

Apr 25 2022, 7:06 AM · Restricted Project, Restricted Project

Apr 21 2022

Meinersbur added a comment to D123677: [PassManager] Implement DOTGraphTraitsViewer under NPM.

@Meinersbur Could you help me to commit this? 🍻

Apr 21 2022, 12:15 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.

I wonder if you could clarify what you meant by "continue with this patch"? I would certainly like to continue with the current patch if possible, but due to opaque pointers it seems that the current approach in this patch become fragile and not viable?

Apr 21 2022, 12:12 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur added inline comments to D110973: [DA] Handle mismatching loop levels by considering them non-linear.
Apr 21 2022, 9:32 AM · Restricted Project, Restricted Project
Meinersbur added inline comments to D110973: [DA] Handle mismatching loop levels by considering them non-linear.
Apr 21 2022, 8:46 AM · Restricted Project, Restricted Project
Meinersbur added a comment to D110972: [DA] Handle mismatching loop levels by updating the numbering scheme.

Are you essentially suggesting that we follow the approach in D110973, and improve it by using getSCEVAtScope() such that we may be able to infer some of those AddRec (like in the lcssa case) to be loop invariant with respect to LoopNest?

Apr 21 2022, 8:45 AM · Restricted Project, Restricted Project
Meinersbur added a comment to D115218: [CodeExtractor] Refactor extractCodeRegion, fix parameter index confusion..

ping

Apr 21 2022, 8:29 AM · Restricted Project, Restricted Project
Meinersbur added a comment to D115218: [CodeExtractor] Refactor extractCodeRegion, fix parameter index confusion..

ping

Apr 21 2022, 8:25 AM · Restricted Project, Restricted Project

Apr 20 2022

Meinersbur added a comment to D110972: [DA] Handle mismatching loop levels by updating the numbering scheme.

I think the correct fix is to handle AddRecExpr from a loop outside LoopNest like other non-AddRec expressions. At the moment this means "non-linear" (like D110973) unless it is completely loop-invariant. This is a limitation of the current checkSubscript that does not look into other kinds of SCEV expressions. In @test1/@test2 this is all we can do because %c.1.lcssa (which has the value of %add27 when the loop exists) has an undefined value because with the backedge branch on undef, %c.1.lcssa is undefined which usually is not considered "linear".

Apr 20 2022, 4:33 PM · Restricted Project, Restricted Project
Meinersbur added inline comments to D110972: [DA] Handle mismatching loop levels by updating the numbering scheme.
Apr 20 2022, 4:09 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D118409: [OpenMPIRBuilder] Remove ContinuationBB argument from Body callback..

ping

Apr 20 2022, 2:55 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur added a comment to D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.

@congzhe Could you write here what your plans are? Continue with this patch? Improve the SCEV-based algorithm? Introduce array size hint metadata?

Apr 20 2022, 2:00 PM · Restricted Project, Restricted Project, Restricted Project
Meinersbur updated the diff for D115216: [CodeExtractor] Optionally keep code in original function..

Introduce --replace-with call to replace --bb-keep-functions and --bb-keep-blocks.
Makes the interface easier and --bb-keep-functions alone can result in invalid IR.

Apr 20 2022, 1:58 PM · Restricted Project, Restricted Project
Meinersbur accepted D123677: [PassManager] Implement DOTGraphTraitsViewer under NPM.

No need to reorganize your patches now, but please keep it in mind for your next contributions.

Apr 20 2022, 1:11 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D123677: [PassManager] Implement DOTGraphTraitsViewer under NPM.

DOTGraphTraitsPrinter is not used in this patch.

It is actually used in the D123678 , by ScopPrinter

Apr 20 2022, 1:00 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D110972: [DA] Handle mismatching loop levels by updating the numbering scheme.

I was able to reproduce the problem without D71539:

$ cat da-lcssa.c
void foobar(long n, double *A) {
    long  i;
    for (i = 0; i*n <= n*n; ++i) {
        A[i] = i;
    }
    A[i] = i;
}
Apr 20 2022, 12:32 PM · Restricted Project, Restricted Project
Meinersbur added a comment to D110972: [DA] Handle mismatching loop levels by updating the numbering scheme.

The test fails for me when applying the patch. Is D71539 supposed to be a parent patch?

Apr 20 2022, 12:10 PM · Restricted Project, Restricted Project

Apr 18 2022

Meinersbur added a reverting change for rGaf0285122f30: Revert "[OpenMP] Refactor OMPScheduleType enum.": rG2d92ee97f1af: Reapply "[OpenMP] Refactor OMPScheduleType enum.".
Apr 18 2022, 8:01 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur committed rG2d92ee97f1af: Reapply "[OpenMP] Refactor OMPScheduleType enum." (authored by Meinersbur).
Reapply "[OpenMP] Refactor OMPScheduleType enum."
Apr 18 2022, 8:01 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur added a reverting change for rG9ec501da76fc: [OpenMP] Refactor OMPScheduleType enum.: rGaf0285122f30: Revert "[OpenMP] Refactor OMPScheduleType enum.".
Apr 18 2022, 12:39 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur committed rGaf0285122f30: Revert "[OpenMP] Refactor OMPScheduleType enum." (authored by Meinersbur).
Revert "[OpenMP] Refactor OMPScheduleType enum."
Apr 18 2022, 12:39 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur added a reverting change for D123403: [OpenMP] Refactor OMPScheduleType enum.: rGaf0285122f30: Revert "[OpenMP] Refactor OMPScheduleType enum.".
Apr 18 2022, 12:39 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
Meinersbur committed rG9ec501da76fc: [OpenMP] Refactor OMPScheduleType enum. (authored by Meinersbur).
[OpenMP] Refactor OMPScheduleType enum.
Apr 18 2022, 12:04 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project