- User Since
- Sep 7 2017, 2:57 AM (135 w, 1 h)
May 6 2019
Added relevant tests in test/CodeGen/Connex.
May 3 2019
Addressed most reviews of efriedma, arsenm, luismarques (and of asb).
Apr 25 2019
Apr 22 2019
Added all required files for the back end (a few were missing).
Apr 20 2019
Apr 19 2019
Made a first round of corrections following Alex Bradbury's review.
Apr 15 2019
Added myself as maintainer of the Connex backend in CODE_OWNERS.TXT.
Added all source files for the Connex back end.
Followed coding standards from https://llvm.org/docs/CodingStandards.html .
Apr 13 2019
More refactoring on the .td TableGen files. Added also more source files.
Apr 12 2019
A few corrections to ConnexInstrInfoVec.td .
Apr 1 2019
Added 2 more files. I still have to add another about 50 files.
Mar 31 2019
Oct 25 2018
Addressed small review issue of greened (David Greene) on comment in method: void visitAddRecExpr(const SCEVAddRecExpr *Numerator) .
Jul 25 2018
Did corrections, following Dave Green's comments.
Jul 13 2018
Made a better patch following comments from Michael Kruse.
Most importantly I added comments that I consider SCEVDivision::divide() to be signed division.
Jun 6 2018
Addressed Michael Kruse's comment on the patch - changed the test .ll file.
Adding, as Roman suggested, in the header of the test_sext.ll file a line describing the RUN command and a CHECK line.
Adding as Roman said the patch for ScalarEvolution.cpp and also the associated test test/Analysis/Delinearization/test_sext.ll .
May 2 2018
Added correct path to the ScalarEvolution.cpp file (lib/Analysis/ScalarEvolution.cpp). Again, my patch incorporates also the one from https://reviews.llvm.org/D35478 - in order to make it work well for SCEVDivision, when having SExt expressions. My own changes are basically only the ones handling SCEVSignExtendExpr.
Apr 30 2018
Note that in this patch we only address the SExt, as suggested by Michael (Meinersbur).
Mar 19 2018
Adding very simple unit tests on which normally Polly fails to detect the right SCoP due to the sext (and trunc, as well) in both dividend and divisor used in the third step of the delinearization algorithm (it seems the SCEV expressions sext(N * N), sext(N), etc are created by the 1st step of the delinearization algorithm extracting the terms from the sum of products from the array index i * N * N + j * N + k) presented in Section 4.1 of the paper Grosser et al, "On recovering Multi-dimensional Arrays in Polly", IMPACT 2015 - http://impact.gforge.inria.fr/impact2015/papers/impact2015-grosser.pdf ). Because of this Polly complains of non-affine expression for array indexing.
To make Polly work, we need to apply the patch I already committed (I will put another patch ASAP).
Please note my patch is not incremental w.r.t. patch from https://reviews.llvm.org/D35478 - you need to apply ONLY my patch.
Jan 18 2018
Jan 16 2018
Nov 22 2017
Oct 18 2017
Oct 16 2017
I applied the patch that was provided in this review to my LLVM build. I would like to draw attention to a bug of the deliniarization procedure that is related to type casts (from i32 to i64), and is probably related to the problems that were supposed to be addressed by the patch in this review. I attach a C file that reproduces this bug - the delinearization procedure fails due to sext from i32 to i64, and Polly finds Non affine access functions, which he shouldn't. Note that in the same C file I also provide on line 3 a commented signature of the Test function which can be uncommented, for which delinearization works OK and all access functions are affine. I will try to look deeper in the problem with delinearization. Please let me know if you can help with this problem.
(nothing serious, part 2)