Page MenuHomePhabricator

bmahjour (Bardia Mahjour)
User

Projects

User does not belong to any projects.

User Details

User Since
May 3 2019, 8:38 AM (72 w, 5 d)

Recent Activity

Tue, Sep 8

bmahjour added inline comments to D84589: [CodeMoverUtils] Add optional data dependence checks using Alias Analysis.
Tue, Sep 8, 7:04 AM · Restricted Project

Thu, Sep 3

bmahjour requested changes to D87094: [CodeMoverUtils]Add option to skip control flow equivalence checks when sure.
Thu, Sep 3, 9:20 AM · Restricted Project

Tue, Sep 1

bmahjour added inline comments to D86850: [LoopRotate][WIP] Check code-motion safety before hoisting.
Tue, Sep 1, 12:08 PM · Restricted Project

Mon, Aug 31

bmahjour added inline comments to D86850: [LoopRotate][WIP] Check code-motion safety before hoisting.
Mon, Aug 31, 7:00 AM · Restricted Project
bmahjour added a reviewer for D86850: [LoopRotate][WIP] Check code-motion safety before hoisting: fedor.sergeev.
Mon, Aug 31, 6:59 AM · Restricted Project

Aug 24 2020

bmahjour added a comment to D86262: [LoopIdiomRecognizePass] Options to disable part or the entire Loop Idiom Recognize Pass.

I think such an option is fine as a temporary stop-gap solution, but the goal should be to fix the underlying issue IMO.

The long term solution would be to make loop-idiom consider compile-time or PGO loop trip count data when deciding to transform loops. For non-constant non-PGO cases the cost modeling would be a heuristic at best, in which case the option would still be useful.

Aug 24 2020, 10:37 AM · Restricted Project
bmahjour added a comment to D86262: [LoopIdiomRecognizePass] Options to disable part or the entire Loop Idiom Recognize Pass.

@lebedev.ri

I'd like to see a PhaseOrdering test showing the IR that is not optimized due to the DA being unaware about these intrinsics.

Aug 24 2020, 10:16 AM · Restricted Project
bmahjour added inline comments to D84951: [LV] Try to sink users recursively for first-order recurrences..
Aug 24 2020, 7:06 AM · Restricted Project

Aug 21 2020

bmahjour accepted D81416: [LV] Interleave to expose ILP for small loops with scalar reductions..
Aug 21 2020, 8:27 AM · Restricted Project, Restricted Project

Aug 20 2020

bmahjour added a comment to D81416: [LV] Interleave to expose ILP for small loops with scalar reductions..

Given that interleaving alone (without vectorization) can still cause major performance improvements shows that this is really an interleaving profitability issue, so the heuristic and the option seem ok to me. To enable the option by default we would need more testing on other platforms. That can be done in a separate patch.

Aug 20 2020, 8:17 AM · Restricted Project, Restricted Project
bmahjour added a comment to D86262: [LoopIdiomRecognizePass] Options to disable part or the entire Loop Idiom Recognize Pass.

Another way that loop idiom can hurt performance is by creating imperfect loop nests. Certain transformations (such as loop interchange and unroll-and-jam) are more difficult (sometimes impossible) to do when loop nests are not perfect.

Aug 20 2020, 7:34 AM · Restricted Project
bmahjour added a comment to D86262: [LoopIdiomRecognizePass] Options to disable part or the entire Loop Idiom Recognize Pass.

I agree with that, it seems to be better to improve DA. Is it feasible?

The theory of data dependence analysis relies on presence of subscripts in array references to be able to produce accurate results. I don't see how we can "improve DA" to address memset/memcpies short of turning them back into loop nests before applying the dependence tests. To do that the loop has to either be materialized before the DA analysis pass is run, or somehow SCEV expressions representing the implied subscripts be synthesized out of thin air. The former must be achieved by a transformation pass, so we would have to turn memset/memcpys into loop nests as soon as possible. For memset/memcpy calls generated by the loop idiom pass, the ideal place for that transformation would be immediately after loop idiom itself, which would have the same effect as preventing loop idiom from creating such loops in the first place when it knows they are not profitable. I don't know of any possible way to do the latter.

Aug 20 2020, 7:21 AM · Restricted Project

Aug 18 2020

bmahjour added inline comments to D84589: [CodeMoverUtils] Add optional data dependence checks using Alias Analysis.
Aug 18 2020, 2:03 PM · Restricted Project

Aug 13 2020

bmahjour added inline comments to D84589: [CodeMoverUtils] Add optional data dependence checks using Alias Analysis.
Aug 13 2020, 9:04 AM · Restricted Project

Aug 11 2020

bmahjour accepted D71539: [SCEV] Look through trivial PHIs..

This patch only improves things for LCSSA phis, not for other trivial phis (multiple equal incoming values).

It would be good to clarify this in the title then.

Aug 11 2020, 1:55 PM · Restricted Project

Aug 4 2020

bmahjour committed rG3c0f34700230: [NFC][LV] Vectorized Loop Skeleton Refactoring (authored by bmahjour).
[NFC][LV] Vectorized Loop Skeleton Refactoring
Aug 4 2020, 11:51 AM
bmahjour closed D83824: [NFC] [LV] Vectorized Loop Skeleton Refactoring.
Aug 4 2020, 11:51 AM · Restricted Project
bmahjour updated the diff for D83824: [NFC] [LV] Vectorized Loop Skeleton Refactoring.

rebase

Aug 4 2020, 11:45 AM · Restricted Project
bmahjour updated subscribers of D84764: Fix computeHostNumPhysicalCores() for Linux on POWER and Linux on Z.

@nemanjai has kindly provided a fix https://reviews.llvm.org/rG62a933b72c5b060bcb2c7332d05082f002d6c65a.

Aug 4 2020, 7:08 AM · Restricted Project

Jul 30 2020

bmahjour requested changes to D71539: [SCEV] Look through trivial PHIs..
Jul 30 2020, 2:57 PM · Restricted Project
bmahjour added a comment to D71539: [SCEV] Look through trivial PHIs..

Some of the tests added in llvm/test/Analysis/ScalarEvolution/trivial-phis.ll come from https://reviews.llvm.org/D71492 but don't have the same expected results. @fhahn do you plan to improve those in this patch or a subsequent patch, or were you planning to leave those to me in D71492?

Jul 30 2020, 2:57 PM · Restricted Project

Jul 28 2020

bmahjour added inline comments to D84589: [CodeMoverUtils] Add optional data dependence checks using Alias Analysis.
Jul 28 2020, 2:36 PM · Restricted Project
bmahjour added inline comments to D84589: [CodeMoverUtils] Add optional data dependence checks using Alias Analysis.
Jul 28 2020, 2:32 PM · Restricted Project

Jul 27 2020

bmahjour added a comment to D83311: [CodeMoverUtils] Add optional data dependence checks using MSSA.

This can be closed in favor of https://reviews.llvm.org/D84589. Please migrate the tests and close the review. Thanks.

Jul 27 2020, 8:13 AM · Restricted Project
bmahjour requested changes to D84589: [CodeMoverUtils] Add optional data dependence checks using Alias Analysis.
Jul 27 2020, 7:48 AM · Restricted Project

Jul 24 2020

bmahjour updated the diff for D83824: [NFC] [LV] Vectorized Loop Skeleton Refactoring.
Jul 24 2020, 3:11 PM · Restricted Project
bmahjour updated the diff for D83824: [NFC] [LV] Vectorized Loop Skeleton Refactoring.

fix clang-format issue.

Jul 24 2020, 3:05 PM · Restricted Project
bmahjour added inline comments to D83824: [NFC] [LV] Vectorized Loop Skeleton Refactoring.
Jul 24 2020, 12:21 PM · Restricted Project
bmahjour updated the diff for D83824: [NFC] [LV] Vectorized Loop Skeleton Refactoring.

Address @pjeeva01 's comments, and sync with ToT.

Jul 24 2020, 12:21 PM · Restricted Project

Jul 23 2020

bmahjour added inline comments to D82927: Intergerate Loop Peeling into Loop Fusion.
Jul 23 2020, 9:24 AM · Restricted Project

Jul 20 2020

bmahjour added inline comments to D83311: [CodeMoverUtils] Add optional data dependence checks using MSSA.
Jul 20 2020, 9:16 PM · Restricted Project
bmahjour added inline comments to D83311: [CodeMoverUtils] Add optional data dependence checks using MSSA.
Jul 20 2020, 10:21 AM · Restricted Project
bmahjour added a comment to D83824: [NFC] [LV] Vectorized Loop Skeleton Refactoring.

Ping!

Jul 20 2020, 9:05 AM · Restricted Project
bmahjour accepted D82927: Intergerate Loop Peeling into Loop Fusion.
Jul 20 2020, 6:38 AM · Restricted Project

Jul 17 2020

bmahjour added a reviewer for D83311: [CodeMoverUtils] Add optional data dependence checks using MSSA: fhahn.
Jul 17 2020, 9:36 AM · Restricted Project
bmahjour added inline comments to D83311: [CodeMoverUtils] Add optional data dependence checks using MSSA.
Jul 17 2020, 9:28 AM · Restricted Project
bmahjour added a comment to D82927: Intergerate Loop Peeling into Loop Fusion.

Added some minor comments. Overall looks good to me. I'll approve if there are no objections by EOD today.

Jul 17 2020, 7:40 AM · Restricted Project

Jul 15 2020

bmahjour added inline comments to D83869: [Loop Simplify] Resolve an issue where metadata is not applied to a loop latch..
Jul 15 2020, 7:57 AM · Restricted Project

Jul 14 2020

bmahjour created D83824: [NFC] [LV] Vectorized Loop Skeleton Refactoring.
Jul 14 2020, 3:20 PM · Restricted Project

Jul 10 2020

bmahjour added inline comments to D83543: [CodeMoverUtils] Add more data dependency related test case.
Jul 10 2020, 7:03 AM · Restricted Project

Jul 8 2020

bmahjour added inline comments to D82927: Intergerate Loop Peeling into Loop Fusion.
Jul 8 2020, 6:08 AM · Restricted Project

Jul 7 2020

bmahjour added inline comments to D83311: [CodeMoverUtils] Add optional data dependence checks using MSSA.
Jul 7 2020, 11:17 AM · Restricted Project
bmahjour added a comment to D83056: Separate the Loop Peeling Utilities from the Loop Unrolling Utilities .

Please put NFC in the title if no functional changes are intended. The same comment applies to D80580. Thanks.

Jul 7 2020, 9:56 AM · Restricted Project
bmahjour added a reviewer for D82927: Intergerate Loop Peeling into Loop Fusion: bmahjour.
Jul 7 2020, 9:53 AM · Restricted Project
bmahjour added inline comments to D82927: Intergerate Loop Peeling into Loop Fusion.
Jul 7 2020, 9:48 AM · Restricted Project

Jun 26 2020

bmahjour added a comment to D81416: [LV] Interleave to expose ILP for small loops with scalar reductions..

May I suggest we only test what this patch actually changes? This patch adds an option which when enabled allows interleaving of loops with small trip counts and scalar reductions, so it suffices to test exactly that. That should be covered by llvm/test/Transforms/LoopVectorize/PowerPC/interleave_IC.ll. I think the other test cases can be removed. IMHO adding more tests to make sure SLP vectorization happens (and the like) are redundant, add unnecessary maintenance in the future and are beyond the scope of what this patch is trying to do.

Jun 26 2020, 2:41 PM · Restricted Project, Restricted Project

Jun 22 2020

bmahjour added inline comments to D82293: [CodeMoverUtils][WIP] Move code motion related checks from LICM to CodeMoverUtils.
Jun 22 2020, 11:49 AM · Restricted Project
bmahjour added inline comments to D82290: [CodeMoverUtils][WIP] Isolate checks strictly related to the code motion candidate instruction.
Jun 22 2020, 11:49 AM · Restricted Project
bmahjour added inline comments to D81416: [LV] Interleave to expose ILP for small loops with scalar reductions..
Jun 22 2020, 11:17 AM · Restricted Project, Restricted Project

Jun 16 2020

bmahjour added inline comments to D81416: [LV] Interleave to expose ILP for small loops with scalar reductions..
Jun 16 2020, 6:37 AM · Restricted Project, Restricted Project

Jun 15 2020

bmahjour added a comment to D81416: [LV] Interleave to expose ILP for small loops with scalar reductions..

The rationale for allowing more aggressive interleaving on small loops with reductions makes sense to me, and this is going to be off by default, so I think it should be fine. But I'll let others comment first.

Jun 15 2020, 11:31 AM · Restricted Project, Restricted Project

May 27 2020

bmahjour committed rG0d20ed664ff2: [DDG] Data Dependence Graph - Add query function for memory dependencies… (authored by bmahjour).
[DDG] Data Dependence Graph - Add query function for memory dependencies…
May 27 2020, 9:45 AM
bmahjour closed D80529: [DDG] Data Dependence Graph - Add query function for memory dependencies between two nodes.
May 27 2020, 9:45 AM · Restricted Project

May 26 2020

bmahjour updated the diff for D80529: [DDG] Data Dependence Graph - Add query function for memory dependencies between two nodes.

Addressed clang-format issues and Whitney's comments.

May 26 2020, 8:06 AM · Restricted Project

May 25 2020

bmahjour created D80529: [DDG] Data Dependence Graph - Add query function for memory dependencies between two nodes.
May 25 2020, 12:19 PM · Restricted Project

May 15 2020

bmahjour added inline comments to D79976: [LV] Handle Fold-Tail of loops with vectorizarion factor (VF) equal to 1.
May 15 2020, 4:52 PM · Restricted Project
bmahjour added inline comments to D79976: [LV] Handle Fold-Tail of loops with vectorizarion factor (VF) equal to 1.
May 15 2020, 7:00 AM · Restricted Project

Apr 30 2020

bmahjour added a comment to D76132: [LoopUnrollAndJam] Changed safety checks to consider more than 2-levels loop nest..

This seem to work nicely with that checks, but I am not sure whether it is correct to ignore isScalar in the EQ case and why. It seems obvious that the sub_sub_eq test case can be unroll-and-jammed. Bit if we add the same skip to preservesForwardDependence, the test case sub_sub_less is unroll-and-jammed which it must not

Apr 30 2020, 2:00 PM · Restricted Project
bmahjour added a comment to D76132: [LoopUnrollAndJam] Changed safety checks to consider more than 2-levels loop nest..

After a tiring search through the literature I've finally found a paper that states a theorem specifically about safety of unroll-and-jam. See Callahan et al. 1988. Estimating Interlock And Improving Balance For Pipelined Architectures, section 3.5, theorem 4. The theorem generally agrees with the approach of checking for lexicographical positivity, but unfortunately it doesn't say anything about cases where the direction vector elements in between the k (unrolled level) and j (inner level carrying a negative dependence) are non-zero. Another paper, S. Carr and K. Kennedy. 1994. Improving the Ratio of Memory operations to Floating-Point Operations in Loops appears to interpret it as if any negative entry in the direction vector between the unrolled level and the inner-most level is not legal. I find the latter too conservative, for instance if we have:

Apr 30 2020, 2:00 PM · Restricted Project

Mar 30 2020

bmahjour added a comment to D76132: [LoopUnrollAndJam] Changed safety checks to consider more than 2-levels loop nest..

I am still confused. Your version only allow GT (by checking == GT). My version only allow GT, LT, NE (by checking ! &EQ). So both versions requires us to check further with GE.
I was trying to use

for i
  for j        <= unroll loop
    for k
       S1: A[i][j][k]
       S2: A[i-1][j+1][k-1]

as an example, where your version would consider as unsafe and my version would consider as safe.
Am I correct to think loop-j is safe to unroll and jam?

Yes

If yes, do you have an example where LT or NE for loop-i should be considered as unsafe for unroll and jam loop-j?

My justification, as laid out in the comments, is that a GT dependency ensures that the dependency vector is lexicographic positive. An LT or NE dependency does not do that. I would need to see an argument -- not an example -- why LT or NE provide safety. Also consider that DependencyInfo can overapproximate direction bits, so there may not be an example with exactly these direction vectors.

Mar 30 2020, 8:03 AM · Restricted Project
bmahjour added a comment to D76132: [LoopUnrollAndJam] Changed safety checks to consider more than 2-levels loop nest..

S2(i2,j2,k2) depends on S1(i1,j1,k1) iff i1==i2-1(A[i1] and A[i2-1] access the same element), j1==j2+1, k1==k2-1 and (i1,j1,k1) <=_{lexicographic} (i2,j2,k2),
in other words, the dependence vector is (+1,-1,+1) or (GT,LT,GT) [direction from S1->S2, since S1 is the source and S2 is the consumer].

Mar 30 2020, 8:03 AM · Restricted Project

Mar 26 2020

bmahjour added inline comments to D75628: [DA] [SCEV] Provide facility to check for total ordering based on dominance.
Mar 26 2020, 9:11 AM · Restricted Project

Mar 19 2020

bmahjour added inline comments to D76132: [LoopUnrollAndJam] Changed safety checks to consider more than 2-levels loop nest..
Mar 19 2020, 1:42 PM · Restricted Project

Mar 13 2020

bmahjour added inline comments to D75920: [LoopCacheAnalysis] Improve cost heuristic..
Mar 13 2020, 9:39 AM · Restricted Project
bmahjour added a reviewer for D75920: [LoopCacheAnalysis] Improve cost heuristic.: jdoerfert.
Mar 13 2020, 9:39 AM · Restricted Project

Mar 6 2020

bmahjour updated the diff for D75628: [DA] [SCEV] Provide facility to check for total ordering based on dominance.

Use ArrayRef instead of SmallVector as the argument to satisfiesTotalOrder.

Mar 6 2020, 11:01 AM · Restricted Project
bmahjour added inline comments to D75628: [DA] [SCEV] Provide facility to check for total ordering based on dominance.
Mar 6 2020, 11:01 AM · Restricted Project

Mar 5 2020

bmahjour added inline comments to D75628: [DA] [SCEV] Provide facility to check for total ordering based on dominance.
Mar 5 2020, 12:39 PM · Restricted Project
bmahjour updated the diff for D75628: [DA] [SCEV] Provide facility to check for total ordering based on dominance.

Address Michael's comments.

Mar 5 2020, 12:39 PM · Restricted Project

Mar 4 2020

bmahjour created D75628: [DA] [SCEV] Provide facility to check for total ordering based on dominance.
Mar 4 2020, 11:15 AM · Restricted Project

Mar 2 2020

bmahjour added a comment to D73801: [LoopFission]: Loop Fission Interference Graph (FIG).

Do you plan to support lexical forward dependencies?

Mar 2 2020, 2:56 PM · Restricted Project
bmahjour added a comment to D73801: [LoopFission]: Loop Fission Interference Graph (FIG).

Question regarding input dependencies inherited from the DDG:

for (int i = 0; i < b; ++i) {
  B[i] = f(A[i-1] + A[i]);
  C[i] = g(A[i]);
}

IIUC, the DDG will contain the input dependencies B->C and C->B (loop-carried). Since this results in a cycle, those will be combined in a Pi-node. The FIG treats Pi-nodes atomically, hence will not be able to fission/distribute the loop. Is this correct? Having read-read dependencies in the DDG still feels strange to me.

Mar 2 2020, 2:56 PM · Restricted Project

Feb 27 2020

bmahjour committed rG1b811ff8a935: [DA] Delinearization of fixed-size multi-dimensional arrays (authored by bmahjour).
[DA] Delinearization of fixed-size multi-dimensional arrays
Feb 27 2020, 9:51 AM
bmahjour closed D72178: [DA] Delinearization of fixed-size multi-dimensional arrays.
Feb 27 2020, 9:51 AM · Restricted Project, Restricted Project

Feb 26 2020

bmahjour abandoned D73998: [DA] renaming the -da-disable-delinearization-checks option.
Feb 26 2020, 10:25 AM · Restricted Project
bmahjour updated the diff for D72178: [DA] Delinearization of fixed-size multi-dimensional arrays.

fix issues found by clang-tidy and clang-format.

Feb 26 2020, 10:15 AM · Restricted Project, Restricted Project
bmahjour added inline comments to D73801: [LoopFission]: Loop Fission Interference Graph (FIG).
Feb 26 2020, 9:50 AM · Restricted Project
bmahjour added inline comments to D72178: [DA] Delinearization of fixed-size multi-dimensional arrays.
Feb 26 2020, 6:16 AM · Restricted Project, Restricted Project

Feb 25 2020

bmahjour added a comment to D72178: [DA] Delinearization of fixed-size multi-dimensional arrays.

Addressed all review comments.

Feb 25 2020, 3:14 PM · Restricted Project, Restricted Project
bmahjour updated the diff for D72178: [DA] Delinearization of fixed-size multi-dimensional arrays.
Feb 25 2020, 3:14 PM · Restricted Project, Restricted Project

Feb 24 2020

bmahjour added a comment to D73998: [DA] renaming the -da-disable-delinearization-checks option.

I think A should be float A[n*n+2*n] for it to even be an in-bound access,

Mmmh maybe, haven't thought too much about it beforehand. Let's see.

The last element accessed is

i = 2*n-1
j = n-1

which accesses element

A[(n-1)*n + (2*n-1)] = A[n*n-n + 2*n-1 = A[n*n + 1*n - 1]

that is, the array needs to be at least A[n*n + n].

Feb 24 2020, 2:47 PM · Restricted Project
bmahjour committed rGcf9dae122e04: [NFC] [DA] Refactoring getIndexExpressionsFromGEP (authored by bmahjour).
[NFC] [DA] Refactoring getIndexExpressionsFromGEP
Feb 24 2020, 2:39 PM
bmahjour closed D73995: [NFC] [DA] Refactoring getIndexExpressionsFromGEP .
Feb 24 2020, 2:38 PM · Restricted Project, Restricted Project
bmahjour added a comment to D73998: [DA] renaming the -da-disable-delinearization-checks option.

Consider the example C source:

float A[n*n+n];
for (int i = 0; i < 2*n; i+=1)
  for (int j = 0; j < n; j+=1)
    A[j*n + i] = ...

Delinearization might convert the access to A[j][i] for an array of size A[][n]. However, in this example, elements accessed by the j-loop overlap into elements accessed by the (j+1)-loop. Assuming that A[j] and A[j+1] do not overlap ("assume-inrange") would be illegal, but from the source code's point-of-view, there is not even an inner array dimension that could be out-of-range. Since the loop bounds are derived heuristically, the user doesn't even know what indexes they agree to not overlap (it could also be A[j/2][n*(j%2) + i] for an array of size A[][2*n]).

Feb 24 2020, 1:16 PM · Restricted Project
bmahjour added a comment to D73998: [DA] renaming the -da-disable-delinearization-checks option.

As suggestion in D73995, subscripts derived from GEP might be valid with inrange modifiers or when we verify that the value range always falls into the dimension's range (e.g. with ScalarEvolution::getRangeRef).

I am not convinced the new name is better because "assume inrange subscripts" reads to me like the subscripts are unambiguous (e.g. from the source code) can be reasoned about, while they are derived heuristically, at least in the delinerization case. Alternative suggestions: "-da-allow-unsafe-derived(-multidimensional)-subscripts", "-da-disable-derived(-multidimensional)-index-range-checks", "-da-assume-nonoverlapping-of-heuristically-derived-multidimensional-array-structures" (or combinations thereof).

Feb 24 2020, 11:52 AM · Restricted Project

Feb 19 2020

bmahjour added inline comments to D72178: [DA] Delinearization of fixed-size multi-dimensional arrays.
Feb 19 2020, 1:10 PM · Restricted Project, Restricted Project
bmahjour committed rG0a2626d0cdc2: [DDG] Data Dependence Graph - Graph Simplification (authored by bmahjour).
[DDG] Data Dependence Graph - Graph Simplification
Feb 19 2020, 10:50 AM
bmahjour closed D72350: [DDG] Data Dependence Graph - Graph Simplification.
Feb 19 2020, 10:49 AM · Restricted Project

Feb 18 2020

bmahjour added inline comments to D72350: [DDG] Data Dependence Graph - Graph Simplification.
Feb 18 2020, 2:34 PM · Restricted Project
bmahjour updated the diff for D72350: [DDG] Data Dependence Graph - Graph Simplification.
Feb 18 2020, 2:34 PM · Restricted Project

Feb 11 2020

bmahjour added a comment to D72178: [DA] Delinearization of fixed-size multi-dimensional arrays.

ping

Feb 11 2020, 6:37 AM · Restricted Project, Restricted Project
bmahjour added a comment to D72350: [DDG] Data Dependence Graph - Graph Simplification.

ping

Feb 11 2020, 6:37 AM · Restricted Project

Feb 5 2020

bmahjour added a comment to D73129: [LoopUnrollAndJam] Correctly update LoopInfo when unroll and jam more than 2-levels loop nests..

Option 1: Use LoopFusion infrastructure to jam innerloops recursively.
Option 2: Prove safety beforehand, and unroll and jamming without creating new loops.

IMHO option 2 is preferable and more robust.

Feb 5 2020, 1:48 PM · Restricted Project

Feb 4 2020

bmahjour updated the summary of D72178: [DA] Delinearization of fixed-size multi-dimensional arrays.
Feb 4 2020, 2:42 PM · Restricted Project, Restricted Project
bmahjour created D73998: [DA] renaming the -da-disable-delinearization-checks option.
Feb 4 2020, 2:41 PM · Restricted Project
bmahjour created D73995: [NFC] [DA] Refactoring getIndexExpressionsFromGEP .
Feb 4 2020, 2:32 PM · Restricted Project, Restricted Project
bmahjour updated the diff for D72178: [DA] Delinearization of fixed-size multi-dimensional arrays.

@fhahn As per your request I've reduced this patch to just adding support for delinearization of fixed-size arrays. Also restored the default tests and added new ones for when the option is enabled. Two more patches are created to 1. do the refactoring (D73995) 2. rename the option (D73998).

Feb 4 2020, 2:23 PM · Restricted Project, Restricted Project

Feb 3 2020

bmahjour added inline comments to D72178: [DA] Delinearization of fixed-size multi-dimensional arrays.
Feb 3 2020, 11:38 AM · Restricted Project, Restricted Project
bmahjour added a comment to D72178: [DA] Delinearization of fixed-size multi-dimensional arrays.

Could people on the review list please take a look at this patch? I would also appreciate suggestions for who should be a reviewer instead (or in addition) to the current list of reviewers, if there are any.

Feb 3 2020, 9:28 AM · Restricted Project, Restricted Project
bmahjour added a comment to D72350: [DDG] Data Dependence Graph - Graph Simplification.

@Meinersbur have you had a chance to see my latest changes yet?

Feb 3 2020, 9:19 AM · Restricted Project