Page MenuHomePhabricator
Feed Advanced Search

Today

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.

Mon, Mar 30, 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].

Mon, Mar 30, 8:03 AM · Restricted Project

Thu, Mar 26

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

Thu, Mar 19

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

Fri, Mar 13

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

Fri, Mar 6

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.

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

Thu, Mar 5

bmahjour added inline comments to D75628: [DA] [SCEV] Provide facility to check for total ordering based on dominance.
Thu, Mar 5, 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.

Thu, Mar 5, 12:39 PM · Restricted Project

Wed, Mar 4

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

Mon, Mar 2

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

Do you plan to support lexical forward dependencies?

Mon, Mar 2, 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.

Mon, Mar 2, 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 parent revision for D72178: [DA] Delinearization of fixed-size multi-dimensional arrays: D73995: [NFC] [DA] Refactoring getIndexExpressionsFromGEP .
Feb 24 2020, 2:48 PM · Restricted Project, Restricted Project
bmahjour added a child revision for D73995: [NFC] [DA] Refactoring getIndexExpressionsFromGEP : D72178: [DA] Delinearization of fixed-size multi-dimensional arrays.
Feb 24 2020, 2:48 PM · Restricted Project, Restricted Project
bmahjour removed a parent revision for D73995: [NFC] [DA] Refactoring getIndexExpressionsFromGEP : D72178: [DA] Delinearization of fixed-size multi-dimensional arrays.
Feb 24 2020, 2:47 PM · Restricted Project, Restricted Project
bmahjour removed a child revision for D72178: [DA] Delinearization of fixed-size multi-dimensional arrays: D73995: [NFC] [DA] Refactoring getIndexExpressionsFromGEP .
Feb 24 2020, 2:47 PM · Restricted Project, Restricted Project
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 added a parent revision for D73998: [DA] renaming the -da-disable-delinearization-checks option: D72178: [DA] Delinearization of fixed-size multi-dimensional arrays.
Feb 4 2020, 2:41 PM · Restricted Project
bmahjour created D73998: [DA] renaming the -da-disable-delinearization-checks option.
Feb 4 2020, 2:41 PM · Restricted Project
bmahjour added a child revision for D72178: [DA] Delinearization of fixed-size multi-dimensional arrays: D73998: [DA] renaming the -da-disable-delinearization-checks option.
Feb 4 2020, 2:41 PM · Restricted Project, Restricted Project
bmahjour added a parent revision for D73995: [NFC] [DA] Refactoring getIndexExpressionsFromGEP : D72178: [DA] Delinearization of fixed-size multi-dimensional arrays.
Feb 4 2020, 2:32 PM · Restricted Project, Restricted Project
bmahjour added a child revision for D72178: [DA] Delinearization of fixed-size multi-dimensional arrays: D73995: [NFC] [DA] Refactoring getIndexExpressionsFromGEP .
Feb 4 2020, 2:32 PM · Restricted Project, 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 will be created to 1. do the refactoring 2. rename the option.

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

Jan 20 2020

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

ping

Jan 20 2020, 11:03 AM · Restricted Project, Restricted Project

Jan 15 2020

bmahjour updated the diff for D72350: [DDG] Data Dependence Graph - Graph Simplification.

@Meinersbur this update should address your concern regarding time complexity. I've also tried to limit the additional memory usage by only keeping track of incoming edge counts for nodes that are targets of candidate source nodes.

Jan 15 2020, 5:01 PM · Restricted Project

Jan 13 2020

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

ping

Jan 13 2020, 5:38 AM · Restricted Project, Restricted Project

Jan 10 2020

bmahjour added inline comments to D72350: [DDG] Data Dependence Graph - Graph Simplification.
Jan 10 2020, 1:29 PM · Restricted Project
bmahjour updated the diff for D72350: [DDG] Data Dependence Graph - Graph Simplification.

Address review comments.

Jan 10 2020, 1:10 PM · Restricted Project
bmahjour added inline comments to D72350: [DDG] Data Dependence Graph - Graph Simplification.
Jan 10 2020, 10:12 AM · Restricted Project

Jan 7 2020

bmahjour created D72350: [DDG] Data Dependence Graph - Graph Simplification.
Jan 7 2020, 11:02 AM · Restricted Project

Jan 3 2020

bmahjour created D72178: [DA] Delinearization of fixed-size multi-dimensional arrays.
Jan 3 2020, 1:20 PM · Restricted Project, Restricted Project

Dec 19 2019

bmahjour committed rG86acaa9457d3: [DDG] Data Dependence Graph - Ordinals (authored by bmahjour).
[DDG] Data Dependence Graph - Ordinals
Dec 19 2019, 8:02 AM
bmahjour closed D70986: [DDG] Data Dependence Graph - Ordinals.
Dec 19 2019, 8:02 AM · Restricted Project
bmahjour added a comment to D70986: [DDG] Data Dependence Graph - Ordinals.

The order is at the mercy of SCCIterator. For example if you look at the first pi-block node in basic-a.ll, you'll notice that prior to this change the %inc = add i64 %i.02, 1 was placed ahead of %i.02 = phi .

I see. Could you add that as a comment to either computeInstructionOrdinals and/or the invocation of llvm::sort.

Dec 19 2019, 8:02 AM · Restricted Project

Dec 18 2019

bmahjour added a comment to D71492: [SCEV] Generate AddRec for trivial and LCSSA phis outside of loop header (WIP).

[suggestion] The scope of the lcssa PHI node and the definition of its value are in different loops, hence calling getSCEVAtScope at the lcssa's scope may simplify the expression. This might even be mandatory since SCEV should be canonical.

If by "lcssa`s scope" you mean the scope at which the lcssa phi instruction appears, then it's not going to help in this case. The scope is the function (outside of any loop). If you pass nullptr to getSCEVAtScope it continues to produce SCEVUnknown.

[serious] createAddRecFromPHI might be directly called be called getSCEV such that %indvars.iv.next isn't in the cache yet. Therefore the result changes depending on the order in which getSCEV is called.

Yes, I was originally concerned that calling getSCEV could cause an infinite loop for cyclic phis, but I gave it more thought and I couldn't come up with a valid IR that can cause the infinite loop. I've changed it to use getSCEV and documented my reasoning for why I don't think a cycle is possible.

Dec 18 2019, 2:10 PM · Restricted Project
bmahjour added a child revision for D71539: [SCEV] Look through trivial PHIs (WIP).: D71492: [SCEV] Generate AddRec for trivial and LCSSA phis outside of loop header (WIP).
Dec 18 2019, 2:10 PM · Restricted Project
bmahjour added a parent revision for D71492: [SCEV] Generate AddRec for trivial and LCSSA phis outside of loop header (WIP): D71539: [SCEV] Look through trivial PHIs (WIP)..
Dec 18 2019, 2:10 PM · Restricted Project
bmahjour retitled D71492: [SCEV] Generate AddRec for trivial and LCSSA phis outside of loop header (WIP) from [SCEV] Generate AddRec for trivial and LCSSA phis outside of loop header. to [SCEV] Generate AddRec for trivial and LCSSA phis outside of loop header (WIP).
Dec 18 2019, 2:10 PM · Restricted Project
bmahjour updated the diff for D71492: [SCEV] Generate AddRec for trivial and LCSSA phis outside of loop header (WIP).

Address Michael's comments.

Dec 18 2019, 2:00 PM · Restricted Project
bmahjour added a comment to D70986: [DDG] Data Dependence Graph - Ordinals.

What would cause the order of nodes in a pi-node to change? As it's not topologically sorted, wouldn't the order stay the order in which they were added to NodeList?

Dec 18 2019, 1:22 PM · Restricted Project

Dec 13 2019

bmahjour created D71492: [SCEV] Generate AddRec for trivial and LCSSA phis outside of loop header (WIP).
Dec 13 2019, 2:23 PM · Restricted Project

Dec 12 2019

bmahjour added a comment to D70986: [DDG] Data Dependence Graph - Ordinals.

ping

Dec 12 2019, 10:05 AM · Restricted Project

Dec 11 2019

bmahjour committed rG916d37a2bc53: [DA] Improve dump to show source and sink of the dependence (authored by bmahjour).
[DA] Improve dump to show source and sink of the dependence
Dec 11 2019, 9:14 AM
bmahjour closed D71088: [DA] Improve dump to show source and sink of the dependence.
Dec 11 2019, 9:14 AM · Restricted Project
bmahjour added a comment to D71088: [DA] Improve dump to show source and sink of the dependence.

Thank you @dmgreen and @fhahn for the quick review.

Dec 11 2019, 8:46 AM · Restricted Project

Dec 10 2019

bmahjour added inline comments to D71088: [DA] Improve dump to show source and sink of the dependence.
Dec 10 2019, 7:33 AM · Restricted Project
bmahjour updated the diff for D71088: [DA] Improve dump to show source and sink of the dependence.

Addressed review comments.

Dec 10 2019, 7:33 AM · Restricted Project

Dec 6 2019

bmahjour added a reviewer for D71088: [DA] Improve dump to show source and sink of the dependence: fhahn.
Dec 6 2019, 6:03 AM · Restricted Project

Dec 5 2019

bmahjour updated the diff for D71088: [DA] Improve dump to show source and sink of the dependence.

Check the complete da print output in the LIT test as per Florian's comment.

Dec 5 2019, 2:17 PM · Restricted Project
bmahjour added inline comments to D71088: [DA] Improve dump to show source and sink of the dependence.
Dec 5 2019, 2:17 PM · Restricted Project
bmahjour added a comment to D70986: [DDG] Data Dependence Graph - Ordinals.

I do not understand why the ordinals are necessary. For deterministic behavior, the deterministic iteration order over blocks and instructions should already ensure that (unless you are iterating over DenseMaps, which does not seem the case and is easily fixed). If for correctness, do you have an illustrative example when this would be critical?

Dec 5 2019, 1:40 PM · Restricted Project
bmahjour created D71088: [DA] Improve dump to show source and sink of the dependence.
Dec 5 2019, 1:13 PM · Restricted Project

Dec 4 2019

bmahjour added a comment to D70939: [LoopUtils] Updated deleteDeadLoop() to handle loop nest. .

The deleteDeadLoop function when called on the outer loop will effectively remove the subloops from the CFG too (make them unreachable). Maybe we should change deleteDeadLoop to also take the subloops into account when updating the analysis passed to it. Then we shouldn't need a separate function to delete loop nests.

Dec 4 2019, 7:58 AM · Restricted Project

Dec 3 2019

bmahjour created D70986: [DDG] Data Dependence Graph - Ordinals.
Dec 3 2019, 2:08 PM · Restricted Project
bmahjour committed rG2dd82a1c0496: [DDG] Data Dependence Graph - Topological Sort (Memory Leak Fix) (authored by bmahjour).
[DDG] Data Dependence Graph - Topological Sort (Memory Leak Fix)
Dec 3 2019, 7:09 AM
bmahjour closed D70609: [DDG] Data Dependence Graph - Topological Sort.
Dec 3 2019, 7:09 AM · Restricted Project

Dec 2 2019

bmahjour updated the diff for D70609: [DDG] Data Dependence Graph - Topological Sort.

Addressed Michael's comments.

Dec 2 2019, 11:47 AM · Restricted Project
bmahjour added a comment to D70609: [DDG] Data Dependence Graph - Topological Sort.

[suggestion] Could you add a test case with a reduction (not necessarily in this patch), such as

double sum = 0;
for (int i = 0; i < n; i+=1)
  sum+=A[i];
return sum;

I am interested in what happens in self-recursive phi dependencies that are not induction variables. Note that GVN LoadPRE and LICM register promotion can create those as well. Another interesting case would be a nested reduction:

for (int j = 0; j < m; j+=1) {
  double sum = 0;
  for (int i = 0; i < n; i+=1)
    sum += A[i][j];
  B[j] = sum;
}

The motivation is that reductions usually are optimized differently than flow dependencies.

Dec 2 2019, 11:29 AM · Restricted Project

Nov 27 2019

bmahjour reopened D70609: [DDG] Data Dependence Graph - Topological Sort.
Nov 27 2019, 8:45 AM · Restricted Project
bmahjour updated the diff for D70609: [DDG] Data Dependence Graph - Topological Sort.

One of the sanitizer builds failed due to a memory leak issue. http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/14902
The reason for the leak is that when sorting I did not consider the nodes inside of the pi-block so they got removed from the DirectedGraph's list of nodes, and did not get freed when the DDG destructor got called.
I've updated the patch to fix the leak and reopened this revision for review.

Nov 27 2019, 8:45 AM · Restricted Project

Nov 25 2019

bmahjour committed rG67f0685b4d10: Revert "[DDG] Data Dependence Graph - Topological Sort" Revert for now to look… (authored by bmahjour).
Revert "[DDG] Data Dependence Graph - Topological Sort" Revert for now to look…
Nov 25 2019, 1:25 PM
bmahjour added a reverting change for rGbec37c3fc766: [DDG] Data Dependence Graph - Topological Sort: rG67f0685b4d10: Revert "[DDG] Data Dependence Graph - Topological Sort" Revert for now to look….
Nov 25 2019, 1:25 PM
bmahjour committed rGbec37c3fc766: [DDG] Data Dependence Graph - Topological Sort (authored by bmahjour).
[DDG] Data Dependence Graph - Topological Sort
Nov 25 2019, 8:34 AM
bmahjour closed D70609: [DDG] Data Dependence Graph - Topological Sort.
Nov 25 2019, 8:33 AM · Restricted Project

Nov 22 2019

bmahjour added inline comments to D70609: [DDG] Data Dependence Graph - Topological Sort.
Nov 22 2019, 3:01 PM · Restricted Project
bmahjour created D70609: [DDG] Data Dependence Graph - Topological Sort.
Nov 22 2019, 11:02 AM · Restricted Project
bmahjour abandoned D70573: [NFC] Improve comment about inverse depth-first iterator + clang-format.
Nov 22 2019, 8:04 AM · Restricted Project

Nov 21 2019

bmahjour created D70573: [NFC] Improve comment about inverse depth-first iterator + clang-format.
Nov 21 2019, 3:24 PM · Restricted Project
bmahjour accepted D70049: [CodeMoverUtils] Added an API to check if an instruction can be safely moved before another instruction..

LGTM.

Nov 21 2019, 10:04 AM · Restricted Project

Nov 20 2019

bmahjour added a comment to D68789: [LoopNest]: Analysis to discover properties of a loop nest..

[suggestion] Add a methods that returns/fills a vector with all the Loop*s that are part of the perfect loop nest.

Nov 20 2019, 10:30 AM · Restricted Project

Nov 14 2019

bmahjour added inline comments to D70049: [CodeMoverUtils] Added an API to check if an instruction can be safely moved before another instruction..
Nov 14 2019, 2:45 PM · Restricted Project

Nov 13 2019

bmahjour added inline comments to D70192: [LoopCacheAnalysis]: Fix assertion failure during cost computation.
Nov 13 2019, 11:45 AM · Restricted Project

Nov 12 2019

bmahjour added inline comments to D70049: [CodeMoverUtils] Added an API to check if an instruction can be safely moved before another instruction..
Nov 12 2019, 10:09 AM · Restricted Project

Nov 8 2019

bmahjour added an edge to rGf0af11d86f81: [DDG] Data Dependence Graph - Pi Block: D68827: [DDG] Data Dependence Graph - Pi Block.
Nov 8 2019, 2:24 PM